activerecord 7.2.2.2 → 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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +316 -7
- data/README.rdoc +1 -1
- data/lib/active_record/associations/alias_tracker.rb +6 -4
- data/lib/active_record/associations/belongs_to_association.rb +18 -2
- data/lib/active_record/associations/collection_association.rb +9 -7
- data/lib/active_record/associations/join_dependency/join_association.rb +25 -27
- data/lib/active_record/attribute_methods/serialization.rb +1 -1
- data/lib/active_record/attribute_methods.rb +24 -19
- data/lib/active_record/attributes.rb +37 -26
- data/lib/active_record/autosave_association.rb +22 -12
- data/lib/active_record/base.rb +2 -2
- data/lib/active_record/connection_adapters/abstract/connection_pool.rb +49 -32
- data/lib/active_record/connection_adapters/abstract/query_cache.rb +17 -6
- data/lib/active_record/connection_adapters/abstract/schema_definitions.rb +5 -1
- data/lib/active_record/connection_adapters/abstract/schema_statements.rb +3 -0
- data/lib/active_record/connection_adapters/abstract_adapter.rb +32 -3
- data/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +14 -6
- data/lib/active_record/connection_adapters/mysql/quoting.rb +7 -1
- data/lib/active_record/connection_adapters/mysql2/database_statements.rb +3 -3
- data/lib/active_record/connection_adapters/mysql2_adapter.rb +8 -1
- data/lib/active_record/connection_adapters/postgresql/schema_definitions.rb +14 -12
- data/lib/active_record/connection_adapters/postgresql/schema_dumper.rb +1 -1
- data/lib/active_record/connection_adapters/postgresql/schema_statements.rb +1 -1
- data/lib/active_record/connection_adapters/postgresql_adapter.rb +8 -3
- data/lib/active_record/connection_adapters/sqlite3/quoting.rb +13 -0
- data/lib/active_record/connection_adapters/sqlite3/schema_statements.rb +1 -0
- data/lib/active_record/connection_adapters/sqlite3_adapter.rb +10 -5
- data/lib/active_record/connection_adapters/trilogy_adapter.rb +1 -1
- data/lib/active_record/connection_handling.rb +12 -8
- data/lib/active_record/core.rb +27 -7
- data/lib/active_record/counter_cache.rb +1 -1
- data/lib/active_record/database_configurations/connection_url_resolver.rb +3 -1
- data/lib/active_record/delegated_type.rb +18 -18
- data/lib/active_record/encryption/encryptable_record.rb +1 -1
- data/lib/active_record/encryption/encrypted_attribute_type.rb +1 -1
- data/lib/active_record/encryption/encryptor.rb +21 -20
- data/lib/active_record/enum.rb +13 -12
- data/lib/active_record/errors.rb +3 -3
- data/lib/active_record/fixture_set/table_row.rb +19 -2
- data/lib/active_record/gem_version.rb +2 -2
- data/lib/active_record/migration.rb +2 -1
- data/lib/active_record/query_logs.rb +4 -0
- data/lib/active_record/querying.rb +4 -4
- data/lib/active_record/railtie.rb +2 -2
- data/lib/active_record/railties/databases.rake +2 -1
- data/lib/active_record/relation/calculations.rb +35 -30
- data/lib/active_record/relation/finder_methods.rb +10 -10
- data/lib/active_record/relation/predicate_builder/association_query_value.rb +2 -0
- data/lib/active_record/relation/query_attribute.rb +1 -1
- data/lib/active_record/relation/query_methods.rb +16 -9
- data/lib/active_record/relation/where_clause.rb +8 -2
- data/lib/active_record/relation.rb +15 -5
- data/lib/active_record/schema_dumper.rb +29 -11
- data/lib/active_record/secure_token.rb +3 -3
- data/lib/active_record/signed_id.rb +7 -6
- data/lib/active_record/tasks/postgresql_database_tasks.rb +7 -0
- data/lib/active_record/transactions.rb +3 -1
- data/lib/active_record.rb +1 -1
- data/lib/arel/collectors/bind.rb +1 -1
- data/lib/arel/crud.rb +2 -0
- data/lib/arel/delete_manager.rb +5 -0
- data/lib/arel/nodes/delete_statement.rb +4 -2
- data/lib/arel/nodes/update_statement.rb +4 -2
- data/lib/arel/select_manager.rb +6 -2
- data/lib/arel/update_manager.rb +5 -0
- data/lib/arel/visitors/dot.rb +2 -0
- data/lib/arel/visitors/to_sql.rb +3 -1
- metadata +8 -8
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Arel # :nodoc: all
|
|
4
4
|
module Nodes
|
|
5
5
|
class DeleteStatement < Arel::Nodes::Node
|
|
6
|
-
attr_accessor :relation, :wheres, :groups, :havings, :orders, :limit, :offset, :key
|
|
6
|
+
attr_accessor :relation, :wheres, :groups, :havings, :orders, :limit, :offset, :comment, :key
|
|
7
7
|
|
|
8
8
|
def initialize(relation = nil, wheres = [])
|
|
9
9
|
super()
|
|
@@ -14,6 +14,7 @@ module Arel # :nodoc: all
|
|
|
14
14
|
@orders = []
|
|
15
15
|
@limit = nil
|
|
16
16
|
@offset = nil
|
|
17
|
+
@comment = nil
|
|
17
18
|
@key = nil
|
|
18
19
|
end
|
|
19
20
|
|
|
@@ -24,7 +25,7 @@ module Arel # :nodoc: all
|
|
|
24
25
|
end
|
|
25
26
|
|
|
26
27
|
def hash
|
|
27
|
-
[self.class, @relation, @wheres, @orders, @limit, @offset, @key].hash
|
|
28
|
+
[self.class, @relation, @wheres, @orders, @limit, @offset, @comment, @key].hash
|
|
28
29
|
end
|
|
29
30
|
|
|
30
31
|
def eql?(other)
|
|
@@ -36,6 +37,7 @@ module Arel # :nodoc: all
|
|
|
36
37
|
self.havings == other.havings &&
|
|
37
38
|
self.limit == other.limit &&
|
|
38
39
|
self.offset == other.offset &&
|
|
40
|
+
self.comment == other.comment &&
|
|
39
41
|
self.key == other.key
|
|
40
42
|
end
|
|
41
43
|
alias :== :eql?
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Arel # :nodoc: all
|
|
4
4
|
module Nodes
|
|
5
5
|
class UpdateStatement < Arel::Nodes::Node
|
|
6
|
-
attr_accessor :relation, :wheres, :values, :groups, :havings, :orders, :limit, :offset, :key
|
|
6
|
+
attr_accessor :relation, :wheres, :values, :groups, :havings, :orders, :limit, :offset, :comment, :key
|
|
7
7
|
|
|
8
8
|
def initialize(relation = nil)
|
|
9
9
|
super()
|
|
@@ -15,6 +15,7 @@ module Arel # :nodoc: all
|
|
|
15
15
|
@orders = []
|
|
16
16
|
@limit = nil
|
|
17
17
|
@offset = nil
|
|
18
|
+
@comment = nil
|
|
18
19
|
@key = nil
|
|
19
20
|
end
|
|
20
21
|
|
|
@@ -25,7 +26,7 @@ module Arel # :nodoc: all
|
|
|
25
26
|
end
|
|
26
27
|
|
|
27
28
|
def hash
|
|
28
|
-
[@relation, @wheres, @values, @orders, @limit, @offset, @key].hash
|
|
29
|
+
[@relation, @wheres, @values, @orders, @limit, @offset, @comment, @key].hash
|
|
29
30
|
end
|
|
30
31
|
|
|
31
32
|
def eql?(other)
|
|
@@ -38,6 +39,7 @@ module Arel # :nodoc: all
|
|
|
38
39
|
self.orders == other.orders &&
|
|
39
40
|
self.limit == other.limit &&
|
|
40
41
|
self.offset == other.offset &&
|
|
42
|
+
self.comment == other.comment &&
|
|
41
43
|
self.key == other.key
|
|
42
44
|
end
|
|
43
45
|
alias :== :eql?
|
data/lib/arel/select_manager.rb
CHANGED
|
@@ -250,8 +250,12 @@ module Arel # :nodoc: all
|
|
|
250
250
|
end
|
|
251
251
|
|
|
252
252
|
def comment(*values)
|
|
253
|
-
|
|
254
|
-
|
|
253
|
+
if values.any?
|
|
254
|
+
@ctx.comment = Nodes::Comment.new(values)
|
|
255
|
+
self
|
|
256
|
+
else
|
|
257
|
+
@ctx.comment
|
|
258
|
+
end
|
|
255
259
|
end
|
|
256
260
|
|
|
257
261
|
private
|
data/lib/arel/update_manager.rb
CHANGED
data/lib/arel/visitors/dot.rb
CHANGED
|
@@ -153,6 +153,7 @@ module Arel # :nodoc: all
|
|
|
153
153
|
visit_edge o, "orders"
|
|
154
154
|
visit_edge o, "limit"
|
|
155
155
|
visit_edge o, "offset"
|
|
156
|
+
visit_edge o, "comment"
|
|
156
157
|
visit_edge o, "key"
|
|
157
158
|
end
|
|
158
159
|
|
|
@@ -162,6 +163,7 @@ module Arel # :nodoc: all
|
|
|
162
163
|
visit_edge o, "orders"
|
|
163
164
|
visit_edge o, "limit"
|
|
164
165
|
visit_edge o, "offset"
|
|
166
|
+
visit_edge o, "comment"
|
|
165
167
|
visit_edge o, "key"
|
|
166
168
|
end
|
|
167
169
|
|
data/lib/arel/visitors/to_sql.rb
CHANGED
|
@@ -35,6 +35,7 @@ module Arel # :nodoc: all
|
|
|
35
35
|
collect_nodes_for o.wheres, collector, " WHERE ", " AND "
|
|
36
36
|
collect_nodes_for o.orders, collector, " ORDER BY "
|
|
37
37
|
maybe_visit o.limit, collector
|
|
38
|
+
maybe_visit o.comment, collector
|
|
38
39
|
end
|
|
39
40
|
|
|
40
41
|
def visit_Arel_Nodes_UpdateStatement(o, collector)
|
|
@@ -48,6 +49,7 @@ module Arel # :nodoc: all
|
|
|
48
49
|
collect_nodes_for o.wheres, collector, " WHERE ", " AND "
|
|
49
50
|
collect_nodes_for o.orders, collector, " ORDER BY "
|
|
50
51
|
maybe_visit o.limit, collector
|
|
52
|
+
maybe_visit o.comment, collector
|
|
51
53
|
end
|
|
52
54
|
|
|
53
55
|
def visit_Arel_Nodes_InsertStatement(o, collector)
|
|
@@ -763,7 +765,7 @@ module Arel # :nodoc: all
|
|
|
763
765
|
|
|
764
766
|
def visit_Arel_Nodes_SqlLiteral(o, collector)
|
|
765
767
|
collector.preparable = false
|
|
766
|
-
collector.retryable
|
|
768
|
+
collector.retryable &&= o.retryable
|
|
767
769
|
collector << o.to_s
|
|
768
770
|
end
|
|
769
771
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: activerecord
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 7.2.
|
|
4
|
+
version: 7.2.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Heinemeier Hansson
|
|
@@ -15,28 +15,28 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - '='
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 7.2.
|
|
18
|
+
version: 7.2.3
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - '='
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 7.2.
|
|
25
|
+
version: 7.2.3
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: activemodel
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
30
|
- - '='
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 7.2.
|
|
32
|
+
version: 7.2.3
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - '='
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: 7.2.
|
|
39
|
+
version: 7.2.3
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
41
|
name: timeout
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -475,10 +475,10 @@ licenses:
|
|
|
475
475
|
- MIT
|
|
476
476
|
metadata:
|
|
477
477
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
|
478
|
-
changelog_uri: https://github.com/rails/rails/blob/v7.2.
|
|
479
|
-
documentation_uri: https://api.rubyonrails.org/v7.2.
|
|
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/
|
|
480
480
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
|
481
|
-
source_code_uri: https://github.com/rails/rails/tree/v7.2.
|
|
481
|
+
source_code_uri: https://github.com/rails/rails/tree/v7.2.3/activerecord
|
|
482
482
|
rubygems_mfa_required: 'true'
|
|
483
483
|
rdoc_options:
|
|
484
484
|
- "--main"
|