activerecord 7.0.8.1 → 7.2.2.1

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 (279) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +642 -1925
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +29 -29
  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 +25 -19
  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 +23 -8
  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 +26 -14
  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 +30 -27
  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 +148 -33
  47. data/lib/active_record/attributes.rb +64 -50
  48. data/lib/active_record/autosave_association.rb +69 -37
  49. data/lib/active_record/base.rb +9 -5
  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 +323 -88
  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 +217 -63
  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 +137 -11
  65. data/lib/active_record/connection_adapters/abstract/schema_statements.rb +307 -129
  66. data/lib/active_record/connection_adapters/abstract/transaction.rb +367 -75
  67. data/lib/active_record/connection_adapters/abstract_adapter.rb +510 -111
  68. data/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +278 -125
  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 +53 -54
  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 +101 -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 +151 -2
  93. data/lib/active_record/connection_adapters/postgresql/schema_dumper.rb +53 -0
  94. data/lib/active_record/connection_adapters/postgresql/schema_statements.rb +370 -63
  95. data/lib/active_record/connection_adapters/postgresql_adapter.rb +367 -201
  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 +45 -46
  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 +50 -8
  104. data/lib/active_record/connection_adapters/sqlite3_adapter.rb +290 -110
  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 +96 -104
  110. data/lib/active_record/core.rb +251 -176
  111. data/lib/active_record/counter_cache.rb +68 -34
  112. data/lib/active_record/database_configurations/connection_url_resolver.rb +8 -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 +39 -10
  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 +45 -21
  129. data/lib/active_record/encryption/encrypted_attribute_type.rb +47 -12
  130. data/lib/active_record/encryption/encryptor.rb +18 -3
  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 +129 -28
  143. data/lib/active_record/errors.rb +151 -31
  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 +29 -8
  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 +3 -3
  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 +234 -117
  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 +92 -52
  176. data/lib/active_record/query_logs_formatter.rb +41 -0
  177. data/lib/active_record/querying.rb +33 -8
  178. data/lib/active_record/railtie.rb +129 -85
  179. data/lib/active_record/railties/controller_runtime.rb +22 -7
  180. data/lib/active_record/railties/databases.rake +145 -154
  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 +250 -93
  187. data/lib/active_record/relation/delegation.rb +30 -19
  188. data/lib/active_record/relation/finder_methods.rb +93 -18
  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 +18 -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 +2 -1
  196. data/lib/active_record/relation/query_methods.rb +576 -107
  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 +7 -19
  200. data/lib/active_record/relation.rb +580 -90
  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 +63 -14
  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 +27 -6
  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 +16 -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 +106 -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 +2 -0
  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/errors.rb +10 -0
  248. data/lib/arel/factory_methods.rb +4 -0
  249. data/lib/arel/nodes/binary.rb +6 -7
  250. data/lib/arel/nodes/bound_sql_literal.rb +65 -0
  251. data/lib/arel/nodes/cte.rb +36 -0
  252. data/lib/arel/nodes/fragments.rb +35 -0
  253. data/lib/arel/nodes/homogeneous_in.rb +1 -9
  254. data/lib/arel/nodes/leading_join.rb +8 -0
  255. data/lib/arel/nodes/{and.rb → nary.rb} +5 -2
  256. data/lib/arel/nodes/node.rb +115 -5
  257. data/lib/arel/nodes/sql_literal.rb +13 -0
  258. data/lib/arel/nodes/table_alias.rb +4 -0
  259. data/lib/arel/nodes.rb +6 -2
  260. data/lib/arel/predications.rb +3 -1
  261. data/lib/arel/select_manager.rb +1 -1
  262. data/lib/arel/table.rb +9 -5
  263. data/lib/arel/tree_manager.rb +8 -3
  264. data/lib/arel/update_manager.rb +2 -1
  265. data/lib/arel/visitors/dot.rb +1 -0
  266. data/lib/arel/visitors/mysql.rb +17 -5
  267. data/lib/arel/visitors/postgresql.rb +1 -12
  268. data/lib/arel/visitors/sqlite.rb +25 -0
  269. data/lib/arel/visitors/to_sql.rb +112 -34
  270. data/lib/arel/visitors/visitor.rb +2 -2
  271. data/lib/arel.rb +21 -3
  272. data/lib/rails/generators/active_record/application_record/USAGE +8 -0
  273. data/lib/rails/generators/active_record/migration/templates/create_table_migration.rb.tt +4 -1
  274. data/lib/rails/generators/active_record/migration.rb +3 -1
  275. data/lib/rails/generators/active_record/model/USAGE +113 -0
  276. data/lib/rails/generators/active_record/model/model_generator.rb +15 -6
  277. metadata +59 -17
  278. data/lib/active_record/connection_adapters/legacy_pool_manager.rb +0 -35
  279. 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.8.1
4
+ version: 7.2.2.1
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: 2024-02-21 00:00:00.000000000 Z
11
+ date: 2024-12-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.8.1
19
+ version: 7.2.2.1
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.8.1
26
+ version: 7.2.2.1
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.8.1
33
+ version: 7.2.2.1
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.8.1
40
+ version: 7.2.2.1
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.
@@ -71,6 +85,7 @@ files:
71
85
  - lib/active_record/associations/collection_association.rb
72
86
  - lib/active_record/associations/collection_proxy.rb
73
87
  - lib/active_record/associations/disable_joins_association_scope.rb
88
+ - lib/active_record/associations/errors.rb
74
89
  - lib/active_record/associations/foreign_association.rb
75
90
  - lib/active_record/associations/has_many_association.rb
76
91
  - lib/active_record/associations/has_many_through_association.rb
@@ -80,6 +95,7 @@ files:
80
95
  - lib/active_record/associations/join_dependency/join_association.rb
81
96
  - lib/active_record/associations/join_dependency/join_base.rb
82
97
  - lib/active_record/associations/join_dependency/join_part.rb
98
+ - lib/active_record/associations/nested_error.rb
83
99
  - lib/active_record/associations/preloader.rb
84
100
  - lib/active_record/associations/preloader/association.rb
85
101
  - lib/active_record/associations/preloader/batch.rb
@@ -91,6 +107,7 @@ files:
91
107
  - lib/active_record/attribute_assignment.rb
92
108
  - lib/active_record/attribute_methods.rb
93
109
  - lib/active_record/attribute_methods/before_type_cast.rb
110
+ - lib/active_record/attribute_methods/composite_primary_key.rb
94
111
  - lib/active_record/attribute_methods/dirty.rb
95
112
  - lib/active_record/attribute_methods/primary_key.rb
96
113
  - lib/active_record/attribute_methods/query.rb
@@ -102,6 +119,7 @@ files:
102
119
  - lib/active_record/autosave_association.rb
103
120
  - lib/active_record/base.rb
104
121
  - lib/active_record/callbacks.rb
122
+ - lib/active_record/coders/column_serializer.rb
105
123
  - lib/active_record/coders/json.rb
106
124
  - lib/active_record/coders/yaml_column.rb
107
125
  - lib/active_record/connection_adapters.rb
@@ -123,7 +141,6 @@ files:
123
141
  - lib/active_record/connection_adapters/abstract_mysql_adapter.rb
124
142
  - lib/active_record/connection_adapters/column.rb
125
143
  - lib/active_record/connection_adapters/deduplicable.rb
126
- - lib/active_record/connection_adapters/legacy_pool_manager.rb
127
144
  - lib/active_record/connection_adapters/mysql/column.rb
128
145
  - lib/active_record/connection_adapters/mysql/database_statements.rb
129
146
  - lib/active_record/connection_adapters/mysql/explain_pretty_printer.rb
@@ -133,6 +150,7 @@ files:
133
150
  - lib/active_record/connection_adapters/mysql/schema_dumper.rb
134
151
  - lib/active_record/connection_adapters/mysql/schema_statements.rb
135
152
  - lib/active_record/connection_adapters/mysql/type_metadata.rb
153
+ - lib/active_record/connection_adapters/mysql2/database_statements.rb
136
154
  - lib/active_record/connection_adapters/mysql2_adapter.rb
137
155
  - lib/active_record/connection_adapters/pool_config.rb
138
156
  - lib/active_record/connection_adapters/pool_manager.rb
@@ -177,6 +195,7 @@ files:
177
195
  - lib/active_record/connection_adapters/postgresql_adapter.rb
178
196
  - lib/active_record/connection_adapters/schema_cache.rb
179
197
  - lib/active_record/connection_adapters/sql_type_metadata.rb
198
+ - lib/active_record/connection_adapters/sqlite3/column.rb
180
199
  - lib/active_record/connection_adapters/sqlite3/database_statements.rb
181
200
  - lib/active_record/connection_adapters/sqlite3/explain_pretty_printer.rb
182
201
  - lib/active_record/connection_adapters/sqlite3/quoting.rb
@@ -186,6 +205,8 @@ files:
186
205
  - lib/active_record/connection_adapters/sqlite3/schema_statements.rb
187
206
  - lib/active_record/connection_adapters/sqlite3_adapter.rb
188
207
  - lib/active_record/connection_adapters/statement_pool.rb
208
+ - lib/active_record/connection_adapters/trilogy/database_statements.rb
209
+ - lib/active_record/connection_adapters/trilogy_adapter.rb
189
210
  - lib/active_record/connection_handling.rb
190
211
  - lib/active_record/core.rb
191
212
  - lib/active_record/counter_cache.rb
@@ -195,10 +216,12 @@ files:
195
216
  - lib/active_record/database_configurations/hash_config.rb
196
217
  - lib/active_record/database_configurations/url_config.rb
197
218
  - lib/active_record/delegated_type.rb
219
+ - lib/active_record/deprecator.rb
198
220
  - lib/active_record/destroy_association_async_job.rb
199
221
  - lib/active_record/disable_joins_association_relation.rb
200
222
  - lib/active_record/dynamic_matchers.rb
201
223
  - lib/active_record/encryption.rb
224
+ - lib/active_record/encryption/auto_filtered_parameters.rb
202
225
  - lib/active_record/encryption/cipher.rb
203
226
  - lib/active_record/encryption/cipher/aes256_gcm.rb
204
227
  - lib/active_record/encryption/config.rb
@@ -220,6 +243,7 @@ files:
220
243
  - lib/active_record/encryption/key_generator.rb
221
244
  - lib/active_record/encryption/key_provider.rb
222
245
  - lib/active_record/encryption/message.rb
246
+ - lib/active_record/encryption/message_pack_message_serializer.rb
223
247
  - lib/active_record/encryption/message_serializer.rb
224
248
  - lib/active_record/encryption/null_encryptor.rb
225
249
  - lib/active_record/encryption/properties.rb
@@ -247,6 +271,8 @@ files:
247
271
  - lib/active_record/locking/optimistic.rb
248
272
  - lib/active_record/locking/pessimistic.rb
249
273
  - lib/active_record/log_subscriber.rb
274
+ - lib/active_record/marshalling.rb
275
+ - lib/active_record/message_pack.rb
250
276
  - lib/active_record/middleware/database_selector.rb
251
277
  - lib/active_record/middleware/database_selector/resolver.rb
252
278
  - lib/active_record/middleware/database_selector/resolver/session.rb
@@ -254,19 +280,25 @@ files:
254
280
  - lib/active_record/migration.rb
255
281
  - lib/active_record/migration/command_recorder.rb
256
282
  - lib/active_record/migration/compatibility.rb
283
+ - lib/active_record/migration/default_strategy.rb
284
+ - lib/active_record/migration/execution_strategy.rb
257
285
  - lib/active_record/migration/join_table.rb
286
+ - lib/active_record/migration/pending_migration_connection.rb
258
287
  - lib/active_record/model_schema.rb
259
288
  - lib/active_record/nested_attributes.rb
260
289
  - lib/active_record/no_touching.rb
261
- - lib/active_record/null_relation.rb
290
+ - lib/active_record/normalization.rb
262
291
  - lib/active_record/persistence.rb
292
+ - lib/active_record/promise.rb
263
293
  - lib/active_record/query_cache.rb
264
294
  - lib/active_record/query_logs.rb
295
+ - lib/active_record/query_logs_formatter.rb
265
296
  - lib/active_record/querying.rb
266
297
  - lib/active_record/railtie.rb
267
298
  - lib/active_record/railties/console_sandbox.rb
268
299
  - lib/active_record/railties/controller_runtime.rb
269
300
  - lib/active_record/railties/databases.rake
301
+ - lib/active_record/railties/job_runtime.rb
270
302
  - lib/active_record/readonly_attributes.rb
271
303
  - lib/active_record/reflection.rb
272
304
  - lib/active_record/relation.rb
@@ -298,6 +330,7 @@ files:
298
330
  - lib/active_record/scoping.rb
299
331
  - lib/active_record/scoping/default.rb
300
332
  - lib/active_record/scoping/named.rb
333
+ - lib/active_record/secure_password.rb
301
334
  - lib/active_record/secure_token.rb
302
335
  - lib/active_record/serialization.rb
303
336
  - lib/active_record/signed_id.rb
@@ -311,8 +344,11 @@ files:
311
344
  - lib/active_record/tasks/sqlite_database_tasks.rb
312
345
  - lib/active_record/test_databases.rb
313
346
  - lib/active_record/test_fixtures.rb
347
+ - lib/active_record/testing/query_assertions.rb
314
348
  - lib/active_record/timestamp.rb
349
+ - lib/active_record/token_for.rb
315
350
  - lib/active_record/touch_later.rb
351
+ - lib/active_record/transaction.rb
316
352
  - lib/active_record/transactions.rb
317
353
  - lib/active_record/translation.rb
318
354
  - lib/active_record/type.rb
@@ -356,20 +392,22 @@ files:
356
392
  - lib/arel/insert_manager.rb
357
393
  - lib/arel/math.rb
358
394
  - lib/arel/nodes.rb
359
- - lib/arel/nodes/and.rb
360
395
  - lib/arel/nodes/ascending.rb
361
396
  - lib/arel/nodes/binary.rb
362
397
  - lib/arel/nodes/bind_param.rb
398
+ - lib/arel/nodes/bound_sql_literal.rb
363
399
  - lib/arel/nodes/case.rb
364
400
  - lib/arel/nodes/casted.rb
365
401
  - lib/arel/nodes/comment.rb
366
402
  - lib/arel/nodes/count.rb
403
+ - lib/arel/nodes/cte.rb
367
404
  - lib/arel/nodes/delete_statement.rb
368
405
  - lib/arel/nodes/descending.rb
369
406
  - lib/arel/nodes/equality.rb
370
407
  - lib/arel/nodes/extract.rb
371
408
  - lib/arel/nodes/false.rb
372
409
  - lib/arel/nodes/filter.rb
410
+ - lib/arel/nodes/fragments.rb
373
411
  - lib/arel/nodes/full_outer_join.rb
374
412
  - lib/arel/nodes/function.rb
375
413
  - lib/arel/nodes/grouping.rb
@@ -379,8 +417,10 @@ files:
379
417
  - lib/arel/nodes/inner_join.rb
380
418
  - lib/arel/nodes/insert_statement.rb
381
419
  - lib/arel/nodes/join_source.rb
420
+ - lib/arel/nodes/leading_join.rb
382
421
  - lib/arel/nodes/matches.rb
383
422
  - lib/arel/nodes/named_function.rb
423
+ - lib/arel/nodes/nary.rb
384
424
  - lib/arel/nodes/node.rb
385
425
  - lib/arel/nodes/node_expression.rb
386
426
  - lib/arel/nodes/ordering.rb
@@ -417,12 +457,14 @@ files:
417
457
  - lib/arel/visitors/visitor.rb
418
458
  - lib/arel/window_predications.rb
419
459
  - lib/rails/generators/active_record.rb
460
+ - lib/rails/generators/active_record/application_record/USAGE
420
461
  - lib/rails/generators/active_record/application_record/application_record_generator.rb
421
462
  - lib/rails/generators/active_record/application_record/templates/application_record.rb.tt
422
463
  - lib/rails/generators/active_record/migration.rb
423
464
  - lib/rails/generators/active_record/migration/migration_generator.rb
424
465
  - lib/rails/generators/active_record/migration/templates/create_table_migration.rb.tt
425
466
  - lib/rails/generators/active_record/migration/templates/migration.rb.tt
467
+ - lib/rails/generators/active_record/model/USAGE
426
468
  - lib/rails/generators/active_record/model/model_generator.rb
427
469
  - lib/rails/generators/active_record/model/templates/abstract_base_class.rb.tt
428
470
  - lib/rails/generators/active_record/model/templates/model.rb.tt
@@ -434,12 +476,12 @@ licenses:
434
476
  - MIT
435
477
  metadata:
436
478
  bug_tracker_uri: https://github.com/rails/rails/issues
437
- changelog_uri: https://github.com/rails/rails/blob/v7.0.8.1/activerecord/CHANGELOG.md
438
- documentation_uri: https://api.rubyonrails.org/v7.0.8.1/
479
+ changelog_uri: https://github.com/rails/rails/blob/v7.2.2.1/activerecord/CHANGELOG.md
480
+ documentation_uri: https://api.rubyonrails.org/v7.2.2.1/
439
481
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
440
- source_code_uri: https://github.com/rails/rails/tree/v7.0.8.1/activerecord
482
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.2.1/activerecord
441
483
  rubygems_mfa_required: 'true'
442
- post_install_message:
484
+ post_install_message:
443
485
  rdoc_options:
444
486
  - "--main"
445
487
  - README.rdoc
@@ -449,15 +491,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
449
491
  requirements:
450
492
  - - ">="
451
493
  - !ruby/object:Gem::Version
452
- version: 2.7.0
494
+ version: 3.1.0
453
495
  required_rubygems_version: !ruby/object:Gem::Requirement
454
496
  requirements:
455
497
  - - ">="
456
498
  - !ruby/object:Gem::Version
457
499
  version: '0'
458
500
  requirements: []
459
- rubygems_version: 3.2.22
460
- signing_key:
501
+ rubygems_version: 3.5.22
502
+ signing_key:
461
503
  specification_version: 4
462
504
  summary: Object-relational mapper framework (part of Rails).
463
505
  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