pgdice 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6ae586abaf672ced69ab9bab60300d99827b9b39363077c1ead5376c74823ba3
4
- data.tar.gz: 5cd703d8edaaf0315e62a761ea1a34d7f8b9e07b7a9e5caa09505d16ce20030e
3
+ metadata.gz: e580b9c81c5f8881771e2728e23a012703d15ce1196ef3395f32e40bbe8bfa0b
4
+ data.tar.gz: 0ab69e25f7d15d8fef14bfaeba53cccc2cd7e212e80d8fdaa36629c030410a28
5
5
  SHA512:
6
- metadata.gz: 93ebdada6b6e423bb1b0befda9bae91b52d3e19b498c818d38dac31268f77b21462b75b17bfc4c95281915e38c786a8f16cc2297fb97090b1c2756730c4c8706
7
- data.tar.gz: 8c25ece5a48b2972b0571de6be7a0a6912c193af0ad3193224b1946bf70b04f1771b6d209ccdb7e720aeeb9b53f4ae3ab74542de1bae22d33a17f11dd8e3c00b
6
+ metadata.gz: cbf8ecffdeb93605197217c6aba201611672d92ed56598b3580807e482c86ca4e740425b17ee25ac4161c7445b25c277484d71b1c58750f2dac55ba90db1abed
7
+ data.tar.gz: 2358edafb9391d37df00982c1ef05cd490c44730ed8c45bc854c4e4eeaba433979c03a5a141a3032a81eb9b2753e47164cd967201abeb5c9c31980c6a2917488
data/CHANGELOG.md CHANGED
@@ -2,11 +2,17 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
  This project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
+ ## [v0.4.3] : 2019-04-23
6
+ ### Changes
7
+ - Fix #31 where the new connection retry code was eagerly initializing the logger
8
+
9
+
5
10
  ## [v0.4.2] : 2019-04-22
6
11
  ### Changes
7
12
  - Fix #19 where PgDice wouldn't recover from a broken PG::Connection
8
13
  by adding new retry behavior
9
14
 
15
+
10
16
  ## [v0.4.1] : 2019-03-21
11
17
  ### Changes
12
18
  - Fix bug where partitioning by months would break when the month was < 10
data/README.md CHANGED
@@ -247,7 +247,7 @@ To validate that your expected number of tables exist, you can run:
247
247
  PgDice.assert_tables('comments')
248
248
  ```
249
249
 
250
- An [InsufficientTablesError](lib/pgdice.rb) will be raised if any conditions are not met.
250
+ An [InsufficientTablesError](lib/pgdice/error.rb) will be raised if any conditions are not met.
251
251
 
252
252
  This will check that there are 7 future tables from now and that there are 90 past tables
253
253
  per our configuration above.
@@ -1,21 +1,20 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Entry point for PartitionManager
3
+ # Entry point
4
4
  module PgDice
5
- # PartitionListerFactory is a class used to build PartitionListers
5
+ # DatabaseConnectionFactory is a class used to build DatabaseConnections
6
6
  class DatabaseConnectionFactory
7
7
  extend Forwardable
8
8
 
9
- def_delegators :@configuration, :logger, :pg_connection, :dry_run
9
+ def_delegators :@configuration, :logger, :dry_run
10
10
 
11
11
  def initialize(configuration, opts = {})
12
12
  @configuration = configuration
13
- @query_executor = opts[:query_executor] ||= PgDice::QueryExecutor.new(logger: logger,
14
- connection_supplier: -> { pg_connection })
13
+ @query_executor_factory = opts[:query_executor_factory] ||= PgDice::QueryExecutorFactory.new(configuration, opts)
15
14
  end
16
15
 
17
16
  def call
18
- PgDice::DatabaseConnection.new(logger: logger, query_executor: @query_executor, dry_run: dry_run)
17
+ PgDice::DatabaseConnection.new(logger: logger, query_executor: @query_executor_factory.call, dry_run: dry_run)
19
18
  end
20
19
  end
21
20
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Entry point for DatabaseConnection
3
+ # Entry point
4
4
  module PgDice
5
5
  # Wrapper class around pg_connection to reset connection on PG errors
6
6
  class QueryExecutor
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Entry point
4
+ module PgDice
5
+ # QueryExecutorFactory is a class used to build QueryExecutors
6
+ class QueryExecutorFactory
7
+ extend Forwardable
8
+
9
+ def_delegators :@configuration, :logger, :pg_connection
10
+
11
+ def initialize(configuration, opts = {})
12
+ @configuration = configuration
13
+ @connection_supplier = opts[:connection_supplier] ||= -> { pg_connection }
14
+ end
15
+
16
+ def call
17
+ PgDice::QueryExecutor.new(logger: logger, connection_supplier: @connection_supplier)
18
+ end
19
+ end
20
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PgDice
4
- VERSION = '0.4.2'
4
+ VERSION = '0.4.3'
5
5
  end
data/lib/pgdice.rb CHANGED
@@ -43,6 +43,7 @@ require 'pgdice/partition_dropper'
43
43
  require 'pgdice/partition_dropper_factory'
44
44
 
45
45
  require 'pgdice/query_executor'
46
+ require 'pgdice/query_executor_factory'
46
47
 
47
48
  require 'pgdice/database_connection'
48
49
  require 'pgdice/database_connection_factory'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pgdice
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Newell
@@ -14,20 +14,20 @@ dependencies:
14
14
  name: pg
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.1.0
20
- - - ">="
20
+ - - "~>"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 1.1.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - "~>"
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  version: 1.1.0
30
- - - ">="
30
+ - - "~>"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.1.0
33
33
  - !ruby/object:Gem::Dependency
@@ -48,200 +48,200 @@ dependencies:
48
48
  name: bundler
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
51
+ - - ">="
52
52
  - !ruby/object:Gem::Version
53
53
  version: '1.16'
54
- - - ">="
54
+ - - "~>"
55
55
  - !ruby/object:Gem::Version
56
56
  version: '1.16'
57
57
  type: :development
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - "~>"
61
+ - - ">="
62
62
  - !ruby/object:Gem::Version
63
63
  version: '1.16'
64
- - - ">="
64
+ - - "~>"
65
65
  - !ruby/object:Gem::Version
66
66
  version: '1.16'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: coveralls
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - "~>"
71
+ - - ">="
72
72
  - !ruby/object:Gem::Version
73
73
  version: 0.8.22
74
- - - ">="
74
+ - - "~>"
75
75
  - !ruby/object:Gem::Version
76
76
  version: 0.8.22
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - "~>"
81
+ - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: 0.8.22
84
- - - ">="
84
+ - - "~>"
85
85
  - !ruby/object:Gem::Version
86
86
  version: 0.8.22
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: guard
89
89
  requirement: !ruby/object:Gem::Requirement
90
90
  requirements:
91
- - - "~>"
91
+ - - ">="
92
92
  - !ruby/object:Gem::Version
93
93
  version: 2.14.2
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 2.14.2
97
97
  type: :development
98
98
  prerelease: false
99
99
  version_requirements: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: 2.14.2
104
- - - ">="
104
+ - - "~>"
105
105
  - !ruby/object:Gem::Version
106
106
  version: 2.14.2
107
107
  - !ruby/object:Gem::Dependency
108
108
  name: guard-minitest
109
109
  requirement: !ruby/object:Gem::Requirement
110
110
  requirements:
111
- - - "~>"
111
+ - - ">="
112
112
  - !ruby/object:Gem::Version
113
113
  version: 2.4.6
114
- - - ">="
114
+ - - "~>"
115
115
  - !ruby/object:Gem::Version
116
116
  version: 2.4.6
117
117
  type: :development
118
118
  prerelease: false
119
119
  version_requirements: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - "~>"
121
+ - - ">="
122
122
  - !ruby/object:Gem::Version
123
123
  version: 2.4.6
124
- - - ">="
124
+ - - "~>"
125
125
  - !ruby/object:Gem::Version
126
126
  version: 2.4.6
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: guard-rubocop
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - "~>"
131
+ - - ">="
132
132
  - !ruby/object:Gem::Version
133
133
  version: 1.3.0
134
- - - ">="
134
+ - - "~>"
135
135
  - !ruby/object:Gem::Version
136
136
  version: 1.3.0
137
137
  type: :development
138
138
  prerelease: false
139
139
  version_requirements: !ruby/object:Gem::Requirement
140
140
  requirements:
141
- - - "~>"
141
+ - - ">="
142
142
  - !ruby/object:Gem::Version
143
143
  version: 1.3.0
144
- - - ">="
144
+ - - "~>"
145
145
  - !ruby/object:Gem::Version
146
146
  version: 1.3.0
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: guard-shell
149
149
  requirement: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - "~>"
151
+ - - ">="
152
152
  - !ruby/object:Gem::Version
153
153
  version: 0.7.1
154
- - - ">="
154
+ - - "~>"
155
155
  - !ruby/object:Gem::Version
156
156
  version: 0.7.1
157
157
  type: :development
158
158
  prerelease: false
159
159
  version_requirements: !ruby/object:Gem::Requirement
160
160
  requirements:
161
- - - "~>"
161
+ - - ">="
162
162
  - !ruby/object:Gem::Version
163
163
  version: 0.7.1
164
- - - ">="
164
+ - - "~>"
165
165
  - !ruby/object:Gem::Version
166
166
  version: 0.7.1
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: minitest
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - "~>"
171
+ - - ">="
172
172
  - !ruby/object:Gem::Version
173
173
  version: '5.0'
174
- - - ">="
174
+ - - "~>"
175
175
  - !ruby/object:Gem::Version
176
176
  version: '5.0'
177
177
  type: :development
178
178
  prerelease: false
179
179
  version_requirements: !ruby/object:Gem::Requirement
180
180
  requirements:
181
- - - "~>"
181
+ - - ">="
182
182
  - !ruby/object:Gem::Version
183
183
  version: '5.0'
184
- - - ">="
184
+ - - "~>"
185
185
  - !ruby/object:Gem::Version
186
186
  version: '5.0'
187
187
  - !ruby/object:Gem::Dependency
188
188
  name: minitest-ci
189
189
  requirement: !ruby/object:Gem::Requirement
190
190
  requirements:
191
- - - "~>"
191
+ - - ">="
192
192
  - !ruby/object:Gem::Version
193
193
  version: 3.4.0
194
- - - ">="
194
+ - - "~>"
195
195
  - !ruby/object:Gem::Version
196
196
  version: 3.4.0
197
197
  type: :development
198
198
  prerelease: false
199
199
  version_requirements: !ruby/object:Gem::Requirement
200
200
  requirements:
201
- - - "~>"
201
+ - - ">="
202
202
  - !ruby/object:Gem::Version
203
203
  version: 3.4.0
204
- - - ">="
204
+ - - "~>"
205
205
  - !ruby/object:Gem::Version
206
206
  version: 3.4.0
207
207
  - !ruby/object:Gem::Dependency
208
208
  name: minitest-reporters
209
209
  requirement: !ruby/object:Gem::Requirement
210
210
  requirements:
211
- - - "~>"
211
+ - - ">="
212
212
  - !ruby/object:Gem::Version
213
213
  version: 1.3.4
214
- - - ">="
214
+ - - "~>"
215
215
  - !ruby/object:Gem::Version
216
216
  version: 1.3.4
217
217
  type: :development
218
218
  prerelease: false
219
219
  version_requirements: !ruby/object:Gem::Requirement
220
220
  requirements:
221
- - - "~>"
221
+ - - ">="
222
222
  - !ruby/object:Gem::Version
223
223
  version: 1.3.4
224
- - - ">="
224
+ - - "~>"
225
225
  - !ruby/object:Gem::Version
226
226
  version: 1.3.4
227
227
  - !ruby/object:Gem::Dependency
228
228
  name: rake
229
229
  requirement: !ruby/object:Gem::Requirement
230
230
  requirements:
231
- - - "~>"
231
+ - - ">="
232
232
  - !ruby/object:Gem::Version
233
233
  version: '10.0'
234
- - - ">="
234
+ - - "~>"
235
235
  - !ruby/object:Gem::Version
236
236
  version: '10.0'
237
237
  type: :development
238
238
  prerelease: false
239
239
  version_requirements: !ruby/object:Gem::Requirement
240
240
  requirements:
241
- - - "~>"
241
+ - - ">="
242
242
  - !ruby/object:Gem::Version
243
243
  version: '10.0'
244
- - - ">="
244
+ - - "~>"
245
245
  - !ruby/object:Gem::Version
246
246
  version: '10.0'
247
247
  - !ruby/object:Gem::Dependency
@@ -262,20 +262,20 @@ dependencies:
262
262
  name: simplecov
263
263
  requirement: !ruby/object:Gem::Requirement
264
264
  requirements:
265
- - - "~>"
265
+ - - ">="
266
266
  - !ruby/object:Gem::Version
267
267
  version: 0.16.1
268
- - - ">="
268
+ - - "~>"
269
269
  - !ruby/object:Gem::Version
270
270
  version: 0.16.1
271
271
  type: :development
272
272
  prerelease: false
273
273
  version_requirements: !ruby/object:Gem::Requirement
274
274
  requirements:
275
- - - "~>"
275
+ - - ">="
276
276
  - !ruby/object:Gem::Version
277
277
  version: 0.16.1
278
- - - ">="
278
+ - - "~>"
279
279
  - !ruby/object:Gem::Version
280
280
  version: 0.16.1
281
281
  description: Postgres table partitioning with a Ruby API built on top of https://github.com/ankane/pgslice
@@ -326,6 +326,7 @@ files:
326
326
  - lib/pgdice/pg_slice_manager.rb
327
327
  - lib/pgdice/pg_slice_manager_factory.rb
328
328
  - lib/pgdice/query_executor.rb
329
+ - lib/pgdice/query_executor_factory.rb
329
330
  - lib/pgdice/table.rb
330
331
  - lib/pgdice/table_finder.rb
331
332
  - lib/pgdice/validation.rb
@@ -352,7 +353,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
352
353
  version: '0'
353
354
  requirements: []
354
355
  rubyforge_project:
355
- rubygems_version: 2.7.6
356
+ rubygems_version: 2.7.9
356
357
  signing_key:
357
358
  specification_version: 4
358
359
  summary: Postgres table partitioning with a Ruby API!