activerecord-sqlserver-adapter 6.1.2.1 → 7.2.4

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.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer/Dockerfile +30 -0
  3. data/.devcontainer/boot.sh +22 -0
  4. data/.devcontainer/devcontainer.json +38 -0
  5. data/.devcontainer/docker-compose.yml +42 -0
  6. data/.github/workflows/ci.yml +7 -4
  7. data/.gitignore +3 -1
  8. data/CHANGELOG.md +19 -42
  9. data/Dockerfile.ci +3 -3
  10. data/Gemfile +6 -1
  11. data/MIT-LICENSE +1 -1
  12. data/README.md +113 -27
  13. data/RUNNING_UNIT_TESTS.md +27 -14
  14. data/Rakefile +2 -6
  15. data/VERSION +1 -1
  16. data/activerecord-sqlserver-adapter.gemspec +3 -3
  17. data/appveyor.yml +4 -6
  18. data/docker-compose.ci.yml +2 -1
  19. data/lib/active_record/connection_adapters/sqlserver/core_ext/abstract_adapter.rb +20 -0
  20. data/lib/active_record/connection_adapters/sqlserver/core_ext/attribute_methods.rb +6 -4
  21. data/lib/active_record/connection_adapters/sqlserver/core_ext/calculations.rb +5 -23
  22. data/lib/active_record/connection_adapters/sqlserver/core_ext/explain.rb +10 -7
  23. data/lib/active_record/connection_adapters/sqlserver/core_ext/explain_subscriber.rb +2 -0
  24. data/lib/active_record/connection_adapters/sqlserver/core_ext/finder_methods.rb +12 -2
  25. data/lib/active_record/connection_adapters/sqlserver/core_ext/preloader.rb +24 -16
  26. data/lib/active_record/connection_adapters/sqlserver/database_limits.rb +0 -31
  27. data/lib/active_record/connection_adapters/sqlserver/database_statements.rb +143 -155
  28. data/lib/active_record/connection_adapters/sqlserver/database_tasks.rb +5 -5
  29. data/lib/active_record/connection_adapters/sqlserver/quoting.rb +57 -56
  30. data/lib/active_record/connection_adapters/sqlserver/savepoints.rb +26 -0
  31. data/lib/active_record/connection_adapters/sqlserver/schema_creation.rb +14 -12
  32. data/lib/active_record/connection_adapters/sqlserver/schema_dumper.rb +11 -0
  33. data/lib/active_record/connection_adapters/sqlserver/schema_statements.rb +213 -57
  34. data/lib/active_record/connection_adapters/sqlserver/showplan.rb +3 -3
  35. data/lib/active_record/connection_adapters/sqlserver/table_definition.rb +13 -2
  36. data/lib/active_record/connection_adapters/sqlserver/transaction.rb +4 -6
  37. data/lib/active_record/connection_adapters/sqlserver/type/data.rb +19 -1
  38. data/lib/active_record/connection_adapters/sqlserver/type/date.rb +1 -1
  39. data/lib/active_record/connection_adapters/sqlserver/type/datetime.rb +1 -1
  40. data/lib/active_record/connection_adapters/sqlserver/type/time.rb +1 -1
  41. data/lib/active_record/connection_adapters/sqlserver/utils.rb +21 -10
  42. data/lib/active_record/connection_adapters/sqlserver_adapter.rb +187 -187
  43. data/lib/active_record/connection_adapters/sqlserver_column.rb +1 -0
  44. data/lib/active_record/tasks/sqlserver_database_tasks.rb +42 -33
  45. data/lib/arel/visitors/sqlserver.rb +77 -34
  46. data/test/cases/active_schema_test_sqlserver.rb +127 -0
  47. data/test/cases/adapter_test_sqlserver.rb +114 -26
  48. data/test/cases/coerced_tests.rb +1121 -340
  49. data/test/cases/column_test_sqlserver.rb +67 -64
  50. data/test/cases/connection_test_sqlserver.rb +3 -6
  51. data/test/cases/dbconsole.rb +19 -0
  52. data/test/cases/disconnected_test_sqlserver.rb +8 -5
  53. data/test/cases/eager_load_too_many_ids_test_sqlserver.rb +18 -0
  54. data/test/cases/enum_test_sqlserver.rb +49 -0
  55. data/test/cases/execute_procedure_test_sqlserver.rb +9 -5
  56. data/test/cases/fetch_test_sqlserver.rb +19 -0
  57. data/test/cases/helper_sqlserver.rb +11 -5
  58. data/test/cases/index_test_sqlserver.rb +8 -6
  59. data/test/cases/json_test_sqlserver.rb +1 -1
  60. data/test/cases/lateral_test_sqlserver.rb +2 -2
  61. data/test/cases/migration_test_sqlserver.rb +19 -1
  62. data/test/cases/optimizer_hints_test_sqlserver.rb +21 -12
  63. data/test/cases/pessimistic_locking_test_sqlserver.rb +8 -7
  64. data/test/cases/primary_keys_test_sqlserver.rb +2 -2
  65. data/test/cases/rake_test_sqlserver.rb +10 -5
  66. data/test/cases/schema_dumper_test_sqlserver.rb +155 -109
  67. data/test/cases/schema_test_sqlserver.rb +64 -1
  68. data/test/cases/showplan_test_sqlserver.rb +7 -7
  69. data/test/cases/specific_schema_test_sqlserver.rb +17 -13
  70. data/test/cases/transaction_test_sqlserver.rb +13 -8
  71. data/test/cases/trigger_test_sqlserver.rb +20 -0
  72. data/test/cases/utils_test_sqlserver.rb +2 -2
  73. data/test/cases/uuid_test_sqlserver.rb +8 -0
  74. data/test/cases/view_test_sqlserver.rb +58 -0
  75. data/test/config.yml +1 -2
  76. data/test/migrations/transaction_table/1_table_will_never_be_created.rb +1 -1
  77. data/test/models/sqlserver/alien.rb +5 -0
  78. data/test/models/sqlserver/table_with_spaces.rb +5 -0
  79. data/test/models/sqlserver/trigger.rb +8 -0
  80. data/test/schema/sqlserver_specific_schema.rb +54 -6
  81. data/test/support/coerceable_test_sqlserver.rb +4 -4
  82. data/test/support/connection_reflection.rb +3 -9
  83. data/test/support/core_ext/query_cache.rb +7 -1
  84. data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_1_topic.dump +0 -0
  85. data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_1_topic_associations.dump +0 -0
  86. data/test/support/marshal_compatibility_fixtures/SQLServer/rails_7_1_topic.dump +0 -0
  87. data/test/support/marshal_compatibility_fixtures/SQLServer/rails_7_1_topic_associations.dump +0 -0
  88. data/test/support/query_assertions.rb +49 -0
  89. data/test/support/rake_helpers.rb +3 -1
  90. data/test/support/table_definition_sqlserver.rb +24 -0
  91. data/test/support/test_in_memory_oltp.rb +2 -2
  92. metadata +41 -17
  93. data/lib/active_record/sqlserver_base.rb +0 -18
  94. data/test/cases/scratchpad_test_sqlserver.rb +0 -8
  95. data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic.dump +0 -0
  96. data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic_associations.dump +0 -0
  97. data/test/support/sql_counter_sqlserver.rb +0 -29
@@ -0,0 +1,49 @@
1
+ module ARTest
2
+ module SQLServer
3
+ module QueryAssertions
4
+ def assert_queries_count(count = nil, include_schema: false, &block)
5
+ ActiveRecord::Base.lease_connection.materialize_transactions
6
+
7
+ counter = ActiveRecord::Assertions::QueryAssertions::SQLCounter.new
8
+ ActiveSupport::Notifications.subscribed(counter, "sql.active_record") do
9
+ result = _assert_nothing_raised_or_warn("assert_queries_count", &block)
10
+ queries = include_schema ? counter.log_all : counter.log
11
+
12
+ # Start of monkey-patch
13
+ queries = include_release_savepoint_placeholder_queries(queries)
14
+ # End of monkey-patch
15
+
16
+ if count
17
+ assert_equal count, queries.size, "#{queries.size} instead of #{count} queries were executed. Queries: #{queries.join("\n\n")}"
18
+ else
19
+ assert_operator queries.size, :>=, 1, "1 or more queries expected, but none were executed.#{queries.empty? ? '' : "\nQueries:\n#{queries.join("\n")}"}"
20
+ end
21
+ result
22
+ end
23
+ end
24
+
25
+ private
26
+
27
+ # Rails tests expect a save-point to be created and released. SQL Server does not release
28
+ # save-points and so the number of queries will be off. This monkey patch adds a placeholder queries
29
+ # to replace the missing save-point releases.
30
+ def include_release_savepoint_placeholder_queries(queries)
31
+ grouped_queries = [[]]
32
+
33
+ queries.each do |query|
34
+ if query =~ /SAVE TRANSACTION \S+/
35
+ grouped_queries << [query]
36
+ else
37
+ grouped_queries.last << query
38
+ end
39
+ end
40
+
41
+ grouped_queries.each do |group|
42
+ group.append "/* release savepoint placeholder for testing */" if group.first =~ /SAVE TRANSACTION \S+/
43
+ end
44
+
45
+ grouped_queries.flatten
46
+ end
47
+ end
48
+ end
49
+ end
@@ -25,7 +25,9 @@ end
25
25
 
26
26
  def ar_cases
27
27
  @ar_cases ||= begin
28
- Dir.glob("#{ARTest::SQLServer.root_activerecord}/test/cases/**/*_test.rb").reject { |x| x =~ /\/adapters\// }.sort
28
+ Dir.glob("#{ARTest::SQLServer.root_activerecord}/test/cases/**/*_test.rb").reject {
29
+ |x| x.include?("/adapters/") || x.include?("/encryption/performance")
30
+ }.sort
29
31
  end
30
32
  end
31
33
 
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ActiveRecord
4
+ module ConnectionAdapters
5
+ module SQLServer
6
+ class TableDefinition < ::ActiveRecord::ConnectionAdapters::TableDefinition
7
+ # SQL Server supports precision of 38 for decimal columns. In Rails the test schema includes a column
8
+ # with a precision of 55. This is a problem for SQL Server 2008. This method will override the default
9
+ # decimal method to limit the precision to 38 for the :atoms_in_universe column.
10
+ # See https://github.com/rails/rails/pull/51826/files#diff-2a57b61bbf9ee2c23938fc571d403799f68b4b530d65e2cde219a429bbf10af5L876
11
+ def decimal(*names, **options)
12
+ throw "This 'decimal' method should only be used in a test environment." unless defined?(ActiveSupport::TestCase)
13
+
14
+ names.each do |name|
15
+ options_for_name = options.dup
16
+ options_for_name[:precision] = 38 if name == :atoms_in_universe && options_for_name[:precision].to_i == 55
17
+
18
+ column(name, :decimal, **options_for_name)
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -8,10 +8,10 @@ if ENV["IN_MEMORY_OLTP"]
8
8
 
9
9
  ARTest.connect
10
10
 
11
- if ActiveRecord::Base.connection.supports_in_memory_oltp?
11
+ if ActiveRecord::Base.lease_connection.supports_in_memory_oltp?
12
12
  puts "Configuring In-Memory OLTP..."
13
13
  inmem_file = ARTest::SQLServer.test_root_sqlserver, "schema", "enable-in-memory-oltp.sql"
14
14
  inmem_sql = File.read File.join(inmem_file)
15
- ActiveRecord::Base.connection.execute(inmem_sql)
15
+ ActiveRecord::Base.lease_connection.execute(inmem_sql)
16
16
  end
17
17
  end
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: 6.1.2.1
4
+ version: 7.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Collins
@@ -11,10 +11,11 @@ authors:
11
11
  - Shawn Balestracci
12
12
  - Joe Rafaniello
13
13
  - Tom Ward
14
+ - Aidan Haran
14
15
  autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
- date: 2021-09-08 00:00:00.000000000 Z
18
+ date: 2025-01-08 00:00:00.000000000 Z
18
19
  dependencies:
19
20
  - !ruby/object:Gem::Dependency
20
21
  name: activerecord
@@ -22,14 +23,14 @@ dependencies:
22
23
  requirements:
23
24
  - - "~>"
24
25
  - !ruby/object:Gem::Version
25
- version: 6.1.0
26
+ version: 7.2.0
26
27
  type: :runtime
27
28
  prerelease: false
28
29
  version_requirements: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - "~>"
31
32
  - !ruby/object:Gem::Version
32
- version: 6.1.0
33
+ version: 7.2.0
33
34
  - !ruby/object:Gem::Dependency
34
35
  name: tiny_tds
35
36
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +53,10 @@ executables: []
52
53
  extensions: []
53
54
  extra_rdoc_files: []
54
55
  files:
56
+ - ".devcontainer/Dockerfile"
57
+ - ".devcontainer/boot.sh"
58
+ - ".devcontainer/devcontainer.json"
59
+ - ".devcontainer/docker-compose.yml"
55
60
  - ".editorconfig"
56
61
  - ".github/issue_template.md"
57
62
  - ".github/workflows/ci.yml"
@@ -71,6 +76,7 @@ files:
71
76
  - appveyor.yml
72
77
  - docker-compose.ci.yml
73
78
  - guides/RELEASING.md
79
+ - lib/active_record/connection_adapters/sqlserver/core_ext/abstract_adapter.rb
74
80
  - lib/active_record/connection_adapters/sqlserver/core_ext/active_record.rb
75
81
  - lib/active_record/connection_adapters/sqlserver/core_ext/attribute_methods.rb
76
82
  - lib/active_record/connection_adapters/sqlserver/core_ext/calculations.rb
@@ -83,6 +89,7 @@ files:
83
89
  - lib/active_record/connection_adapters/sqlserver/database_tasks.rb
84
90
  - lib/active_record/connection_adapters/sqlserver/errors.rb
85
91
  - lib/active_record/connection_adapters/sqlserver/quoting.rb
92
+ - lib/active_record/connection_adapters/sqlserver/savepoints.rb
86
93
  - lib/active_record/connection_adapters/sqlserver/schema_creation.rb
87
94
  - lib/active_record/connection_adapters/sqlserver/schema_dumper.rb
88
95
  - lib/active_record/connection_adapters/sqlserver/schema_statements.rb
@@ -132,7 +139,6 @@ files:
132
139
  - lib/active_record/connection_adapters/sqlserver/version.rb
133
140
  - lib/active_record/connection_adapters/sqlserver_adapter.rb
134
141
  - lib/active_record/connection_adapters/sqlserver_column.rb
135
- - lib/active_record/sqlserver_base.rb
136
142
  - lib/active_record/tasks/sqlserver_database_tasks.rb
137
143
  - lib/activerecord-sqlserver-adapter.rb
138
144
  - lib/arel/visitors/sqlserver.rb
@@ -142,13 +148,17 @@ files:
142
148
  - test/bin/install-freetds.sh
143
149
  - test/bin/install-openssl.sh
144
150
  - test/bin/setup.sh
151
+ - test/cases/active_schema_test_sqlserver.rb
145
152
  - test/cases/adapter_test_sqlserver.rb
146
153
  - test/cases/change_column_collation_test_sqlserver.rb
147
154
  - test/cases/change_column_null_test_sqlserver.rb
148
155
  - test/cases/coerced_tests.rb
149
156
  - test/cases/column_test_sqlserver.rb
150
157
  - test/cases/connection_test_sqlserver.rb
158
+ - test/cases/dbconsole.rb
151
159
  - test/cases/disconnected_test_sqlserver.rb
160
+ - test/cases/eager_load_too_many_ids_test_sqlserver.rb
161
+ - test/cases/enum_test_sqlserver.rb
152
162
  - test/cases/execute_procedure_test_sqlserver.rb
153
163
  - test/cases/fetch_test_sqlserver.rb
154
164
  - test/cases/fully_qualified_identifier_test_sqlserver.rb
@@ -165,19 +175,20 @@ files:
165
175
  - test/cases/rake_test_sqlserver.rb
166
176
  - test/cases/schema_dumper_test_sqlserver.rb
167
177
  - test/cases/schema_test_sqlserver.rb
168
- - test/cases/scratchpad_test_sqlserver.rb
169
178
  - test/cases/showplan_test_sqlserver.rb
170
179
  - test/cases/specific_schema_test_sqlserver.rb
171
180
  - test/cases/transaction_test_sqlserver.rb
172
181
  - test/cases/trigger_test_sqlserver.rb
173
182
  - test/cases/utils_test_sqlserver.rb
174
183
  - test/cases/uuid_test_sqlserver.rb
184
+ - test/cases/view_test_sqlserver.rb
175
185
  - test/config.yml
176
186
  - test/debug.rb
177
187
  - test/fixtures/1px.gif
178
188
  - test/migrations/create_clients_and_change_column_collation.rb
179
189
  - test/migrations/create_clients_and_change_column_null.rb
180
190
  - test/migrations/transaction_table/1_table_will_never_be_created.rb
191
+ - test/models/sqlserver/alien.rb
181
192
  - test/models/sqlserver/booking.rb
182
193
  - test/models/sqlserver/composite_pk.rb
183
194
  - test/models/sqlserver/customers_view.rb
@@ -199,6 +210,7 @@ files:
199
210
  - test/models/sqlserver/string_default.rb
200
211
  - test/models/sqlserver/string_defaults_big_view.rb
201
212
  - test/models/sqlserver/string_defaults_view.rb
213
+ - test/models/sqlserver/table_with_spaces.rb
202
214
  - test/models/sqlserver/tinyint_pk.rb
203
215
  - test/models/sqlserver/trigger.rb
204
216
  - test/models/sqlserver/trigger_history.rb
@@ -212,20 +224,23 @@ files:
212
224
  - test/support/connection_reflection.rb
213
225
  - test/support/core_ext/query_cache.rb
214
226
  - test/support/load_schema_sqlserver.rb
215
- - test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic.dump
216
- - test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic_associations.dump
227
+ - test/support/marshal_compatibility_fixtures/SQLServer/rails_6_1_topic.dump
228
+ - test/support/marshal_compatibility_fixtures/SQLServer/rails_6_1_topic_associations.dump
229
+ - test/support/marshal_compatibility_fixtures/SQLServer/rails_7_1_topic.dump
230
+ - test/support/marshal_compatibility_fixtures/SQLServer/rails_7_1_topic_associations.dump
217
231
  - test/support/minitest_sqlserver.rb
218
232
  - test/support/paths_sqlserver.rb
233
+ - test/support/query_assertions.rb
219
234
  - test/support/rake_helpers.rb
220
- - test/support/sql_counter_sqlserver.rb
235
+ - test/support/table_definition_sqlserver.rb
221
236
  - test/support/test_in_memory_oltp.rb
222
237
  homepage: http://github.com/rails-sqlserver/activerecord-sqlserver-adapter
223
238
  licenses:
224
239
  - MIT
225
240
  metadata:
226
241
  bug_tracker_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/issues
227
- changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v6.1.2.1/CHANGELOG.md
228
- source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v6.1.2.1
242
+ changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v7.2.4/CHANGELOG.md
243
+ source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v7.2.4
229
244
  post_install_message:
230
245
  rdoc_options: []
231
246
  require_paths:
@@ -234,14 +249,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
234
249
  requirements:
235
250
  - - ">="
236
251
  - !ruby/object:Gem::Version
237
- version: 2.5.0
252
+ version: 3.1.0
238
253
  required_rubygems_version: !ruby/object:Gem::Requirement
239
254
  requirements:
240
255
  - - ">="
241
256
  - !ruby/object:Gem::Version
242
257
  version: '0'
243
258
  requirements: []
244
- rubygems_version: 3.2.22
259
+ rubygems_version: 3.5.21
245
260
  signing_key:
246
261
  specification_version: 4
247
262
  summary: ActiveRecord SQL Server Adapter.
@@ -251,13 +266,17 @@ test_files:
251
266
  - test/bin/install-freetds.sh
252
267
  - test/bin/install-openssl.sh
253
268
  - test/bin/setup.sh
269
+ - test/cases/active_schema_test_sqlserver.rb
254
270
  - test/cases/adapter_test_sqlserver.rb
255
271
  - test/cases/change_column_collation_test_sqlserver.rb
256
272
  - test/cases/change_column_null_test_sqlserver.rb
257
273
  - test/cases/coerced_tests.rb
258
274
  - test/cases/column_test_sqlserver.rb
259
275
  - test/cases/connection_test_sqlserver.rb
276
+ - test/cases/dbconsole.rb
260
277
  - test/cases/disconnected_test_sqlserver.rb
278
+ - test/cases/eager_load_too_many_ids_test_sqlserver.rb
279
+ - test/cases/enum_test_sqlserver.rb
261
280
  - test/cases/execute_procedure_test_sqlserver.rb
262
281
  - test/cases/fetch_test_sqlserver.rb
263
282
  - test/cases/fully_qualified_identifier_test_sqlserver.rb
@@ -274,19 +293,20 @@ test_files:
274
293
  - test/cases/rake_test_sqlserver.rb
275
294
  - test/cases/schema_dumper_test_sqlserver.rb
276
295
  - test/cases/schema_test_sqlserver.rb
277
- - test/cases/scratchpad_test_sqlserver.rb
278
296
  - test/cases/showplan_test_sqlserver.rb
279
297
  - test/cases/specific_schema_test_sqlserver.rb
280
298
  - test/cases/transaction_test_sqlserver.rb
281
299
  - test/cases/trigger_test_sqlserver.rb
282
300
  - test/cases/utils_test_sqlserver.rb
283
301
  - test/cases/uuid_test_sqlserver.rb
302
+ - test/cases/view_test_sqlserver.rb
284
303
  - test/config.yml
285
304
  - test/debug.rb
286
305
  - test/fixtures/1px.gif
287
306
  - test/migrations/create_clients_and_change_column_collation.rb
288
307
  - test/migrations/create_clients_and_change_column_null.rb
289
308
  - test/migrations/transaction_table/1_table_will_never_be_created.rb
309
+ - test/models/sqlserver/alien.rb
290
310
  - test/models/sqlserver/booking.rb
291
311
  - test/models/sqlserver/composite_pk.rb
292
312
  - test/models/sqlserver/customers_view.rb
@@ -308,6 +328,7 @@ test_files:
308
328
  - test/models/sqlserver/string_default.rb
309
329
  - test/models/sqlserver/string_defaults_big_view.rb
310
330
  - test/models/sqlserver/string_defaults_view.rb
331
+ - test/models/sqlserver/table_with_spaces.rb
311
332
  - test/models/sqlserver/tinyint_pk.rb
312
333
  - test/models/sqlserver/trigger.rb
313
334
  - test/models/sqlserver/trigger_history.rb
@@ -321,10 +342,13 @@ test_files:
321
342
  - test/support/connection_reflection.rb
322
343
  - test/support/core_ext/query_cache.rb
323
344
  - test/support/load_schema_sqlserver.rb
324
- - test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic.dump
325
- - test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic_associations.dump
345
+ - test/support/marshal_compatibility_fixtures/SQLServer/rails_6_1_topic.dump
346
+ - test/support/marshal_compatibility_fixtures/SQLServer/rails_6_1_topic_associations.dump
347
+ - test/support/marshal_compatibility_fixtures/SQLServer/rails_7_1_topic.dump
348
+ - test/support/marshal_compatibility_fixtures/SQLServer/rails_7_1_topic_associations.dump
326
349
  - test/support/minitest_sqlserver.rb
327
350
  - test/support/paths_sqlserver.rb
351
+ - test/support/query_assertions.rb
328
352
  - test/support/rake_helpers.rb
329
- - test/support/sql_counter_sqlserver.rb
353
+ - test/support/table_definition_sqlserver.rb
330
354
  - test/support/test_in_memory_oltp.rb
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ActiveRecord
4
- module ConnectionHandling
5
- def sqlserver_connection(config) #:nodoc:
6
- config = config.symbolize_keys
7
- config.reverse_merge!(mode: :dblib)
8
- config[:mode] = config[:mode].to_s.downcase.underscore.to_sym
9
-
10
- ConnectionAdapters::SQLServerAdapter.new(
11
- ConnectionAdapters::SQLServerAdapter.new_client(config),
12
- logger,
13
- nil,
14
- config
15
- )
16
- end
17
- end
18
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "cases/helper_sqlserver"
4
-
5
- class ScratchpadTestSQLServer < ActiveRecord::TestCase
6
- it "helps debug things" do
7
- end
8
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ARTest
4
- module SQLServer
5
- module SqlCounterSqlserver
6
- # Only return the log vs. log_all
7
- def capture_sql_ss
8
- ActiveRecord::SQLCounter.clear_log
9
- yield
10
- ActiveRecord::SQLCounter.log.dup
11
- end
12
- end
13
-
14
- # TODO: Delete the code below after all Rails 6.1 tests passing.
15
- #
16
- # ignored_sql = [
17
- # /INFORMATION_SCHEMA\.(TABLES|VIEWS|COLUMNS|KEY_COLUMN_USAGE)/im,
18
- # /sys.columns/i,
19
- # /SELECT @@version/,
20
- # /SELECT @@TRANCOUNT/,
21
- # /(BEGIN|COMMIT|ROLLBACK|SAVE) TRANSACTION/,
22
- # /SELECT CAST\(.* AS .*\) AS value/,
23
- # /SELECT DATABASEPROPERTYEX/im
24
- # ]
25
- #
26
- # sqlcounter = ObjectSpace.each_object(ActiveRecord::SQLCounter).to_a.first
27
- # sqlcounter.instance_variable_set :@ignore, Regexp.union(ignored_sql.push(sqlcounter.ignore))
28
- end
29
- end