pg_reindex 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pg_reindex (0.1.1)
4
+ pg_reindex (0.1.2)
5
5
  pg
6
6
  thor
7
7
 
data/README.md CHANGED
@@ -46,8 +46,8 @@ Rebuild index produces sqls:
46
46
  3. DROP INDEX bla;
47
47
  4. ALTER INDEX bla2 RENAME TO bla;
48
48
 
49
- 2 can be blocked by long running query(LRQ), or autovacuum (in this case just kill autovacuum or wait LRQ).
50
- By careful, if between 2 and (3,4) started LRQ or autovacuum, (3,4) can blocks all queries on this table. If this happens, and (3,4) not quit after < 30s, should stop (3,4) by cancel query in PostgreSQL. And execute (3,4) manually.
49
+ 2 can be blocked by long running query(LRQ), or autovacuum (in this case just kill autovacuum or wait LRQ).
50
+ By careful, if between 2 and (3,4) started LRQ or autovacuum, (3,4) can blocks all queries on this table. If this happens, and (3,4) not quit after < 30s, should stop (3,4) by cancel query in PostgreSQL. And execute (3,4) manually.
51
51
 
52
52
 
53
53
  Rebuild pkey produces sqls:
@@ -59,5 +59,4 @@ Rebuild pkey produces sqls:
59
59
  Same issue with 2 and 3.
60
60
 
61
61
 
62
-
63
62
  MIT-LICENCE
data/bin/pgre CHANGED
@@ -98,7 +98,7 @@ private
98
98
  if File.exists?(file)
99
99
  YAML.load_file(file)
100
100
  else
101
- say "Specify path to database.yml with env CFG, like: CFG=/../../database.yml", :red
101
+ say "Specify path to database.yml with env PGRE_CFG, like: PGRE_CFG=/../../database.yml pgre ...", :red
102
102
  exit 1
103
103
  end
104
104
  end
@@ -140,7 +140,7 @@ private
140
140
 
141
141
  if row['index'].end_with?("_pkey")
142
142
  unless conn.check_swap_for_pkey
143
- say " ... You should install function swap_for_pkey for rebuild pkey, call: #{$0} install ENV", :red
143
+ say " ... You should install function swap_for_pkey for rebuild pkey, call: #{$0} install ENV\n", :red
144
144
  return
145
145
  end
146
146
  end
@@ -188,7 +188,6 @@ private
188
188
  say "#{f['size_p'].ljust(off2)}", :yellow, false
189
189
  say "#{f['total_i_size_p'].ljust(off3)}", :yellow, true
190
190
  #say "#{f['total_size_p']}", :yellow
191
-
192
191
 
193
192
  indexes.each do |rel|
194
193
  say " #{(rel['index']+" ").ljust(off1 - 2 + off2, '.')}", nil, false
data/lib/pg-reindex.rb CHANGED
@@ -141,13 +141,13 @@ $$language plpgsql;
141
141
 
142
142
  if name.end_with?('_pkey')
143
143
  [
144
- index_sql(table, oid, name, new_name),
144
+ index_sql(oid, name, new_name),
145
145
  "ANALYZE #{table}",
146
146
  "SELECT swap_for_pkey('public', '#{name}', '#{new_name}')"
147
147
  ]
148
148
  else
149
149
  [
150
- index_sql(table, oid, name, new_name),
150
+ index_sql(oid, name, new_name),
151
151
  "ANALYZE #{table}",
152
152
  "DROP INDEX #{name}",
153
153
  "ALTER INDEX #{new_name} RENAME TO #{name}"
@@ -155,8 +155,8 @@ $$language plpgsql;
155
155
  end
156
156
  end
157
157
 
158
- def index_sql(table, oid, name, new_name)
159
- str = index_def(oid).gsub(name, new_name)
158
+ def index_sql(oid, name, new_name)
159
+ str = index_def(oid).sub(name, new_name)
160
160
 
161
161
  pos = str.index(new_name)
162
162
 
data/pg_reindex.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{pg_reindex}
5
- s.version = "0.1.1"
5
+ s.version = "0.1.2"
6
6
 
7
7
  s.authors = ["Makarchev Konstantin"]
8
8
 
data/spec/reindex_spec.rb CHANGED
@@ -77,6 +77,12 @@ describe PgReindex do
77
77
  end
78
78
  end
79
79
 
80
+ it "index_sql with save name" do
81
+ @pgre.stub!(:index_def).and_return("CREATE INDEX locked_by ON delayed_jobs USING btree (locked_by)")
82
+ sql = @pgre.index_sql(0, "locked_by", "locked_by_2")
83
+ sql.should == "CREATE INDEX CONCURRENTLY locked_by_2 ON delayed_jobs USING btree (locked_by)"
84
+ end
85
+
80
86
  it "index def" do
81
87
  r = row('a_b_c')
82
88
  @pgre.index_def(r['index_oid']).should == "CREATE UNIQUE INDEX a_b_c ON tests USING btree (a, b, c) WHERE ((a > 0) AND (b < 0))"
metadata CHANGED
@@ -1,101 +1,104 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: pg_reindex
3
- version: !ruby/object:Gem::Version
4
- hash: 25
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.2
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 1
10
- version: 0.1.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Makarchev Konstantin
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-06-07 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-06-08 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: thor
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
32
22
  type: :runtime
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: pg
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: pg
32
+ requirement: !ruby/object:Gem::Requirement
38
33
  none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
46
38
  type: :runtime
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: rspec
50
39
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
52
49
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
60
54
  type: :development
61
- version_requirements: *id003
62
- - !ruby/object:Gem::Dependency
63
- name: rake
64
55
  prerelease: false
65
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
66
57
  none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
74
70
  type: :development
75
- version_requirements: *id004
76
- - !ruby/object:Gem::Dependency
77
- name: activerecord
78
71
  prerelease: false
79
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
80
73
  none: false
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- hash: 3
85
- segments:
86
- - 0
87
- version: "0"
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: activerecord
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
88
86
  type: :development
89
- version_requirements: *id005
90
- description: Console utility for gracefully rebuild indexes/pkeys for PostgreSQL, with minimal locking in semi-auto mode.
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ description: Console utility for gracefully rebuild indexes/pkeys for PostgreSQL,
95
+ with minimal locking in semi-auto mode.
91
96
  email: kostya27@gmail.com
92
- executables:
97
+ executables:
93
98
  - pgre
94
99
  extensions: []
95
-
96
100
  extra_rdoc_files: []
97
-
98
- files:
101
+ files:
99
102
  - .gitignore
100
103
  - Gemfile
101
104
  - Gemfile.lock
@@ -110,36 +113,27 @@ files:
110
113
  - spec/spec_support.rb
111
114
  homepage: http://github.com/kostya/pg_reindex
112
115
  licenses: []
113
-
114
116
  post_install_message:
115
117
  rdoc_options: []
116
-
117
- require_paths:
118
+ require_paths:
118
119
  - lib
119
- required_ruby_version: !ruby/object:Gem::Requirement
120
+ required_ruby_version: !ruby/object:Gem::Requirement
120
121
  none: false
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- hash: 3
125
- segments:
126
- - 0
127
- version: "0"
128
- required_rubygems_version: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ required_rubygems_version: !ruby/object:Gem::Requirement
129
127
  none: false
130
- requirements:
131
- - - ">="
132
- - !ruby/object:Gem::Version
133
- hash: 3
134
- segments:
135
- - 0
136
- version: "0"
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
137
132
  requirements: []
138
-
139
133
  rubyforge_project:
140
134
  rubygems_version: 1.8.24
141
135
  signing_key:
142
136
  specification_version: 3
143
- summary: Console utility for gracefully rebuild indexes/pkeys for PostgreSQL, with minimal locking in semi-auto mode.
137
+ summary: Console utility for gracefully rebuild indexes/pkeys for PostgreSQL, with
138
+ minimal locking in semi-auto mode.
144
139
  test_files: []
145
-