activerecord-sqlserver-adapter 8.0.6 → 8.0.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 34f478c68720d0070576ee92aeaaaf4d32ed24a9edf746d575ddc1b7633c02f4
4
- data.tar.gz: 5c9bbd2821b3d0431d93e74b07dc1a729fa5a90ee213e2a53f93e8b8d67034fa
3
+ metadata.gz: 10e87da3715b8059e900f1ecf18af7cd8b0a03ce48b2bd7e79399c4dacba6cfb
4
+ data.tar.gz: fb175a99c32dcfc1ad7fac35ab53086b97bf75a5e6f6d113ba031a20d4b38ede
5
5
  SHA512:
6
- metadata.gz: 50dd731f8f49995aed5492cda26255234bb0c4b941cd67c26f9d8e7ca3e3ffe13d9d6470f3769617604388d9c92d3df99b21a2169d3c1c9c8c75906fe9d6d7bc
7
- data.tar.gz: 66461bd72eaa9fd3cfb8235c6566f199eefae9e716ac59ed00908e3ddd19f99ec467c5fe83a9d1bf3ed3a8f7642e35c6267e6f6168344d9e1339bb950bc79e24
6
+ metadata.gz: e8319785b8064c84b42848ada06ddcd67e3318b6566f44c6339ad5037a18c5e409ed88d23d11f995220c1ccc34d8aff7af8b95b2c50235e36e279577de801323
7
+ data.tar.gz: c33591032fc453c2dad5b2acfd0aa83f5e13816291b0c5a867df1eb192c41b9f73e143c1347702b24e99e792c8c060f225958e78e9c6b032ba239277323da93a
@@ -6,6 +6,7 @@ jobs:
6
6
  test:
7
7
  name: Run test suite
8
8
  runs-on: ubuntu-latest
9
+ timeout-minutes: 10
9
10
 
10
11
  env:
11
12
  COMPOSE_FILE: compose.ci.yaml
data/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ ## v8.0.8
2
+
3
+ #### Changed
4
+
5
+ - [#1342](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1342) Support more Azure services by changing language source.
6
+
7
+ #### Fixed
8
+ - [#1345](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1345) Maintain index options during `change_column` operations.
9
+ - [#1357](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1357) Support cross database inserts.
10
+
11
+ ## v8.0.7
12
+
13
+ #### Fixed
14
+
15
+ - [#1334](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1334) Enable identity insert on view's base table for fixtures.
16
+ - [#1339](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1339) Fix `insert_all`/`upsert_all` for table names containing numbers.
17
+
1
18
  ## v8.0.6
2
19
 
3
20
  #### Fixed
data/VERSION CHANGED
@@ -1 +1 @@
1
- 8.0.6
1
+ 8.0.8
@@ -15,9 +15,6 @@ module ActiveRecord
15
15
 
16
16
  def perform_query(raw_connection, sql, binds, type_casted_binds, prepare:, notification_payload:, batch:)
17
17
  result = if id_insert_table_name = query_requires_identity_insert?(sql)
18
- # If the table name is a view, we need to get the base table name for enabling identity insert.
19
- id_insert_table_name = view_table_name(id_insert_table_name) if view_exists?(id_insert_table_name)
20
-
21
18
  with_identity_insert_enabled(id_insert_table_name, raw_connection) do
22
19
  internal_exec_sql_query(sql, raw_connection)
23
20
  end
@@ -225,11 +222,14 @@ module ActiveRecord
225
222
  end
226
223
 
227
224
  def with_identity_insert_enabled(table_name, conn)
228
- table_name = quote_table_name(table_name)
229
- set_identity_insert(table_name, conn, true)
225
+ # If the table name is a view, we need to get the base table name for enabling identity insert.
226
+ table_name = view_table_name(table_name) if view_exists?(table_name)
227
+ quoted_table_name = quote_table_name(table_name)
228
+
229
+ set_identity_insert(quoted_table_name, conn, true)
230
230
  yield
231
231
  ensure
232
- set_identity_insert(table_name, conn, false)
232
+ set_identity_insert(quoted_table_name, conn, false)
233
233
  end
234
234
 
235
235
  def use_database(database = nil)
@@ -259,7 +259,7 @@ module ActiveRecord
259
259
 
260
260
  def user_options_dateformat
261
261
  if sqlserver_azure?
262
- select_value "SELECT [dateformat] FROM [sys].[syslanguages] WHERE [langid] = @@LANGID", "SCHEMA"
262
+ select_value "SELECT [dateformat] FROM [sys].[syslanguages] WHERE [name] = @@LANGUAGE", "SCHEMA"
263
263
  else
264
264
  user_options["dateformat"]
265
265
  end
@@ -182,12 +182,14 @@ module ActiveRecord
182
182
  sql_commands << "ALTER TABLE #{quote_table_name(table_name)} ADD CONSTRAINT #{default_constraint_name(table_name, column_name)} DEFAULT #{default} FOR #{quote_column_name(column_name)}"
183
183
  end
184
184
 
185
+ sql_commands.each { |c| execute(c) }
186
+
185
187
  # Add any removed indexes back
186
188
  indexes.each do |index|
187
- sql_commands << "CREATE INDEX #{quote_table_name(index.name)} ON #{quote_table_name(table_name)} (#{index.columns.map { |c| quote_column_name(c) }.join(', ')})"
189
+ create_index_def = CreateIndexDefinition.new(index)
190
+ execute schema_creation.accept(create_index_def)
188
191
  end
189
192
 
190
- sql_commands.each { |c| execute(c) }
191
193
  clear_cache!
192
194
  end
193
195
 
@@ -592,6 +594,7 @@ module ActiveRecord
592
594
  end
593
595
 
594
596
  def column_definitions_sql(database, identifier)
597
+ database = "TEMPDB" if identifier.temporary_table?
595
598
  schema_name = "schema_name()"
596
599
 
597
600
  if prepared_statements
@@ -602,12 +605,8 @@ module ActiveRecord
602
605
  schema_name = quote(identifier.schema) if identifier.schema.present?
603
606
  end
604
607
 
605
- object_id_arg = identifier.schema.present? ? "CONCAT(#{schema_name},'.',#{object_name})" : object_name
606
-
607
- if identifier.temporary_table?
608
- database = "TEMPDB"
609
- object_id_arg = "CONCAT('#{database}','..',#{object_name})"
610
- end
608
+ object_id_arg = identifier.schema.present? ? "CONCAT('.',#{schema_name},'.',#{object_name})" : "CONCAT('..',#{object_name})"
609
+ object_id_arg = "CONCAT('#{database}',#{object_id_arg})"
611
610
 
612
611
  %{
613
612
  SELECT
@@ -721,7 +720,7 @@ module ActiveRecord
721
720
  elsif s.match?(/^\s*UPDATE\s+.*/i)
722
721
  s.match(/UPDATE\s+([^\(\s]+)\s*/i)[1]
723
722
  elsif s.match?(/^\s*MERGE INTO.*/i)
724
- s.match(/^\s*MERGE\s+INTO\s+(\[?[a-z_ -]+\]?\.?\[?[a-z_ -]+\]?)\s+(AS|WITH|USING)/i)[1]
723
+ s.match(/^\s*MERGE\s+INTO\s+(\[?[a-z0-9_ -]+\]?\.?\[?[a-z0-9_ -]+\]?)\s+(AS|WITH|USING)/i)[1]
725
724
  else
726
725
  s.match(/FROM[\s|\(]+((\[[^\(\]]+\])|[^\(\s]+)\s*/i)[1]
727
726
  end.strip
@@ -7,11 +7,18 @@ require "models/post"
7
7
  require "models/subscriber"
8
8
  require "models/minimalistic"
9
9
  require "models/college"
10
+ require "models/dog"
11
+ require "models/other_dog"
10
12
  require "models/discount"
11
13
 
12
14
  class AdapterTestSQLServer < ActiveRecord::TestCase
13
15
  fixtures :tasks
14
16
 
17
+ let(:arunit_connection) { Topic.lease_connection }
18
+ let(:arunit2_connection) { College.lease_connection }
19
+ let(:arunit_database) { arunit_connection.pool.db_config.database }
20
+ let(:arunit2_database) { arunit2_connection.pool.db_config.database }
21
+
15
22
  let(:basic_insert_sql) { "INSERT INTO [funny_jokes] ([name]) VALUES('Knock knock')" }
16
23
  let(:basic_merge_sql) { "MERGE INTO [ships] WITH (UPDLOCK, HOLDLOCK) AS target USING ( SELECT * FROM ( SELECT [id], [name], ROW_NUMBER() OVER ( PARTITION BY [id] ORDER BY [id] DESC ) AS rn_0 FROM ( VALUES (101, N'RSS Sir David Attenborough') ) AS t1 ([id], [name]) ) AS ranked_source WHERE rn_0 = 1 ) AS source ON (target.[id] = source.[id]) WHEN MATCHED THEN UPDATE SET target.[name] = source.[name]" }
17
24
  let(:basic_update_sql) { "UPDATE [customers] SET [address_street] = NULL WHERE [id] = 2" }
@@ -52,8 +59,7 @@ class AdapterTestSQLServer < ActiveRecord::TestCase
52
59
  assert Topic.table_exists?, "Topics table name of 'dbo.topics' should return true for exists."
53
60
 
54
61
  # Test when database and owner included in table name.
55
- db_config = ActiveRecord::Base.configurations.configs_for(env_name: "arunit", name: "primary")
56
- Topic.table_name = "#{db_config.database}.dbo.topics"
62
+ Topic.table_name = "#{arunit_database}.dbo.topics"
57
63
  assert Topic.table_exists?, "Topics table name of '[DATABASE].dbo.topics' should return true for exists."
58
64
  ensure
59
65
  Topic.table_name = "topics"
@@ -225,6 +231,9 @@ class AdapterTestSQLServer < ActiveRecord::TestCase
225
231
  @identity_insert_sql_non_dbo_sp = "EXEC sp_executesql N'INSERT INTO [test].[aliens] ([id],[name]) VALUES (@0, @1)', N'@0 int, @1 nvarchar(255)', @0 = 420, @1 = N'Mork'"
226
232
  @identity_insert_sql_non_dbo_unquoted_sp = "EXEC sp_executesql N'INSERT INTO test.aliens (id, name) VALUES (@0, @1)', N'@0 int, @1 nvarchar(255)', @0 = 420, @1 = N'Mork'"
227
233
  @identity_insert_sql_non_dbo_unordered_sp = "EXEC sp_executesql N'INSERT INTO [test].[aliens] ([name],[id]) VALUES (@0, @1)', N'@0 nvarchar(255), @1 int', @0 = N'Mork', @1 = 420"
234
+
235
+ @non_identity_insert_sql_cross_database = "INSERT INTO #{arunit2_database}.dbo.dogs SELECT * FROM #{arunit_database}.dbo.dogs"
236
+ @identity_insert_sql_cross_database = "INSERT INTO #{arunit2_database}.dbo.dogs(id) SELECT id FROM #{arunit_database}.dbo.dogs"
228
237
  end
229
238
 
230
239
  it "return quoted table_name to #query_requires_identity_insert? when INSERT sql contains id column" do
@@ -245,20 +254,32 @@ class AdapterTestSQLServer < ActiveRecord::TestCase
245
254
  assert_equal "[test].[aliens]", connection.send(:query_requires_identity_insert?, @identity_insert_sql_non_dbo_sp)
246
255
  assert_equal "[test].[aliens]", connection.send(:query_requires_identity_insert?, @identity_insert_sql_non_dbo_unquoted_sp)
247
256
  assert_equal "[test].[aliens]", connection.send(:query_requires_identity_insert?, @identity_insert_sql_non_dbo_unordered_sp)
257
+
258
+ assert_equal "[#{arunit2_database}].[dbo].[dogs]", connection.send(:query_requires_identity_insert?, @identity_insert_sql_cross_database)
248
259
  end
249
260
 
250
261
  it "return false to #query_requires_identity_insert? for normal SQL" do
251
- [basic_insert_sql, basic_merge_sql, basic_update_sql, basic_select_sql].each do |sql|
262
+ [basic_insert_sql, basic_merge_sql, basic_update_sql, basic_select_sql, @non_identity_insert_sql_cross_database].each do |sql|
252
263
  assert !connection.send(:query_requires_identity_insert?, sql), "SQL was #{sql}"
253
264
  end
254
265
  end
255
266
 
256
- it "find identity column using #identity_columns" do
267
+ it "find identity column" do
257
268
  task_id_column = Task.columns_hash["id"]
258
269
  assert_equal task_id_column.name, connection.send(:identity_columns, Task.table_name).first.name
259
270
  assert_equal task_id_column.sql_type, connection.send(:identity_columns, Task.table_name).first.sql_type
260
271
  end
261
272
 
273
+ it "find identity column cross database" do
274
+ id_column = Dog.columns_hash["id"]
275
+ assert_equal id_column.name, arunit2_connection.send(:identity_columns, Dog.table_name).first.name
276
+ assert_equal id_column.sql_type, arunit2_connection.send(:identity_columns, Dog.table_name).first.sql_type
277
+
278
+ id_column = OtherDog.columns_hash["id"]
279
+ assert_equal id_column.name, arunit_connection.send(:identity_columns, OtherDog.table_name).first.name
280
+ assert_equal id_column.sql_type, arunit_connection.send(:identity_columns, OtherDog.table_name).first.sql_type
281
+ end
282
+
262
283
  it "return an empty array when calling #identity_columns for a table_name with no identity" do
263
284
  _(connection.send(:identity_columns, Subscriber.table_name)).must_equal []
264
285
  end
@@ -616,7 +637,7 @@ class AdapterTestSQLServer < ActiveRecord::TestCase
616
637
  end
617
638
 
618
639
  it 'raises an error when the foreign key is mismatched' do
619
- error = assert_raises(ActiveRecord::MismatchedForeignKey) do
640
+ error = assert_raises(ActiveRecord::MismatchedForeignKey) do
620
641
  @conn.add_reference :engines, :old_car
621
642
  @conn.add_foreign_key :engines, :old_cars
622
643
  end
@@ -0,0 +1,108 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "cases/helper_sqlserver"
4
+
5
+ class ChangeColumnIndexTestSqlServer < ActiveRecord::TestCase
6
+ class CreateClientsWithUniqueIndex < ActiveRecord::Migration[8.0]
7
+ def up
8
+ create_table :clients do |t|
9
+ t.string :name, limit: 15
10
+ end
11
+ add_index :clients, :name, unique: true
12
+ end
13
+
14
+ def down
15
+ drop_table :clients
16
+ end
17
+ end
18
+
19
+ class CreateBlogPostsWithMultipleIndexesOnTheSameColumn < ActiveRecord::Migration[8.0]
20
+ def up
21
+ create_table :blog_posts do |t|
22
+ t.string :title, limit: 15
23
+ t.string :subtitle
24
+ end
25
+ add_index :blog_posts, :title, unique: true, where: "([blog_posts].[title] IS NOT NULL)", name: "custom_index_name"
26
+ add_index :blog_posts, [:title, :subtitle], unique: true
27
+ end
28
+
29
+ def down
30
+ drop_table :blog_posts
31
+ end
32
+ end
33
+
34
+ class ChangeClientsNameLength < ActiveRecord::Migration[8.0]
35
+ def up
36
+ change_column :clients, :name, :string, limit: 30
37
+ end
38
+ end
39
+
40
+ class ChangeBlogPostsTitleLength < ActiveRecord::Migration[8.0]
41
+ def up
42
+ change_column :blog_posts, :title, :string, limit: 30
43
+ end
44
+ end
45
+
46
+ before do
47
+ @old_verbose = ActiveRecord::Migration.verbose
48
+ ActiveRecord::Migration.verbose = false
49
+
50
+ CreateClientsWithUniqueIndex.new.up
51
+ CreateBlogPostsWithMultipleIndexesOnTheSameColumn.new.up
52
+ end
53
+
54
+ after do
55
+ CreateClientsWithUniqueIndex.new.down
56
+ CreateBlogPostsWithMultipleIndexesOnTheSameColumn.new.down
57
+
58
+ ActiveRecord::Migration.verbose = @old_verbose
59
+ end
60
+
61
+ def test_index_uniqueness_is_maintained_after_column_change
62
+ indexes = ActiveRecord::Base.connection.indexes("clients")
63
+ columns = ActiveRecord::Base.connection.columns("clients")
64
+ assert_equal columns.find { |column| column.name == "name" }.limit, 15
65
+ assert_equal indexes.size, 1
66
+ assert_equal indexes.first.name, "index_clients_on_name"
67
+ assert indexes.first.unique
68
+
69
+ ChangeClientsNameLength.new.up
70
+
71
+ indexes = ActiveRecord::Base.connection.indexes("clients")
72
+ columns = ActiveRecord::Base.connection.columns("clients")
73
+ assert_equal columns.find { |column| column.name == "name" }.limit, 30
74
+ assert_equal indexes.size, 1
75
+ assert_equal indexes.first.name, "index_clients_on_name"
76
+ assert indexes.first.unique
77
+ end
78
+
79
+ def test_multiple_index_options_are_maintained_after_column_change
80
+ indexes = ActiveRecord::Base.connection.indexes("blog_posts")
81
+ columns = ActiveRecord::Base.connection.columns("blog_posts")
82
+ assert_equal columns.find { |column| column.name == "title" }.limit, 15
83
+ assert_equal indexes.size, 2
84
+
85
+ index_1 = indexes.find { |index| index.columns == ["title"] }
86
+ assert_equal index_1.name, "custom_index_name"
87
+ assert_equal index_1.where, "([blog_posts].[title] IS NOT NULL)"
88
+ assert index_1.unique
89
+
90
+ index_2 = indexes.find { |index| index.columns == ["title", "subtitle"] }
91
+ assert index_2.unique
92
+
93
+ ChangeBlogPostsTitleLength.new.up
94
+
95
+ indexes = ActiveRecord::Base.connection.indexes("blog_posts")
96
+ columns = ActiveRecord::Base.connection.columns("blog_posts")
97
+ assert_equal columns.find { |column| column.name == "title" }.limit, 30
98
+ assert_equal indexes.size, 2
99
+
100
+ index_1 = indexes.find { |index| index.columns == ["title"] }
101
+ assert_equal index_1.name, "custom_index_name"
102
+ assert_equal index_1.where, "([blog_posts].[title] IS NOT NULL)"
103
+ assert index_1.unique
104
+
105
+ index_2 = indexes.find { |index| index.columns == ["title", "subtitle"] }
106
+ assert index_2.unique
107
+ end
108
+ end
@@ -118,6 +118,10 @@ class SchemaTestSQLServer < ActiveRecord::TestCase
118
118
  it do
119
119
  assert_equal "[with].[select notation]", connection.send(:get_raw_table_name, "MERGE INTO [with].[select notation] AS target")
120
120
  end
121
+
122
+ it do
123
+ assert_equal "[with_numbers_1234]", connection.send(:get_raw_table_name, "MERGE INTO [with_numbers_1234] AS target")
124
+ end
121
125
  end
122
126
 
123
127
  describe 'CREATE VIEW statements' do
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "cases/helper_sqlserver"
4
+
5
+ class TempTestSQLServer < ActiveRecord::TestCase
6
+ # it "assert true" do
7
+ # assert true
8
+ # end
9
+ end
@@ -48,11 +48,17 @@ class ViewTestSQLServer < ActiveRecord::TestCase
48
48
  end
49
49
  end
50
50
 
51
- describe 'identity insert' do
52
- it "identity insert works with views" do
53
- assert_difference("SSTestCustomersView.count", 1) do
51
+ describe "identity insert" do
52
+ it "creates table record through a view" do
53
+ assert_difference("SSTestCustomersView.count", 2) do
54
54
  SSTestCustomersView.create!(id: 5, name: "Bob")
55
+ SSTestCustomersView.create!(id: 6, name: "Tim")
55
56
  end
56
57
  end
58
+
59
+ it "creates table records through a view using fixtures" do
60
+ ActiveRecord::FixtureSet.create_fixtures(File.join(ARTest::SQLServer.test_root_sqlserver, "fixtures"), ["sst_customers_view"])
61
+ assert_equal SSTestCustomersView.all.count, 2
62
+ end
57
63
  end
58
64
  end
@@ -0,0 +1,6 @@
1
+ david:
2
+ name: "David"
3
+ balance: 2,004
4
+ aidan:
5
+ name: "Aidan"
6
+ balance: 10,191
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-sqlserver-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.6
4
+ version: 8.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Collins
@@ -12,10 +12,9 @@ authors:
12
12
  - Joe Rafaniello
13
13
  - Tom Ward
14
14
  - Aidan Haran
15
- autorequire:
16
15
  bindir: bin
17
16
  cert_chain: []
18
- date: 2025-05-13 00:00:00.000000000 Z
17
+ date: 1980-01-02 00:00:00.000000000 Z
19
18
  dependencies:
20
19
  - !ruby/object:Gem::Dependency
21
20
  name: activerecord
@@ -150,6 +149,7 @@ files:
150
149
  - test/cases/active_schema_test_sqlserver.rb
151
150
  - test/cases/adapter_test_sqlserver.rb
152
151
  - test/cases/change_column_collation_test_sqlserver.rb
152
+ - test/cases/change_column_index_test_sqlserver.rb
153
153
  - test/cases/change_column_null_test_sqlserver.rb
154
154
  - test/cases/coerced_tests.rb
155
155
  - test/cases/column_test_sqlserver.rb
@@ -177,6 +177,7 @@ files:
177
177
  - test/cases/schema_test_sqlserver.rb
178
178
  - test/cases/showplan_test_sqlserver.rb
179
179
  - test/cases/specific_schema_test_sqlserver.rb
180
+ - test/cases/temp_test_sqlserver.rb
180
181
  - test/cases/temporary_table_test_sqlserver.rb
181
182
  - test/cases/transaction_test_sqlserver.rb
182
183
  - test/cases/trigger_test_sqlserver.rb
@@ -186,6 +187,7 @@ files:
186
187
  - test/config.yml
187
188
  - test/debug.rb
188
189
  - test/fixtures/1px.gif
190
+ - test/fixtures/sst_customers_view.yml
189
191
  - test/migrations/create_clients_and_change_column_collation.rb
190
192
  - test/migrations/create_clients_and_change_column_null.rb
191
193
  - test/migrations/transaction_table/1_table_will_never_be_created.rb
@@ -241,9 +243,8 @@ licenses:
241
243
  - MIT
242
244
  metadata:
243
245
  bug_tracker_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/issues
244
- changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v8.0.6/CHANGELOG.md
245
- source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v8.0.6
246
- post_install_message:
246
+ changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v8.0.8/CHANGELOG.md
247
+ source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v8.0.8
247
248
  rdoc_options: []
248
249
  require_paths:
249
250
  - lib
@@ -258,8 +259,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
258
259
  - !ruby/object:Gem::Version
259
260
  version: '0'
260
261
  requirements: []
261
- rubygems_version: 3.5.21
262
- signing_key:
262
+ rubygems_version: 3.6.7
263
263
  specification_version: 4
264
264
  summary: ActiveRecord SQL Server Adapter.
265
265
  test_files:
@@ -271,6 +271,7 @@ test_files:
271
271
  - test/cases/active_schema_test_sqlserver.rb
272
272
  - test/cases/adapter_test_sqlserver.rb
273
273
  - test/cases/change_column_collation_test_sqlserver.rb
274
+ - test/cases/change_column_index_test_sqlserver.rb
274
275
  - test/cases/change_column_null_test_sqlserver.rb
275
276
  - test/cases/coerced_tests.rb
276
277
  - test/cases/column_test_sqlserver.rb
@@ -298,6 +299,7 @@ test_files:
298
299
  - test/cases/schema_test_sqlserver.rb
299
300
  - test/cases/showplan_test_sqlserver.rb
300
301
  - test/cases/specific_schema_test_sqlserver.rb
302
+ - test/cases/temp_test_sqlserver.rb
301
303
  - test/cases/temporary_table_test_sqlserver.rb
302
304
  - test/cases/transaction_test_sqlserver.rb
303
305
  - test/cases/trigger_test_sqlserver.rb
@@ -307,6 +309,7 @@ test_files:
307
309
  - test/config.yml
308
310
  - test/debug.rb
309
311
  - test/fixtures/1px.gif
312
+ - test/fixtures/sst_customers_view.yml
310
313
  - test/migrations/create_clients_and_change_column_collation.rb
311
314
  - test/migrations/create_clients_and_change_column_null.rb
312
315
  - test/migrations/transaction_table/1_table_will_never_be_created.rb