rom-sql 2.5.0 → 3.3.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.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +456 -278
  3. data/LICENSE +20 -0
  4. data/README.md +14 -24
  5. data/lib/rom-sql.rb +2 -0
  6. data/lib/rom/plugins/relation/sql/auto_restrictions.rb +2 -0
  7. data/lib/rom/plugins/relation/sql/instrumentation.rb +2 -0
  8. data/lib/rom/plugins/relation/sql/postgres/explain.rb +6 -7
  9. data/lib/rom/plugins/relation/sql/postgres/full_text_search.rb +53 -0
  10. data/lib/rom/plugins/relation/sql/postgres/streaming.rb +97 -0
  11. data/lib/rom/sql.rb +2 -0
  12. data/lib/rom/sql/associations.rb +2 -0
  13. data/lib/rom/sql/associations/core.rb +10 -0
  14. data/lib/rom/sql/associations/many_to_many.rb +10 -2
  15. data/lib/rom/sql/associations/many_to_one.rb +2 -0
  16. data/lib/rom/sql/associations/one_to_many.rb +2 -0
  17. data/lib/rom/sql/associations/one_to_one.rb +2 -0
  18. data/lib/rom/sql/associations/one_to_one_through.rb +2 -0
  19. data/lib/rom/sql/associations/self_ref.rb +2 -0
  20. data/lib/rom/sql/attribute.rb +87 -29
  21. data/lib/rom/sql/attribute_aliasing.rb +88 -0
  22. data/lib/rom/sql/attribute_wrapping.rb +30 -0
  23. data/lib/rom/sql/commands.rb +2 -0
  24. data/lib/rom/sql/commands/create.rb +2 -0
  25. data/lib/rom/sql/commands/delete.rb +2 -0
  26. data/lib/rom/sql/commands/error_wrapper.rb +2 -0
  27. data/lib/rom/sql/commands/update.rb +2 -0
  28. data/lib/rom/sql/dsl.rb +39 -1
  29. data/lib/rom/sql/error.rb +2 -0
  30. data/lib/rom/sql/errors.rb +2 -0
  31. data/lib/rom/sql/extensions.rb +2 -0
  32. data/lib/rom/sql/extensions/active_support_notifications.rb +2 -0
  33. data/lib/rom/sql/extensions/mysql.rb +2 -0
  34. data/lib/rom/sql/extensions/mysql/type_builder.rb +2 -0
  35. data/lib/rom/sql/extensions/postgres.rb +4 -0
  36. data/lib/rom/sql/extensions/postgres/commands.rb +3 -1
  37. data/lib/rom/sql/extensions/postgres/type_builder.rb +6 -4
  38. data/lib/rom/sql/extensions/postgres/type_serializer.rb +2 -0
  39. data/lib/rom/sql/extensions/postgres/types.rb +2 -0
  40. data/lib/rom/sql/extensions/postgres/types/array.rb +9 -8
  41. data/lib/rom/sql/extensions/postgres/types/array_types.rb +3 -1
  42. data/lib/rom/sql/extensions/postgres/types/geometric.rb +2 -0
  43. data/lib/rom/sql/extensions/postgres/types/json.rb +76 -19
  44. data/lib/rom/sql/extensions/postgres/types/ltree.rb +27 -25
  45. data/lib/rom/sql/extensions/postgres/types/network.rb +2 -0
  46. data/lib/rom/sql/extensions/postgres/types/range.rb +6 -4
  47. data/lib/rom/sql/extensions/rails_log_subscriber.rb +2 -0
  48. data/lib/rom/sql/extensions/sqlite.rb +2 -0
  49. data/lib/rom/sql/extensions/sqlite/type_builder.rb +2 -0
  50. data/lib/rom/sql/extensions/sqlite/types.rb +2 -0
  51. data/lib/rom/sql/foreign_key.rb +3 -1
  52. data/lib/rom/sql/function.rb +84 -6
  53. data/lib/rom/sql/gateway.rb +9 -1
  54. data/lib/rom/sql/group_dsl.rb +2 -0
  55. data/lib/rom/sql/index.rb +2 -0
  56. data/lib/rom/sql/join_dsl.rb +11 -0
  57. data/lib/rom/sql/mapper_compiler.rb +14 -3
  58. data/lib/rom/sql/migration.rb +20 -3
  59. data/lib/rom/sql/migration/inline_runner.rb +2 -0
  60. data/lib/rom/sql/migration/migrator.rb +5 -3
  61. data/lib/rom/sql/migration/recorder.rb +2 -0
  62. data/lib/rom/sql/migration/runner.rb +4 -2
  63. data/lib/rom/sql/migration/schema_diff.rb +4 -2
  64. data/lib/rom/sql/migration/template.rb +2 -0
  65. data/lib/rom/sql/migration/writer.rb +12 -4
  66. data/lib/rom/sql/order_dsl.rb +2 -0
  67. data/lib/rom/sql/plugin/associates.rb +4 -3
  68. data/lib/rom/sql/plugin/nullify.rb +37 -0
  69. data/lib/rom/sql/plugin/pagination.rb +22 -0
  70. data/lib/rom/sql/plugins.rb +4 -0
  71. data/lib/rom/sql/projection_dsl.rb +10 -4
  72. data/lib/rom/sql/rake_task.rb +2 -0
  73. data/lib/rom/sql/relation.rb +3 -1
  74. data/lib/rom/sql/relation/reading.rb +105 -16
  75. data/lib/rom/sql/relation/writing.rb +2 -0
  76. data/lib/rom/sql/restriction_dsl.rb +8 -8
  77. data/lib/rom/sql/schema.rb +16 -2
  78. data/lib/rom/sql/schema/attributes_inferrer.rb +7 -5
  79. data/lib/rom/sql/schema/dsl.rb +3 -1
  80. data/lib/rom/sql/schema/index_dsl.rb +8 -3
  81. data/lib/rom/sql/schema/inferrer.rb +12 -8
  82. data/lib/rom/sql/schema/type_builder.rb +4 -2
  83. data/lib/rom/sql/spec/support.rb +5 -3
  84. data/lib/rom/sql/tasks/migration_tasks.rake +16 -11
  85. data/lib/rom/sql/transaction.rb +2 -0
  86. data/lib/rom/sql/type_dsl.rb +3 -1
  87. data/lib/rom/sql/type_extensions.rb +4 -4
  88. data/lib/rom/sql/type_serializer.rb +3 -1
  89. data/lib/rom/sql/types.rb +6 -4
  90. data/lib/rom/sql/version.rb +3 -1
  91. data/lib/rom/sql/wrap.rb +2 -0
  92. data/lib/rom/types/values.rb +2 -0
  93. metadata +39 -37
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rom-sql
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Solnica
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-08 00:00:00.000000000 Z
11
+ date: 2020-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sequel
@@ -25,67 +25,59 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.49'
27
27
  - !ruby/object:Gem::Dependency
28
- name: dry-equalizer
28
+ name: dry-types
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.2'
33
+ version: '1.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.2'
40
+ version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: dry-types
42
+ name: dry-core
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.12'
47
+ version: '0.5'
48
48
  - - ">="
49
49
  - !ruby/object:Gem::Version
50
- version: 0.12.1
50
+ version: '0.5'
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
55
  - - "~>"
56
56
  - !ruby/object:Gem::Version
57
- version: '0.12'
57
+ version: '0.5'
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: 0.12.1
60
+ version: '0.5'
61
61
  - !ruby/object:Gem::Dependency
62
- name: dry-core
62
+ name: rom
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '0.3'
68
- type: :runtime
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: '0.3'
75
- - !ruby/object:Gem::Dependency
76
- name: rom-core
77
- requirement: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - "~>"
67
+ version: '5.2'
68
+ - - ">="
80
69
  - !ruby/object:Gem::Version
81
- version: '4.1'
70
+ version: 5.2.1
82
71
  type: :runtime
83
72
  prerelease: false
84
73
  version_requirements: !ruby/object:Gem::Requirement
85
74
  requirements:
86
75
  - - "~>"
87
76
  - !ruby/object:Gem::Version
88
- version: '4.1'
77
+ version: '5.2'
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: 5.2.1
89
81
  - !ruby/object:Gem::Dependency
90
82
  name: bundler
91
83
  requirement: !ruby/object:Gem::Requirement
@@ -106,28 +98,28 @@ dependencies:
106
98
  requirements:
107
99
  - - "~>"
108
100
  - !ruby/object:Gem::Version
109
- version: '10.0'
101
+ version: '13.0'
110
102
  type: :development
111
103
  prerelease: false
112
104
  version_requirements: !ruby/object:Gem::Requirement
113
105
  requirements:
114
106
  - - "~>"
115
107
  - !ruby/object:Gem::Version
116
- version: '10.0'
108
+ version: '13.0'
117
109
  - !ruby/object:Gem::Dependency
118
110
  name: rspec
119
111
  requirement: !ruby/object:Gem::Requirement
120
112
  requirements:
121
113
  - - "~>"
122
114
  - !ruby/object:Gem::Version
123
- version: '3.5'
115
+ version: '3.9'
124
116
  type: :development
125
117
  prerelease: false
126
118
  version_requirements: !ruby/object:Gem::Requirement
127
119
  requirements:
128
120
  - - "~>"
129
121
  - !ruby/object:Gem::Version
130
- version: '3.5'
122
+ version: '3.9'
131
123
  description: SQL databases support for ROM
132
124
  email:
133
125
  - piotr.solnica@gmail.com
@@ -136,11 +128,14 @@ extensions: []
136
128
  extra_rdoc_files: []
137
129
  files:
138
130
  - CHANGELOG.md
131
+ - LICENSE
139
132
  - README.md
140
133
  - lib/rom-sql.rb
141
134
  - lib/rom/plugins/relation/sql/auto_restrictions.rb
142
135
  - lib/rom/plugins/relation/sql/instrumentation.rb
143
136
  - lib/rom/plugins/relation/sql/postgres/explain.rb
137
+ - lib/rom/plugins/relation/sql/postgres/full_text_search.rb
138
+ - lib/rom/plugins/relation/sql/postgres/streaming.rb
144
139
  - lib/rom/sql.rb
145
140
  - lib/rom/sql/associations.rb
146
141
  - lib/rom/sql/associations/core.rb
@@ -151,6 +146,8 @@ files:
151
146
  - lib/rom/sql/associations/one_to_one_through.rb
152
147
  - lib/rom/sql/associations/self_ref.rb
153
148
  - lib/rom/sql/attribute.rb
149
+ - lib/rom/sql/attribute_aliasing.rb
150
+ - lib/rom/sql/attribute_wrapping.rb
154
151
  - lib/rom/sql/commands.rb
155
152
  - lib/rom/sql/commands/create.rb
156
153
  - lib/rom/sql/commands/delete.rb
@@ -184,6 +181,7 @@ files:
184
181
  - lib/rom/sql/gateway.rb
185
182
  - lib/rom/sql/group_dsl.rb
186
183
  - lib/rom/sql/index.rb
184
+ - lib/rom/sql/join_dsl.rb
187
185
  - lib/rom/sql/mapper_compiler.rb
188
186
  - lib/rom/sql/migration.rb
189
187
  - lib/rom/sql/migration/inline_runner.rb
@@ -195,6 +193,7 @@ files:
195
193
  - lib/rom/sql/migration/writer.rb
196
194
  - lib/rom/sql/order_dsl.rb
197
195
  - lib/rom/sql/plugin/associates.rb
196
+ - lib/rom/sql/plugin/nullify.rb
198
197
  - lib/rom/sql/plugin/pagination.rb
199
198
  - lib/rom/sql/plugins.rb
200
199
  - lib/rom/sql/projection_dsl.rb
@@ -222,8 +221,12 @@ files:
222
221
  homepage: http://rom-rb.org
223
222
  licenses:
224
223
  - MIT
225
- metadata: {}
226
- post_install_message:
224
+ metadata:
225
+ source_code_uri: https://github.com/rom-rb/rom-sql
226
+ documentation_uri: https://api.rom-rb.org/rom-sql/
227
+ mailing_list_uri: https://discourse.rom-rb.org/
228
+ bug_tracker_uri: https://github.com/rom-rb/rom-sql/issues
229
+ post_install_message:
227
230
  rdoc_options: []
228
231
  require_paths:
229
232
  - lib
@@ -231,16 +234,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
231
234
  requirements:
232
235
  - - ">="
233
236
  - !ruby/object:Gem::Version
234
- version: 2.3.0
237
+ version: 2.4.0
235
238
  required_rubygems_version: !ruby/object:Gem::Requirement
236
239
  requirements:
237
240
  - - ">="
238
241
  - !ruby/object:Gem::Version
239
242
  version: '0'
240
243
  requirements: []
241
- rubyforge_project:
242
- rubygems_version: 2.7.6
243
- signing_key:
244
+ rubygems_version: 3.2.3
245
+ signing_key:
244
246
  specification_version: 4
245
247
  summary: SQL databases support for ROM
246
248
  test_files: []