activerecord 7.0.8.7 → 7.2.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.
Files changed (283) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +781 -1777
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +30 -30
  5. data/examples/performance.rb +2 -2
  6. data/lib/active_record/aggregations.rb +16 -13
  7. data/lib/active_record/association_relation.rb +2 -2
  8. data/lib/active_record/associations/alias_tracker.rb +31 -23
  9. data/lib/active_record/associations/association.rb +35 -12
  10. data/lib/active_record/associations/association_scope.rb +16 -9
  11. data/lib/active_record/associations/belongs_to_association.rb +40 -9
  12. data/lib/active_record/associations/belongs_to_polymorphic_association.rb +3 -2
  13. data/lib/active_record/associations/builder/association.rb +3 -3
  14. data/lib/active_record/associations/builder/belongs_to.rb +22 -8
  15. data/lib/active_record/associations/builder/has_and_belongs_to_many.rb +3 -7
  16. data/lib/active_record/associations/builder/has_many.rb +3 -4
  17. data/lib/active_record/associations/builder/has_one.rb +3 -4
  18. data/lib/active_record/associations/builder/singular_association.rb +4 -0
  19. data/lib/active_record/associations/collection_association.rb +35 -21
  20. data/lib/active_record/associations/collection_proxy.rb +29 -11
  21. data/lib/active_record/associations/errors.rb +265 -0
  22. data/lib/active_record/associations/foreign_association.rb +10 -3
  23. data/lib/active_record/associations/has_many_association.rb +21 -14
  24. data/lib/active_record/associations/has_many_through_association.rb +17 -7
  25. data/lib/active_record/associations/has_one_association.rb +10 -3
  26. data/lib/active_record/associations/join_dependency/join_association.rb +4 -3
  27. data/lib/active_record/associations/join_dependency.rb +10 -10
  28. data/lib/active_record/associations/nested_error.rb +47 -0
  29. data/lib/active_record/associations/preloader/association.rb +33 -8
  30. data/lib/active_record/associations/preloader/branch.rb +7 -1
  31. data/lib/active_record/associations/preloader/through_association.rb +1 -3
  32. data/lib/active_record/associations/preloader.rb +13 -10
  33. data/lib/active_record/associations/singular_association.rb +7 -1
  34. data/lib/active_record/associations/through_association.rb +22 -11
  35. data/lib/active_record/associations.rb +354 -485
  36. data/lib/active_record/attribute_assignment.rb +0 -4
  37. data/lib/active_record/attribute_methods/before_type_cast.rb +17 -0
  38. data/lib/active_record/attribute_methods/composite_primary_key.rb +84 -0
  39. data/lib/active_record/attribute_methods/dirty.rb +53 -35
  40. data/lib/active_record/attribute_methods/primary_key.rb +45 -25
  41. data/lib/active_record/attribute_methods/query.rb +28 -16
  42. data/lib/active_record/attribute_methods/read.rb +8 -7
  43. data/lib/active_record/attribute_methods/serialization.rb +131 -32
  44. data/lib/active_record/attribute_methods/time_zone_conversion.rb +11 -6
  45. data/lib/active_record/attribute_methods/write.rb +6 -6
  46. data/lib/active_record/attribute_methods.rb +153 -33
  47. data/lib/active_record/attributes.rb +96 -71
  48. data/lib/active_record/autosave_association.rb +81 -39
  49. data/lib/active_record/base.rb +11 -7
  50. data/lib/active_record/callbacks.rb +11 -25
  51. data/lib/active_record/coders/column_serializer.rb +61 -0
  52. data/lib/active_record/coders/json.rb +1 -1
  53. data/lib/active_record/coders/yaml_column.rb +70 -42
  54. data/lib/active_record/connection_adapters/abstract/connection_handler.rb +123 -131
  55. data/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb +2 -0
  56. data/lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb +4 -1
  57. data/lib/active_record/connection_adapters/abstract/connection_pool.rb +343 -91
  58. data/lib/active_record/connection_adapters/abstract/database_limits.rb +5 -0
  59. data/lib/active_record/connection_adapters/abstract/database_statements.rb +160 -45
  60. data/lib/active_record/connection_adapters/abstract/query_cache.rb +229 -64
  61. data/lib/active_record/connection_adapters/abstract/quoting.rb +72 -63
  62. data/lib/active_record/connection_adapters/abstract/savepoints.rb +4 -3
  63. data/lib/active_record/connection_adapters/abstract/schema_creation.rb +18 -4
  64. data/lib/active_record/connection_adapters/abstract/schema_definitions.rb +142 -12
  65. data/lib/active_record/connection_adapters/abstract/schema_statements.rb +310 -129
  66. data/lib/active_record/connection_adapters/abstract/transaction.rb +367 -75
  67. data/lib/active_record/connection_adapters/abstract_adapter.rb +539 -111
  68. data/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +289 -128
  69. data/lib/active_record/connection_adapters/column.rb +9 -0
  70. data/lib/active_record/connection_adapters/mysql/column.rb +1 -0
  71. data/lib/active_record/connection_adapters/mysql/database_statements.rb +26 -139
  72. data/lib/active_record/connection_adapters/mysql/quoting.rb +60 -55
  73. data/lib/active_record/connection_adapters/mysql/schema_creation.rb +9 -0
  74. data/lib/active_record/connection_adapters/mysql/schema_definitions.rb +6 -0
  75. data/lib/active_record/connection_adapters/mysql/schema_dumper.rb +1 -1
  76. data/lib/active_record/connection_adapters/mysql/schema_statements.rb +25 -13
  77. data/lib/active_record/connection_adapters/mysql2/database_statements.rb +152 -0
  78. data/lib/active_record/connection_adapters/mysql2_adapter.rb +108 -68
  79. data/lib/active_record/connection_adapters/pool_config.rb +20 -10
  80. data/lib/active_record/connection_adapters/pool_manager.rb +19 -9
  81. data/lib/active_record/connection_adapters/postgresql/column.rb +14 -3
  82. data/lib/active_record/connection_adapters/postgresql/database_statements.rb +100 -43
  83. data/lib/active_record/connection_adapters/postgresql/oid/cidr.rb +6 -0
  84. data/lib/active_record/connection_adapters/postgresql/oid/interval.rb +1 -1
  85. data/lib/active_record/connection_adapters/postgresql/oid/money.rb +3 -2
  86. data/lib/active_record/connection_adapters/postgresql/oid/range.rb +11 -2
  87. data/lib/active_record/connection_adapters/postgresql/oid/timestamp_with_time_zone.rb +1 -1
  88. data/lib/active_record/connection_adapters/postgresql/oid/uuid.rb +14 -4
  89. data/lib/active_record/connection_adapters/postgresql/quoting.rb +65 -61
  90. data/lib/active_record/connection_adapters/postgresql/referential_integrity.rb +3 -9
  91. data/lib/active_record/connection_adapters/postgresql/schema_creation.rb +76 -6
  92. data/lib/active_record/connection_adapters/postgresql/schema_definitions.rb +153 -2
  93. data/lib/active_record/connection_adapters/postgresql/schema_dumper.rb +54 -1
  94. data/lib/active_record/connection_adapters/postgresql/schema_statements.rb +371 -64
  95. data/lib/active_record/connection_adapters/postgresql_adapter.rb +374 -203
  96. data/lib/active_record/connection_adapters/schema_cache.rb +302 -79
  97. data/lib/active_record/connection_adapters/sqlite3/column.rb +62 -0
  98. data/lib/active_record/connection_adapters/sqlite3/database_statements.rb +60 -43
  99. data/lib/active_record/connection_adapters/sqlite3/quoting.rb +57 -45
  100. data/lib/active_record/connection_adapters/sqlite3/schema_creation.rb +22 -0
  101. data/lib/active_record/connection_adapters/sqlite3/schema_definitions.rb +14 -0
  102. data/lib/active_record/connection_adapters/sqlite3/schema_dumper.rb +16 -0
  103. data/lib/active_record/connection_adapters/sqlite3/schema_statements.rb +51 -8
  104. data/lib/active_record/connection_adapters/sqlite3_adapter.rb +298 -113
  105. data/lib/active_record/connection_adapters/statement_pool.rb +7 -0
  106. data/lib/active_record/connection_adapters/trilogy/database_statements.rb +99 -0
  107. data/lib/active_record/connection_adapters/trilogy_adapter.rb +229 -0
  108. data/lib/active_record/connection_adapters.rb +124 -1
  109. data/lib/active_record/connection_handling.rb +101 -105
  110. data/lib/active_record/core.rb +273 -178
  111. data/lib/active_record/counter_cache.rb +69 -35
  112. data/lib/active_record/database_configurations/connection_url_resolver.rb +10 -3
  113. data/lib/active_record/database_configurations/database_config.rb +26 -5
  114. data/lib/active_record/database_configurations/hash_config.rb +52 -34
  115. data/lib/active_record/database_configurations/url_config.rb +37 -12
  116. data/lib/active_record/database_configurations.rb +87 -34
  117. data/lib/active_record/delegated_type.rb +56 -27
  118. data/lib/active_record/deprecator.rb +7 -0
  119. data/lib/active_record/destroy_association_async_job.rb +3 -1
  120. data/lib/active_record/dynamic_matchers.rb +2 -2
  121. data/lib/active_record/encryption/auto_filtered_parameters.rb +66 -0
  122. data/lib/active_record/encryption/cipher/aes256_gcm.rb +4 -1
  123. data/lib/active_record/encryption/config.rb +25 -1
  124. data/lib/active_record/encryption/configurable.rb +12 -19
  125. data/lib/active_record/encryption/context.rb +10 -3
  126. data/lib/active_record/encryption/contexts.rb +5 -1
  127. data/lib/active_record/encryption/derived_secret_key_provider.rb +8 -2
  128. data/lib/active_record/encryption/encryptable_record.rb +46 -22
  129. data/lib/active_record/encryption/encrypted_attribute_type.rb +48 -13
  130. data/lib/active_record/encryption/encryptor.rb +35 -19
  131. data/lib/active_record/encryption/extended_deterministic_queries.rb +66 -69
  132. data/lib/active_record/encryption/extended_deterministic_uniqueness_validator.rb +3 -3
  133. data/lib/active_record/encryption/key_generator.rb +12 -1
  134. data/lib/active_record/encryption/key_provider.rb +1 -1
  135. data/lib/active_record/encryption/message_pack_message_serializer.rb +76 -0
  136. data/lib/active_record/encryption/message_serializer.rb +6 -0
  137. data/lib/active_record/encryption/null_encryptor.rb +4 -0
  138. data/lib/active_record/encryption/properties.rb +3 -3
  139. data/lib/active_record/encryption/read_only_null_encryptor.rb +4 -0
  140. data/lib/active_record/encryption/scheme.rb +22 -21
  141. data/lib/active_record/encryption.rb +3 -0
  142. data/lib/active_record/enum.rb +130 -28
  143. data/lib/active_record/errors.rb +154 -34
  144. data/lib/active_record/explain.rb +21 -12
  145. data/lib/active_record/fixture_set/model_metadata.rb +14 -4
  146. data/lib/active_record/fixture_set/render_context.rb +2 -0
  147. data/lib/active_record/fixture_set/table_row.rb +48 -10
  148. data/lib/active_record/fixtures.rb +167 -97
  149. data/lib/active_record/future_result.rb +47 -8
  150. data/lib/active_record/gem_version.rb +4 -4
  151. data/lib/active_record/inheritance.rb +34 -18
  152. data/lib/active_record/insert_all.rb +72 -22
  153. data/lib/active_record/integration.rb +11 -8
  154. data/lib/active_record/internal_metadata.rb +124 -20
  155. data/lib/active_record/locking/optimistic.rb +8 -7
  156. data/lib/active_record/locking/pessimistic.rb +5 -2
  157. data/lib/active_record/log_subscriber.rb +18 -22
  158. data/lib/active_record/marshalling.rb +59 -0
  159. data/lib/active_record/message_pack.rb +124 -0
  160. data/lib/active_record/middleware/database_selector/resolver.rb +4 -0
  161. data/lib/active_record/middleware/database_selector.rb +6 -8
  162. data/lib/active_record/middleware/shard_selector.rb +3 -1
  163. data/lib/active_record/migration/command_recorder.rb +106 -8
  164. data/lib/active_record/migration/compatibility.rb +147 -5
  165. data/lib/active_record/migration/default_strategy.rb +22 -0
  166. data/lib/active_record/migration/execution_strategy.rb +19 -0
  167. data/lib/active_record/migration/pending_migration_connection.rb +21 -0
  168. data/lib/active_record/migration.rb +236 -118
  169. data/lib/active_record/model_schema.rb +90 -102
  170. data/lib/active_record/nested_attributes.rb +48 -11
  171. data/lib/active_record/normalization.rb +163 -0
  172. data/lib/active_record/persistence.rb +168 -339
  173. data/lib/active_record/promise.rb +84 -0
  174. data/lib/active_record/query_cache.rb +18 -25
  175. data/lib/active_record/query_logs.rb +96 -52
  176. data/lib/active_record/query_logs_formatter.rb +41 -0
  177. data/lib/active_record/querying.rb +35 -10
  178. data/lib/active_record/railtie.rb +131 -87
  179. data/lib/active_record/railties/controller_runtime.rb +22 -7
  180. data/lib/active_record/railties/databases.rake +147 -155
  181. data/lib/active_record/railties/job_runtime.rb +23 -0
  182. data/lib/active_record/readonly_attributes.rb +32 -5
  183. data/lib/active_record/reflection.rb +267 -69
  184. data/lib/active_record/relation/batches/batch_enumerator.rb +20 -5
  185. data/lib/active_record/relation/batches.rb +198 -63
  186. data/lib/active_record/relation/calculations.rb +270 -108
  187. data/lib/active_record/relation/delegation.rb +30 -19
  188. data/lib/active_record/relation/finder_methods.rb +97 -21
  189. data/lib/active_record/relation/merger.rb +6 -6
  190. data/lib/active_record/relation/predicate_builder/array_handler.rb +2 -2
  191. data/lib/active_record/relation/predicate_builder/association_query_value.rb +20 -3
  192. data/lib/active_record/relation/predicate_builder/polymorphic_array_value.rb +10 -7
  193. data/lib/active_record/relation/predicate_builder/relation_handler.rb +5 -1
  194. data/lib/active_record/relation/predicate_builder.rb +28 -16
  195. data/lib/active_record/relation/query_attribute.rb +3 -2
  196. data/lib/active_record/relation/query_methods.rb +585 -109
  197. data/lib/active_record/relation/record_fetch_warning.rb +3 -0
  198. data/lib/active_record/relation/spawn_methods.rb +5 -4
  199. data/lib/active_record/relation/where_clause.rb +15 -21
  200. data/lib/active_record/relation.rb +592 -92
  201. data/lib/active_record/result.rb +49 -48
  202. data/lib/active_record/runtime_registry.rb +63 -1
  203. data/lib/active_record/sanitization.rb +70 -25
  204. data/lib/active_record/schema.rb +8 -7
  205. data/lib/active_record/schema_dumper.rb +90 -23
  206. data/lib/active_record/schema_migration.rb +75 -24
  207. data/lib/active_record/scoping/default.rb +15 -5
  208. data/lib/active_record/scoping/named.rb +3 -2
  209. data/lib/active_record/scoping.rb +2 -1
  210. data/lib/active_record/secure_password.rb +60 -0
  211. data/lib/active_record/secure_token.rb +21 -3
  212. data/lib/active_record/signed_id.rb +33 -11
  213. data/lib/active_record/statement_cache.rb +7 -7
  214. data/lib/active_record/store.rb +8 -8
  215. data/lib/active_record/suppressor.rb +3 -1
  216. data/lib/active_record/table_metadata.rb +1 -1
  217. data/lib/active_record/tasks/database_tasks.rb +190 -118
  218. data/lib/active_record/tasks/mysql_database_tasks.rb +15 -6
  219. data/lib/active_record/tasks/postgresql_database_tasks.rb +23 -13
  220. data/lib/active_record/tasks/sqlite_database_tasks.rb +16 -7
  221. data/lib/active_record/test_fixtures.rb +170 -155
  222. data/lib/active_record/testing/query_assertions.rb +121 -0
  223. data/lib/active_record/timestamp.rb +31 -17
  224. data/lib/active_record/token_for.rb +123 -0
  225. data/lib/active_record/touch_later.rb +12 -7
  226. data/lib/active_record/transaction.rb +132 -0
  227. data/lib/active_record/transactions.rb +108 -24
  228. data/lib/active_record/translation.rb +0 -2
  229. data/lib/active_record/type/adapter_specific_registry.rb +1 -8
  230. data/lib/active_record/type/internal/timezone.rb +7 -2
  231. data/lib/active_record/type/serialized.rb +1 -3
  232. data/lib/active_record/type/time.rb +4 -0
  233. data/lib/active_record/type_caster/connection.rb +4 -4
  234. data/lib/active_record/validations/absence.rb +1 -1
  235. data/lib/active_record/validations/associated.rb +9 -3
  236. data/lib/active_record/validations/numericality.rb +5 -4
  237. data/lib/active_record/validations/presence.rb +5 -28
  238. data/lib/active_record/validations/uniqueness.rb +61 -11
  239. data/lib/active_record/validations.rb +12 -5
  240. data/lib/active_record/version.rb +1 -1
  241. data/lib/active_record.rb +247 -33
  242. data/lib/arel/alias_predication.rb +1 -1
  243. data/lib/arel/collectors/bind.rb +3 -1
  244. data/lib/arel/collectors/composite.rb +7 -0
  245. data/lib/arel/collectors/sql_string.rb +1 -1
  246. data/lib/arel/collectors/substitute_binds.rb +1 -1
  247. data/lib/arel/crud.rb +2 -0
  248. data/lib/arel/delete_manager.rb +5 -0
  249. data/lib/arel/errors.rb +10 -0
  250. data/lib/arel/factory_methods.rb +4 -0
  251. data/lib/arel/nodes/binary.rb +6 -7
  252. data/lib/arel/nodes/bound_sql_literal.rb +65 -0
  253. data/lib/arel/nodes/cte.rb +36 -0
  254. data/lib/arel/nodes/delete_statement.rb +4 -2
  255. data/lib/arel/nodes/fragments.rb +35 -0
  256. data/lib/arel/nodes/homogeneous_in.rb +1 -9
  257. data/lib/arel/nodes/leading_join.rb +8 -0
  258. data/lib/arel/nodes/{and.rb → nary.rb} +5 -2
  259. data/lib/arel/nodes/node.rb +115 -5
  260. data/lib/arel/nodes/sql_literal.rb +13 -0
  261. data/lib/arel/nodes/table_alias.rb +4 -0
  262. data/lib/arel/nodes/update_statement.rb +4 -2
  263. data/lib/arel/nodes.rb +6 -2
  264. data/lib/arel/predications.rb +3 -1
  265. data/lib/arel/select_manager.rb +7 -3
  266. data/lib/arel/table.rb +9 -5
  267. data/lib/arel/tree_manager.rb +8 -3
  268. data/lib/arel/update_manager.rb +7 -1
  269. data/lib/arel/visitors/dot.rb +3 -0
  270. data/lib/arel/visitors/mysql.rb +17 -5
  271. data/lib/arel/visitors/postgresql.rb +1 -12
  272. data/lib/arel/visitors/sqlite.rb +25 -0
  273. data/lib/arel/visitors/to_sql.rb +114 -34
  274. data/lib/arel/visitors/visitor.rb +2 -2
  275. data/lib/arel.rb +21 -3
  276. data/lib/rails/generators/active_record/application_record/USAGE +8 -0
  277. data/lib/rails/generators/active_record/migration/templates/create_table_migration.rb.tt +4 -1
  278. data/lib/rails/generators/active_record/migration.rb +3 -1
  279. data/lib/rails/generators/active_record/model/USAGE +113 -0
  280. data/lib/rails/generators/active_record/model/model_generator.rb +15 -6
  281. metadata +56 -17
  282. data/lib/active_record/connection_adapters/legacy_pool_manager.rb +0 -35
  283. data/lib/active_record/null_relation.rb +0 -63
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.8.7
4
+ version: 7.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-10 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
@@ -16,28 +15,42 @@ dependencies:
16
15
  requirements:
17
16
  - - '='
18
17
  - !ruby/object:Gem::Version
19
- version: 7.0.8.7
18
+ version: 7.2.3
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - '='
25
24
  - !ruby/object:Gem::Version
26
- version: 7.0.8.7
25
+ version: 7.2.3
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: activemodel
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - '='
32
31
  - !ruby/object:Gem::Version
33
- version: 7.0.8.7
32
+ version: 7.2.3
34
33
  type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - '='
39
38
  - !ruby/object:Gem::Version
40
- version: 7.0.8.7
39
+ version: 7.2.3
40
+ - !ruby/object:Gem::Dependency
41
+ name: timeout
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 0.4.0
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 0.4.0
41
54
  description: Databases on Rails. Build a persistent domain model by mapping database
42
55
  tables to Ruby classes. Strong conventions for associations, validations, aggregations,
43
56
  migrations, and testing come baked-in.
@@ -71,6 +84,7 @@ files:
71
84
  - lib/active_record/associations/collection_association.rb
72
85
  - lib/active_record/associations/collection_proxy.rb
73
86
  - lib/active_record/associations/disable_joins_association_scope.rb
87
+ - lib/active_record/associations/errors.rb
74
88
  - lib/active_record/associations/foreign_association.rb
75
89
  - lib/active_record/associations/has_many_association.rb
76
90
  - lib/active_record/associations/has_many_through_association.rb
@@ -80,6 +94,7 @@ files:
80
94
  - lib/active_record/associations/join_dependency/join_association.rb
81
95
  - lib/active_record/associations/join_dependency/join_base.rb
82
96
  - lib/active_record/associations/join_dependency/join_part.rb
97
+ - lib/active_record/associations/nested_error.rb
83
98
  - lib/active_record/associations/preloader.rb
84
99
  - lib/active_record/associations/preloader/association.rb
85
100
  - lib/active_record/associations/preloader/batch.rb
@@ -91,6 +106,7 @@ files:
91
106
  - lib/active_record/attribute_assignment.rb
92
107
  - lib/active_record/attribute_methods.rb
93
108
  - lib/active_record/attribute_methods/before_type_cast.rb
109
+ - lib/active_record/attribute_methods/composite_primary_key.rb
94
110
  - lib/active_record/attribute_methods/dirty.rb
95
111
  - lib/active_record/attribute_methods/primary_key.rb
96
112
  - lib/active_record/attribute_methods/query.rb
@@ -102,6 +118,7 @@ files:
102
118
  - lib/active_record/autosave_association.rb
103
119
  - lib/active_record/base.rb
104
120
  - lib/active_record/callbacks.rb
121
+ - lib/active_record/coders/column_serializer.rb
105
122
  - lib/active_record/coders/json.rb
106
123
  - lib/active_record/coders/yaml_column.rb
107
124
  - lib/active_record/connection_adapters.rb
@@ -123,7 +140,6 @@ files:
123
140
  - lib/active_record/connection_adapters/abstract_mysql_adapter.rb
124
141
  - lib/active_record/connection_adapters/column.rb
125
142
  - lib/active_record/connection_adapters/deduplicable.rb
126
- - lib/active_record/connection_adapters/legacy_pool_manager.rb
127
143
  - lib/active_record/connection_adapters/mysql/column.rb
128
144
  - lib/active_record/connection_adapters/mysql/database_statements.rb
129
145
  - lib/active_record/connection_adapters/mysql/explain_pretty_printer.rb
@@ -133,6 +149,7 @@ files:
133
149
  - lib/active_record/connection_adapters/mysql/schema_dumper.rb
134
150
  - lib/active_record/connection_adapters/mysql/schema_statements.rb
135
151
  - lib/active_record/connection_adapters/mysql/type_metadata.rb
152
+ - lib/active_record/connection_adapters/mysql2/database_statements.rb
136
153
  - lib/active_record/connection_adapters/mysql2_adapter.rb
137
154
  - lib/active_record/connection_adapters/pool_config.rb
138
155
  - lib/active_record/connection_adapters/pool_manager.rb
@@ -177,6 +194,7 @@ files:
177
194
  - lib/active_record/connection_adapters/postgresql_adapter.rb
178
195
  - lib/active_record/connection_adapters/schema_cache.rb
179
196
  - lib/active_record/connection_adapters/sql_type_metadata.rb
197
+ - lib/active_record/connection_adapters/sqlite3/column.rb
180
198
  - lib/active_record/connection_adapters/sqlite3/database_statements.rb
181
199
  - lib/active_record/connection_adapters/sqlite3/explain_pretty_printer.rb
182
200
  - lib/active_record/connection_adapters/sqlite3/quoting.rb
@@ -186,6 +204,8 @@ files:
186
204
  - lib/active_record/connection_adapters/sqlite3/schema_statements.rb
187
205
  - lib/active_record/connection_adapters/sqlite3_adapter.rb
188
206
  - lib/active_record/connection_adapters/statement_pool.rb
207
+ - lib/active_record/connection_adapters/trilogy/database_statements.rb
208
+ - lib/active_record/connection_adapters/trilogy_adapter.rb
189
209
  - lib/active_record/connection_handling.rb
190
210
  - lib/active_record/core.rb
191
211
  - lib/active_record/counter_cache.rb
@@ -195,10 +215,12 @@ files:
195
215
  - lib/active_record/database_configurations/hash_config.rb
196
216
  - lib/active_record/database_configurations/url_config.rb
197
217
  - lib/active_record/delegated_type.rb
218
+ - lib/active_record/deprecator.rb
198
219
  - lib/active_record/destroy_association_async_job.rb
199
220
  - lib/active_record/disable_joins_association_relation.rb
200
221
  - lib/active_record/dynamic_matchers.rb
201
222
  - lib/active_record/encryption.rb
223
+ - lib/active_record/encryption/auto_filtered_parameters.rb
202
224
  - lib/active_record/encryption/cipher.rb
203
225
  - lib/active_record/encryption/cipher/aes256_gcm.rb
204
226
  - lib/active_record/encryption/config.rb
@@ -220,6 +242,7 @@ files:
220
242
  - lib/active_record/encryption/key_generator.rb
221
243
  - lib/active_record/encryption/key_provider.rb
222
244
  - lib/active_record/encryption/message.rb
245
+ - lib/active_record/encryption/message_pack_message_serializer.rb
223
246
  - lib/active_record/encryption/message_serializer.rb
224
247
  - lib/active_record/encryption/null_encryptor.rb
225
248
  - lib/active_record/encryption/properties.rb
@@ -247,6 +270,8 @@ files:
247
270
  - lib/active_record/locking/optimistic.rb
248
271
  - lib/active_record/locking/pessimistic.rb
249
272
  - lib/active_record/log_subscriber.rb
273
+ - lib/active_record/marshalling.rb
274
+ - lib/active_record/message_pack.rb
250
275
  - lib/active_record/middleware/database_selector.rb
251
276
  - lib/active_record/middleware/database_selector/resolver.rb
252
277
  - lib/active_record/middleware/database_selector/resolver/session.rb
@@ -254,19 +279,25 @@ files:
254
279
  - lib/active_record/migration.rb
255
280
  - lib/active_record/migration/command_recorder.rb
256
281
  - lib/active_record/migration/compatibility.rb
282
+ - lib/active_record/migration/default_strategy.rb
283
+ - lib/active_record/migration/execution_strategy.rb
257
284
  - lib/active_record/migration/join_table.rb
285
+ - lib/active_record/migration/pending_migration_connection.rb
258
286
  - lib/active_record/model_schema.rb
259
287
  - lib/active_record/nested_attributes.rb
260
288
  - lib/active_record/no_touching.rb
261
- - lib/active_record/null_relation.rb
289
+ - lib/active_record/normalization.rb
262
290
  - lib/active_record/persistence.rb
291
+ - lib/active_record/promise.rb
263
292
  - lib/active_record/query_cache.rb
264
293
  - lib/active_record/query_logs.rb
294
+ - lib/active_record/query_logs_formatter.rb
265
295
  - lib/active_record/querying.rb
266
296
  - lib/active_record/railtie.rb
267
297
  - lib/active_record/railties/console_sandbox.rb
268
298
  - lib/active_record/railties/controller_runtime.rb
269
299
  - lib/active_record/railties/databases.rake
300
+ - lib/active_record/railties/job_runtime.rb
270
301
  - lib/active_record/readonly_attributes.rb
271
302
  - lib/active_record/reflection.rb
272
303
  - lib/active_record/relation.rb
@@ -298,6 +329,7 @@ files:
298
329
  - lib/active_record/scoping.rb
299
330
  - lib/active_record/scoping/default.rb
300
331
  - lib/active_record/scoping/named.rb
332
+ - lib/active_record/secure_password.rb
301
333
  - lib/active_record/secure_token.rb
302
334
  - lib/active_record/serialization.rb
303
335
  - lib/active_record/signed_id.rb
@@ -311,8 +343,11 @@ files:
311
343
  - lib/active_record/tasks/sqlite_database_tasks.rb
312
344
  - lib/active_record/test_databases.rb
313
345
  - lib/active_record/test_fixtures.rb
346
+ - lib/active_record/testing/query_assertions.rb
314
347
  - lib/active_record/timestamp.rb
348
+ - lib/active_record/token_for.rb
315
349
  - lib/active_record/touch_later.rb
350
+ - lib/active_record/transaction.rb
316
351
  - lib/active_record/transactions.rb
317
352
  - lib/active_record/translation.rb
318
353
  - lib/active_record/type.rb
@@ -356,20 +391,22 @@ files:
356
391
  - lib/arel/insert_manager.rb
357
392
  - lib/arel/math.rb
358
393
  - lib/arel/nodes.rb
359
- - lib/arel/nodes/and.rb
360
394
  - lib/arel/nodes/ascending.rb
361
395
  - lib/arel/nodes/binary.rb
362
396
  - lib/arel/nodes/bind_param.rb
397
+ - lib/arel/nodes/bound_sql_literal.rb
363
398
  - lib/arel/nodes/case.rb
364
399
  - lib/arel/nodes/casted.rb
365
400
  - lib/arel/nodes/comment.rb
366
401
  - lib/arel/nodes/count.rb
402
+ - lib/arel/nodes/cte.rb
367
403
  - lib/arel/nodes/delete_statement.rb
368
404
  - lib/arel/nodes/descending.rb
369
405
  - lib/arel/nodes/equality.rb
370
406
  - lib/arel/nodes/extract.rb
371
407
  - lib/arel/nodes/false.rb
372
408
  - lib/arel/nodes/filter.rb
409
+ - lib/arel/nodes/fragments.rb
373
410
  - lib/arel/nodes/full_outer_join.rb
374
411
  - lib/arel/nodes/function.rb
375
412
  - lib/arel/nodes/grouping.rb
@@ -379,8 +416,10 @@ files:
379
416
  - lib/arel/nodes/inner_join.rb
380
417
  - lib/arel/nodes/insert_statement.rb
381
418
  - lib/arel/nodes/join_source.rb
419
+ - lib/arel/nodes/leading_join.rb
382
420
  - lib/arel/nodes/matches.rb
383
421
  - lib/arel/nodes/named_function.rb
422
+ - lib/arel/nodes/nary.rb
384
423
  - lib/arel/nodes/node.rb
385
424
  - lib/arel/nodes/node_expression.rb
386
425
  - lib/arel/nodes/ordering.rb
@@ -417,12 +456,14 @@ files:
417
456
  - lib/arel/visitors/visitor.rb
418
457
  - lib/arel/window_predications.rb
419
458
  - lib/rails/generators/active_record.rb
459
+ - lib/rails/generators/active_record/application_record/USAGE
420
460
  - lib/rails/generators/active_record/application_record/application_record_generator.rb
421
461
  - lib/rails/generators/active_record/application_record/templates/application_record.rb.tt
422
462
  - lib/rails/generators/active_record/migration.rb
423
463
  - lib/rails/generators/active_record/migration/migration_generator.rb
424
464
  - lib/rails/generators/active_record/migration/templates/create_table_migration.rb.tt
425
465
  - lib/rails/generators/active_record/migration/templates/migration.rb.tt
466
+ - lib/rails/generators/active_record/model/USAGE
426
467
  - lib/rails/generators/active_record/model/model_generator.rb
427
468
  - lib/rails/generators/active_record/model/templates/abstract_base_class.rb.tt
428
469
  - lib/rails/generators/active_record/model/templates/model.rb.tt
@@ -434,12 +475,11 @@ licenses:
434
475
  - MIT
435
476
  metadata:
436
477
  bug_tracker_uri: https://github.com/rails/rails/issues
437
- changelog_uri: https://github.com/rails/rails/blob/v7.0.8.7/activerecord/CHANGELOG.md
438
- documentation_uri: https://api.rubyonrails.org/v7.0.8.7/
478
+ changelog_uri: https://github.com/rails/rails/blob/v7.2.3/activerecord/CHANGELOG.md
479
+ documentation_uri: https://api.rubyonrails.org/v7.2.3/
439
480
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
440
- source_code_uri: https://github.com/rails/rails/tree/v7.0.8.7/activerecord
481
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.3/activerecord
441
482
  rubygems_mfa_required: 'true'
442
- post_install_message:
443
483
  rdoc_options:
444
484
  - "--main"
445
485
  - README.rdoc
@@ -449,15 +489,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
449
489
  requirements:
450
490
  - - ">="
451
491
  - !ruby/object:Gem::Version
452
- version: 2.7.0
492
+ version: 3.1.0
453
493
  required_rubygems_version: !ruby/object:Gem::Requirement
454
494
  requirements:
455
495
  - - ">="
456
496
  - !ruby/object:Gem::Version
457
497
  version: '0'
458
498
  requirements: []
459
- rubygems_version: 3.5.22
460
- signing_key:
499
+ rubygems_version: 3.6.9
461
500
  specification_version: 4
462
501
  summary: Object-relational mapper framework (part of Rails).
463
502
  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