activerecord-sqlserver-adapter 3.0.18 → 3.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG
CHANGED
@@ -1,4 +1,17 @@
|
|
1
1
|
|
2
|
+
* 3.0.19 *
|
3
|
+
|
4
|
+
* Create a #configure_connection method that can be overridden. Think "SET TEXTSIZE...".
|
5
|
+
|
6
|
+
* Create a #configure_application_name method that can be overridden for unique TinyTDS app names
|
7
|
+
to show up in SQL Server's activity monitor.
|
8
|
+
|
9
|
+
* Fixed the #finish_statement_handle to cancel the TinyTDS connection if needed.
|
10
|
+
|
11
|
+
* Fix the #indexes method to fail gracefully if sp_helptext permissions fail.
|
12
|
+
|
13
|
+
|
14
|
+
|
2
15
|
* 3.0.18 *
|
3
16
|
|
4
17
|
* Make #rollback_db_transaction smarter.
|
@@ -398,7 +398,8 @@ module ActiveRecord
|
|
398
398
|
|
399
399
|
def finish_statement_handle(handle)
|
400
400
|
case @connection_options[:mode]
|
401
|
-
when :dblib
|
401
|
+
when :dblib
|
402
|
+
handle.cancel if handle
|
402
403
|
when :odbc
|
403
404
|
handle.drop if handle && handle.respond_to?(:drop) && !handle.finished?
|
404
405
|
when :adonet
|
@@ -20,7 +20,8 @@ module ActiveRecord
|
|
20
20
|
|
21
21
|
def indexes(table_name, name = nil)
|
22
22
|
unquoted_table_name = unqualify_table_name(table_name)
|
23
|
-
select("EXEC sp_helpindex #{quote_table_name(unquoted_table_name)}",name)
|
23
|
+
data = select("EXEC sp_helpindex #{quote_table_name(unquoted_table_name)}",name) rescue []
|
24
|
+
data.inject([]) do |indexes,index|
|
24
25
|
index = index.with_indifferent_access
|
25
26
|
if index[:index_description] =~ /primary key/
|
26
27
|
indexes
|
@@ -164,7 +164,7 @@ module ActiveRecord
|
|
164
164
|
include Sqlserver::Errors
|
165
165
|
|
166
166
|
ADAPTER_NAME = 'SQLServer'.freeze
|
167
|
-
VERSION = '3.0.
|
167
|
+
VERSION = '3.0.19'.freeze
|
168
168
|
DATABASE_VERSION_REGEXP = /Microsoft SQL Server\s+"?(\d{4}|\w+)"?/
|
169
169
|
SUPPORTED_VERSIONS = [2005,2008,2010,2011].freeze
|
170
170
|
|
@@ -358,7 +358,7 @@ module ActiveRecord
|
|
358
358
|
config = @connection_options
|
359
359
|
@connection = case @connection_options[:mode]
|
360
360
|
when :dblib
|
361
|
-
appname = config[:appname] || Rails.application.class.name.split('::').first rescue nil
|
361
|
+
appname = config[:appname] || configure_application_name || Rails.application.class.name.split('::').first rescue nil
|
362
362
|
login_timeout = config[:login_timeout].present? ? config[:login_timeout].to_i : nil
|
363
363
|
timeout = config[:timeout].present? ? config[:timeout].to_i/1000 : nil
|
364
364
|
encoding = config[:encoding].present? ? config[:encoding] : nil
|
@@ -423,10 +423,24 @@ module ActiveRecord
|
|
423
423
|
connection.open
|
424
424
|
end
|
425
425
|
end
|
426
|
+
configure_connection
|
426
427
|
rescue
|
427
428
|
raise unless @auto_connecting
|
428
429
|
end
|
429
430
|
|
431
|
+
# Override this method so every connection can be configured to your needs.
|
432
|
+
# For example:
|
433
|
+
# do_execute "SET TEXTSIZE #{64.megabytes}"
|
434
|
+
# do_execute "SET CONCAT_NULL_YIELDS_NULL ON"
|
435
|
+
def configure_connection
|
436
|
+
end
|
437
|
+
|
438
|
+
# Override this method so every connection can have a unique name. Max 30 characters. Used by TinyTDS only.
|
439
|
+
# For example:
|
440
|
+
# "myapp_#{$$}_#{Thread.current.object_id}".to(29)
|
441
|
+
def configure_application_name
|
442
|
+
end
|
443
|
+
|
430
444
|
def remove_database_connections_and_rollback(database=nil)
|
431
445
|
database ||= current_database
|
432
446
|
do_execute "ALTER DATABASE #{quote_table_name(database)} SET SINGLE_USER WITH ROLLBACK IMMEDIATE"
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-sqlserver-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 33
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 3.0.
|
9
|
+
- 19
|
10
|
+
version: 3.0.19
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ken Collins
|
@@ -19,7 +19,7 @@ autorequire:
|
|
19
19
|
bindir: bin
|
20
20
|
cert_chain: []
|
21
21
|
|
22
|
-
date: 2011-10-
|
22
|
+
date: 2011-10-23 00:00:00 -04:00
|
23
23
|
default_executable:
|
24
24
|
dependencies:
|
25
25
|
- !ruby/object:Gem::Dependency
|