Skip to content

Commit 2187039

Browse files
committed
Eliminate uses of lease_connection
See rails/rails#51353
1 parent bba549f commit 2187039

File tree

4 files changed

+29
-21
lines changed

4 files changed

+29
-21
lines changed

lib/active_record/connection_adapters/sqlserver/core_ext/attribute_methods.rb

+6-5
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ module AttributeMethods
1010
private
1111

1212
def attributes_for_update(attribute_names)
13-
return super unless self.class.lease_connection.adapter_name == "SQLServer"
13+
self.class.with_connection do |connection|
14+
return super(attribute_names) unless connection.sqlserver?
1415

15-
super.reject do |name|
16-
column = self.class.columns_hash[name]
17-
column && column.respond_to?(:is_identity?) && column.is_identity?
18-
end
16+
super(attribute_names).reject do |name|
17+
column = self.class.columns_hash[name]
18+
column && column.respond_to?(:is_identity?) && column.is_identity?
19+
end
1920
end
2021
end
2122
end

lib/active_record/connection_adapters/sqlserver/core_ext/calculations.rb

+10-8
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@ module SQLServer
99
module CoreExt
1010
module Calculations
1111
def calculate(operation, column_name)
12-
if klass.lease_connection.sqlserver?
13-
_calculate(operation, column_name)
14-
else
15-
super
16-
end
12+
klass.with_connection do |connection|
13+
if connection.sqlserver?
14+
_calculate(operation, column_name)
15+
else
16+
super
17+
end
1718
end
1819

1920
private
@@ -54,9 +55,10 @@ def _calculate(operation, column_name)
5455
end
5556

5657
def build_count_subquery(relation, column_name, distinct)
57-
return super unless klass.lease_connection.adapter_name == "SQLServer"
58-
59-
super(relation.unscope(:order), column_name, distinct)
58+
klass.with_connection do |connection|
59+
relation = relation.unscope(:order) if connection.sqlserver?
60+
super(relation, column_name, distinct)
61+
end
6062
end
6163
end
6264
end

lib/active_record/connection_adapters/sqlserver/core_ext/explain.rb

+7-4
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@ module Explain
99
SQLSERVER_STATEMENT_REGEXP = /N'(.+)', N'(.+)', (.+)/
1010

1111
def exec_explain(queries, options = [])
12-
return super unless lease_connection.adapter_name == "SQLServer"
12+
with_connection do |connection|
13+
return super(queries, options) unless connection.sqlserver?
1314

14-
unprepared_queries = queries.map do |(sql, binds)|
15-
[unprepare_sqlserver_statement(sql, binds), binds]
15+
unprepared_queries = queries.map do |(sql, binds)|
16+
[unprepare_sqlserver_statement(sql, binds), binds]
17+
end
18+
19+
super(unprepared_queries, options)
1620
end
17-
super(unprepared_queries, options)
1821
end
1922

2023
private

lib/active_record/connection_adapters/sqlserver/core_ext/finder_methods.rb

+6-4
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ module FinderMethods
1111
private
1212

1313
def construct_relation_for_exists(conditions)
14-
if klass.lease_connection.sqlserver?
15-
_construct_relation_for_exists(conditions)
16-
else
17-
super
14+
klass.with_connection do |connection|
15+
if connection.sqlserver?
16+
_construct_relation_for_exists(conditions)
17+
else
18+
super
19+
end
1820
end
1921
end
2022

0 commit comments

Comments
 (0)