File tree Expand file tree Collapse file tree 4 files changed +28
-19
lines changed
lib/active_record/connection_adapters/sqlserver/core_ext Expand file tree Collapse file tree 4 files changed +28
-19
lines changed Original file line number Diff line number Diff line change @@ -10,11 +10,13 @@ module AttributeMethods
10
10
private
11
11
12
12
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?
14
15
15
- super . reject do |name |
16
- column = self . class . columns_hash [ name ]
17
- column && column . respond_to? ( :is_identity? ) && column . is_identity?
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
18
20
end
19
21
end
20
22
end
Original file line number Diff line number Diff line change @@ -9,10 +9,12 @@ module SQLServer
9
9
module CoreExt
10
10
module Calculations
11
11
def calculate ( operation , column_name )
12
- if klass . lease_connection . sqlserver?
13
- _calculate ( operation , column_name )
14
- else
15
- super
12
+ klass . with_connection do |connection |
13
+ if connection . sqlserver?
14
+ _calculate ( operation , column_name )
15
+ else
16
+ super
17
+ end
16
18
end
17
19
end
18
20
@@ -54,9 +56,10 @@ def _calculate(operation, column_name)
54
56
end
55
57
56
58
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 )
59
+ klass . with_connection do |connection |
60
+ relation = relation . unscope ( :order ) if connection . sqlserver?
61
+ super ( relation , column_name , distinct )
62
+ end
60
63
end
61
64
end
62
65
end
Original file line number Diff line number Diff line change @@ -9,12 +9,14 @@ module Explain
9
9
SQLSERVER_STATEMENT_REGEXP = /N'(.+)', N'(.+)', (.+)/
10
10
11
11
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?
13
14
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
+ super ( unprepared_queries , options )
16
19
end
17
- super ( unprepared_queries , options )
18
20
end
19
21
20
22
private
Original file line number Diff line number Diff line change @@ -11,10 +11,12 @@ module FinderMethods
11
11
private
12
12
13
13
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
18
20
end
19
21
end
20
22
You can’t perform that action at this time.
0 commit comments