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.
- checksums.yaml +4 -4
- data/.devcontainer/Dockerfile +30 -0
- data/.devcontainer/boot.sh +22 -0
- data/.devcontainer/devcontainer.json +38 -0
- data/.devcontainer/docker-compose.yml +42 -0
- data/.github/workflows/ci.yml +7 -4
- data/.gitignore +3 -1
- data/CHANGELOG.md +19 -42
- data/Dockerfile.ci +3 -3
- data/Gemfile +6 -1
- data/MIT-LICENSE +1 -1
- data/README.md +113 -27
- data/RUNNING_UNIT_TESTS.md +27 -14
- data/Rakefile +2 -6
- data/VERSION +1 -1
- data/activerecord-sqlserver-adapter.gemspec +3 -3
- data/appveyor.yml +4 -6
- data/docker-compose.ci.yml +2 -1
- data/lib/active_record/connection_adapters/sqlserver/core_ext/abstract_adapter.rb +20 -0
- data/lib/active_record/connection_adapters/sqlserver/core_ext/attribute_methods.rb +6 -4
- data/lib/active_record/connection_adapters/sqlserver/core_ext/calculations.rb +5 -23
- data/lib/active_record/connection_adapters/sqlserver/core_ext/explain.rb +10 -7
- data/lib/active_record/connection_adapters/sqlserver/core_ext/explain_subscriber.rb +2 -0
- data/lib/active_record/connection_adapters/sqlserver/core_ext/finder_methods.rb +12 -2
- data/lib/active_record/connection_adapters/sqlserver/core_ext/preloader.rb +24 -16
- data/lib/active_record/connection_adapters/sqlserver/database_limits.rb +0 -31
- data/lib/active_record/connection_adapters/sqlserver/database_statements.rb +143 -155
- data/lib/active_record/connection_adapters/sqlserver/database_tasks.rb +5 -5
- data/lib/active_record/connection_adapters/sqlserver/quoting.rb +57 -56
- data/lib/active_record/connection_adapters/sqlserver/savepoints.rb +26 -0
- data/lib/active_record/connection_adapters/sqlserver/schema_creation.rb +14 -12
- data/lib/active_record/connection_adapters/sqlserver/schema_dumper.rb +11 -0
- data/lib/active_record/connection_adapters/sqlserver/schema_statements.rb +213 -57
- data/lib/active_record/connection_adapters/sqlserver/showplan.rb +3 -3
- data/lib/active_record/connection_adapters/sqlserver/table_definition.rb +13 -2
- data/lib/active_record/connection_adapters/sqlserver/transaction.rb +4 -6
- data/lib/active_record/connection_adapters/sqlserver/type/data.rb +19 -1
- data/lib/active_record/connection_adapters/sqlserver/type/date.rb +1 -1
- data/lib/active_record/connection_adapters/sqlserver/type/datetime.rb +1 -1
- data/lib/active_record/connection_adapters/sqlserver/type/time.rb +1 -1
- data/lib/active_record/connection_adapters/sqlserver/utils.rb +21 -10
- data/lib/active_record/connection_adapters/sqlserver_adapter.rb +187 -187
- data/lib/active_record/connection_adapters/sqlserver_column.rb +1 -0
- data/lib/active_record/tasks/sqlserver_database_tasks.rb +42 -33
- data/lib/arel/visitors/sqlserver.rb +77 -34
- data/test/cases/active_schema_test_sqlserver.rb +127 -0
- data/test/cases/adapter_test_sqlserver.rb +114 -26
- data/test/cases/coerced_tests.rb +1121 -340
- data/test/cases/column_test_sqlserver.rb +67 -64
- data/test/cases/connection_test_sqlserver.rb +3 -6
- data/test/cases/dbconsole.rb +19 -0
- data/test/cases/disconnected_test_sqlserver.rb +8 -5
- data/test/cases/eager_load_too_many_ids_test_sqlserver.rb +18 -0
- data/test/cases/enum_test_sqlserver.rb +49 -0
- data/test/cases/execute_procedure_test_sqlserver.rb +9 -5
- data/test/cases/fetch_test_sqlserver.rb +19 -0
- data/test/cases/helper_sqlserver.rb +11 -5
- data/test/cases/index_test_sqlserver.rb +8 -6
- data/test/cases/json_test_sqlserver.rb +1 -1
- data/test/cases/lateral_test_sqlserver.rb +2 -2
- data/test/cases/migration_test_sqlserver.rb +19 -1
- data/test/cases/optimizer_hints_test_sqlserver.rb +21 -12
- data/test/cases/pessimistic_locking_test_sqlserver.rb +8 -7
- data/test/cases/primary_keys_test_sqlserver.rb +2 -2
- data/test/cases/rake_test_sqlserver.rb +10 -5
- data/test/cases/schema_dumper_test_sqlserver.rb +155 -109
- data/test/cases/schema_test_sqlserver.rb +64 -1
- data/test/cases/showplan_test_sqlserver.rb +7 -7
- data/test/cases/specific_schema_test_sqlserver.rb +17 -13
- data/test/cases/transaction_test_sqlserver.rb +13 -8
- data/test/cases/trigger_test_sqlserver.rb +20 -0
- data/test/cases/utils_test_sqlserver.rb +2 -2
- data/test/cases/uuid_test_sqlserver.rb +8 -0
- data/test/cases/view_test_sqlserver.rb +58 -0
- data/test/config.yml +1 -2
- data/test/migrations/transaction_table/1_table_will_never_be_created.rb +1 -1
- data/test/models/sqlserver/alien.rb +5 -0
- data/test/models/sqlserver/table_with_spaces.rb +5 -0
- data/test/models/sqlserver/trigger.rb +8 -0
- data/test/schema/sqlserver_specific_schema.rb +54 -6
- data/test/support/coerceable_test_sqlserver.rb +4 -4
- data/test/support/connection_reflection.rb +3 -9
- data/test/support/core_ext/query_cache.rb +7 -1
- data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_1_topic.dump +0 -0
- data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_1_topic_associations.dump +0 -0
- data/test/support/marshal_compatibility_fixtures/SQLServer/rails_7_1_topic.dump +0 -0
- data/test/support/marshal_compatibility_fixtures/SQLServer/rails_7_1_topic_associations.dump +0 -0
- data/test/support/query_assertions.rb +49 -0
- data/test/support/rake_helpers.rb +3 -1
- data/test/support/table_definition_sqlserver.rb +24 -0
- data/test/support/test_in_memory_oltp.rb +2 -2
- metadata +41 -17
- data/lib/active_record/sqlserver_base.rb +0 -18
- data/test/cases/scratchpad_test_sqlserver.rb +0 -8
- data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic.dump +0 -0
- data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic_associations.dump +0 -0
- 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 {
|
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.
|
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.
|
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:
|
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:
|
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:
|
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:
|
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/
|
216
|
-
- test/support/marshal_compatibility_fixtures/SQLServer/
|
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/
|
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/
|
228
|
-
source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/
|
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:
|
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.
|
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/
|
325
|
-
- test/support/marshal_compatibility_fixtures/SQLServer/
|
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/
|
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
|
Binary file
|
data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic_associations.dump
DELETED
Binary file
|
@@ -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
|