activerecord-sqlserver-adapter 2.3.19 → 2.3.20

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,9 @@
1
1
 
2
+ * 2.3.20 *
3
+
4
+ * Fixes quote column names and passes tests for ActiveRecord 2.3.14.
5
+
6
+
2
7
  * 2.3.19 *
3
8
 
4
9
  * Allow drop_database to be called even when DB does not exist.
@@ -147,7 +147,7 @@ module ActiveRecord
147
147
  class SQLServerAdapter < AbstractAdapter
148
148
 
149
149
  ADAPTER_NAME = 'SQLServer'.freeze
150
- VERSION = '2.3.19'.freeze
150
+ VERSION = '2.3.20'.freeze
151
151
  DATABASE_VERSION_REGEXP = /Microsoft SQL Server\s+(\d{4})/
152
152
  SUPPORTED_VERSIONS = [2000,2005,2008].freeze
153
153
  LIMITABLE_TYPES = ['string','integer','float','char','nchar','varchar','nvarchar'].to_set.freeze
@@ -284,7 +284,7 @@ module ActiveRecord
284
284
 
285
285
  def quote_column_name(name)
286
286
  @sqlserver_quoted_column_and_table_names[name] ||=
287
- name.to_s.split('.').map{ |n| n =~ /^\[.*\]$/ ? n : "[#{n}]" }.join('.')
287
+ name.to_s.split('.').map{ |n| n =~ /^\[.*\]$/ ? n : "[#{n.to_s.gsub(']', ']]')}]" }.join('.')
288
288
  end
289
289
 
290
290
  def quote_table_name(name)
@@ -8,6 +8,7 @@ end
8
8
  class BasicsTest < ActiveRecord::TestCase
9
9
 
10
10
  COERCED_TESTS = [
11
+ :test_column_names_are_escaped,
11
12
  :test_read_attributes_before_type_cast_on_datetime,
12
13
  :test_preserving_date_objects,
13
14
  :test_to_xml ]
@@ -16,6 +17,10 @@ class BasicsTest < ActiveRecord::TestCase
16
17
 
17
18
  fixtures :developers
18
19
 
20
+ def test_coerced_column_names_are_escaped
21
+ assert_equal "[foo]]bar]", ActiveRecord::Base.connection.quote_column_name("foo]bar")
22
+ end
23
+
19
24
  def test_coerced_test_read_attributes_before_type_cast_on_datetime
20
25
  developer = Developer.find(:first)
21
26
  if developer.created_at_before_type_cast.is_a?(String)
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: 37
4
+ hash: 43
5
5
  prerelease:
6
6
  segments:
7
7
  - 2
8
8
  - 3
9
- - 19
10
- version: 2.3.19
9
+ - 20
10
+ version: 2.3.20
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-06-19 00:00:00 -04:00
22
+ date: 2011-08-17 00:00:00 -04:00
23
23
  default_executable:
24
24
  dependencies:
25
25
  - !ruby/object:Gem::Dependency