Skip to content

Commit c89ccfe

Browse files
author
Aidan Haran
committed
Moved exception code to the new_client method
1 parent 91f413c commit c89ccfe

File tree

2 files changed

+6
-10
lines changed

2 files changed

+6
-10
lines changed

lib/active_record/connection_adapters/sqlserver_adapter.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,10 @@ class << self
6363
def new_client(config)
6464
case config[:mode]
6565
when :dblib
66+
require "tiny_tds"
6667
dblib_connect(config)
68+
else
69+
raise ArgumentError, "Unknown connection mode in #{config.inspect}."
6770
end
6871
end
6972

@@ -97,6 +100,9 @@ def dblib_connect(config)
97100
client.execute("SET TEXTSIZE 2147483647").do
98101
client.execute("SET CONCAT_NULL_YIELDS_NULL ON").do
99102
end
103+
rescue TinyTds::Error => e
104+
raise ActiveRecord::NoDatabaseError if e.message.match(/database .* does not exist/i)
105+
raise e
100106
end
101107

102108
def config_appname(config)

lib/active_record/sqlserver_base.rb

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,12 @@ def sqlserver_connection(config) #:nodoc:
77
config.reverse_merge!(mode: :dblib)
88
config[:mode] = config[:mode].to_s.downcase.underscore.to_sym
99

10-
case config[:mode]
11-
when :dblib
12-
require "tiny_tds"
13-
else
14-
raise ArgumentError, "Unknown connection mode in #{config.inspect}."
15-
end
16-
1710
ConnectionAdapters::SQLServerAdapter.new(
1811
ConnectionAdapters::SQLServerAdapter.new_client(config),
1912
logger,
2013
nil,
2114
config
2215
)
23-
rescue TinyTds::Error => e
24-
raise ActiveRecord::NoDatabaseError if e.message.match(/database .* does not exist/i)
25-
raise e
2616
end
2717
end
2818
end

0 commit comments

Comments
 (0)