activerecord-sqlserver-adapter 3.1.0.0 → 3.1.1

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,12 @@
1
1
 
2
+ * 3.1.1 *
3
+
4
+ * Provide a method to override for the quoted string prefix. Not a config because trumping this method will
5
+ have drastically bad results. Fixes #124
6
+
7
+ * Allow :limit/:offset to be used with fully qualified table and column in :select.
8
+
9
+
2
10
  * 3.1.0 *
3
11
 
4
12
  * Add support/test around handling of float/real column types [Lucas Maxwell]
@@ -7,6 +7,8 @@ The SQL Server adapter for ActiveRecord. If you need the adapter for SQL Server
7
7
  == What's New
8
8
 
9
9
  * Rails 3.1 prepared statement support leverages cached query plans.
10
+ If you use DBLIB/TinyTDS, you must use FreeTDS 0.91 !!!!!
11
+ https://github.com/rails-sqlserver/tiny_tds/issues/41
10
12
  * We now support your native language date/time formats automatically!
11
13
  * Default unicode datatypes! Disable with #enable_default_unicode_types to false.
12
14
  * New #lowercase_schema_reflection configuration option for legacy DBs.
@@ -4,6 +4,7 @@ module ActiveRecord
4
4
  module Quoting
5
5
 
6
6
  QUOTED_TRUE, QUOTED_FALSE = '1', '0'
7
+ QUOTED_STRING_PREFIX = 'N'
7
8
 
8
9
  def quote(value, column = nil)
9
10
  case value
@@ -13,7 +14,7 @@ module ActiveRecord
13
14
  elsif column && column.type == :binary
14
15
  column.class.string_to_binary(value)
15
16
  elsif value.is_utf8? || (column && column.type == :string)
16
- "N'#{quote_string(value)}'"
17
+ "#{quoted_string_prefix}'#{quote_string(value)}'"
17
18
  else
18
19
  super
19
20
  end
@@ -31,7 +32,11 @@ module ActiveRecord
31
32
  super
32
33
  end
33
34
  end
34
-
35
+
36
+ def quoted_string_prefix
37
+ QUOTED_STRING_PREFIX
38
+ end
39
+
35
40
  def quote_string(string)
36
41
  string.to_s.gsub(/\'/, "''")
37
42
  end
@@ -0,0 +1,11 @@
1
+ module ActiveRecord
2
+ module ConnectionAdapters
3
+ module Sqlserver
4
+ module Version
5
+
6
+ VERSION = '3.1.1'.freeze
7
+
8
+ end
9
+ end
10
+ end
11
+ end
@@ -7,6 +7,7 @@ require 'active_record/connection_adapters/sqlserver/database_statements'
7
7
  require 'active_record/connection_adapters/sqlserver/errors'
8
8
  require 'active_record/connection_adapters/sqlserver/schema_statements'
9
9
  require 'active_record/connection_adapters/sqlserver/quoting'
10
+ require 'active_record/connection_adapters/sqlserver/version'
10
11
  require 'active_support/core_ext/kernel/requires'
11
12
  require 'active_support/core_ext/string'
12
13
  require 'base64'
@@ -165,9 +166,9 @@ module ActiveRecord
165
166
  include Sqlserver::SchemaStatements
166
167
  include Sqlserver::DatabaseLimits
167
168
  include Sqlserver::Errors
169
+ include Sqlserver::Version
168
170
 
169
171
  ADAPTER_NAME = 'SQLServer'.freeze
170
- VERSION = '3.1.0'.freeze
171
172
  DATABASE_VERSION_REGEXP = /Microsoft SQL Server\s+"?(\d{4}|\w+)"?/
172
173
  SUPPORTED_VERSIONS = [2005,2008,2010,2011].freeze
173
174
 
@@ -329,20 +329,10 @@ module Arel
329
329
  core.projections.map do |x|
330
330
  Arel.sql visit(x).split(',').map{ |y| y.split(' AS ').last.strip }.join(', ')
331
331
  end
332
- elsif function_select_statement?(o)
333
- [Arel.star]
334
332
  elsif select_primary_key_sql?(o)
335
333
  [Arel.sql("[__rnt].#{quote_column_name(core.projections.first.name)}")]
336
334
  else
337
- core.projections.map do |x|
338
- if x.respond_to?(:relation)
339
- x = x.dup
340
- x.relation = x.relation.dup
341
- x.relation.instance_variable_set :@table_alias, Arel.sql('[__rnt].*')
342
- else
343
- x
344
- end
345
- end
335
+ [Arel.sql('[__rnt].*')]
346
336
  end
347
337
  end
348
338
 
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-sqlserver-adapter
3
3
  version: !ruby/object:Gem::Version
4
- hash: 119
4
+ hash: 1
5
5
  prerelease:
6
6
  segments:
7
7
  - 3
8
8
  - 1
9
- - 0
10
- - 0
11
- version: 3.1.0.0
9
+ - 1
10
+ version: 3.1.1
12
11
  platform: ruby
13
12
  authors:
14
13
  - Ken Collins
@@ -20,7 +19,7 @@ autorequire:
20
19
  bindir: bin
21
20
  cert_chain: []
22
21
 
23
- date: 2011-08-31 00:00:00 -04:00
22
+ date: 2011-09-22 00:00:00 -04:00
24
23
  default_executable:
25
24
  dependencies:
26
25
  - !ruby/object:Gem::Dependency
@@ -58,6 +57,7 @@ files:
58
57
  - lib/active_record/connection_adapters/sqlserver/errors.rb
59
58
  - lib/active_record/connection_adapters/sqlserver/quoting.rb
60
59
  - lib/active_record/connection_adapters/sqlserver/schema_statements.rb
60
+ - lib/active_record/connection_adapters/sqlserver/version.rb
61
61
  - lib/active_record/connection_adapters/sqlserver_adapter.rb
62
62
  - lib/activerecord-sqlserver-adapter.rb
63
63
  - lib/arel/visitors/sqlserver.rb