diff --git a/CHANGELOG.md b/CHANGELOG.md index 122f09ee8..c16114a5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,8 @@ -## v7.1.11 +## Unreleased + +#### Fixed + +Correctly retrieve the SQL Server database version. #### Fixed diff --git a/lib/active_record/connection_adapters/sqlserver_adapter.rb b/lib/active_record/connection_adapters/sqlserver_adapter.rb index 1e272d913..e89f0e091 100644 --- a/lib/active_record/connection_adapters/sqlserver_adapter.rb +++ b/lib/active_record/connection_adapters/sqlserver_adapter.rb @@ -505,7 +505,7 @@ def version_year end def sqlserver_version - @sqlserver_version ||= _raw_select("SELECT @@version", @raw_connection).first.first.to_s + @sqlserver_version ||= execute("SELECT @@version", "SCHEMA").rows.first.first.to_s end private diff --git a/test/cases/adapter_test_sqlserver.rb b/test/cases/adapter_test_sqlserver.rb index cb433b74e..54e4a7a02 100644 --- a/test/cases/adapter_test_sqlserver.rb +++ b/test/cases/adapter_test_sqlserver.rb @@ -129,6 +129,16 @@ class AdapterTestSQLServer < ActiveRecord::TestCase end end + it 'test proper connection before fetching sqlserver_version' + connection.disconnect! + + assert_nothing_raised do + version = connection.sqlserver_version + assert version.is_a?(String) + assert version.length > 0 + end + end + describe "with different language" do before do @default_language = connection.user_options_language