activerecord-sqlserver-adapter 2.2.18
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 +175 -0
- data/MIT-LICENSE +20 -0
- data/Manifest +36 -0
- data/README.rdoc +175 -0
- data/RUNNING_UNIT_TESTS +60 -0
- data/Rakefile +18 -0
- data/lib/active_record/connection_adapters/sqlserver_adapter.rb +1126 -0
- data/lib/activerecord-sqlserver-adapter.rb +1 -0
- data/lib/core_ext/active_record.rb +133 -0
- data/lib/core_ext/dbi.rb +85 -0
- data/tasks/sqlserver.rake +31 -0
- data/test/cases/aaaa_create_tables_test_sqlserver.rb +19 -0
- data/test/cases/adapter_test_sqlserver.rb +707 -0
- data/test/cases/attribute_methods_test_sqlserver.rb +33 -0
- data/test/cases/basics_test_sqlserver.rb +21 -0
- data/test/cases/calculations_test_sqlserver.rb +20 -0
- data/test/cases/column_test_sqlserver.rb +264 -0
- data/test/cases/connection_test_sqlserver.rb +142 -0
- data/test/cases/eager_association_test_sqlserver.rb +42 -0
- data/test/cases/execute_procedure_test_sqlserver.rb +33 -0
- data/test/cases/inheritance_test_sqlserver.rb +28 -0
- data/test/cases/method_scoping_test_sqlserver.rb +28 -0
- data/test/cases/migration_test_sqlserver.rb +93 -0
- data/test/cases/offset_and_limit_test_sqlserver.rb +108 -0
- data/test/cases/pessimistic_locking_test_sqlserver.rb +125 -0
- data/test/cases/query_cache_test_sqlserver.rb +24 -0
- data/test/cases/schema_dumper_test_sqlserver.rb +72 -0
- data/test/cases/specific_schema_test_sqlserver.rb +57 -0
- data/test/cases/sqlserver_helper.rb +123 -0
- data/test/cases/table_name_test_sqlserver.rb +22 -0
- data/test/cases/transaction_test_sqlserver.rb +93 -0
- data/test/cases/unicode_test_sqlserver.rb +50 -0
- data/test/connections/native_sqlserver/connection.rb +23 -0
- data/test/connections/native_sqlserver_odbc/connection.rb +25 -0
- data/test/migrations/transaction_table/1_table_will_never_be_created.rb +11 -0
- data/test/schema/sqlserver_specific_schema.rb +91 -0
- metadata +120 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
print "Using native SQLServer\n"
|
2
|
+
require_dependency 'models/course'
|
3
|
+
require 'logger'
|
4
|
+
|
5
|
+
ActiveRecord::Base.logger = Logger.new("debug.log")
|
6
|
+
|
7
|
+
ActiveRecord::Base.configurations = {
|
8
|
+
'arunit' => {
|
9
|
+
:adapter => 'sqlserver',
|
10
|
+
:host => 'localhost',
|
11
|
+
:username => 'rails',
|
12
|
+
:database => 'activerecord_unittest'
|
13
|
+
},
|
14
|
+
'arunit2' => {
|
15
|
+
:adapter => 'sqlserver',
|
16
|
+
:host => 'localhost',
|
17
|
+
:username => 'rails',
|
18
|
+
:database => 'activerecord_unittest2'
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
ActiveRecord::Base.establish_connection 'arunit'
|
23
|
+
Course.establish_connection 'arunit2'
|
@@ -0,0 +1,25 @@
|
|
1
|
+
print "Using native SQLServer via ODBC\n"
|
2
|
+
require_dependency 'models/course'
|
3
|
+
require 'logger'
|
4
|
+
|
5
|
+
ActiveRecord::Base.logger = Logger.new("debug.log")
|
6
|
+
|
7
|
+
ActiveRecord::Base.configurations = {
|
8
|
+
'arunit' => {
|
9
|
+
:adapter => 'sqlserver',
|
10
|
+
:mode => 'ODBC',
|
11
|
+
:host => 'localhost',
|
12
|
+
:username => 'rails',
|
13
|
+
:dsn => 'activerecord_unittest'
|
14
|
+
},
|
15
|
+
'arunit2' => {
|
16
|
+
:adapter => 'sqlserver',
|
17
|
+
:mode => 'ODBC',
|
18
|
+
:host => 'localhost',
|
19
|
+
:username => 'rails',
|
20
|
+
:dsn => 'activerecord_unittest2'
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
ActiveRecord::Base.establish_connection 'arunit'
|
25
|
+
Course.establish_connection 'arunit2'
|
@@ -0,0 +1,91 @@
|
|
1
|
+
ActiveRecord::Schema.define do
|
2
|
+
|
3
|
+
create_table :table_with_real_columns, :force => true do |t|
|
4
|
+
t.column :real_number, :real
|
5
|
+
end
|
6
|
+
|
7
|
+
create_table :defaults, :force => true do |t|
|
8
|
+
t.column :positive_integer, :integer, :default => 1
|
9
|
+
t.column :negative_integer, :integer, :default => -1
|
10
|
+
t.column :decimal_number, :decimal, :precision => 3, :scale => 2, :default => 2.78
|
11
|
+
end
|
12
|
+
|
13
|
+
create_table :string_defaults, :force => true do |t|
|
14
|
+
t.column :string_with_null_default, :string, :default => nil
|
15
|
+
t.column :string_with_pretend_null_one, :string, :default => 'null'
|
16
|
+
t.column :string_with_pretend_null_two, :string, :default => '(null)'
|
17
|
+
t.column :string_with_pretend_null_three, :string, :default => 'NULL'
|
18
|
+
t.column :string_with_pretend_null_four, :string, :default => '(NULL)'
|
19
|
+
t.column :string_with_pretend_paren_three, :string, :default => '(3)'
|
20
|
+
end
|
21
|
+
|
22
|
+
create_table :sql_server_chronics, :force => true do |t|
|
23
|
+
t.column :date, :date
|
24
|
+
t.column :time, :time
|
25
|
+
t.column :datetime, :datetime
|
26
|
+
t.column :timestamp, :timestamp
|
27
|
+
t.column :smalldatetime, :smalldatetime
|
28
|
+
end
|
29
|
+
|
30
|
+
create_table(:fk_test_has_fks, :force => true) { |t| t.column(:fk_id, :integer, :null => false) }
|
31
|
+
create_table(:fk_test_has_pks, :force => true) { }
|
32
|
+
execute <<-ADDFKSQL
|
33
|
+
ALTER TABLE fk_test_has_fks
|
34
|
+
ADD CONSTRAINT FK__fk_test_has_fk_fk_id
|
35
|
+
FOREIGN KEY (#{quote_column_name('fk_id')})
|
36
|
+
REFERENCES #{quote_table_name('fk_test_has_pks')} (#{quote_column_name('id')})
|
37
|
+
ADDFKSQL
|
38
|
+
|
39
|
+
create_table :sql_server_unicodes, :force => true do |t|
|
40
|
+
t.column :nchar, :nchar
|
41
|
+
t.column :nvarchar, :nvarchar
|
42
|
+
t.column :ntext, :ntext
|
43
|
+
t.column :ntext_10, :ntext, :limit => 10
|
44
|
+
t.column :nchar_10, :nchar, :limit => 10
|
45
|
+
t.column :nvarchar_100, :nvarchar, :limit => 100
|
46
|
+
if ActiveRecord::Base.connection.sqlserver_2005? || ActiveRecord::Base.connection.sqlserver_2008?
|
47
|
+
t.column :nvarchar_max, :nvarchar_max
|
48
|
+
t.column :nvarchar_max_10, :nvarchar_max, :limit => 10
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
create_table :sql_server_strings, :force => true do |t|
|
53
|
+
t.column :char, :char
|
54
|
+
t.column :char_10, :char, :limit => 10
|
55
|
+
if ActiveRecord::Base.connection.sqlserver_2005? || ActiveRecord::Base.connection.sqlserver_2008?
|
56
|
+
t.column :varchar_max, :varchar_max
|
57
|
+
t.column :varchar_max_10, :varchar_max, :limit => 10
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
create_table :sql_server_binary_types, :force => true do |t|
|
62
|
+
# TODO: Add some different native binary types and test.
|
63
|
+
end
|
64
|
+
|
65
|
+
create_table :sql_server_edge_schemas, :force => true do |t|
|
66
|
+
t.string :description
|
67
|
+
end
|
68
|
+
|
69
|
+
execute "IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = 'customers_view') DROP VIEW customers_view"
|
70
|
+
execute <<-CUSTOMERSVIEW
|
71
|
+
CREATE VIEW customers_view AS
|
72
|
+
SELECT id, name, balance
|
73
|
+
FROM customers
|
74
|
+
CUSTOMERSVIEW
|
75
|
+
|
76
|
+
execute "IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = 'string_defaults_view') DROP VIEW string_defaults_view"
|
77
|
+
execute <<-STRINGDEFAULTSVIEW
|
78
|
+
CREATE VIEW string_defaults_view AS
|
79
|
+
SELECT id, string_with_pretend_null_one as pretend_null
|
80
|
+
FROM string_defaults
|
81
|
+
STRINGDEFAULTSVIEW
|
82
|
+
|
83
|
+
execute "IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = 'string_defaults_big_view') DROP VIEW string_defaults_big_view"
|
84
|
+
execute <<-STRINGDEFAULTSBIGVIEW
|
85
|
+
CREATE VIEW string_defaults_big_view AS
|
86
|
+
SELECT id, string_with_pretend_null_one as pretend_null
|
87
|
+
/*#{'x'*4000}}*/
|
88
|
+
FROM string_defaults
|
89
|
+
STRINGDEFAULTSBIGVIEW
|
90
|
+
|
91
|
+
end
|
metadata
ADDED
@@ -0,0 +1,120 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: activerecord-sqlserver-adapter
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.2.18
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ken Collins, Murray Steele, Shawn Balestracci, Joe Rafaniello, Tom Ward
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-06-05 00:00:00 -04:00
|
13
|
+
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:
|
35
|
+
description: SQL Server 2000, 2005 and 2008 Adapter For Rails.
|
36
|
+
email: ken@metaskills.net
|
37
|
+
executables: []
|
38
|
+
|
39
|
+
extensions: []
|
40
|
+
|
41
|
+
extra_rdoc_files:
|
42
|
+
- CHANGELOG
|
43
|
+
- lib/active_record/connection_adapters/sqlserver_adapter.rb
|
44
|
+
- lib/activerecord-sqlserver-adapter.rb
|
45
|
+
- lib/core_ext/active_record.rb
|
46
|
+
- lib/core_ext/dbi.rb
|
47
|
+
- README.rdoc
|
48
|
+
- tasks/sqlserver.rake
|
49
|
+
files:
|
50
|
+
- CHANGELOG
|
51
|
+
- lib/active_record/connection_adapters/sqlserver_adapter.rb
|
52
|
+
- lib/activerecord-sqlserver-adapter.rb
|
53
|
+
- lib/core_ext/active_record.rb
|
54
|
+
- lib/core_ext/dbi.rb
|
55
|
+
- Manifest
|
56
|
+
- MIT-LICENSE
|
57
|
+
- Rakefile
|
58
|
+
- README.rdoc
|
59
|
+
- 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
|
86
|
+
has_rdoc: true
|
87
|
+
homepage: http://github.com/rails-sqlserver
|
88
|
+
licenses: []
|
89
|
+
|
90
|
+
post_install_message:
|
91
|
+
rdoc_options:
|
92
|
+
- --line-numbers
|
93
|
+
- --inline-source
|
94
|
+
- --title
|
95
|
+
- Activerecord-sqlserver-adapter
|
96
|
+
- --main
|
97
|
+
- README.rdoc
|
98
|
+
require_paths:
|
99
|
+
- lib
|
100
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: "0"
|
105
|
+
version:
|
106
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: "1.2"
|
111
|
+
version:
|
112
|
+
requirements: []
|
113
|
+
|
114
|
+
rubyforge_project: arsqlserver
|
115
|
+
rubygems_version: 1.3.3
|
116
|
+
signing_key:
|
117
|
+
specification_version: 3
|
118
|
+
summary: SQL Server 2000, 2005 and 2008 Adapter For Rails.
|
119
|
+
test_files: []
|
120
|
+
|