Skip to content

Commit d0fb967

Browse files
authored
Verify connection before retrieving the database version (#1363)
1 parent f7130d0 commit d0fb967

File tree

3 files changed

+20
-6
lines changed

3 files changed

+20
-6
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## Unreleased
2+
3+
#### Fixed
4+
5+
- [#1363](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1363) Verify connection before retrieving the database version.
6+
17
## v7.1.11
28

39
#### Fixed

lib/active_record/connection_adapters/sqlserver_adapter.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -493,19 +493,19 @@ def initialize_dateformatter
493493
end
494494

495495
def version_year
496-
@version_year ||= begin
497-
if sqlserver_version =~ /vNext/
496+
@version_year ||=
497+
if /vNext/.match?(sqlserver_version)
498498
2016
499499
else
500500
/SQL Server (\d+)/.match(sqlserver_version).to_a.last.to_s.to_i
501501
end
502-
rescue StandardError
503-
2016
504-
end
505502
end
506503

507504
def sqlserver_version
508-
@sqlserver_version ||= _raw_select("SELECT @@version", @raw_connection).first.first.to_s
505+
@sqlserver_version ||= begin
506+
verify!
507+
_raw_select("SELECT @@version", @raw_connection).first.first.to_s
508+
end
509509
end
510510

511511
private

test/cases/helper_sqlserver.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@
1414
require "support/connection_reflection"
1515
require "mocha/minitest"
1616

17+
Minitest.after_run do
18+
puts "\n\n"
19+
puts "=" * 80
20+
puts ActiveRecord::Base.connection.send(:sqlserver_version)
21+
puts "\nSQL Server Version Year: #{ActiveRecord::Base.connection.get_database_version}"
22+
puts "=" * 80
23+
end
24+
1725
module ActiveRecord
1826
class TestCase < ActiveSupport::TestCase
1927
SQLServer = ActiveRecord::ConnectionAdapters::SQLServer

0 commit comments

Comments
 (0)