torque-postgresql 3.4.1 → 4.0.0
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 +4 -4
- data/lib/generators/torque/function_generator.rb +13 -0
- data/lib/generators/torque/templates/function.sql.erb +4 -0
- data/lib/generators/torque/templates/type.sql.erb +2 -0
- data/lib/generators/torque/templates/view.sql.erb +3 -0
- data/lib/generators/torque/type_generator.rb +13 -0
- data/lib/generators/torque/view_generator.rb +16 -0
- data/lib/torque/postgresql/adapter/database_statements.rb +111 -94
- data/lib/torque/postgresql/adapter/oid/array.rb +17 -0
- data/lib/torque/postgresql/adapter/oid/line.rb +2 -6
- data/lib/torque/postgresql/adapter/oid/range.rb +4 -4
- data/lib/torque/postgresql/adapter/oid.rb +1 -23
- data/lib/torque/postgresql/adapter/quoting.rb +13 -7
- data/lib/torque/postgresql/adapter/schema_creation.rb +7 -28
- data/lib/torque/postgresql/adapter/schema_definitions.rb +58 -0
- data/lib/torque/postgresql/adapter/schema_dumper.rb +136 -34
- data/lib/torque/postgresql/adapter/schema_overrides.rb +45 -0
- data/lib/torque/postgresql/adapter/schema_statements.rb +109 -49
- data/lib/torque/postgresql/arel/infix_operation.rb +15 -28
- data/lib/torque/postgresql/arel/nodes.rb +16 -2
- data/lib/torque/postgresql/arel/operations.rb +7 -1
- data/lib/torque/postgresql/arel/visitors.rb +7 -9
- data/lib/torque/postgresql/associations/association_scope.rb +23 -31
- data/lib/torque/postgresql/associations/belongs_to_many_association.rb +25 -0
- data/lib/torque/postgresql/associations/builder/belongs_to_many.rb +16 -0
- data/lib/torque/postgresql/attributes/builder/enum.rb +12 -9
- data/lib/torque/postgresql/attributes/builder/full_text_search.rb +109 -0
- data/lib/torque/postgresql/attributes/builder/period.rb +21 -21
- data/lib/torque/postgresql/attributes/builder.rb +49 -11
- data/lib/torque/postgresql/attributes/enum.rb +7 -7
- data/lib/torque/postgresql/attributes/enum_set.rb +7 -7
- data/lib/torque/postgresql/attributes/full_text_search.rb +19 -0
- data/lib/torque/postgresql/attributes/period.rb +2 -2
- data/lib/torque/postgresql/attributes.rb +0 -4
- data/lib/torque/postgresql/auxiliary_statement/recursive.rb +3 -3
- data/lib/torque/postgresql/base.rb +5 -11
- data/lib/torque/postgresql/collector.rb +1 -1
- data/lib/torque/postgresql/config.rb +129 -5
- data/lib/torque/postgresql/function.rb +94 -0
- data/lib/torque/postgresql/inheritance.rb +52 -36
- data/lib/torque/postgresql/predicate_builder/arel_attribute_handler.rb +33 -0
- data/lib/torque/postgresql/predicate_builder/array_handler.rb +47 -0
- data/lib/torque/postgresql/predicate_builder/enumerator_lazy_handler.rb +37 -0
- data/lib/torque/postgresql/predicate_builder/regexp_handler.rb +21 -0
- data/lib/torque/postgresql/predicate_builder.rb +35 -0
- data/lib/torque/postgresql/railtie.rb +137 -30
- data/lib/torque/postgresql/reflection/abstract_reflection.rb +12 -44
- data/lib/torque/postgresql/reflection/belongs_to_many_reflection.rb +4 -0
- data/lib/torque/postgresql/reflection/has_many_reflection.rb +4 -0
- data/lib/torque/postgresql/reflection/runtime_reflection.rb +1 -1
- data/lib/torque/postgresql/relation/auxiliary_statement.rb +7 -2
- data/lib/torque/postgresql/relation/buckets.rb +124 -0
- data/lib/torque/postgresql/relation/distinct_on.rb +7 -2
- data/lib/torque/postgresql/relation/inheritance.rb +22 -15
- data/lib/torque/postgresql/relation/join_series.rb +112 -0
- data/lib/torque/postgresql/relation/merger.rb +17 -3
- data/lib/torque/postgresql/relation.rb +24 -38
- data/lib/torque/postgresql/schema_cache.rb +6 -12
- data/lib/torque/postgresql/version.rb +1 -1
- data/lib/torque/postgresql/versioned_commands/command_migration.rb +146 -0
- data/lib/torque/postgresql/versioned_commands/generator.rb +57 -0
- data/lib/torque/postgresql/versioned_commands/migration_context.rb +83 -0
- data/lib/torque/postgresql/versioned_commands/migrator.rb +39 -0
- data/lib/torque/postgresql/versioned_commands/schema_table.rb +101 -0
- data/lib/torque/postgresql/versioned_commands.rb +161 -0
- data/lib/torque/postgresql.rb +2 -1
- data/spec/fixtures/migrations/20250101000001_create_users.rb +0 -0
- data/spec/fixtures/migrations/20250101000002_create_function_count_users_v1.sql +0 -0
- data/spec/fixtures/migrations/20250101000003_create_internal_users.rb +0 -0
- data/spec/fixtures/migrations/20250101000004_update_function_count_users_v2.sql +0 -0
- data/spec/fixtures/migrations/20250101000005_create_view_all_users_v1.sql +0 -0
- data/spec/fixtures/migrations/20250101000006_create_type_user_id_v1.sql +0 -0
- data/spec/fixtures/migrations/20250101000007_remove_function_count_users_v2.sql +0 -0
- data/spec/initialize.rb +67 -0
- data/spec/mocks/cache_query.rb +21 -21
- data/spec/mocks/create_table.rb +6 -26
- data/spec/schema.rb +17 -12
- data/spec/spec_helper.rb +11 -2
- data/spec/tests/arel_spec.rb +32 -7
- data/spec/tests/auxiliary_statement_spec.rb +3 -3
- data/spec/tests/belongs_to_many_spec.rb +72 -5
- data/spec/tests/enum_set_spec.rb +12 -11
- data/spec/tests/enum_spec.rb +4 -2
- data/spec/tests/full_text_seach_test.rb +280 -0
- data/spec/tests/function_spec.rb +42 -0
- data/spec/tests/has_many_spec.rb +21 -8
- data/spec/tests/interval_spec.rb +1 -7
- data/spec/tests/period_spec.rb +61 -61
- data/spec/tests/predicate_builder_spec.rb +132 -0
- data/spec/tests/relation_spec.rb +229 -0
- data/spec/tests/schema_spec.rb +6 -9
- data/spec/tests/table_inheritance_spec.rb +25 -26
- data/spec/tests/versioned_commands_spec.rb +513 -0
- metadata +64 -39
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: torque-postgresql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carlos Silva
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-08-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '8.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '8.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: pg
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,20 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
48
|
-
- - ">="
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version: 12.3.3
|
47
|
+
version: '13.0'
|
51
48
|
type: :development
|
52
49
|
prerelease: false
|
53
50
|
version_requirements: !ruby/object:Gem::Requirement
|
54
51
|
requirements:
|
55
52
|
- - "~>"
|
56
53
|
- !ruby/object:Gem::Version
|
57
|
-
version: '
|
58
|
-
- - ">="
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: 12.3.3
|
54
|
+
version: '13.0'
|
61
55
|
- !ruby/object:Gem::Dependency
|
62
56
|
name: database_cleaner
|
63
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,20 +72,14 @@ dependencies:
|
|
78
72
|
requirements:
|
79
73
|
- - "~>"
|
80
74
|
- !ruby/object:Gem::Version
|
81
|
-
version: '
|
82
|
-
- - ">="
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: 2.1.1
|
75
|
+
version: '3.1'
|
85
76
|
type: :development
|
86
77
|
prerelease: false
|
87
78
|
version_requirements: !ruby/object:Gem::Requirement
|
88
79
|
requirements:
|
89
80
|
- - "~>"
|
90
81
|
- !ruby/object:Gem::Version
|
91
|
-
version: '
|
92
|
-
- - ">="
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
version: 2.1.1
|
82
|
+
version: '3.1'
|
95
83
|
- !ruby/object:Gem::Dependency
|
96
84
|
name: rspec
|
97
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,9 +87,6 @@ dependencies:
|
|
99
87
|
- - "~>"
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '3.5'
|
102
|
-
- - ">="
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version: 3.5.0
|
105
90
|
type: :development
|
106
91
|
prerelease: false
|
107
92
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -109,9 +94,6 @@ dependencies:
|
|
109
94
|
- - "~>"
|
110
95
|
- !ruby/object:Gem::Version
|
111
96
|
version: '3.5'
|
112
|
-
- - ">="
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
version: 3.5.0
|
115
97
|
- !ruby/object:Gem::Dependency
|
116
98
|
name: factory_bot
|
117
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -119,9 +101,6 @@ dependencies:
|
|
119
101
|
- - "~>"
|
120
102
|
- !ruby/object:Gem::Version
|
121
103
|
version: '6.2'
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 6.2.1
|
125
104
|
type: :development
|
126
105
|
prerelease: false
|
127
106
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -129,25 +108,22 @@ dependencies:
|
|
129
108
|
- - "~>"
|
130
109
|
- !ruby/object:Gem::Version
|
131
110
|
version: '6.2'
|
132
|
-
- - ">="
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version: 6.2.1
|
135
111
|
- !ruby/object:Gem::Dependency
|
136
112
|
name: faker
|
137
113
|
requirement: !ruby/object:Gem::Requirement
|
138
114
|
requirements:
|
139
115
|
- - "~>"
|
140
116
|
- !ruby/object:Gem::Version
|
141
|
-
version: '
|
117
|
+
version: '3.5'
|
142
118
|
type: :development
|
143
119
|
prerelease: false
|
144
120
|
version_requirements: !ruby/object:Gem::Requirement
|
145
121
|
requirements:
|
146
122
|
- - "~>"
|
147
123
|
- !ruby/object:Gem::Version
|
148
|
-
version: '
|
124
|
+
version: '3.5'
|
149
125
|
description: Add support to complex resources of PostgreSQL, like data types, array
|
150
|
-
associations,
|
126
|
+
associations, auxiliary statements (CTE), and full-text search (FTS)
|
151
127
|
email:
|
152
128
|
- me@carlosfsilva.com
|
153
129
|
executables: []
|
@@ -157,11 +133,18 @@ files:
|
|
157
133
|
- MIT-LICENSE
|
158
134
|
- README.rdoc
|
159
135
|
- Rakefile
|
136
|
+
- lib/generators/torque/function_generator.rb
|
137
|
+
- lib/generators/torque/templates/function.sql.erb
|
138
|
+
- lib/generators/torque/templates/type.sql.erb
|
139
|
+
- lib/generators/torque/templates/view.sql.erb
|
140
|
+
- lib/generators/torque/type_generator.rb
|
141
|
+
- lib/generators/torque/view_generator.rb
|
160
142
|
- lib/torque-postgresql.rb
|
161
143
|
- lib/torque/postgresql.rb
|
162
144
|
- lib/torque/postgresql/adapter.rb
|
163
145
|
- lib/torque/postgresql/adapter/database_statements.rb
|
164
146
|
- lib/torque/postgresql/adapter/oid.rb
|
147
|
+
- lib/torque/postgresql/adapter/oid/array.rb
|
165
148
|
- lib/torque/postgresql/adapter/oid/box.rb
|
166
149
|
- lib/torque/postgresql/adapter/oid/circle.rb
|
167
150
|
- lib/torque/postgresql/adapter/oid/enum.rb
|
@@ -174,6 +157,7 @@ files:
|
|
174
157
|
- lib/torque/postgresql/adapter/schema_creation.rb
|
175
158
|
- lib/torque/postgresql/adapter/schema_definitions.rb
|
176
159
|
- lib/torque/postgresql/adapter/schema_dumper.rb
|
160
|
+
- lib/torque/postgresql/adapter/schema_overrides.rb
|
177
161
|
- lib/torque/postgresql/adapter/schema_statements.rb
|
178
162
|
- lib/torque/postgresql/arel.rb
|
179
163
|
- lib/torque/postgresql/arel/infix_operation.rb
|
@@ -195,9 +179,11 @@ files:
|
|
195
179
|
- lib/torque/postgresql/attributes.rb
|
196
180
|
- lib/torque/postgresql/attributes/builder.rb
|
197
181
|
- lib/torque/postgresql/attributes/builder/enum.rb
|
182
|
+
- lib/torque/postgresql/attributes/builder/full_text_search.rb
|
198
183
|
- lib/torque/postgresql/attributes/builder/period.rb
|
199
184
|
- lib/torque/postgresql/attributes/enum.rb
|
200
185
|
- lib/torque/postgresql/attributes/enum_set.rb
|
186
|
+
- lib/torque/postgresql/attributes/full_text_search.rb
|
201
187
|
- lib/torque/postgresql/attributes/lazy.rb
|
202
188
|
- lib/torque/postgresql/attributes/period.rb
|
203
189
|
- lib/torque/postgresql/autosave_association.rb
|
@@ -207,12 +193,18 @@ files:
|
|
207
193
|
- lib/torque/postgresql/base.rb
|
208
194
|
- lib/torque/postgresql/collector.rb
|
209
195
|
- lib/torque/postgresql/config.rb
|
196
|
+
- lib/torque/postgresql/function.rb
|
210
197
|
- lib/torque/postgresql/geometry_builder.rb
|
211
198
|
- lib/torque/postgresql/i18n.rb
|
212
199
|
- lib/torque/postgresql/inheritance.rb
|
213
200
|
- lib/torque/postgresql/insert_all.rb
|
214
201
|
- lib/torque/postgresql/migration.rb
|
215
202
|
- lib/torque/postgresql/migration/command_recorder.rb
|
203
|
+
- lib/torque/postgresql/predicate_builder.rb
|
204
|
+
- lib/torque/postgresql/predicate_builder/arel_attribute_handler.rb
|
205
|
+
- lib/torque/postgresql/predicate_builder/array_handler.rb
|
206
|
+
- lib/torque/postgresql/predicate_builder/enumerator_lazy_handler.rb
|
207
|
+
- lib/torque/postgresql/predicate_builder/regexp_handler.rb
|
216
208
|
- lib/torque/postgresql/railtie.rb
|
217
209
|
- lib/torque/postgresql/reflection.rb
|
218
210
|
- lib/torque/postgresql/reflection/abstract_reflection.rb
|
@@ -223,8 +215,10 @@ files:
|
|
223
215
|
- lib/torque/postgresql/reflection/through_reflection.rb
|
224
216
|
- lib/torque/postgresql/relation.rb
|
225
217
|
- lib/torque/postgresql/relation/auxiliary_statement.rb
|
218
|
+
- lib/torque/postgresql/relation/buckets.rb
|
226
219
|
- lib/torque/postgresql/relation/distinct_on.rb
|
227
220
|
- lib/torque/postgresql/relation/inheritance.rb
|
221
|
+
- lib/torque/postgresql/relation/join_series.rb
|
228
222
|
- lib/torque/postgresql/relation/merger.rb
|
229
223
|
- lib/torque/postgresql/schema_cache.rb
|
230
224
|
- lib/torque/postgresql/schema_cache/bound_schema_reflection.rb
|
@@ -232,6 +226,12 @@ files:
|
|
232
226
|
- lib/torque/postgresql/schema_cache/schema_reflection.rb
|
233
227
|
- lib/torque/postgresql/table_name.rb
|
234
228
|
- lib/torque/postgresql/version.rb
|
229
|
+
- lib/torque/postgresql/versioned_commands.rb
|
230
|
+
- lib/torque/postgresql/versioned_commands/command_migration.rb
|
231
|
+
- lib/torque/postgresql/versioned_commands/generator.rb
|
232
|
+
- lib/torque/postgresql/versioned_commands/migration_context.rb
|
233
|
+
- lib/torque/postgresql/versioned_commands/migrator.rb
|
234
|
+
- lib/torque/postgresql/versioned_commands/schema_table.rb
|
235
235
|
- spec/en.yml
|
236
236
|
- spec/factories/authors.rb
|
237
237
|
- spec/factories/comments.rb
|
@@ -241,6 +241,14 @@ files:
|
|
241
241
|
- spec/factories/texts.rb
|
242
242
|
- spec/factories/users.rb
|
243
243
|
- spec/factories/videos.rb
|
244
|
+
- spec/fixtures/migrations/20250101000001_create_users.rb
|
245
|
+
- spec/fixtures/migrations/20250101000002_create_function_count_users_v1.sql
|
246
|
+
- spec/fixtures/migrations/20250101000003_create_internal_users.rb
|
247
|
+
- spec/fixtures/migrations/20250101000004_update_function_count_users_v2.sql
|
248
|
+
- spec/fixtures/migrations/20250101000005_create_view_all_users_v1.sql
|
249
|
+
- spec/fixtures/migrations/20250101000006_create_type_user_id_v1.sql
|
250
|
+
- spec/fixtures/migrations/20250101000007_remove_function_count_users_v2.sql
|
251
|
+
- spec/initialize.rb
|
244
252
|
- spec/mocks/cache_query.rb
|
245
253
|
- spec/mocks/create_table.rb
|
246
254
|
- spec/models/activity.rb
|
@@ -273,20 +281,25 @@ files:
|
|
273
281
|
- spec/tests/distinct_on_spec.rb
|
274
282
|
- spec/tests/enum_set_spec.rb
|
275
283
|
- spec/tests/enum_spec.rb
|
284
|
+
- spec/tests/full_text_seach_test.rb
|
285
|
+
- spec/tests/function_spec.rb
|
276
286
|
- spec/tests/geometric_builder_spec.rb
|
277
287
|
- spec/tests/has_many_spec.rb
|
278
288
|
- spec/tests/insert_all_spec.rb
|
279
289
|
- spec/tests/interval_spec.rb
|
280
290
|
- spec/tests/lazy_spec.rb
|
281
291
|
- spec/tests/period_spec.rb
|
292
|
+
- spec/tests/predicate_builder_spec.rb
|
282
293
|
- spec/tests/quoting_spec.rb
|
283
294
|
- spec/tests/relation_spec.rb
|
284
295
|
- spec/tests/schema_spec.rb
|
285
296
|
- spec/tests/table_inheritance_spec.rb
|
297
|
+
- spec/tests/versioned_commands_spec.rb
|
286
298
|
homepage: https://github.com/crashtech/torque-postgresql
|
287
299
|
licenses:
|
288
300
|
- MIT
|
289
301
|
metadata:
|
302
|
+
homepage_uri: https://torque.dev/postgresql
|
290
303
|
source_code_uri: https://github.com/crashtech/torque-postgresql
|
291
304
|
bug_tracker_uri: https://github.com/crashtech/torque-postgresql/issues
|
292
305
|
changelog_uri: https://github.com/crashtech/torque-postgresql/releases
|
@@ -300,14 +313,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
300
313
|
requirements:
|
301
314
|
- - ">="
|
302
315
|
- !ruby/object:Gem::Version
|
303
|
-
version:
|
316
|
+
version: '3.2'
|
304
317
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
305
318
|
requirements:
|
306
319
|
- - ">="
|
307
320
|
- !ruby/object:Gem::Version
|
308
321
|
version: 1.8.11
|
309
322
|
requirements: []
|
310
|
-
rubygems_version: 3.
|
323
|
+
rubygems_version: 3.5.22
|
311
324
|
signing_key:
|
312
325
|
specification_version: 4
|
313
326
|
summary: ActiveRecord extension to access PostgreSQL advanced resources
|
@@ -321,6 +334,14 @@ test_files:
|
|
321
334
|
- spec/factories/texts.rb
|
322
335
|
- spec/factories/users.rb
|
323
336
|
- spec/factories/videos.rb
|
337
|
+
- spec/fixtures/migrations/20250101000001_create_users.rb
|
338
|
+
- spec/fixtures/migrations/20250101000002_create_function_count_users_v1.sql
|
339
|
+
- spec/fixtures/migrations/20250101000003_create_internal_users.rb
|
340
|
+
- spec/fixtures/migrations/20250101000004_update_function_count_users_v2.sql
|
341
|
+
- spec/fixtures/migrations/20250101000005_create_view_all_users_v1.sql
|
342
|
+
- spec/fixtures/migrations/20250101000006_create_type_user_id_v1.sql
|
343
|
+
- spec/fixtures/migrations/20250101000007_remove_function_count_users_v2.sql
|
344
|
+
- spec/initialize.rb
|
324
345
|
- spec/mocks/cache_query.rb
|
325
346
|
- spec/mocks/create_table.rb
|
326
347
|
- spec/models/activity.rb
|
@@ -353,13 +374,17 @@ test_files:
|
|
353
374
|
- spec/tests/distinct_on_spec.rb
|
354
375
|
- spec/tests/enum_set_spec.rb
|
355
376
|
- spec/tests/enum_spec.rb
|
377
|
+
- spec/tests/full_text_seach_test.rb
|
378
|
+
- spec/tests/function_spec.rb
|
356
379
|
- spec/tests/geometric_builder_spec.rb
|
357
380
|
- spec/tests/has_many_spec.rb
|
358
381
|
- spec/tests/insert_all_spec.rb
|
359
382
|
- spec/tests/interval_spec.rb
|
360
383
|
- spec/tests/lazy_spec.rb
|
361
384
|
- spec/tests/period_spec.rb
|
385
|
+
- spec/tests/predicate_builder_spec.rb
|
362
386
|
- spec/tests/quoting_spec.rb
|
363
387
|
- spec/tests/relation_spec.rb
|
364
388
|
- spec/tests/schema_spec.rb
|
365
389
|
- spec/tests/table_inheritance_spec.rb
|
390
|
+
- spec/tests/versioned_commands_spec.rb
|