activerecord 7.0.10 → 7.1.0.beta1

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.

Potentially problematic release.


This version of activerecord might be problematic. Click here for more details.

Files changed (228) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1348 -1672
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +15 -17
  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 -9
  15. data/lib/active_record/associations/collection_proxy.rb +16 -11
  16. data/lib/active_record/associations/foreign_association.rb +10 -3
  17. data/lib/active_record/associations/has_many_association.rb +20 -13
  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 +10 -8
  21. data/lib/active_record/associations/preloader/association.rb +27 -6
  22. data/lib/active_record/associations/preloader.rb +12 -9
  23. data/lib/active_record/associations/singular_association.rb +1 -1
  24. data/lib/active_record/associations/through_association.rb +22 -11
  25. data/lib/active_record/associations.rb +313 -217
  26. data/lib/active_record/attribute_assignment.rb +0 -2
  27. data/lib/active_record/attribute_methods/before_type_cast.rb +17 -0
  28. data/lib/active_record/attribute_methods/dirty.rb +48 -38
  29. data/lib/active_record/attribute_methods/primary_key.rb +76 -24
  30. data/lib/active_record/attribute_methods/query.rb +28 -16
  31. data/lib/active_record/attribute_methods/read.rb +18 -5
  32. data/lib/active_record/attribute_methods/serialization.rb +150 -31
  33. data/lib/active_record/attribute_methods/write.rb +3 -3
  34. data/lib/active_record/attribute_methods.rb +105 -21
  35. data/lib/active_record/attributes.rb +3 -3
  36. data/lib/active_record/autosave_association.rb +55 -9
  37. data/lib/active_record/base.rb +7 -2
  38. data/lib/active_record/callbacks.rb +10 -24
  39. data/lib/active_record/coders/column_serializer.rb +61 -0
  40. data/lib/active_record/coders/json.rb +1 -1
  41. data/lib/active_record/coders/yaml_column.rb +70 -42
  42. data/lib/active_record/connection_adapters/abstract/connection_handler.rb +163 -88
  43. data/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb +2 -0
  44. data/lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb +3 -1
  45. data/lib/active_record/connection_adapters/abstract/connection_pool.rb +65 -49
  46. data/lib/active_record/connection_adapters/abstract/database_limits.rb +5 -0
  47. data/lib/active_record/connection_adapters/abstract/database_statements.rb +109 -32
  48. data/lib/active_record/connection_adapters/abstract/query_cache.rb +60 -22
  49. data/lib/active_record/connection_adapters/abstract/quoting.rb +41 -6
  50. data/lib/active_record/connection_adapters/abstract/savepoints.rb +4 -3
  51. data/lib/active_record/connection_adapters/abstract/schema_creation.rb +18 -4
  52. data/lib/active_record/connection_adapters/abstract/schema_definitions.rb +137 -11
  53. data/lib/active_record/connection_adapters/abstract/schema_statements.rb +291 -122
  54. data/lib/active_record/connection_adapters/abstract/transaction.rb +280 -58
  55. data/lib/active_record/connection_adapters/abstract_adapter.rb +502 -91
  56. data/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +200 -115
  57. data/lib/active_record/connection_adapters/column.rb +9 -0
  58. data/lib/active_record/connection_adapters/mysql/column.rb +1 -0
  59. data/lib/active_record/connection_adapters/mysql/database_statements.rb +22 -143
  60. data/lib/active_record/connection_adapters/mysql/quoting.rb +16 -12
  61. data/lib/active_record/connection_adapters/mysql/schema_creation.rb +9 -0
  62. data/lib/active_record/connection_adapters/mysql/schema_definitions.rb +6 -0
  63. data/lib/active_record/connection_adapters/mysql/schema_dumper.rb +1 -1
  64. data/lib/active_record/connection_adapters/mysql/schema_statements.rb +18 -14
  65. data/lib/active_record/connection_adapters/mysql2/database_statements.rb +148 -0
  66. data/lib/active_record/connection_adapters/mysql2_adapter.rb +98 -53
  67. data/lib/active_record/connection_adapters/pool_config.rb +14 -5
  68. data/lib/active_record/connection_adapters/pool_manager.rb +19 -9
  69. data/lib/active_record/connection_adapters/postgresql/column.rb +1 -2
  70. data/lib/active_record/connection_adapters/postgresql/database_statements.rb +76 -29
  71. data/lib/active_record/connection_adapters/postgresql/oid/money.rb +2 -3
  72. data/lib/active_record/connection_adapters/postgresql/oid/range.rb +11 -2
  73. data/lib/active_record/connection_adapters/postgresql/quoting.rb +9 -6
  74. data/lib/active_record/connection_adapters/postgresql/referential_integrity.rb +3 -9
  75. data/lib/active_record/connection_adapters/postgresql/schema_creation.rb +76 -6
  76. data/lib/active_record/connection_adapters/postgresql/schema_definitions.rb +131 -2
  77. data/lib/active_record/connection_adapters/postgresql/schema_dumper.rb +42 -0
  78. data/lib/active_record/connection_adapters/postgresql/schema_statements.rb +352 -55
  79. data/lib/active_record/connection_adapters/postgresql_adapter.rb +336 -168
  80. data/lib/active_record/connection_adapters/schema_cache.rb +287 -59
  81. data/lib/active_record/connection_adapters/sqlite3/column.rb +49 -0
  82. data/lib/active_record/connection_adapters/sqlite3/database_statements.rb +42 -36
  83. data/lib/active_record/connection_adapters/sqlite3/quoting.rb +4 -3
  84. data/lib/active_record/connection_adapters/sqlite3/schema_definitions.rb +1 -0
  85. data/lib/active_record/connection_adapters/sqlite3/schema_statements.rb +26 -7
  86. data/lib/active_record/connection_adapters/sqlite3_adapter.rb +162 -77
  87. data/lib/active_record/connection_adapters/statement_pool.rb +7 -0
  88. data/lib/active_record/connection_adapters/trilogy/database_statements.rb +98 -0
  89. data/lib/active_record/connection_adapters/trilogy_adapter.rb +254 -0
  90. data/lib/active_record/connection_adapters.rb +3 -1
  91. data/lib/active_record/connection_handling.rb +72 -95
  92. data/lib/active_record/core.rb +131 -142
  93. data/lib/active_record/counter_cache.rb +46 -25
  94. data/lib/active_record/database_configurations/database_config.rb +9 -3
  95. data/lib/active_record/database_configurations/hash_config.rb +22 -12
  96. data/lib/active_record/database_configurations/url_config.rb +17 -11
  97. data/lib/active_record/database_configurations.rb +86 -33
  98. data/lib/active_record/delegated_type.rb +11 -6
  99. data/lib/active_record/deprecator.rb +7 -0
  100. data/lib/active_record/destroy_association_async_job.rb +2 -0
  101. data/lib/active_record/encryption/auto_filtered_parameters.rb +66 -0
  102. data/lib/active_record/encryption/cipher/aes256_gcm.rb +4 -1
  103. data/lib/active_record/encryption/config.rb +25 -1
  104. data/lib/active_record/encryption/configurable.rb +12 -19
  105. data/lib/active_record/encryption/context.rb +10 -3
  106. data/lib/active_record/encryption/contexts.rb +5 -1
  107. data/lib/active_record/encryption/derived_secret_key_provider.rb +8 -2
  108. data/lib/active_record/encryption/encryptable_record.rb +36 -18
  109. data/lib/active_record/encryption/encrypted_attribute_type.rb +17 -6
  110. data/lib/active_record/encryption/extended_deterministic_queries.rb +52 -12
  111. data/lib/active_record/encryption/extended_deterministic_uniqueness_validator.rb +2 -2
  112. data/lib/active_record/encryption/key_generator.rb +12 -1
  113. data/lib/active_record/encryption/message_serializer.rb +2 -0
  114. data/lib/active_record/encryption/properties.rb +3 -3
  115. data/lib/active_record/encryption/scheme.rb +19 -22
  116. data/lib/active_record/encryption.rb +1 -0
  117. data/lib/active_record/enum.rb +113 -26
  118. data/lib/active_record/errors.rb +89 -15
  119. data/lib/active_record/explain.rb +23 -3
  120. data/lib/active_record/fixture_set/model_metadata.rb +14 -4
  121. data/lib/active_record/fixture_set/render_context.rb +2 -0
  122. data/lib/active_record/fixture_set/table_row.rb +29 -8
  123. data/lib/active_record/fixtures.rb +119 -83
  124. data/lib/active_record/future_result.rb +30 -5
  125. data/lib/active_record/gem_version.rb +4 -4
  126. data/lib/active_record/inheritance.rb +30 -16
  127. data/lib/active_record/insert_all.rb +58 -11
  128. data/lib/active_record/integration.rb +8 -8
  129. data/lib/active_record/internal_metadata.rb +118 -30
  130. data/lib/active_record/locking/pessimistic.rb +5 -2
  131. data/lib/active_record/log_subscriber.rb +29 -12
  132. data/lib/active_record/marshalling.rb +56 -0
  133. data/lib/active_record/message_pack.rb +124 -0
  134. data/lib/active_record/middleware/database_selector/resolver.rb +4 -0
  135. data/lib/active_record/middleware/database_selector.rb +6 -8
  136. data/lib/active_record/middleware/shard_selector.rb +3 -1
  137. data/lib/active_record/migration/command_recorder.rb +100 -4
  138. data/lib/active_record/migration/compatibility.rb +131 -5
  139. data/lib/active_record/migration/default_strategy.rb +23 -0
  140. data/lib/active_record/migration/execution_strategy.rb +19 -0
  141. data/lib/active_record/migration.rb +215 -112
  142. data/lib/active_record/model_schema.rb +50 -32
  143. data/lib/active_record/nested_attributes.rb +31 -6
  144. data/lib/active_record/normalization.rb +158 -0
  145. data/lib/active_record/persistence.rb +183 -33
  146. data/lib/active_record/promise.rb +84 -0
  147. data/lib/active_record/query_cache.rb +3 -21
  148. data/lib/active_record/query_logs.rb +77 -52
  149. data/lib/active_record/query_logs_formatter.rb +41 -0
  150. data/lib/active_record/querying.rb +15 -2
  151. data/lib/active_record/railtie.rb +108 -46
  152. data/lib/active_record/railties/controller_runtime.rb +10 -5
  153. data/lib/active_record/railties/databases.rake +139 -145
  154. data/lib/active_record/railties/job_runtime.rb +23 -0
  155. data/lib/active_record/readonly_attributes.rb +32 -5
  156. data/lib/active_record/reflection.rb +169 -45
  157. data/lib/active_record/relation/batches/batch_enumerator.rb +5 -3
  158. data/lib/active_record/relation/batches.rb +190 -61
  159. data/lib/active_record/relation/calculations.rb +152 -63
  160. data/lib/active_record/relation/delegation.rb +23 -9
  161. data/lib/active_record/relation/finder_methods.rb +85 -15
  162. data/lib/active_record/relation/merger.rb +2 -0
  163. data/lib/active_record/relation/predicate_builder/association_query_value.rb +11 -2
  164. data/lib/active_record/relation/predicate_builder/relation_handler.rb +5 -1
  165. data/lib/active_record/relation/predicate_builder.rb +26 -14
  166. data/lib/active_record/relation/query_attribute.rb +2 -1
  167. data/lib/active_record/relation/query_methods.rb +351 -62
  168. data/lib/active_record/relation/spawn_methods.rb +18 -1
  169. data/lib/active_record/relation.rb +75 -34
  170. data/lib/active_record/result.rb +19 -5
  171. data/lib/active_record/runtime_registry.rb +10 -1
  172. data/lib/active_record/sanitization.rb +51 -11
  173. data/lib/active_record/schema.rb +2 -3
  174. data/lib/active_record/schema_dumper.rb +41 -7
  175. data/lib/active_record/schema_migration.rb +68 -33
  176. data/lib/active_record/scoping/default.rb +15 -5
  177. data/lib/active_record/scoping/named.rb +2 -2
  178. data/lib/active_record/scoping.rb +2 -1
  179. data/lib/active_record/secure_password.rb +60 -0
  180. data/lib/active_record/secure_token.rb +21 -3
  181. data/lib/active_record/signed_id.rb +7 -5
  182. data/lib/active_record/store.rb +8 -8
  183. data/lib/active_record/suppressor.rb +3 -1
  184. data/lib/active_record/table_metadata.rb +10 -1
  185. data/lib/active_record/tasks/database_tasks.rb +127 -105
  186. data/lib/active_record/tasks/mysql_database_tasks.rb +15 -6
  187. data/lib/active_record/tasks/postgresql_database_tasks.rb +16 -13
  188. data/lib/active_record/tasks/sqlite_database_tasks.rb +14 -7
  189. data/lib/active_record/test_fixtures.rb +113 -96
  190. data/lib/active_record/timestamp.rb +27 -15
  191. data/lib/active_record/token_for.rb +113 -0
  192. data/lib/active_record/touch_later.rb +11 -6
  193. data/lib/active_record/transactions.rb +36 -10
  194. data/lib/active_record/type/adapter_specific_registry.rb +1 -8
  195. data/lib/active_record/type/internal/timezone.rb +7 -2
  196. data/lib/active_record/type/time.rb +4 -0
  197. data/lib/active_record/validations/absence.rb +1 -1
  198. data/lib/active_record/validations/numericality.rb +5 -4
  199. data/lib/active_record/validations/presence.rb +5 -28
  200. data/lib/active_record/validations/uniqueness.rb +47 -2
  201. data/lib/active_record/validations.rb +8 -4
  202. data/lib/active_record/version.rb +1 -1
  203. data/lib/active_record.rb +121 -16
  204. data/lib/arel/errors.rb +10 -0
  205. data/lib/arel/factory_methods.rb +4 -0
  206. data/lib/arel/nodes/binary.rb +6 -1
  207. data/lib/arel/nodes/bound_sql_literal.rb +61 -0
  208. data/lib/arel/nodes/cte.rb +36 -0
  209. data/lib/arel/nodes/fragments.rb +35 -0
  210. data/lib/arel/nodes/homogeneous_in.rb +1 -9
  211. data/lib/arel/nodes/leading_join.rb +8 -0
  212. data/lib/arel/nodes/node.rb +111 -2
  213. data/lib/arel/nodes/sql_literal.rb +6 -0
  214. data/lib/arel/nodes/table_alias.rb +4 -0
  215. data/lib/arel/nodes.rb +4 -0
  216. data/lib/arel/predications.rb +2 -0
  217. data/lib/arel/table.rb +9 -5
  218. data/lib/arel/visitors/mysql.rb +8 -1
  219. data/lib/arel/visitors/to_sql.rb +81 -17
  220. data/lib/arel/visitors/visitor.rb +2 -2
  221. data/lib/arel.rb +16 -2
  222. data/lib/rails/generators/active_record/application_record/USAGE +8 -0
  223. data/lib/rails/generators/active_record/migration.rb +3 -1
  224. data/lib/rails/generators/active_record/model/USAGE +113 -0
  225. data/lib/rails/generators/active_record/model/model_generator.rb +15 -6
  226. metadata +52 -14
  227. data/lib/active_record/connection_adapters/legacy_pool_manager.rb +0 -35
  228. data/lib/active_record/null_relation.rb +0 -63
@@ -11,20 +11,25 @@ module ActiveRecord
11
11
 
12
12
  class_option :migration, type: :boolean
13
13
  class_option :timestamps, type: :boolean
14
- class_option :parent, type: :string, desc: "The parent class for the generated model"
14
+ class_option :parent, type: :string, default: "ApplicationRecord", desc: "The parent class for the generated model"
15
15
  class_option :indexes, type: :boolean, default: true, desc: "Add indexes for references and belongs_to columns"
16
16
  class_option :primary_key_type, type: :string, desc: "The type for primary key"
17
17
  class_option :database, type: :string, aliases: %i(--db), desc: "The database for your model's migration. By default, the current environment's primary database is used."
18
18
 
19
+ Rails::Generators.templates_path.each do |path|
20
+ source_paths << File.join(path, base_name, "migration")
21
+ end
22
+ source_paths << File.expand_path(File.join(base_name, "migration", "templates"), base_root)
23
+
19
24
  # creates the migration file for the model.
20
25
  def create_migration_file
21
26
  return if skip_migration_creation?
22
27
  attributes.each { |a| a.attr_options.delete(:index) if a.reference? && !a.has_index? } if options[:indexes] == false
23
- migration_template "../../migration/templates/create_table_migration.rb", File.join(db_migrate_path, "create_#{table_name}.rb")
28
+ migration_template "create_table_migration.rb", File.join(db_migrate_path, "create_#{table_name}.rb")
24
29
  end
25
30
 
26
31
  def create_model_file
27
- generate_abstract_class if database && !parent
32
+ generate_abstract_class if database && !custom_parent?
28
33
  template "model.rb", File.join("app/models", class_path, "#{file_name}.rb")
29
34
  end
30
35
 
@@ -40,7 +45,7 @@ module ActiveRecord
40
45
  # - options parent is present and database option is not present
41
46
  # - migrations option is nil or false
42
47
  def skip_migration_creation?
43
- parent && !database || !migration
48
+ custom_parent? && !database || !migration
44
49
  end
45
50
 
46
51
  def attributes_with_index
@@ -49,12 +54,12 @@ module ActiveRecord
49
54
 
50
55
  # Used by the migration template to determine the parent name of the model
51
56
  def parent_class_name
52
- if parent
57
+ if custom_parent?
53
58
  parent
54
59
  elsif database
55
60
  abstract_class_name
56
61
  else
57
- "ApplicationRecord"
62
+ parent
58
63
  end
59
64
  end
60
65
 
@@ -77,6 +82,10 @@ module ActiveRecord
77
82
  options[:parent]
78
83
  end
79
84
 
85
+ def custom_parent?
86
+ parent != self.class.class_options[:parent].default
87
+ end
88
+
80
89
  def migration
81
90
  options[:migration]
82
91
  end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.10
4
+ version: 7.1.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2023-09-13 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: activesupport
@@ -15,28 +16,42 @@ dependencies:
15
16
  requirements:
16
17
  - - '='
17
18
  - !ruby/object:Gem::Version
18
- version: 7.0.10
19
+ version: 7.1.0.beta1
19
20
  type: :runtime
20
21
  prerelease: false
21
22
  version_requirements: !ruby/object:Gem::Requirement
22
23
  requirements:
23
24
  - - '='
24
25
  - !ruby/object:Gem::Version
25
- version: 7.0.10
26
+ version: 7.1.0.beta1
26
27
  - !ruby/object:Gem::Dependency
27
28
  name: activemodel
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - '='
31
32
  - !ruby/object:Gem::Version
32
- version: 7.0.10
33
+ version: 7.1.0.beta1
33
34
  type: :runtime
34
35
  prerelease: false
35
36
  version_requirements: !ruby/object:Gem::Requirement
36
37
  requirements:
37
38
  - - '='
38
39
  - !ruby/object:Gem::Version
39
- version: 7.0.10
40
+ version: 7.1.0.beta1
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
40
55
  description: Databases on Rails. Build a persistent domain model by mapping database
41
56
  tables to Ruby classes. Strong conventions for associations, validations, aggregations,
42
57
  migrations, and testing come baked-in.
@@ -101,6 +116,7 @@ files:
101
116
  - lib/active_record/autosave_association.rb
102
117
  - lib/active_record/base.rb
103
118
  - lib/active_record/callbacks.rb
119
+ - lib/active_record/coders/column_serializer.rb
104
120
  - lib/active_record/coders/json.rb
105
121
  - lib/active_record/coders/yaml_column.rb
106
122
  - lib/active_record/connection_adapters.rb
@@ -122,7 +138,6 @@ files:
122
138
  - lib/active_record/connection_adapters/abstract_mysql_adapter.rb
123
139
  - lib/active_record/connection_adapters/column.rb
124
140
  - lib/active_record/connection_adapters/deduplicable.rb
125
- - lib/active_record/connection_adapters/legacy_pool_manager.rb
126
141
  - lib/active_record/connection_adapters/mysql/column.rb
127
142
  - lib/active_record/connection_adapters/mysql/database_statements.rb
128
143
  - lib/active_record/connection_adapters/mysql/explain_pretty_printer.rb
@@ -132,6 +147,7 @@ files:
132
147
  - lib/active_record/connection_adapters/mysql/schema_dumper.rb
133
148
  - lib/active_record/connection_adapters/mysql/schema_statements.rb
134
149
  - lib/active_record/connection_adapters/mysql/type_metadata.rb
150
+ - lib/active_record/connection_adapters/mysql2/database_statements.rb
135
151
  - lib/active_record/connection_adapters/mysql2_adapter.rb
136
152
  - lib/active_record/connection_adapters/pool_config.rb
137
153
  - lib/active_record/connection_adapters/pool_manager.rb
@@ -176,6 +192,7 @@ files:
176
192
  - lib/active_record/connection_adapters/postgresql_adapter.rb
177
193
  - lib/active_record/connection_adapters/schema_cache.rb
178
194
  - lib/active_record/connection_adapters/sql_type_metadata.rb
195
+ - lib/active_record/connection_adapters/sqlite3/column.rb
179
196
  - lib/active_record/connection_adapters/sqlite3/database_statements.rb
180
197
  - lib/active_record/connection_adapters/sqlite3/explain_pretty_printer.rb
181
198
  - lib/active_record/connection_adapters/sqlite3/quoting.rb
@@ -185,6 +202,8 @@ files:
185
202
  - lib/active_record/connection_adapters/sqlite3/schema_statements.rb
186
203
  - lib/active_record/connection_adapters/sqlite3_adapter.rb
187
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
188
207
  - lib/active_record/connection_handling.rb
189
208
  - lib/active_record/core.rb
190
209
  - lib/active_record/counter_cache.rb
@@ -194,10 +213,12 @@ files:
194
213
  - lib/active_record/database_configurations/hash_config.rb
195
214
  - lib/active_record/database_configurations/url_config.rb
196
215
  - lib/active_record/delegated_type.rb
216
+ - lib/active_record/deprecator.rb
197
217
  - lib/active_record/destroy_association_async_job.rb
198
218
  - lib/active_record/disable_joins_association_relation.rb
199
219
  - lib/active_record/dynamic_matchers.rb
200
220
  - lib/active_record/encryption.rb
221
+ - lib/active_record/encryption/auto_filtered_parameters.rb
201
222
  - lib/active_record/encryption/cipher.rb
202
223
  - lib/active_record/encryption/cipher/aes256_gcm.rb
203
224
  - lib/active_record/encryption/config.rb
@@ -246,6 +267,8 @@ files:
246
267
  - lib/active_record/locking/optimistic.rb
247
268
  - lib/active_record/locking/pessimistic.rb
248
269
  - lib/active_record/log_subscriber.rb
270
+ - lib/active_record/marshalling.rb
271
+ - lib/active_record/message_pack.rb
249
272
  - lib/active_record/middleware/database_selector.rb
250
273
  - lib/active_record/middleware/database_selector/resolver.rb
251
274
  - lib/active_record/middleware/database_selector/resolver/session.rb
@@ -253,19 +276,24 @@ files:
253
276
  - lib/active_record/migration.rb
254
277
  - lib/active_record/migration/command_recorder.rb
255
278
  - lib/active_record/migration/compatibility.rb
279
+ - lib/active_record/migration/default_strategy.rb
280
+ - lib/active_record/migration/execution_strategy.rb
256
281
  - lib/active_record/migration/join_table.rb
257
282
  - lib/active_record/model_schema.rb
258
283
  - lib/active_record/nested_attributes.rb
259
284
  - lib/active_record/no_touching.rb
260
- - lib/active_record/null_relation.rb
285
+ - lib/active_record/normalization.rb
261
286
  - lib/active_record/persistence.rb
287
+ - lib/active_record/promise.rb
262
288
  - lib/active_record/query_cache.rb
263
289
  - lib/active_record/query_logs.rb
290
+ - lib/active_record/query_logs_formatter.rb
264
291
  - lib/active_record/querying.rb
265
292
  - lib/active_record/railtie.rb
266
293
  - lib/active_record/railties/console_sandbox.rb
267
294
  - lib/active_record/railties/controller_runtime.rb
268
295
  - lib/active_record/railties/databases.rake
296
+ - lib/active_record/railties/job_runtime.rb
269
297
  - lib/active_record/readonly_attributes.rb
270
298
  - lib/active_record/reflection.rb
271
299
  - lib/active_record/relation.rb
@@ -297,6 +325,7 @@ files:
297
325
  - lib/active_record/scoping.rb
298
326
  - lib/active_record/scoping/default.rb
299
327
  - lib/active_record/scoping/named.rb
328
+ - lib/active_record/secure_password.rb
300
329
  - lib/active_record/secure_token.rb
301
330
  - lib/active_record/serialization.rb
302
331
  - lib/active_record/signed_id.rb
@@ -311,6 +340,7 @@ files:
311
340
  - lib/active_record/test_databases.rb
312
341
  - lib/active_record/test_fixtures.rb
313
342
  - lib/active_record/timestamp.rb
343
+ - lib/active_record/token_for.rb
314
344
  - lib/active_record/touch_later.rb
315
345
  - lib/active_record/transactions.rb
316
346
  - lib/active_record/translation.rb
@@ -359,16 +389,19 @@ files:
359
389
  - lib/arel/nodes/ascending.rb
360
390
  - lib/arel/nodes/binary.rb
361
391
  - lib/arel/nodes/bind_param.rb
392
+ - lib/arel/nodes/bound_sql_literal.rb
362
393
  - lib/arel/nodes/case.rb
363
394
  - lib/arel/nodes/casted.rb
364
395
  - lib/arel/nodes/comment.rb
365
396
  - lib/arel/nodes/count.rb
397
+ - lib/arel/nodes/cte.rb
366
398
  - lib/arel/nodes/delete_statement.rb
367
399
  - lib/arel/nodes/descending.rb
368
400
  - lib/arel/nodes/equality.rb
369
401
  - lib/arel/nodes/extract.rb
370
402
  - lib/arel/nodes/false.rb
371
403
  - lib/arel/nodes/filter.rb
404
+ - lib/arel/nodes/fragments.rb
372
405
  - lib/arel/nodes/full_outer_join.rb
373
406
  - lib/arel/nodes/function.rb
374
407
  - lib/arel/nodes/grouping.rb
@@ -378,6 +411,7 @@ files:
378
411
  - lib/arel/nodes/inner_join.rb
379
412
  - lib/arel/nodes/insert_statement.rb
380
413
  - lib/arel/nodes/join_source.rb
414
+ - lib/arel/nodes/leading_join.rb
381
415
  - lib/arel/nodes/matches.rb
382
416
  - lib/arel/nodes/named_function.rb
383
417
  - lib/arel/nodes/node.rb
@@ -416,12 +450,14 @@ files:
416
450
  - lib/arel/visitors/visitor.rb
417
451
  - lib/arel/window_predications.rb
418
452
  - lib/rails/generators/active_record.rb
453
+ - lib/rails/generators/active_record/application_record/USAGE
419
454
  - lib/rails/generators/active_record/application_record/application_record_generator.rb
420
455
  - lib/rails/generators/active_record/application_record/templates/application_record.rb.tt
421
456
  - lib/rails/generators/active_record/migration.rb
422
457
  - lib/rails/generators/active_record/migration/migration_generator.rb
423
458
  - lib/rails/generators/active_record/migration/templates/create_table_migration.rb.tt
424
459
  - lib/rails/generators/active_record/migration/templates/migration.rb.tt
460
+ - lib/rails/generators/active_record/model/USAGE
425
461
  - lib/rails/generators/active_record/model/model_generator.rb
426
462
  - lib/rails/generators/active_record/model/templates/abstract_base_class.rb.tt
427
463
  - lib/rails/generators/active_record/model/templates/model.rb.tt
@@ -433,11 +469,12 @@ licenses:
433
469
  - MIT
434
470
  metadata:
435
471
  bug_tracker_uri: https://github.com/rails/rails/issues
436
- changelog_uri: https://github.com/rails/rails/blob/v7.0.10/activerecord/CHANGELOG.md
437
- documentation_uri: https://api.rubyonrails.org/v7.0.10/
472
+ changelog_uri: https://github.com/rails/rails/blob/v7.1.0.beta1/activerecord/CHANGELOG.md
473
+ documentation_uri: https://api.rubyonrails.org/v7.1.0.beta1/
438
474
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
439
- source_code_uri: https://github.com/rails/rails/tree/v7.0.10/activerecord
475
+ source_code_uri: https://github.com/rails/rails/tree/v7.1.0.beta1/activerecord
440
476
  rubygems_mfa_required: 'true'
477
+ post_install_message:
441
478
  rdoc_options:
442
479
  - "--main"
443
480
  - README.rdoc
@@ -450,11 +487,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
450
487
  version: 2.7.0
451
488
  required_rubygems_version: !ruby/object:Gem::Requirement
452
489
  requirements:
453
- - - ">="
490
+ - - ">"
454
491
  - !ruby/object:Gem::Version
455
- version: '0'
492
+ version: 1.3.1
456
493
  requirements: []
457
- rubygems_version: 3.6.9
494
+ rubygems_version: 3.4.18
495
+ signing_key:
458
496
  specification_version: 4
459
497
  summary: Object-relational mapper framework (part of Rails).
460
498
  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