pgdice 0.4.2 → 0.4.3

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.
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!