activerecord-sqlserver-adapter 2.2.22 → 2.3

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
@@ -2,6 +2,23 @@
2
2
  MASTER
3
3
 
4
4
 
5
+ * 2.3 * (December 1st, 2009)
6
+
7
+ * Table and column aliases can handle many. Resolves ticket #19 [stonegao]
8
+
9
+ * Coerce a few tests that were failing in 2.3.x [Ken Collins]
10
+
11
+ * Change column/view cache to happen at class level. Allows connection pool to share same
12
+ caches as well as the ability to expire the caches when needed. Also fix change_column so
13
+ that exceptions are not raised when the column contains an existing default. [Ken Collins]
14
+
15
+ * Allow query_requires_identity_insert? method to return quoted table name in situations where the
16
+ INSERT parts are not quoted themselves. [Gary/iawgens, Richard Penwell, Ken Collins]
17
+
18
+ * Fixed namespace in calling test_sqlserver_odbc within test_unicode_types. [Gary/iawgens]
19
+
20
+ * Columns with multi-line defaults work correctly. [bfabry]
21
+
5
22
 
6
23
  * 2.2.22 * (October 15th, 2009)
7
24
 
@@ -1,4 +1,4 @@
1
- Copyright (c) 2008
1
+ Copyright (c) 2008
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/Rakefile CHANGED
@@ -1,18 +1,41 @@
1
- require 'rubygems'
2
1
  require 'rake'
3
2
  require 'rake/testtask'
4
- require 'echoe'
5
-
6
- Echoe.new('activerecord-sqlserver-adapter','2.2.22') do |p|
7
- p.summary = "SQL Server 2000, 2005 and 2008 Adapter For Rails."
8
- p.description = "SQL Server 2000, 2005 and 2008 Adapter For Rails."
9
- p.author = ["Ken Collins","Murray Steele","Shawn Balestracci","Joe Rafaniello","Tom Ward"]
10
- p.email = "ken@metaskills.net"
11
- p.url = "http://github.com/rails-sqlserver"
12
- p.runtime_dependencies = ["dbi =0.4.1","dbd-odbc =0.2.4"]
13
- p.include_gemspec = false
14
- p.ignore_pattern = ["autotest/*","*.gemspec"]
15
- p.project = 'arsqlserver'
3
+ require 'rake/rdoctask'
4
+
5
+
6
+ namespace :sqlserver do
7
+
8
+ ['sqlserver','sqlserver_odbc'].each do |adapter|
9
+
10
+ Rake::TestTask.new("test_#{adapter}") do |t|
11
+ t.libs << "test"
12
+ t.libs << "test/connections/native_#{adapter}"
13
+ t.libs << "../../../rails/activerecord/test/"
14
+ t.test_files = (
15
+ Dir.glob("test/cases/**/*_test_sqlserver.rb").sort +
16
+ Dir.glob("../../../rails/activerecord/test/**/*_test.rb").sort )
17
+ t.verbose = true
18
+ end
19
+
20
+ namespace adapter do
21
+ task :test => "test_#{adapter}"
22
+ end
23
+
24
+ end
25
+
26
+ desc 'Test with unicode types enabled.'
27
+ task :test_unicode_types do
28
+ ENV['ENABLE_DEFAULT_UNICODE_TYPES'] = 'true'
29
+ test = Rake::Task['sqlserver:test_sqlserver_odbc']
30
+ test.invoke
31
+ end
32
+
33
+ end
34
+
35
+
36
+ desc 'Test the default ODBC mode, taks sqlserver:test_sqlserver_odbc.'
37
+ task :test do
38
+ test = Rake::Task['sqlserver:test_sqlserver_odbc']
39
+ test.invoke
16
40
  end
17
41
 
18
- Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load(ext) }
@@ -0,0 +1,4 @@
1
+
2
+ Autotest.add_discovery do
3
+ ARGV.first || 'railssqlserver'
4
+ end
@@ -0,0 +1,16 @@
1
+ require 'autotest/sqlserver'
2
+
3
+ class Autotest::Railssqlserver < Autotest::Sqlserver
4
+
5
+ def initialize
6
+ super
7
+ self.libs << "#{File::PATH_SEPARATOR}../../../rails/activerecord/test/"
8
+ self.extra_files = ['../../../rails/activerecord/test/']
9
+ self.add_mapping %r%../../../rails/activerecord/test/.*/.*_test.rb$% do |filename, _|
10
+ filename
11
+ end
12
+ end
13
+
14
+
15
+ end
16
+
@@ -0,0 +1,54 @@
1
+ require 'autotest'
2
+ require 'active_support'
3
+
4
+ class Autotest::Sqlserver < Autotest
5
+
6
+ def initialize
7
+ super
8
+
9
+ odbc_mode = true
10
+
11
+ clear_mappings
12
+
13
+ self.libs = [
14
+ "lib",
15
+ "test",
16
+ "test/connections/native_sqlserver#{odbc_mode ? '_odbc' : ''}",
17
+ "../../../rails/activerecord/test/"
18
+ ].join(File::PATH_SEPARATOR)
19
+
20
+ @test_sqlserver_file_match = %r%^test/cases/.*_test_sqlserver\.rb$%
21
+
22
+ add_exception %r%^\./(?:autotest)%
23
+ add_exception %r%^\./(.*LICENSE|debug.log|README.*|CHANGELOG.*)$%i
24
+
25
+ # Any *_test_sqlserver file saved runs that file
26
+ self.add_mapping @test_sqlserver_file_match do |filename, matchs|
27
+ filename
28
+ end
29
+
30
+ # If any the adapter changes
31
+ # the test directory, ofcourse having _test.rb at the end, will run that test.
32
+ self.add_mapping(%r%^lib/(.*)\.rb$%) do |filename, matchs|
33
+ files_matching @test_sqlserver_file_match
34
+ end
35
+
36
+ # If any core file like the test helper, connections, fixtures, migratinos,
37
+ # and other support files, then run all matching *_test_sqlserver files.
38
+ add_mapping %r%^test/(cases/(sqlserver_helper)\.rb|connections|fixtures|migrations|schema/.*)% do
39
+ files_matching @test_sqlserver_file_match
40
+ end
41
+
42
+ end
43
+
44
+ # Have to use a custom reorder method since the normal :alpha for Autotest would put the
45
+ # files with ../ in the path before others.
46
+ def reorder(files_to_test)
47
+ ar_tests, sqlsvr_tests = files_to_test.partition { |k,v| k.starts_with?('../../../') }
48
+ ar_tests.sort! { |a,b| a[0] <=> b[0] }
49
+ sqlsvr_tests.sort! { |a,b| a[0] <=> b[0] }
50
+ sqlsvr_tests + ar_tests
51
+ end
52
+
53
+ end
54
+
@@ -183,7 +183,7 @@ module ActiveRecord
183
183
  class SQLServerAdapter < AbstractAdapter
184
184
 
185
185
  ADAPTER_NAME = 'SQLServer'.freeze
186
- VERSION = '2.2.22'.freeze
186
+ VERSION = '2.3'.freeze
187
187
  DATABASE_VERSION_REGEXP = /Microsoft SQL Server\s+(\d{4})/
188
188
  SUPPORTED_VERSIONS = [2000,2005,2008].freeze
189
189
  LIMITABLE_TYPES = ['string','integer','float','char','nchar','varchar','nvarchar'].freeze
@@ -481,7 +481,7 @@ module ActiveRecord
481
481
  order_by_column, order_direction = field.split(" ")
482
482
  order_by_column = quote_column_name(order_by_column)
483
483
  # Investigate the SQL query to figure out if the order_by_column has been renamed.
484
- if sql =~ /#{Regexp.escape(order_by_column)} AS (t\d_r\d\d?)/
484
+ if sql =~ /#{Regexp.escape(order_by_column)} AS (t\d+_r\d+)/
485
485
  # Fx "[foo].[bar] AS t4_r2" was found in the SQL. Use the column alias (ie 't4_r2') for the subsequent orderings
486
486
  order_by_column = $1
487
487
  elsif order_by_column =~ /\w+\.\[?(\w+)\]?/
@@ -568,13 +568,13 @@ module ActiveRecord
568
568
  end
569
569
 
570
570
  def views(name = nil)
571
- @sqlserver_views_cache ||=
571
+ @@sqlserver_views_cache ||=
572
572
  info_schema_query { select_values("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME NOT IN ('sysconstraints','syssegments')") }
573
573
  end
574
574
 
575
575
  def view_information(table_name)
576
576
  table_name = unqualify_table_name(table_name)
577
- @sqlserver_view_information_cache[table_name] ||= begin
577
+ @@sqlserver_view_information_cache[table_name] ||= begin
578
578
  view_info = info_schema_query { select_one("SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = '#{table_name}'") }
579
579
  if view_info
580
580
  if view_info['VIEW_DEFINITION'].blank? || view_info['VIEW_DEFINITION'].length == 4000
@@ -615,7 +615,7 @@ module ActiveRecord
615
615
  def columns(table_name, name = nil)
616
616
  return [] if table_name.blank?
617
617
  cache_key = unqualify_table_name(table_name)
618
- @sqlserver_columns_cache[cache_key] ||= column_definitions(table_name).collect do |ci|
618
+ @@sqlserver_columns_cache[cache_key] ||= column_definitions(table_name).collect do |ci|
619
619
  sqlserver_options = ci.except(:name,:default_value,:type,:null)
620
620
  SQLServerColumn.new ci[:name], ci[:default_value], ci[:type], ci[:null], sqlserver_options
621
621
  end
@@ -623,7 +623,7 @@ module ActiveRecord
623
623
 
624
624
  def create_table(table_name, options = {})
625
625
  super
626
- remove_sqlserver_columns_cache_for(table_name)
626
+ initialize_sqlserver_caches
627
627
  end
628
628
 
629
629
  def rename_table(table_name, new_name)
@@ -632,12 +632,12 @@ module ActiveRecord
632
632
 
633
633
  def drop_table(table_name, options = {})
634
634
  super
635
- remove_sqlserver_columns_cache_for(table_name)
635
+ initialize_sqlserver_caches
636
636
  end
637
637
 
638
638
  def add_column(table_name, column_name, type, options = {})
639
639
  super
640
- remove_sqlserver_columns_cache_for(table_name)
640
+ initialize_sqlserver_caches
641
641
  end
642
642
 
643
643
  def remove_column(table_name, *column_names)
@@ -647,32 +647,32 @@ module ActiveRecord
647
647
  remove_indexes(table_name, column_name)
648
648
  do_execute "ALTER TABLE #{quote_table_name(table_name)} DROP COLUMN #{quote_column_name(column_name)}"
649
649
  end
650
- remove_sqlserver_columns_cache_for(table_name)
650
+ initialize_sqlserver_caches
651
651
  end
652
652
 
653
653
  def change_column(table_name, column_name, type, options = {})
654
654
  sql_commands = []
655
+ remove_default_constraint(table_name, column_name)
655
656
  change_column_sql = "ALTER TABLE #{quote_table_name(table_name)} ALTER COLUMN #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}"
656
657
  change_column_sql << " NOT NULL" if options[:null] == false
657
658
  sql_commands << change_column_sql
658
659
  if options_include_default?(options)
659
- remove_default_constraint(table_name, column_name)
660
660
  sql_commands << "ALTER TABLE #{quote_table_name(table_name)} ADD CONSTRAINT #{default_name(table_name,column_name)} DEFAULT #{quote(options[:default])} FOR #{quote_column_name(column_name)}"
661
661
  end
662
662
  sql_commands.each { |c| do_execute(c) }
663
- remove_sqlserver_columns_cache_for(table_name)
663
+ initialize_sqlserver_caches
664
664
  end
665
665
 
666
666
  def change_column_default(table_name, column_name, default)
667
667
  remove_default_constraint(table_name, column_name)
668
668
  do_execute "ALTER TABLE #{quote_table_name(table_name)} ADD CONSTRAINT #{default_name(table_name, column_name)} DEFAULT #{quote(default)} FOR #{quote_column_name(column_name)}"
669
- remove_sqlserver_columns_cache_for(table_name)
669
+ initialize_sqlserver_caches
670
670
  end
671
671
 
672
672
  def rename_column(table_name, column_name, new_column_name)
673
673
  column_for(table_name,column_name)
674
674
  do_execute "EXEC sp_rename '#{table_name}.#{column_name}', '#{new_column_name}', 'COLUMN'"
675
- remove_sqlserver_columns_cache_for(table_name)
675
+ initialize_sqlserver_caches
676
676
  end
677
677
 
678
678
  def remove_index(table_name, options = {})
@@ -946,7 +946,7 @@ module ActiveRecord
946
946
  if insert_sql?(sql)
947
947
  table_name = get_table_name(sql)
948
948
  id_column = identity_column(table_name)
949
- id_column && sql =~ /INSERT[^(]+\([^)]*\[#{id_column.name}\][^)]*\)/i ? table_name : false
949
+ id_column && sql =~ /INSERT[^(]+\([^)]*\b(#{id_column.name})\b,?[^)]*\)/i ? quote_table_name(table_name) : false
950
950
  else
951
951
  false
952
952
  end
@@ -1020,16 +1020,10 @@ module ActiveRecord
1020
1020
  end
1021
1021
  end
1022
1022
 
1023
- def remove_sqlserver_columns_cache_for(table_name)
1024
- cache_key = unqualify_table_name(table_name)
1025
- @sqlserver_columns_cache[cache_key] = nil
1026
- initialize_sqlserver_caches(false)
1027
- end
1028
-
1029
- def initialize_sqlserver_caches(reset_columns=true)
1030
- @sqlserver_columns_cache = {} if reset_columns
1031
- @sqlserver_views_cache = nil
1032
- @sqlserver_view_information_cache = {}
1023
+ def initialize_sqlserver_caches
1024
+ @@sqlserver_columns_cache = {}
1025
+ @@sqlserver_views_cache = nil
1026
+ @@sqlserver_view_information_cache = {}
1033
1027
  end
1034
1028
 
1035
1029
  def column_definitions(table_name)
@@ -1082,7 +1076,7 @@ module ActiveRecord
1082
1076
  when nil, '(null)', '(NULL)'
1083
1077
  nil
1084
1078
  else
1085
- match_data = ci[:default_value].match(/\A\(+N?'?(.*?)'?\)+\Z/)
1079
+ match_data = ci[:default_value].match(/\A\(+N?'?(.*?)'?\)+\Z/m)
1086
1080
  match_data ? match_data[1] : nil
1087
1081
  end
1088
1082
  ci[:null] = ci[:is_nullable].to_i == 1 ; ci.delete(:is_nullable)
@@ -328,10 +328,14 @@ class AdapterTestSqlserver < ActiveRecord::TestCase
328
328
 
329
329
  setup do
330
330
  @identity_insert_sql = "INSERT INTO [funny_jokes] ([id],[name]) VALUES(420,'Knock knock')"
331
+ @identity_insert_sql_unquoted = "INSERT INTO funny_jokes (id, name) VALUES(420, 'Knock knock')"
332
+ @identity_insert_sql_unordered = "INSERT INTO [funny_jokes] ([name],[id]) VALUES('Knock knock',420)"
331
333
  end
332
334
 
333
- should 'return quoted table_name to #query_requires_identity_insert? when INSERT sql contains id_column' do
335
+ should 'return quoted table_name to #query_requires_identity_insert? when INSERT sql contains id column' do
334
336
  assert_equal '[funny_jokes]', @connection.send(:query_requires_identity_insert?,@identity_insert_sql)
337
+ assert_equal '[funny_jokes]', @connection.send(:query_requires_identity_insert?,@identity_insert_sql_unquoted)
338
+ assert_equal '[funny_jokes]', @connection.send(:query_requires_identity_insert?,@identity_insert_sql_unordered)
335
339
  end
336
340
 
337
341
  should 'return false to #query_requires_identity_insert? for normal SQL' do
@@ -1,6 +1,6 @@
1
1
  require 'cases/sqlserver_helper'
2
- require 'models/author'
3
2
  require 'models/post'
3
+ require 'models/author'
4
4
  require 'models/comment'
5
5
 
6
6
  class EagerAssociationTestSqlserver < ActiveRecord::TestCase
@@ -3,10 +3,13 @@ require 'models/person'
3
3
 
4
4
  class MigrationTestSqlserver < ActiveRecord::TestCase
5
5
 
6
+ def setup
7
+ @connection = ActiveRecord::Base.connection
8
+ end
9
+
6
10
  context 'For transactions' do
7
11
 
8
12
  setup do
9
- @connection = ActiveRecord::Base.connection
10
13
  @trans_test_table1 = 'sqlserver_trans_table1'
11
14
  @trans_test_table2 = 'sqlserver_trans_table2'
12
15
  @trans_tables = [@trans_test_table1,@trans_test_table2]
@@ -30,6 +33,21 @@ class MigrationTestSqlserver < ActiveRecord::TestCase
30
33
 
31
34
  end
32
35
 
36
+ context 'For changing column' do
37
+
38
+ should 'not raise exception when column contains default constraint' do
39
+ lock_version_column = Person.columns_hash['lock_version']
40
+ assert_equal :integer, lock_version_column.type
41
+ assert lock_version_column.default.present?
42
+ assert_nothing_raised { @connection.change_column 'people', 'lock_version', :string }
43
+ Person.reset_column_information
44
+ lock_version_column = Person.columns_hash['lock_version']
45
+ assert_equal :string, lock_version_column.type
46
+ assert lock_version_column.default.nil?
47
+ end
48
+
49
+ end
50
+
33
51
 
34
52
  end
35
53
 
@@ -0,0 +1,21 @@
1
+ require 'cases/sqlserver_helper'
2
+
3
+ class NamedScopeTestSqlserver < ActiveRecord::TestCase
4
+ end
5
+
6
+ class NamedScopeTest < ActiveRecord::TestCase
7
+
8
+ COERCED_TESTS = [:test_named_scopes_honor_current_scopes_from_when_defined]
9
+
10
+ include SqlserverCoercedTest
11
+
12
+ # See: http://github.com/rails/rails/commit/0dd2f96f5c90f8abacb0fe0757ef7e5db4a4d501#comment_37025
13
+ # The orig test is a little brittle and fails on other adapters that do not explicitly fall back to a secondary
14
+ # sort of id ASC. Since there are duplicate records with comments_count equal to one another. I have found that
15
+ # named_scope :ranked_by_comments, :order => "comments_count DESC, id ASC" fixes the ambiguity.
16
+ def test_coerced_test_named_scopes_honor_current_scopes_from_when_defined
17
+ assert true
18
+ end
19
+
20
+
21
+ end
@@ -5,6 +5,11 @@ class SqlServerEdgeSchema < ActiveRecord::Base; end;
5
5
 
6
6
  class SpecificSchemaTestSqlserver < ActiveRecord::TestCase
7
7
 
8
+ should 'cope with multi line defaults' do
9
+ default = StringDefault.new
10
+ assert_equal "Some long default with a\nnew line.", default.string_with_multiline_default
11
+ end
12
+
8
13
  should 'default strings before save' do
9
14
  default = StringDefault.new
10
15
  assert_equal nil, default.string_with_null_default
@@ -0,0 +1,24 @@
1
+ require 'cases/sqlserver_helper'
2
+
3
+ class ValidationsTestSqlserver < ActiveRecord::TestCase
4
+ end
5
+
6
+ class ValidationsTest < ActiveRecord::TestCase
7
+
8
+ COERCED_TESTS = [:test_validate_uniqueness_with_limit_and_utf8]
9
+
10
+ include SqlserverCoercedTest
11
+
12
+ # Because SQL Server converts UTF8 data to some other data type, there is no such thing as a
13
+ # one to byte length check. See this article for details:
14
+ # http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=362867
15
+ #
16
+ # Had the idea of doing this, but could not since the above was true.
17
+ # Event.connection.change_column :events, :title, :nvarchar, :limit => 5
18
+ # Event.reset_column_information
19
+ def test_coerced_test_validate_uniqueness_with_limit_and_utf8
20
+ assert true
21
+ end
22
+
23
+ end
24
+
@@ -17,6 +17,7 @@ ActiveRecord::Schema.define do
17
17
  t.column :string_with_pretend_null_three, :string, :default => 'NULL'
18
18
  t.column :string_with_pretend_null_four, :string, :default => '(NULL)'
19
19
  t.column :string_with_pretend_paren_three, :string, :default => '(3)'
20
+ t.column :string_with_multiline_default, :string, :default => "Some long default with a\nnew line."
20
21
  end
21
22
 
22
23
  create_table :sql_server_chronics, :force => true do |t|
metadata CHANGED
@@ -1,37 +1,22 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-sqlserver-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.22
4
+ version: "2.3"
5
5
  platform: ruby
6
6
  authors:
7
- - Ken Collins, Murray Steele, Shawn Balestracci, Joe Rafaniello, Tom Ward
7
+ - Ken Collins
8
+ - Murray Steele
9
+ - Shawn Balestracci
10
+ - Joe Rafaniello
11
+ - Tom Ward
8
12
  autorequire:
9
13
  bindir: bin
10
14
  cert_chain: []
11
15
 
12
- date: 2009-10-15 00:00:00 -04:00
16
+ date: 2009-09-10 00:00:00 -04:00
13
17
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: dbi
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - "="
22
- - !ruby/object:Gem::Version
23
- version: 0.4.1
24
- version:
25
- - !ruby/object:Gem::Dependency
26
- name: dbd-odbc
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "="
32
- - !ruby/object:Gem::Version
33
- version: 0.2.4
34
- version:
18
+ dependencies: []
19
+
35
20
  description: SQL Server 2000, 2005 and 2008 Adapter For Rails.
36
21
  email: ken@metaskills.net
37
22
  executables: []
@@ -39,50 +24,19 @@ executables: []
39
24
  extensions: []
40
25
 
41
26
  extra_rdoc_files:
42
- - CHANGELOG
43
- - lib/activerecord-sqlserver-adapter.rb
44
- - lib/active_record/connection_adapters/sqlserver_adapter.rb
45
- - lib/active_record/connection_adapters/sqlserver_adapter/core_ext/active_record.rb
46
- - lib/active_record/connection_adapters/sqlserver_adapter/core_ext/dbi.rb
47
27
  - README.rdoc
48
- - tasks/sqlserver.rake
49
28
  files:
50
29
  - CHANGELOG
51
- - lib/activerecord-sqlserver-adapter.rb
52
- - lib/active_record/connection_adapters/sqlserver_adapter.rb
53
- - lib/active_record/connection_adapters/sqlserver_adapter/core_ext/active_record.rb
54
- - lib/active_record/connection_adapters/sqlserver_adapter/core_ext/dbi.rb
55
- - Manifest
56
30
  - MIT-LICENSE
57
31
  - Rakefile
58
32
  - README.rdoc
59
33
  - RUNNING_UNIT_TESTS
60
- - tasks/sqlserver.rake
61
- - test/cases/aaaa_create_tables_test_sqlserver.rb
62
- - test/cases/adapter_test_sqlserver.rb
63
- - test/cases/attribute_methods_test_sqlserver.rb
64
- - test/cases/basics_test_sqlserver.rb
65
- - test/cases/calculations_test_sqlserver.rb
66
- - test/cases/column_test_sqlserver.rb
67
- - test/cases/connection_test_sqlserver.rb
68
- - test/cases/eager_association_test_sqlserver.rb
69
- - test/cases/execute_procedure_test_sqlserver.rb
70
- - test/cases/inheritance_test_sqlserver.rb
71
- - test/cases/method_scoping_test_sqlserver.rb
72
- - test/cases/migration_test_sqlserver.rb
73
- - test/cases/offset_and_limit_test_sqlserver.rb
74
- - test/cases/pessimistic_locking_test_sqlserver.rb
75
- - test/cases/query_cache_test_sqlserver.rb
76
- - test/cases/schema_dumper_test_sqlserver.rb
77
- - test/cases/specific_schema_test_sqlserver.rb
78
- - test/cases/sqlserver_helper.rb
79
- - test/cases/table_name_test_sqlserver.rb
80
- - test/cases/transaction_test_sqlserver.rb
81
- - test/cases/unicode_test_sqlserver.rb
82
- - test/connections/native_sqlserver/connection.rb
83
- - test/connections/native_sqlserver_odbc/connection.rb
84
- - test/migrations/transaction_table/1_table_will_never_be_created.rb
85
- - test/schema/sqlserver_specific_schema.rb
34
+ - autotest/discover.rb
35
+ - autotest/railssqlserver.rb
36
+ - autotest/sqlserver.rb
37
+ - lib/active_record/connection_adapters/sqlserver_adapter.rb
38
+ - lib/active_record/connection_adapters/sqlserver_adapter/core_ext/active_record.rb
39
+ - lib/active_record/connection_adapters/sqlserver_adapter/core_ext/dbi.rb
86
40
  has_rdoc: true
87
41
  homepage: http://github.com/rails-sqlserver
88
42
  licenses: []
@@ -91,8 +45,6 @@ post_install_message:
91
45
  rdoc_options:
92
46
  - --line-numbers
93
47
  - --inline-source
94
- - --title
95
- - Activerecord-sqlserver-adapter
96
48
  - --main
97
49
  - README.rdoc
98
50
  require_paths:
@@ -107,14 +59,40 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
59
  requirements:
108
60
  - - ">="
109
61
  - !ruby/object:Gem::Version
110
- version: "1.2"
62
+ version: "0"
111
63
  version:
112
64
  requirements: []
113
65
 
114
- rubyforge_project: arsqlserver
115
- rubygems_version: 1.3.4
66
+ rubyforge_project:
67
+ rubygems_version: 1.3.5
116
68
  signing_key:
117
69
  specification_version: 3
118
70
  summary: SQL Server 2000, 2005 and 2008 Adapter For Rails.
119
- test_files: []
120
-
71
+ test_files:
72
+ - test/cases/aaaa_create_tables_test_sqlserver.rb
73
+ - test/cases/adapter_test_sqlserver.rb
74
+ - test/cases/attribute_methods_test_sqlserver.rb
75
+ - test/cases/basics_test_sqlserver.rb
76
+ - test/cases/calculations_test_sqlserver.rb
77
+ - test/cases/column_test_sqlserver.rb
78
+ - test/cases/connection_test_sqlserver.rb
79
+ - test/cases/eager_association_test_sqlserver.rb
80
+ - test/cases/execute_procedure_test_sqlserver.rb
81
+ - test/cases/inheritance_test_sqlserver.rb
82
+ - test/cases/method_scoping_test_sqlserver.rb
83
+ - test/cases/migration_test_sqlserver.rb
84
+ - test/cases/named_scope_test_sqlserver.rb
85
+ - test/cases/offset_and_limit_test_sqlserver.rb
86
+ - test/cases/pessimistic_locking_test_sqlserver.rb
87
+ - test/cases/query_cache_test_sqlserver.rb
88
+ - test/cases/schema_dumper_test_sqlserver.rb
89
+ - test/cases/specific_schema_test_sqlserver.rb
90
+ - test/cases/sqlserver_helper.rb
91
+ - test/cases/table_name_test_sqlserver.rb
92
+ - test/cases/transaction_test_sqlserver.rb
93
+ - test/cases/unicode_test_sqlserver.rb
94
+ - test/cases/validations_test_sqlserver.rb
95
+ - test/connections/native_sqlserver/connection.rb
96
+ - test/connections/native_sqlserver_odbc/connection.rb
97
+ - test/migrations/transaction_table/1_table_will_never_be_created.rb
98
+ - test/schema/sqlserver_specific_schema.rb
data/Manifest DELETED
@@ -1,36 +0,0 @@
1
- CHANGELOG
2
- lib/activerecord-sqlserver-adapter.rb
3
- lib/active_record/connection_adapters/sqlserver_adapter.rb
4
- lib/active_record/connection_adapters/sqlserver_adapter/core_ext/active_record.rb
5
- lib/active_record/connection_adapters/sqlserver_adapter/core_ext/dbi.rb
6
- Manifest
7
- MIT-LICENSE
8
- Rakefile
9
- README.rdoc
10
- RUNNING_UNIT_TESTS
11
- tasks/sqlserver.rake
12
- test/cases/aaaa_create_tables_test_sqlserver.rb
13
- test/cases/adapter_test_sqlserver.rb
14
- test/cases/attribute_methods_test_sqlserver.rb
15
- test/cases/basics_test_sqlserver.rb
16
- test/cases/calculations_test_sqlserver.rb
17
- test/cases/column_test_sqlserver.rb
18
- test/cases/connection_test_sqlserver.rb
19
- test/cases/eager_association_test_sqlserver.rb
20
- test/cases/execute_procedure_test_sqlserver.rb
21
- test/cases/inheritance_test_sqlserver.rb
22
- test/cases/method_scoping_test_sqlserver.rb
23
- test/cases/migration_test_sqlserver.rb
24
- test/cases/offset_and_limit_test_sqlserver.rb
25
- test/cases/pessimistic_locking_test_sqlserver.rb
26
- test/cases/query_cache_test_sqlserver.rb
27
- test/cases/schema_dumper_test_sqlserver.rb
28
- test/cases/specific_schema_test_sqlserver.rb
29
- test/cases/sqlserver_helper.rb
30
- test/cases/table_name_test_sqlserver.rb
31
- test/cases/transaction_test_sqlserver.rb
32
- test/cases/unicode_test_sqlserver.rb
33
- test/connections/native_sqlserver/connection.rb
34
- test/connections/native_sqlserver_odbc/connection.rb
35
- test/migrations/transaction_table/1_table_will_never_be_created.rb
36
- test/schema/sqlserver_specific_schema.rb
@@ -1 +0,0 @@
1
- require 'active_record/connection_adapters/sqlserver_adapter'
@@ -1,39 +0,0 @@
1
-
2
-
3
- namespace :sqlserver do
4
-
5
- ['sqlserver','sqlserver_odbc'].each do |adapter|
6
-
7
- Rake::TestTask.new("test_#{adapter}") do |t|
8
- t.libs << "test"
9
- t.libs << "test/connections/native_#{adapter}"
10
- t.libs << "../../../rails/activerecord/test/"
11
- t.test_files = (
12
- Dir.glob("test/cases/**/*_test_sqlserver.rb").sort +
13
- Dir.glob("../../../rails/activerecord/test/**/*_test.rb").sort )
14
- t.verbose = true
15
- end
16
-
17
- namespace adapter do
18
- task :test => "test_#{adapter}"
19
- end
20
-
21
- end
22
-
23
- desc 'Test with unicode types enabled.'
24
- task :test_unicode_types do
25
- ENV['ENABLE_DEFAULT_UNICODE_TYPES'] = 'true'
26
- test = Rake::Task['test_sqlserver_odbc']
27
- test.invoke
28
- end
29
-
30
-
31
- end
32
-
33
-
34
- desc 'Test the default ODBC mode, taks sqlserver:test_sqlserver_odbc.'
35
- task :test do
36
- test = Rake::Task['sqlserver:test_sqlserver_odbc']
37
- test.invoke
38
- end
39
-