pg_reindex 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
-