Skip to content

Commit 58e7ac1

Browse files
committed
Store the owning connection inside QueryIntent
Ref: rails/rails@b57d485
1 parent 0d78c8e commit 58e7ac1

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

lib/active_record/connection_adapters/sqlserver/database_statements.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def delete(arel, name = nil, binds = [])
7171
ActiveRecord::Base.clear_query_caches_for_current_thread
7272
end
7373

74-
intent = QueryIntent.new(arel: arel, name: name, binds: binds)
74+
intent = QueryIntent.new(adapter: self, arel: arel, name: name, binds: binds)
7575

7676
# Compile Arel to get SQL
7777
compile_arel_in_intent(intent)
@@ -91,7 +91,7 @@ def update(arel, name = nil, binds = [])
9191
ActiveRecord::Base.clear_query_caches_for_current_thread
9292
end
9393

94-
intent = QueryIntent.new(arel: arel, name: name, binds: binds)
94+
intent = QueryIntent.new(adapter: self, arel: arel, name: name, binds: binds)
9595

9696
# Compile Arel to get SQL
9797
compile_arel_in_intent(intent)
@@ -269,7 +269,7 @@ def execute_procedure(proc_name, *variables)
269269
end.join(", ")
270270
sql = "EXEC #{proc_name} #{vars}".strip
271271

272-
intent = QueryIntent.new(processed_sql: sql)
272+
intent = QueryIntent.new(adapter: self, processed_sql: sql)
273273

274274
log(intent, "Execute Procedure") do |notification_payload|
275275
with_raw_connection do |conn|
@@ -594,7 +594,7 @@ def get_columns_with_uniqueness_constraints(insert_all:, insert:)
594594
# Discard constraints that are not fully included on insert.keys. Prevents invalid queries.
595595
# Example: ignore unique index for columns ["name"] if insert keys is ["description"]
596596
(insert_all.send(:unique_indexes).map(&:columns) + [insert_all.primary_keys]).select do |columns|
597-
columns.to_set.subset?(insert.keys)
597+
columns.to_set.subset?(insert.keys.to_set)
598598
end
599599
end
600600
end

lib/active_record/connection_adapters/sqlserver/schema_statements.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def drop_table(*table_names, **options)
3333

3434
def indexes(table_name)
3535
data = begin
36-
intent = QueryIntent.new(raw_sql: "EXEC sp_helpindex #{quote(table_name)}", name: "SCHEMA")
36+
intent = QueryIntent.new(adapter: self, raw_sql: "EXEC sp_helpindex #{quote(table_name)}", name: "SCHEMA")
3737
select(intent)
3838
rescue
3939
[]

lib/active_record/connection_adapters/sqlserver/showplan.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def with_showplan_on
3030
end
3131

3232
def set_showplan_option(enable = true)
33-
intent = QueryIntent.new(raw_sql: "SET #{showplan_option} #{enable ? "ON" : "OFF"}", name: "SCHEMA")
33+
intent = QueryIntent.new(adapter: self, raw_sql: "SET #{showplan_option} #{enable ? "ON" : "OFF"}", name: "SCHEMA")
3434
raw_execute(intent)
3535
rescue
3636
raise ActiveRecordError, "#{showplan_option} could not be turned #{enable ? "ON" : "OFF"}, perhaps you do not have SHOWPLAN permissions?"

0 commit comments

Comments
 (0)