Skip to content

Commit 2e23939

Browse files
authored
Correctly retrieve the SQL Server database version (#1313)
1 parent b3208b4 commit 2e23939

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,8 @@
99

1010
- [#1273](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1273) TinyTDS v3+ is now required.
1111

12+
#### Fixed
13+
14+
- [#1313](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1313) Correctly retrieve the SQL Server database version.
1215

1316
Please check [8-0-stable](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/8-0-stable/CHANGELOG.md) for previous changes.

lib/active_record/connection_adapters/sqlserver_adapter.rb

+2-5
Original file line numberDiff line numberDiff line change
@@ -486,19 +486,16 @@ def initialize_dateformatter
486486
end
487487

488488
def version_year
489-
@version_year ||= begin
489+
@version_year ||=
490490
if /vNext/.match?(sqlserver_version)
491491
2016
492492
else
493493
/SQL Server (\d+)/.match(sqlserver_version).to_a.last.to_s.to_i
494494
end
495-
rescue
496-
2016
497-
end
498495
end
499496

500497
def sqlserver_version
501-
@sqlserver_version ||= _raw_select("SELECT @@version", @raw_connection).first.first.to_s
498+
@sqlserver_version ||= execute("SELECT @@version", "SCHEMA").rows.first.first.to_s
502499
end
503500

504501
private

test/cases/helper_sqlserver.rb

+8
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@
1515
require "support/query_assertions"
1616
require "mocha/minitest"
1717

18+
Minitest.after_run do
19+
puts "\n\n"
20+
puts "=" * 80
21+
puts ActiveRecord::Base.lease_connection.send(:sqlserver_version)
22+
puts "\nSQL Server Version Year: #{ActiveRecord::Base.lease_connection.get_database_version}"
23+
puts "=" * 80
24+
end
25+
1826
module ActiveSupport
1927
class TestCase < ::Minitest::Test
2028
include ARTest::SQLServer::CoerceableTest

0 commit comments

Comments
 (0)