Skip to content

Commit c6eaa01

Browse files
committed
Better sqlserver version memoization
1 parent 235765e commit c6eaa01

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

lib/active_record/connection_adapters/sqlserver_adapter.rb

+8-9
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ def sqlserver?
215215
end
216216

217217
def sqlserver_azure?
218-
@sqlserver_azure ||= !!(select_value('SELECT @@version', 'SCHEMA') =~ /Azure/i)
218+
!!(sqlserver_version =~ /Azure/i)
219219
end
220220

221221
def database_prefix_remote_server?
@@ -438,16 +438,15 @@ def initialize_dateformatter
438438
end
439439

440440
def version_year
441-
return @version_year if defined?(@version_year)
442-
@version_year = begin
443-
vstring = _raw_select('SELECT @@version', fetch: :rows).first.first.to_s
444-
return 2016 if vstring =~ /vNext/
445-
/SQL Server (\d+)/.match(vstring).to_a.last.to_s.to_i
446-
rescue Exception => e
447-
2016
448-
end
441+
return 2016 if sqlserver_version =~ /vNext/
442+
/SQL Server (\d+)/.match(sqlserver_version).to_a.last.to_s.to_i
443+
rescue StandardError => e
444+
2016
449445
end
450446

447+
def sqlserver_version
448+
@sqlserver_version ||= _raw_select('SELECT @@version', fetch: :rows).first.first.to_s
449+
end
451450
end
452451
end
453452
end

0 commit comments

Comments
 (0)