activerecord-sqlserver-adapter 2.3.19 → 2.3.20

Sign up to get free protection for your applications and to get access to all the features.
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