activerecord 7.0.0 → 7.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.
Files changed (251) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1701 -1039
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +18 -18
  5. data/lib/active_record/aggregations.rb +16 -13
  6. data/lib/active_record/association_relation.rb +1 -1
  7. data/lib/active_record/associations/association.rb +18 -3
  8. data/lib/active_record/associations/association_scope.rb +16 -9
  9. data/lib/active_record/associations/belongs_to_association.rb +14 -6
  10. data/lib/active_record/associations/builder/association.rb +3 -3
  11. data/lib/active_record/associations/builder/belongs_to.rb +21 -8
  12. data/lib/active_record/associations/builder/has_and_belongs_to_many.rb +1 -5
  13. data/lib/active_record/associations/builder/singular_association.rb +4 -0
  14. data/lib/active_record/associations/collection_association.rb +17 -12
  15. data/lib/active_record/associations/collection_proxy.rb +22 -12
  16. data/lib/active_record/associations/foreign_association.rb +10 -3
  17. data/lib/active_record/associations/has_many_association.rb +27 -17
  18. data/lib/active_record/associations/has_many_through_association.rb +10 -6
  19. data/lib/active_record/associations/has_one_association.rb +10 -3
  20. data/lib/active_record/associations/join_dependency.rb +20 -14
  21. data/lib/active_record/associations/preloader/association.rb +27 -6
  22. data/lib/active_record/associations/preloader/through_association.rb +1 -1
  23. data/lib/active_record/associations/preloader.rb +13 -10
  24. data/lib/active_record/associations/singular_association.rb +1 -1
  25. data/lib/active_record/associations/through_association.rb +22 -11
  26. data/lib/active_record/associations.rb +362 -236
  27. data/lib/active_record/attribute_assignment.rb +0 -2
  28. data/lib/active_record/attribute_methods/before_type_cast.rb +17 -0
  29. data/lib/active_record/attribute_methods/dirty.rb +52 -34
  30. data/lib/active_record/attribute_methods/primary_key.rb +76 -24
  31. data/lib/active_record/attribute_methods/query.rb +28 -16
  32. data/lib/active_record/attribute_methods/read.rb +18 -5
  33. data/lib/active_record/attribute_methods/serialization.rb +172 -69
  34. data/lib/active_record/attribute_methods/write.rb +3 -3
  35. data/lib/active_record/attribute_methods.rb +110 -28
  36. data/lib/active_record/attributes.rb +3 -3
  37. data/lib/active_record/autosave_association.rb +56 -10
  38. data/lib/active_record/base.rb +10 -5
  39. data/lib/active_record/callbacks.rb +16 -32
  40. data/lib/active_record/coders/column_serializer.rb +61 -0
  41. data/lib/active_record/coders/json.rb +1 -1
  42. data/lib/active_record/coders/yaml_column.rb +70 -34
  43. data/lib/active_record/connection_adapters/abstract/connection_handler.rb +164 -89
  44. data/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb +2 -0
  45. data/lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb +3 -1
  46. data/lib/active_record/connection_adapters/abstract/connection_pool.rb +63 -43
  47. data/lib/active_record/connection_adapters/abstract/database_limits.rb +5 -0
  48. data/lib/active_record/connection_adapters/abstract/database_statements.rb +129 -31
  49. data/lib/active_record/connection_adapters/abstract/query_cache.rb +60 -22
  50. data/lib/active_record/connection_adapters/abstract/quoting.rb +52 -8
  51. data/lib/active_record/connection_adapters/abstract/savepoints.rb +4 -3
  52. data/lib/active_record/connection_adapters/abstract/schema_creation.rb +18 -4
  53. data/lib/active_record/connection_adapters/abstract/schema_definitions.rb +163 -29
  54. data/lib/active_record/connection_adapters/abstract/schema_dumper.rb +14 -1
  55. data/lib/active_record/connection_adapters/abstract/schema_statements.rb +302 -131
  56. data/lib/active_record/connection_adapters/abstract/transaction.rb +287 -58
  57. data/lib/active_record/connection_adapters/abstract_adapter.rb +513 -106
  58. data/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +217 -104
  59. data/lib/active_record/connection_adapters/column.rb +9 -0
  60. data/lib/active_record/connection_adapters/mysql/column.rb +1 -0
  61. data/lib/active_record/connection_adapters/mysql/database_statements.rb +23 -144
  62. data/lib/active_record/connection_adapters/mysql/quoting.rb +29 -12
  63. data/lib/active_record/connection_adapters/mysql/schema_creation.rb +9 -0
  64. data/lib/active_record/connection_adapters/mysql/schema_definitions.rb +10 -1
  65. data/lib/active_record/connection_adapters/mysql/schema_dumper.rb +8 -2
  66. data/lib/active_record/connection_adapters/mysql/schema_statements.rb +38 -14
  67. data/lib/active_record/connection_adapters/mysql2/database_statements.rb +151 -0
  68. data/lib/active_record/connection_adapters/mysql2_adapter.rb +98 -53
  69. data/lib/active_record/connection_adapters/pool_config.rb +14 -5
  70. data/lib/active_record/connection_adapters/pool_manager.rb +19 -9
  71. data/lib/active_record/connection_adapters/postgresql/column.rb +16 -3
  72. data/lib/active_record/connection_adapters/postgresql/database_statements.rb +75 -45
  73. data/lib/active_record/connection_adapters/postgresql/oid/array.rb +1 -1
  74. data/lib/active_record/connection_adapters/postgresql/oid/hstore.rb +2 -2
  75. data/lib/active_record/connection_adapters/postgresql/oid/money.rb +3 -2
  76. data/lib/active_record/connection_adapters/postgresql/oid/range.rb +11 -2
  77. data/lib/active_record/connection_adapters/postgresql/oid/timestamp_with_time_zone.rb +4 -2
  78. data/lib/active_record/connection_adapters/postgresql/quoting.rb +41 -8
  79. data/lib/active_record/connection_adapters/postgresql/referential_integrity.rb +6 -10
  80. data/lib/active_record/connection_adapters/postgresql/schema_creation.rb +76 -6
  81. data/lib/active_record/connection_adapters/postgresql/schema_definitions.rb +131 -2
  82. data/lib/active_record/connection_adapters/postgresql/schema_dumper.rb +53 -0
  83. data/lib/active_record/connection_adapters/postgresql/schema_statements.rb +372 -63
  84. data/lib/active_record/connection_adapters/postgresql/utils.rb +9 -10
  85. data/lib/active_record/connection_adapters/postgresql_adapter.rb +359 -197
  86. data/lib/active_record/connection_adapters/schema_cache.rb +287 -59
  87. data/lib/active_record/connection_adapters/sqlite3/column.rb +49 -0
  88. data/lib/active_record/connection_adapters/sqlite3/database_statements.rb +52 -39
  89. data/lib/active_record/connection_adapters/sqlite3/quoting.rb +22 -5
  90. data/lib/active_record/connection_adapters/sqlite3/schema_definitions.rb +7 -0
  91. data/lib/active_record/connection_adapters/sqlite3/schema_statements.rb +41 -22
  92. data/lib/active_record/connection_adapters/sqlite3_adapter.rb +242 -81
  93. data/lib/active_record/connection_adapters/statement_pool.rb +7 -0
  94. data/lib/active_record/connection_adapters/trilogy/database_statements.rb +99 -0
  95. data/lib/active_record/connection_adapters/trilogy_adapter.rb +254 -0
  96. data/lib/active_record/connection_adapters.rb +3 -1
  97. data/lib/active_record/connection_handling.rb +73 -96
  98. data/lib/active_record/core.rb +142 -153
  99. data/lib/active_record/counter_cache.rb +46 -25
  100. data/lib/active_record/database_configurations/connection_url_resolver.rb +1 -0
  101. data/lib/active_record/database_configurations/database_config.rb +9 -3
  102. data/lib/active_record/database_configurations/hash_config.rb +22 -12
  103. data/lib/active_record/database_configurations/url_config.rb +17 -11
  104. data/lib/active_record/database_configurations.rb +87 -34
  105. data/lib/active_record/delegated_type.rb +9 -4
  106. data/lib/active_record/deprecator.rb +7 -0
  107. data/lib/active_record/destroy_association_async_job.rb +2 -0
  108. data/lib/active_record/disable_joins_association_relation.rb +1 -1
  109. data/lib/active_record/encryption/auto_filtered_parameters.rb +66 -0
  110. data/lib/active_record/encryption/cipher/aes256_gcm.rb +4 -1
  111. data/lib/active_record/encryption/config.rb +25 -1
  112. data/lib/active_record/encryption/configurable.rb +13 -14
  113. data/lib/active_record/encryption/context.rb +10 -3
  114. data/lib/active_record/encryption/contexts.rb +8 -4
  115. data/lib/active_record/encryption/derived_secret_key_provider.rb +9 -3
  116. data/lib/active_record/encryption/deterministic_key_provider.rb +1 -1
  117. data/lib/active_record/encryption/encryptable_record.rb +38 -22
  118. data/lib/active_record/encryption/encrypted_attribute_type.rb +19 -8
  119. data/lib/active_record/encryption/encryptor.rb +7 -7
  120. data/lib/active_record/encryption/envelope_encryption_key_provider.rb +3 -3
  121. data/lib/active_record/encryption/extended_deterministic_queries.rb +83 -86
  122. data/lib/active_record/encryption/extended_deterministic_uniqueness_validator.rb +3 -3
  123. data/lib/active_record/encryption/key_generator.rb +12 -1
  124. data/lib/active_record/encryption/message.rb +1 -1
  125. data/lib/active_record/encryption/message_serializer.rb +2 -0
  126. data/lib/active_record/encryption/properties.rb +4 -4
  127. data/lib/active_record/encryption/scheme.rb +20 -23
  128. data/lib/active_record/encryption.rb +1 -0
  129. data/lib/active_record/enum.rb +113 -29
  130. data/lib/active_record/errors.rb +108 -15
  131. data/lib/active_record/explain.rb +23 -3
  132. data/lib/active_record/explain_subscriber.rb +1 -1
  133. data/lib/active_record/fixture_set/model_metadata.rb +14 -4
  134. data/lib/active_record/fixture_set/render_context.rb +2 -0
  135. data/lib/active_record/fixture_set/table_row.rb +29 -8
  136. data/lib/active_record/fixtures.rb +121 -73
  137. data/lib/active_record/future_result.rb +30 -5
  138. data/lib/active_record/gem_version.rb +3 -3
  139. data/lib/active_record/inheritance.rb +30 -16
  140. data/lib/active_record/insert_all.rb +57 -10
  141. data/lib/active_record/integration.rb +10 -10
  142. data/lib/active_record/internal_metadata.rb +120 -30
  143. data/lib/active_record/locking/optimistic.rb +32 -18
  144. data/lib/active_record/locking/pessimistic.rb +8 -5
  145. data/lib/active_record/log_subscriber.rb +39 -17
  146. data/lib/active_record/marshalling.rb +56 -0
  147. data/lib/active_record/message_pack.rb +124 -0
  148. data/lib/active_record/middleware/database_selector/resolver.rb +4 -0
  149. data/lib/active_record/middleware/database_selector.rb +18 -13
  150. data/lib/active_record/middleware/shard_selector.rb +7 -5
  151. data/lib/active_record/migration/command_recorder.rb +108 -10
  152. data/lib/active_record/migration/compatibility.rb +158 -64
  153. data/lib/active_record/migration/default_strategy.rb +23 -0
  154. data/lib/active_record/migration/execution_strategy.rb +19 -0
  155. data/lib/active_record/migration/pending_migration_connection.rb +21 -0
  156. data/lib/active_record/migration.rb +274 -117
  157. data/lib/active_record/model_schema.rb +86 -54
  158. data/lib/active_record/nested_attributes.rb +24 -6
  159. data/lib/active_record/normalization.rb +167 -0
  160. data/lib/active_record/persistence.rb +200 -47
  161. data/lib/active_record/promise.rb +84 -0
  162. data/lib/active_record/query_cache.rb +3 -21
  163. data/lib/active_record/query_logs.rb +87 -51
  164. data/lib/active_record/query_logs_formatter.rb +41 -0
  165. data/lib/active_record/querying.rb +16 -3
  166. data/lib/active_record/railtie.rb +128 -62
  167. data/lib/active_record/railties/controller_runtime.rb +12 -8
  168. data/lib/active_record/railties/databases.rake +145 -146
  169. data/lib/active_record/railties/job_runtime.rb +23 -0
  170. data/lib/active_record/readonly_attributes.rb +32 -5
  171. data/lib/active_record/reflection.rb +189 -45
  172. data/lib/active_record/relation/batches/batch_enumerator.rb +5 -3
  173. data/lib/active_record/relation/batches.rb +190 -61
  174. data/lib/active_record/relation/calculations.rb +208 -83
  175. data/lib/active_record/relation/delegation.rb +23 -9
  176. data/lib/active_record/relation/finder_methods.rb +77 -16
  177. data/lib/active_record/relation/merger.rb +2 -0
  178. data/lib/active_record/relation/predicate_builder/association_query_value.rb +31 -3
  179. data/lib/active_record/relation/predicate_builder/polymorphic_array_value.rb +4 -6
  180. data/lib/active_record/relation/predicate_builder/relation_handler.rb +5 -1
  181. data/lib/active_record/relation/predicate_builder.rb +26 -14
  182. data/lib/active_record/relation/query_attribute.rb +25 -1
  183. data/lib/active_record/relation/query_methods.rb +430 -77
  184. data/lib/active_record/relation/spawn_methods.rb +18 -1
  185. data/lib/active_record/relation.rb +98 -41
  186. data/lib/active_record/result.rb +25 -9
  187. data/lib/active_record/runtime_registry.rb +10 -1
  188. data/lib/active_record/sanitization.rb +57 -16
  189. data/lib/active_record/schema.rb +36 -22
  190. data/lib/active_record/schema_dumper.rb +65 -23
  191. data/lib/active_record/schema_migration.rb +68 -33
  192. data/lib/active_record/scoping/default.rb +20 -12
  193. data/lib/active_record/scoping/named.rb +2 -2
  194. data/lib/active_record/scoping.rb +2 -1
  195. data/lib/active_record/secure_password.rb +60 -0
  196. data/lib/active_record/secure_token.rb +21 -3
  197. data/lib/active_record/serialization.rb +5 -0
  198. data/lib/active_record/signed_id.rb +9 -7
  199. data/lib/active_record/store.rb +16 -11
  200. data/lib/active_record/suppressor.rb +3 -1
  201. data/lib/active_record/table_metadata.rb +16 -3
  202. data/lib/active_record/tasks/database_tasks.rb +138 -107
  203. data/lib/active_record/tasks/mysql_database_tasks.rb +15 -6
  204. data/lib/active_record/tasks/postgresql_database_tasks.rb +17 -15
  205. data/lib/active_record/tasks/sqlite_database_tasks.rb +15 -7
  206. data/lib/active_record/test_fixtures.rb +123 -99
  207. data/lib/active_record/timestamp.rb +27 -15
  208. data/lib/active_record/token_for.rb +113 -0
  209. data/lib/active_record/touch_later.rb +11 -6
  210. data/lib/active_record/transactions.rb +39 -13
  211. data/lib/active_record/translation.rb +1 -1
  212. data/lib/active_record/type/adapter_specific_registry.rb +1 -8
  213. data/lib/active_record/type/internal/timezone.rb +7 -2
  214. data/lib/active_record/type/serialized.rb +8 -4
  215. data/lib/active_record/type/time.rb +4 -0
  216. data/lib/active_record/validations/absence.rb +1 -1
  217. data/lib/active_record/validations/associated.rb +3 -3
  218. data/lib/active_record/validations/numericality.rb +5 -4
  219. data/lib/active_record/validations/presence.rb +5 -28
  220. data/lib/active_record/validations/uniqueness.rb +50 -5
  221. data/lib/active_record/validations.rb +8 -4
  222. data/lib/active_record/version.rb +1 -1
  223. data/lib/active_record.rb +143 -16
  224. data/lib/arel/errors.rb +10 -0
  225. data/lib/arel/factory_methods.rb +4 -0
  226. data/lib/arel/filter_predications.rb +1 -1
  227. data/lib/arel/nodes/and.rb +4 -0
  228. data/lib/arel/nodes/binary.rb +6 -1
  229. data/lib/arel/nodes/bound_sql_literal.rb +61 -0
  230. data/lib/arel/nodes/cte.rb +36 -0
  231. data/lib/arel/nodes/filter.rb +1 -1
  232. data/lib/arel/nodes/fragments.rb +35 -0
  233. data/lib/arel/nodes/homogeneous_in.rb +1 -9
  234. data/lib/arel/nodes/leading_join.rb +8 -0
  235. data/lib/arel/nodes/node.rb +111 -2
  236. data/lib/arel/nodes/sql_literal.rb +6 -0
  237. data/lib/arel/nodes/table_alias.rb +4 -0
  238. data/lib/arel/nodes.rb +4 -0
  239. data/lib/arel/predications.rb +2 -0
  240. data/lib/arel/table.rb +9 -5
  241. data/lib/arel/visitors/mysql.rb +8 -1
  242. data/lib/arel/visitors/to_sql.rb +81 -17
  243. data/lib/arel/visitors/visitor.rb +2 -2
  244. data/lib/arel.rb +16 -2
  245. data/lib/rails/generators/active_record/application_record/USAGE +8 -0
  246. data/lib/rails/generators/active_record/migration.rb +3 -1
  247. data/lib/rails/generators/active_record/model/USAGE +113 -0
  248. data/lib/rails/generators/active_record/model/model_generator.rb +15 -6
  249. metadata +51 -15
  250. data/lib/active_record/connection_adapters/legacy_pool_manager.rb +0 -35
  251. data/lib/active_record/null_relation.rb +0 -63
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.0
4
+ version: 7.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-15 00:00:00.000000000 Z
11
+ date: 2023-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,28 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 7.0.0
19
+ version: 7.1.2
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: 7.0.0
26
+ version: 7.1.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activemodel
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 7.0.0
33
+ version: 7.1.2
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: 7.0.0
40
+ version: 7.1.2
41
+ - !ruby/object:Gem::Dependency
42
+ name: timeout
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 0.4.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 0.4.0
41
55
  description: Databases on Rails. Build a persistent domain model by mapping database
42
56
  tables to Ruby classes. Strong conventions for associations, validations, aggregations,
43
57
  migrations, and testing come baked-in.
@@ -102,6 +116,7 @@ files:
102
116
  - lib/active_record/autosave_association.rb
103
117
  - lib/active_record/base.rb
104
118
  - lib/active_record/callbacks.rb
119
+ - lib/active_record/coders/column_serializer.rb
105
120
  - lib/active_record/coders/json.rb
106
121
  - lib/active_record/coders/yaml_column.rb
107
122
  - lib/active_record/connection_adapters.rb
@@ -123,7 +138,6 @@ files:
123
138
  - lib/active_record/connection_adapters/abstract_mysql_adapter.rb
124
139
  - lib/active_record/connection_adapters/column.rb
125
140
  - lib/active_record/connection_adapters/deduplicable.rb
126
- - lib/active_record/connection_adapters/legacy_pool_manager.rb
127
141
  - lib/active_record/connection_adapters/mysql/column.rb
128
142
  - lib/active_record/connection_adapters/mysql/database_statements.rb
129
143
  - lib/active_record/connection_adapters/mysql/explain_pretty_printer.rb
@@ -133,6 +147,7 @@ files:
133
147
  - lib/active_record/connection_adapters/mysql/schema_dumper.rb
134
148
  - lib/active_record/connection_adapters/mysql/schema_statements.rb
135
149
  - lib/active_record/connection_adapters/mysql/type_metadata.rb
150
+ - lib/active_record/connection_adapters/mysql2/database_statements.rb
136
151
  - lib/active_record/connection_adapters/mysql2_adapter.rb
137
152
  - lib/active_record/connection_adapters/pool_config.rb
138
153
  - lib/active_record/connection_adapters/pool_manager.rb
@@ -177,6 +192,7 @@ files:
177
192
  - lib/active_record/connection_adapters/postgresql_adapter.rb
178
193
  - lib/active_record/connection_adapters/schema_cache.rb
179
194
  - lib/active_record/connection_adapters/sql_type_metadata.rb
195
+ - lib/active_record/connection_adapters/sqlite3/column.rb
180
196
  - lib/active_record/connection_adapters/sqlite3/database_statements.rb
181
197
  - lib/active_record/connection_adapters/sqlite3/explain_pretty_printer.rb
182
198
  - lib/active_record/connection_adapters/sqlite3/quoting.rb
@@ -186,6 +202,8 @@ files:
186
202
  - lib/active_record/connection_adapters/sqlite3/schema_statements.rb
187
203
  - lib/active_record/connection_adapters/sqlite3_adapter.rb
188
204
  - lib/active_record/connection_adapters/statement_pool.rb
205
+ - lib/active_record/connection_adapters/trilogy/database_statements.rb
206
+ - lib/active_record/connection_adapters/trilogy_adapter.rb
189
207
  - lib/active_record/connection_handling.rb
190
208
  - lib/active_record/core.rb
191
209
  - lib/active_record/counter_cache.rb
@@ -195,10 +213,12 @@ files:
195
213
  - lib/active_record/database_configurations/hash_config.rb
196
214
  - lib/active_record/database_configurations/url_config.rb
197
215
  - lib/active_record/delegated_type.rb
216
+ - lib/active_record/deprecator.rb
198
217
  - lib/active_record/destroy_association_async_job.rb
199
218
  - lib/active_record/disable_joins_association_relation.rb
200
219
  - lib/active_record/dynamic_matchers.rb
201
220
  - lib/active_record/encryption.rb
221
+ - lib/active_record/encryption/auto_filtered_parameters.rb
202
222
  - lib/active_record/encryption/cipher.rb
203
223
  - lib/active_record/encryption/cipher/aes256_gcm.rb
204
224
  - lib/active_record/encryption/config.rb
@@ -247,6 +267,8 @@ files:
247
267
  - lib/active_record/locking/optimistic.rb
248
268
  - lib/active_record/locking/pessimistic.rb
249
269
  - lib/active_record/log_subscriber.rb
270
+ - lib/active_record/marshalling.rb
271
+ - lib/active_record/message_pack.rb
250
272
  - lib/active_record/middleware/database_selector.rb
251
273
  - lib/active_record/middleware/database_selector/resolver.rb
252
274
  - lib/active_record/middleware/database_selector/resolver/session.rb
@@ -254,19 +276,25 @@ files:
254
276
  - lib/active_record/migration.rb
255
277
  - lib/active_record/migration/command_recorder.rb
256
278
  - lib/active_record/migration/compatibility.rb
279
+ - lib/active_record/migration/default_strategy.rb
280
+ - lib/active_record/migration/execution_strategy.rb
257
281
  - lib/active_record/migration/join_table.rb
282
+ - lib/active_record/migration/pending_migration_connection.rb
258
283
  - lib/active_record/model_schema.rb
259
284
  - lib/active_record/nested_attributes.rb
260
285
  - lib/active_record/no_touching.rb
261
- - lib/active_record/null_relation.rb
286
+ - lib/active_record/normalization.rb
262
287
  - lib/active_record/persistence.rb
288
+ - lib/active_record/promise.rb
263
289
  - lib/active_record/query_cache.rb
264
290
  - lib/active_record/query_logs.rb
291
+ - lib/active_record/query_logs_formatter.rb
265
292
  - lib/active_record/querying.rb
266
293
  - lib/active_record/railtie.rb
267
294
  - lib/active_record/railties/console_sandbox.rb
268
295
  - lib/active_record/railties/controller_runtime.rb
269
296
  - lib/active_record/railties/databases.rake
297
+ - lib/active_record/railties/job_runtime.rb
270
298
  - lib/active_record/readonly_attributes.rb
271
299
  - lib/active_record/reflection.rb
272
300
  - lib/active_record/relation.rb
@@ -298,6 +326,7 @@ files:
298
326
  - lib/active_record/scoping.rb
299
327
  - lib/active_record/scoping/default.rb
300
328
  - lib/active_record/scoping/named.rb
329
+ - lib/active_record/secure_password.rb
301
330
  - lib/active_record/secure_token.rb
302
331
  - lib/active_record/serialization.rb
303
332
  - lib/active_record/signed_id.rb
@@ -312,6 +341,7 @@ files:
312
341
  - lib/active_record/test_databases.rb
313
342
  - lib/active_record/test_fixtures.rb
314
343
  - lib/active_record/timestamp.rb
344
+ - lib/active_record/token_for.rb
315
345
  - lib/active_record/touch_later.rb
316
346
  - lib/active_record/transactions.rb
317
347
  - lib/active_record/translation.rb
@@ -360,16 +390,19 @@ files:
360
390
  - lib/arel/nodes/ascending.rb
361
391
  - lib/arel/nodes/binary.rb
362
392
  - lib/arel/nodes/bind_param.rb
393
+ - lib/arel/nodes/bound_sql_literal.rb
363
394
  - lib/arel/nodes/case.rb
364
395
  - lib/arel/nodes/casted.rb
365
396
  - lib/arel/nodes/comment.rb
366
397
  - lib/arel/nodes/count.rb
398
+ - lib/arel/nodes/cte.rb
367
399
  - lib/arel/nodes/delete_statement.rb
368
400
  - lib/arel/nodes/descending.rb
369
401
  - lib/arel/nodes/equality.rb
370
402
  - lib/arel/nodes/extract.rb
371
403
  - lib/arel/nodes/false.rb
372
404
  - lib/arel/nodes/filter.rb
405
+ - lib/arel/nodes/fragments.rb
373
406
  - lib/arel/nodes/full_outer_join.rb
374
407
  - lib/arel/nodes/function.rb
375
408
  - lib/arel/nodes/grouping.rb
@@ -379,6 +412,7 @@ files:
379
412
  - lib/arel/nodes/inner_join.rb
380
413
  - lib/arel/nodes/insert_statement.rb
381
414
  - lib/arel/nodes/join_source.rb
415
+ - lib/arel/nodes/leading_join.rb
382
416
  - lib/arel/nodes/matches.rb
383
417
  - lib/arel/nodes/named_function.rb
384
418
  - lib/arel/nodes/node.rb
@@ -417,12 +451,14 @@ files:
417
451
  - lib/arel/visitors/visitor.rb
418
452
  - lib/arel/window_predications.rb
419
453
  - lib/rails/generators/active_record.rb
454
+ - lib/rails/generators/active_record/application_record/USAGE
420
455
  - lib/rails/generators/active_record/application_record/application_record_generator.rb
421
456
  - lib/rails/generators/active_record/application_record/templates/application_record.rb.tt
422
457
  - lib/rails/generators/active_record/migration.rb
423
458
  - lib/rails/generators/active_record/migration/migration_generator.rb
424
459
  - lib/rails/generators/active_record/migration/templates/create_table_migration.rb.tt
425
460
  - lib/rails/generators/active_record/migration/templates/migration.rb.tt
461
+ - lib/rails/generators/active_record/model/USAGE
426
462
  - lib/rails/generators/active_record/model/model_generator.rb
427
463
  - lib/rails/generators/active_record/model/templates/abstract_base_class.rb.tt
428
464
  - lib/rails/generators/active_record/model/templates/model.rb.tt
@@ -434,12 +470,12 @@ licenses:
434
470
  - MIT
435
471
  metadata:
436
472
  bug_tracker_uri: https://github.com/rails/rails/issues
437
- changelog_uri: https://github.com/rails/rails/blob/v7.0.0/activerecord/CHANGELOG.md
438
- documentation_uri: https://api.rubyonrails.org/v7.0.0/
473
+ changelog_uri: https://github.com/rails/rails/blob/v7.1.2/activerecord/CHANGELOG.md
474
+ documentation_uri: https://api.rubyonrails.org/v7.1.2/
439
475
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
440
- source_code_uri: https://github.com/rails/rails/tree/v7.0.0/activerecord
476
+ source_code_uri: https://github.com/rails/rails/tree/v7.1.2/activerecord
441
477
  rubygems_mfa_required: 'true'
442
- post_install_message:
478
+ post_install_message:
443
479
  rdoc_options:
444
480
  - "--main"
445
481
  - README.rdoc
@@ -456,8 +492,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
456
492
  - !ruby/object:Gem::Version
457
493
  version: '0'
458
494
  requirements: []
459
- rubygems_version: 3.2.32
460
- signing_key:
495
+ rubygems_version: 3.4.18
496
+ signing_key:
461
497
  specification_version: 4
462
498
  summary: Object-relational mapper framework (part of Rails).
463
499
  test_files: []
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ActiveRecord
4
- module ConnectionAdapters
5
- class LegacyPoolManager # :nodoc:
6
- def initialize
7
- @name_to_pool_config = {}
8
- end
9
-
10
- def shard_names
11
- @name_to_pool_config.keys
12
- end
13
-
14
- def pool_configs(_ = nil)
15
- @name_to_pool_config.values
16
- end
17
-
18
- def remove_pool_config(_, shard)
19
- @name_to_pool_config.delete(shard)
20
- end
21
-
22
- def get_pool_config(_, shard)
23
- @name_to_pool_config[shard]
24
- end
25
-
26
- def set_pool_config(role, shard, pool_config)
27
- if pool_config
28
- @name_to_pool_config[shard] = pool_config
29
- else
30
- raise ArgumentError, "The `pool_config` for the :#{role} role and :#{shard} shard was `nil`. Please check your configuration. If you want your writing role to be something other than `:writing` set `config.active_record.writing_role` in your application configuration. The same setting should be applied for the `reading_role` if applicable."
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ActiveRecord
4
- module NullRelation # :nodoc:
5
- def pluck(*column_names)
6
- []
7
- end
8
-
9
- def delete_all
10
- 0
11
- end
12
-
13
- def update_all(_updates)
14
- 0
15
- end
16
-
17
- def delete(_id_or_array)
18
- 0
19
- end
20
-
21
- def empty?
22
- true
23
- end
24
-
25
- def none?
26
- true
27
- end
28
-
29
- def any?
30
- false
31
- end
32
-
33
- def one?
34
- false
35
- end
36
-
37
- def many?
38
- false
39
- end
40
-
41
- def calculate(operation, _column_name)
42
- case operation
43
- when :count, :sum
44
- group_values.any? ? Hash.new : 0
45
- when :average, :minimum, :maximum
46
- group_values.any? ? Hash.new : nil
47
- end
48
- end
49
-
50
- def exists?(_conditions = :none)
51
- false
52
- end
53
-
54
- def or(other)
55
- other.spawn
56
- end
57
-
58
- private
59
- def exec_main_query(async: false)
60
- [].freeze
61
- end
62
- end
63
- end