activerecord 8.0.0.1 → 8.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +208 -0
  3. data/lib/active_record/associations/alias_tracker.rb +6 -4
  4. data/lib/active_record/associations/belongs_to_association.rb +7 -1
  5. data/lib/active_record/associations/join_dependency/join_association.rb +25 -27
  6. data/lib/active_record/attribute_methods/primary_key.rb +2 -1
  7. data/lib/active_record/attribute_methods.rb +22 -17
  8. data/lib/active_record/attributes.rb +2 -2
  9. data/lib/active_record/autosave_association.rb +21 -11
  10. data/lib/active_record/connection_adapters/abstract/connection_handler.rb +17 -14
  11. data/lib/active_record/connection_adapters/abstract/connection_pool.rb +47 -34
  12. data/lib/active_record/connection_adapters/abstract/schema_definitions.rb +5 -1
  13. data/lib/active_record/connection_adapters/abstract_adapter.rb +39 -22
  14. data/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +14 -7
  15. data/lib/active_record/connection_adapters/mysql/quoting.rb +7 -1
  16. data/lib/active_record/connection_adapters/mysql/schema_statements.rb +7 -0
  17. data/lib/active_record/connection_adapters/mysql2/database_statements.rb +57 -11
  18. data/lib/active_record/connection_adapters/mysql2_adapter.rb +8 -1
  19. data/lib/active_record/connection_adapters/pool_config.rb +7 -7
  20. data/lib/active_record/connection_adapters/postgresql/schema_definitions.rb +14 -12
  21. data/lib/active_record/connection_adapters/postgresql/schema_dumper.rb +1 -1
  22. data/lib/active_record/connection_adapters/postgresql/schema_statements.rb +1 -1
  23. data/lib/active_record/connection_adapters/postgresql_adapter.rb +7 -2
  24. data/lib/active_record/connection_adapters/sqlite3/database_statements.rb +5 -1
  25. data/lib/active_record/connection_adapters/sqlite3/quoting.rb +13 -0
  26. data/lib/active_record/connection_adapters/sqlite3/schema_statements.rb +2 -0
  27. data/lib/active_record/connection_adapters/sqlite3_adapter.rb +7 -2
  28. data/lib/active_record/connection_adapters/statement_pool.rb +4 -2
  29. data/lib/active_record/connection_adapters/trilogy_adapter.rb +1 -1
  30. data/lib/active_record/core.rb +31 -2
  31. data/lib/active_record/counter_cache.rb +1 -1
  32. data/lib/active_record/database_configurations/connection_url_resolver.rb +3 -1
  33. data/lib/active_record/delegated_type.rb +17 -17
  34. data/lib/active_record/future_result.rb +3 -3
  35. data/lib/active_record/gem_version.rb +2 -2
  36. data/lib/active_record/migration/command_recorder.rb +5 -2
  37. data/lib/active_record/railties/databases.rake +1 -1
  38. data/lib/active_record/relation/calculations.rb +23 -17
  39. data/lib/active_record/relation/predicate_builder/association_query_value.rb +2 -0
  40. data/lib/active_record/relation/query_attribute.rb +1 -1
  41. data/lib/active_record/relation/query_methods.rb +1 -1
  42. data/lib/active_record/relation.rb +1 -1
  43. data/lib/active_record/schema_dumper.rb +29 -11
  44. data/lib/active_record/signed_id.rb +4 -3
  45. data/lib/active_record/statement_cache.rb +2 -2
  46. data/lib/active_record/transactions.rb +5 -6
  47. data/lib/active_record.rb +4 -2
  48. data/lib/arel/collectors/bind.rb +1 -1
  49. data/lib/arel/collectors/sql_string.rb +1 -1
  50. data/lib/arel/collectors/substitute_binds.rb +2 -2
  51. data/lib/arel/nodes/binary.rb +1 -1
  52. data/lib/arel/nodes/node.rb +1 -1
  53. data/lib/arel/nodes/sql_literal.rb +1 -1
  54. data/lib/arel/visitors/to_sql.rb +1 -1
  55. metadata +10 -13
@@ -15,12 +15,12 @@ module Arel # :nodoc: all
15
15
  self
16
16
  end
17
17
 
18
- def add_bind(bind)
18
+ def add_bind(bind, &)
19
19
  bind = bind.value_for_database if bind.respond_to?(:value_for_database)
20
20
  self << quoter.quote(bind)
21
21
  end
22
22
 
23
- def add_binds(binds, proc_for_binds = nil)
23
+ def add_binds(binds, proc_for_binds = nil, &)
24
24
  self << binds.map { |bind| quoter.quote(bind) }.join(", ")
25
25
  end
26
26
 
@@ -30,7 +30,7 @@ module Arel # :nodoc: all
30
30
  end
31
31
 
32
32
  module FetchAttribute
33
- def fetch_attribute
33
+ def fetch_attribute(&)
34
34
  if left.is_a?(Arel::Attributes::Attribute)
35
35
  yield left
36
36
  elsif right.is_a?(Arel::Attributes::Attribute)
@@ -152,7 +152,7 @@ module Arel # :nodoc: all
152
152
  end
153
153
  end
154
154
 
155
- def fetch_attribute
155
+ def fetch_attribute(&)
156
156
  end
157
157
 
158
158
  def equality?; false; end
@@ -19,7 +19,7 @@ module Arel # :nodoc: all
19
19
  coder.scalar = self.to_s
20
20
  end
21
21
 
22
- def fetch_attribute
22
+ def fetch_attribute(&)
23
23
  end
24
24
 
25
25
  def +(other)
@@ -763,7 +763,7 @@ module Arel # :nodoc: all
763
763
 
764
764
  def visit_Arel_Nodes_SqlLiteral(o, collector)
765
765
  collector.preparable = false
766
- collector.retryable = o.retryable
766
+ collector.retryable &&= o.retryable
767
767
  collector << o.to_s
768
768
  end
769
769
 
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: 8.0.0.1
4
+ version: 8.0.2
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: 2025-03-12 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
@@ -16,28 +15,28 @@ dependencies:
16
15
  requirements:
17
16
  - - '='
18
17
  - !ruby/object:Gem::Version
19
- version: 8.0.0.1
18
+ version: 8.0.2
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: 8.0.0.1
25
+ version: 8.0.2
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: 8.0.0.1
32
+ version: 8.0.2
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: 8.0.0.1
39
+ version: 8.0.2
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: timeout
43
42
  requirement: !ruby/object:Gem::Requirement
@@ -475,12 +474,11 @@ licenses:
475
474
  - MIT
476
475
  metadata:
477
476
  bug_tracker_uri: https://github.com/rails/rails/issues
478
- changelog_uri: https://github.com/rails/rails/blob/v8.0.0.1/activerecord/CHANGELOG.md
479
- documentation_uri: https://api.rubyonrails.org/v8.0.0.1/
477
+ changelog_uri: https://github.com/rails/rails/blob/v8.0.2/activerecord/CHANGELOG.md
478
+ documentation_uri: https://api.rubyonrails.org/v8.0.2/
480
479
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
481
- source_code_uri: https://github.com/rails/rails/tree/v8.0.0.1/activerecord
480
+ source_code_uri: https://github.com/rails/rails/tree/v8.0.2/activerecord
482
481
  rubygems_mfa_required: 'true'
483
- post_install_message:
484
482
  rdoc_options:
485
483
  - "--main"
486
484
  - README.rdoc
@@ -497,8 +495,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
497
495
  - !ruby/object:Gem::Version
498
496
  version: '0'
499
497
  requirements: []
500
- rubygems_version: 3.5.22
501
- signing_key:
498
+ rubygems_version: 3.6.2
502
499
  specification_version: 4
503
500
  summary: Object-relational mapper framework (part of Rails).
504
501
  test_files: []