activerecord-sqlserver-adapter 6.0.1 → 6.1.1.0

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +26 -0
  3. data/CHANGELOG.md +29 -46
  4. data/README.md +32 -3
  5. data/RUNNING_UNIT_TESTS.md +1 -1
  6. data/VERSION +1 -1
  7. data/activerecord-sqlserver-adapter.gemspec +1 -1
  8. data/lib/active_record/connection_adapters/sqlserver/core_ext/attribute_methods.rb +2 -0
  9. data/lib/active_record/connection_adapters/sqlserver/core_ext/calculations.rb +5 -10
  10. data/lib/active_record/connection_adapters/sqlserver/core_ext/explain.rb +9 -2
  11. data/lib/active_record/connection_adapters/sqlserver/core_ext/finder_methods.rb +2 -0
  12. data/lib/active_record/connection_adapters/sqlserver/core_ext/preloader.rb +2 -0
  13. data/lib/active_record/connection_adapters/sqlserver/database_limits.rb +0 -4
  14. data/lib/active_record/connection_adapters/sqlserver/database_statements.rb +28 -16
  15. data/lib/active_record/connection_adapters/sqlserver/quoting.rb +8 -7
  16. data/lib/active_record/connection_adapters/sqlserver/schema_creation.rb +22 -1
  17. data/lib/active_record/connection_adapters/sqlserver/schema_dumper.rb +9 -3
  18. data/lib/active_record/connection_adapters/sqlserver/schema_statements.rb +31 -9
  19. data/lib/active_record/connection_adapters/sqlserver/sql_type_metadata.rb +36 -7
  20. data/lib/active_record/connection_adapters/sqlserver/table_definition.rb +0 -1
  21. data/lib/active_record/connection_adapters/sqlserver/transaction.rb +2 -2
  22. data/lib/active_record/connection_adapters/sqlserver/type.rb +1 -0
  23. data/lib/active_record/connection_adapters/sqlserver/type/date.rb +2 -1
  24. data/lib/active_record/connection_adapters/sqlserver/type/decimal_without_scale.rb +22 -0
  25. data/lib/active_record/connection_adapters/sqlserver/utils.rb +1 -1
  26. data/lib/active_record/connection_adapters/sqlserver_adapter.rb +100 -69
  27. data/lib/active_record/connection_adapters/sqlserver_column.rb +75 -19
  28. data/lib/active_record/sqlserver_base.rb +9 -15
  29. data/lib/active_record/tasks/sqlserver_database_tasks.rb +17 -14
  30. data/lib/arel/visitors/sqlserver.rb +125 -40
  31. data/test/cases/adapter_test_sqlserver.rb +50 -16
  32. data/test/cases/change_column_collation_test_sqlserver.rb +33 -0
  33. data/test/cases/coerced_tests.rb +611 -78
  34. data/test/cases/column_test_sqlserver.rb +9 -2
  35. data/test/cases/disconnected_test_sqlserver.rb +39 -0
  36. data/test/cases/execute_procedure_test_sqlserver.rb +9 -0
  37. data/test/cases/fetch_test_sqlserver.rb +18 -0
  38. data/test/cases/in_clause_test_sqlserver.rb +27 -0
  39. data/test/cases/lateral_test_sqlserver.rb +35 -0
  40. data/test/cases/migration_test_sqlserver.rb +51 -0
  41. data/test/cases/optimizer_hints_test_sqlserver.rb +72 -0
  42. data/test/cases/order_test_sqlserver.rb +7 -0
  43. data/test/cases/primary_keys_test_sqlserver.rb +103 -0
  44. data/test/cases/rake_test_sqlserver.rb +38 -2
  45. data/test/cases/schema_dumper_test_sqlserver.rb +14 -3
  46. data/test/migrations/create_clients_and_change_column_collation.rb +19 -0
  47. data/test/models/sqlserver/composite_pk.rb +9 -0
  48. data/test/models/sqlserver/sst_string_collation.rb +3 -0
  49. data/test/schema/sqlserver_specific_schema.rb +25 -0
  50. data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic.dump +0 -0
  51. data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic_associations.dump +0 -0
  52. data/test/support/sql_counter_sqlserver.rb +14 -12
  53. metadata +29 -9
  54. data/.travis.yml +0 -23
  55. data/lib/active_record/connection_adapters/sqlserver/core_ext/query_methods.rb +0 -28
@@ -16,7 +16,7 @@ class SchemaDumperTestSQLServer < ActiveRecord::TestCase
16
16
  assert_line :tinyint, type: "integer", limit: 1, precision: nil, scale: nil, default: 42
17
17
  assert_line :bit, type: "boolean", limit: nil, precision: nil, scale: nil, default: true
18
18
  assert_line :decimal_9_2, type: "decimal", limit: nil, precision: 9, scale: 2, default: 12345.01
19
- assert_line :numeric_18_0, type: "decimal", limit: nil, precision: 18, scale: 0, default: 191.0
19
+ assert_line :numeric_18_0, type: "decimal", limit: nil, precision: 18, scale: nil, default: 191
20
20
  assert_line :numeric_36_2, type: "decimal", limit: nil, precision: 36, scale: 2, default: 12345678901234567890.01
21
21
  assert_line :money, type: "money", limit: nil, precision: 19, scale: 4, default: 4.2
22
22
  assert_line :smallmoney, type: "smallmoney", limit: nil, precision: 10, scale: 4, default: 4.2
@@ -75,7 +75,7 @@ class SchemaDumperTestSQLServer < ActiveRecord::TestCase
75
75
  assert_line :integer_col, type: "integer", limit: nil, precision: nil, scale: nil, default: nil
76
76
  assert_line :bigint_col, type: "bigint", limit: nil, precision: nil, scale: nil, default: nil
77
77
  assert_line :boolean_col, type: "boolean", limit: nil, precision: nil, scale: nil, default: nil
78
- assert_line :decimal_col, type: "decimal", limit: nil, precision: 18, scale: 0, default: nil
78
+ assert_line :decimal_col, type: "decimal", limit: nil, precision: 18, scale: nil, default: nil
79
79
  assert_line :float_col, type: "float", limit: nil, precision: nil, scale: nil, default: nil
80
80
  assert_line :string_col, type: "string", limit: nil, precision: nil, scale: nil, default: nil
81
81
  assert_line :text_col, type: "text", limit: nil, precision: nil, scale: nil, default: nil
@@ -119,6 +119,15 @@ class SchemaDumperTestSQLServer < ActiveRecord::TestCase
119
119
  assert_line :json_col, type: "text", limit: nil, precision: nil, scale: nil, default: nil
120
120
  end
121
121
 
122
+ it "dump column collation" do
123
+ generate_schema_for_table('sst_string_collation')
124
+
125
+ assert_line :string_without_collation, type: "string", limit: nil, default: nil, collation: nil
126
+ assert_line :string_default_collation, type: "varchar", limit: nil, default: nil, collation: nil
127
+ assert_line :string_with_collation, type: "varchar", limit: nil, default: nil, collation: "SQL_Latin1_General_CP1_CS_AS"
128
+ assert_line :varchar_with_collation, type: "varchar", limit: nil, default: nil, collation: "SQL_Latin1_General_CP1_CS_AS"
129
+ end
130
+
122
131
  # Special Cases
123
132
 
124
133
  it "honor nonstandard primary keys" do
@@ -166,13 +175,15 @@ class SchemaDumperTestSQLServer < ActiveRecord::TestCase
166
175
 
167
176
  def assert_line(column_name, options = {})
168
177
  line = line(column_name)
169
- assert line, "Count not find line with column name: #{column_name.inspect} in schema:\n#{schema}"
178
+ assert line, "Could not find line with column name: #{column_name.inspect} in schema:\n#{schema}"
179
+
170
180
  [:type, :limit, :precision, :scale, :collation, :default].each do |key|
171
181
  next unless options.key?(key)
172
182
 
173
183
  actual = key == :type ? line.send(:type_method) : line.send(key)
174
184
  expected = options[key]
175
185
  message = "#{key.to_s.titleize} of #{expected.inspect} not found in:\n#{line}"
186
+
176
187
  if expected.nil?
177
188
  _(actual).must_be_nil message
178
189
  elsif expected.is_a?(Array)
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateClientsAndChangeColumnCollation < ActiveRecord::Migration[5.2]
4
+ def up
5
+ create_table :clients do |t|
6
+ t.string :name
7
+ t.string :code, collation: :SQL_Latin1_General_CP1_CS_AS
8
+
9
+ t.timestamps
10
+ end
11
+
12
+ change_column :clients, :name, :string, collation: 'SQL_Latin1_General_CP1_CS_AS'
13
+ change_column :clients, :code, :string, collation: 'SQL_Latin1_General_CP1_CI_AS'
14
+ end
15
+
16
+ def down
17
+ drop_table :clients
18
+ end
19
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class SSCompositePkWithoutIdentity < ActiveRecord::Base
4
+ self.table_name = :sst_composite_without_identity
5
+ end
6
+
7
+ class SSCompositePkWithIdentity < ActiveRecord::Base
8
+ self.table_name = :sst_composite_with_identity
9
+ end
@@ -0,0 +1,3 @@
1
+ class SstStringCollation < ActiveRecord::Base
2
+ self.table_name = "sst_string_collation"
3
+ end
@@ -95,6 +95,13 @@ ActiveRecord::Schema.define do
95
95
  t.column :string_with_multiline_default, :string, default: "Some long default with a\nnew line."
96
96
  end
97
97
 
98
+ create_table :sst_string_collation, collation: :SQL_Latin1_General_CP1_CI_AS, force: true do |t|
99
+ t.string :string_without_collation
100
+ t.varchar :string_default_collation, collation: :SQL_Latin1_General_CP1_CI_AS
101
+ t.varchar :string_with_collation, collation: :SQL_Latin1_General_CP1_CS_AS
102
+ t.varchar :varchar_with_collation, collation: :SQL_Latin1_General_CP1_CS_AS
103
+ end
104
+
98
105
  create_table :sst_edge_schemas, force: true do |t|
99
106
  t.string :description
100
107
  t.column "crazy]]quote", :string
@@ -287,4 +294,22 @@ ActiveRecord::Schema.define do
287
294
  CONSTRAINT PK_UNIQUE_KEY PRIMARY KEY (id)
288
295
  );
289
296
  SQLSERVERUNIQUEKEYS
297
+
298
+ execute "IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'sst_composite_without_identity') DROP TABLE sst_composite_without_identity"
299
+ execute <<-COMPOSITE_WITHOUT_IDENTITY
300
+ CREATE TABLE sst_composite_without_identity (
301
+ pk_col_one int NOT NULL,
302
+ pk_col_two int NOT NULL,
303
+ CONSTRAINT PK_sst_composite_without_identity PRIMARY KEY (pk_col_one, pk_col_two)
304
+ );
305
+ COMPOSITE_WITHOUT_IDENTITY
306
+
307
+ execute "IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'sst_composite_with_identity') DROP TABLE sst_composite_with_identity"
308
+ execute <<-COMPOSITE_WITH_IDENTITY
309
+ CREATE TABLE sst_composite_with_identity (
310
+ pk_col_one int IDENTITY NOT NULL,
311
+ pk_col_two int NOT NULL,
312
+ CONSTRAINT PK_sst_composite_with_identity PRIMARY KEY (pk_col_one, pk_col_two)
313
+ );
314
+ COMPOSITE_WITH_IDENTITY
290
315
  end
@@ -11,17 +11,19 @@ module ARTest
11
11
  end
12
12
  end
13
13
 
14
- ignored_sql = [
15
- /INFORMATION_SCHEMA\.(TABLES|VIEWS|COLUMNS|KEY_COLUMN_USAGE)/im,
16
- /sys.columns/i,
17
- /SELECT @@version/,
18
- /SELECT @@TRANCOUNT/,
19
- /(BEGIN|COMMIT|ROLLBACK|SAVE) TRANSACTION/,
20
- /SELECT CAST\(.* AS .*\) AS value/,
21
- /SELECT DATABASEPROPERTYEX/im
22
- ]
23
-
24
- sqlcounter = ObjectSpace.each_object(ActiveRecord::SQLCounter).to_a.first
25
- sqlcounter.instance_variable_set :@ignore, Regexp.union(ignored_sql.push(sqlcounter.ignore))
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))
26
28
  end
27
29
  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.0.1
4
+ version: 6.1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Collins
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2021-02-16 00:00:00.000000000 Z
17
+ date: 2021-08-11 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: activerecord
@@ -22,14 +22,14 @@ dependencies:
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: 6.0.0
25
+ version: 6.1.0
26
26
  type: :runtime
27
27
  prerelease: false
28
28
  version_requirements: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 6.0.0
32
+ version: 6.1.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: tiny_tds
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -54,9 +54,9 @@ extra_rdoc_files: []
54
54
  files:
55
55
  - ".editorconfig"
56
56
  - ".github/issue_template.md"
57
+ - ".github/workflows/ci.yml"
57
58
  - ".gitignore"
58
59
  - ".rubocop.yml"
59
- - ".travis.yml"
60
60
  - CHANGELOG.md
61
61
  - CODE_OF_CONDUCT.md
62
62
  - Dockerfile.ci
@@ -78,7 +78,6 @@ files:
78
78
  - lib/active_record/connection_adapters/sqlserver/core_ext/explain_subscriber.rb
79
79
  - lib/active_record/connection_adapters/sqlserver/core_ext/finder_methods.rb
80
80
  - lib/active_record/connection_adapters/sqlserver/core_ext/preloader.rb
81
- - lib/active_record/connection_adapters/sqlserver/core_ext/query_methods.rb
82
81
  - lib/active_record/connection_adapters/sqlserver/database_limits.rb
83
82
  - lib/active_record/connection_adapters/sqlserver/database_statements.rb
84
83
  - lib/active_record/connection_adapters/sqlserver/database_tasks.rb
@@ -104,6 +103,7 @@ files:
104
103
  - lib/active_record/connection_adapters/sqlserver/type/datetime2.rb
105
104
  - lib/active_record/connection_adapters/sqlserver/type/datetimeoffset.rb
106
105
  - lib/active_record/connection_adapters/sqlserver/type/decimal.rb
106
+ - lib/active_record/connection_adapters/sqlserver/type/decimal_without_scale.rb
107
107
  - lib/active_record/connection_adapters/sqlserver/type/float.rb
108
108
  - lib/active_record/connection_adapters/sqlserver/type/integer.rb
109
109
  - lib/active_record/connection_adapters/sqlserver/type/json.rb
@@ -143,10 +143,12 @@ files:
143
143
  - test/bin/install-openssl.sh
144
144
  - test/bin/setup.sh
145
145
  - test/cases/adapter_test_sqlserver.rb
146
+ - test/cases/change_column_collation_test_sqlserver.rb
146
147
  - test/cases/change_column_null_test_sqlserver.rb
147
148
  - test/cases/coerced_tests.rb
148
149
  - test/cases/column_test_sqlserver.rb
149
150
  - test/cases/connection_test_sqlserver.rb
151
+ - test/cases/disconnected_test_sqlserver.rb
150
152
  - test/cases/execute_procedure_test_sqlserver.rb
151
153
  - test/cases/fetch_test_sqlserver.rb
152
154
  - test/cases/fully_qualified_identifier_test_sqlserver.rb
@@ -154,9 +156,12 @@ files:
154
156
  - test/cases/in_clause_test_sqlserver.rb
155
157
  - test/cases/index_test_sqlserver.rb
156
158
  - test/cases/json_test_sqlserver.rb
159
+ - test/cases/lateral_test_sqlserver.rb
157
160
  - test/cases/migration_test_sqlserver.rb
161
+ - test/cases/optimizer_hints_test_sqlserver.rb
158
162
  - test/cases/order_test_sqlserver.rb
159
163
  - test/cases/pessimistic_locking_test_sqlserver.rb
164
+ - test/cases/primary_keys_test_sqlserver.rb
160
165
  - test/cases/rake_test_sqlserver.rb
161
166
  - test/cases/schema_dumper_test_sqlserver.rb
162
167
  - test/cases/schema_test_sqlserver.rb
@@ -170,9 +175,11 @@ files:
170
175
  - test/config.yml
171
176
  - test/debug.rb
172
177
  - test/fixtures/1px.gif
178
+ - test/migrations/create_clients_and_change_column_collation.rb
173
179
  - test/migrations/create_clients_and_change_column_null.rb
174
180
  - test/migrations/transaction_table/1_table_will_never_be_created.rb
175
181
  - test/models/sqlserver/booking.rb
182
+ - test/models/sqlserver/composite_pk.rb
176
183
  - test/models/sqlserver/customers_view.rb
177
184
  - test/models/sqlserver/datatype.rb
178
185
  - test/models/sqlserver/datatype_migration.rb
@@ -188,6 +195,7 @@ files:
188
195
  - test/models/sqlserver/quoted_view_1.rb
189
196
  - test/models/sqlserver/quoted_view_2.rb
190
197
  - test/models/sqlserver/sst_memory.rb
198
+ - test/models/sqlserver/sst_string_collation.rb
191
199
  - test/models/sqlserver/string_default.rb
192
200
  - test/models/sqlserver/string_defaults_big_view.rb
193
201
  - test/models/sqlserver/string_defaults_view.rb
@@ -204,6 +212,8 @@ files:
204
212
  - test/support/connection_reflection.rb
205
213
  - test/support/core_ext/query_cache.rb
206
214
  - 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
207
217
  - test/support/minitest_sqlserver.rb
208
218
  - test/support/paths_sqlserver.rb
209
219
  - test/support/rake_helpers.rb
@@ -214,8 +224,8 @@ licenses:
214
224
  - MIT
215
225
  metadata:
216
226
  bug_tracker_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/issues
217
- changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v6.0.1/CHANGELOG.md
218
- source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v6.0.1
227
+ changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v6.1.1.0/CHANGELOG.md
228
+ source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v6.1.1.0
219
229
  post_install_message:
220
230
  rdoc_options: []
221
231
  require_paths:
@@ -231,7 +241,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
231
241
  - !ruby/object:Gem::Version
232
242
  version: '0'
233
243
  requirements: []
234
- rubygems_version: 3.0.3
244
+ rubygems_version: 3.2.22
235
245
  signing_key:
236
246
  specification_version: 4
237
247
  summary: ActiveRecord SQL Server Adapter.
@@ -242,10 +252,12 @@ test_files:
242
252
  - test/bin/install-openssl.sh
243
253
  - test/bin/setup.sh
244
254
  - test/cases/adapter_test_sqlserver.rb
255
+ - test/cases/change_column_collation_test_sqlserver.rb
245
256
  - test/cases/change_column_null_test_sqlserver.rb
246
257
  - test/cases/coerced_tests.rb
247
258
  - test/cases/column_test_sqlserver.rb
248
259
  - test/cases/connection_test_sqlserver.rb
260
+ - test/cases/disconnected_test_sqlserver.rb
249
261
  - test/cases/execute_procedure_test_sqlserver.rb
250
262
  - test/cases/fetch_test_sqlserver.rb
251
263
  - test/cases/fully_qualified_identifier_test_sqlserver.rb
@@ -253,9 +265,12 @@ test_files:
253
265
  - test/cases/in_clause_test_sqlserver.rb
254
266
  - test/cases/index_test_sqlserver.rb
255
267
  - test/cases/json_test_sqlserver.rb
268
+ - test/cases/lateral_test_sqlserver.rb
256
269
  - test/cases/migration_test_sqlserver.rb
270
+ - test/cases/optimizer_hints_test_sqlserver.rb
257
271
  - test/cases/order_test_sqlserver.rb
258
272
  - test/cases/pessimistic_locking_test_sqlserver.rb
273
+ - test/cases/primary_keys_test_sqlserver.rb
259
274
  - test/cases/rake_test_sqlserver.rb
260
275
  - test/cases/schema_dumper_test_sqlserver.rb
261
276
  - test/cases/schema_test_sqlserver.rb
@@ -269,9 +284,11 @@ test_files:
269
284
  - test/config.yml
270
285
  - test/debug.rb
271
286
  - test/fixtures/1px.gif
287
+ - test/migrations/create_clients_and_change_column_collation.rb
272
288
  - test/migrations/create_clients_and_change_column_null.rb
273
289
  - test/migrations/transaction_table/1_table_will_never_be_created.rb
274
290
  - test/models/sqlserver/booking.rb
291
+ - test/models/sqlserver/composite_pk.rb
275
292
  - test/models/sqlserver/customers_view.rb
276
293
  - test/models/sqlserver/datatype.rb
277
294
  - test/models/sqlserver/datatype_migration.rb
@@ -287,6 +304,7 @@ test_files:
287
304
  - test/models/sqlserver/quoted_view_1.rb
288
305
  - test/models/sqlserver/quoted_view_2.rb
289
306
  - test/models/sqlserver/sst_memory.rb
307
+ - test/models/sqlserver/sst_string_collation.rb
290
308
  - test/models/sqlserver/string_default.rb
291
309
  - test/models/sqlserver/string_defaults_big_view.rb
292
310
  - test/models/sqlserver/string_defaults_view.rb
@@ -303,6 +321,8 @@ test_files:
303
321
  - test/support/connection_reflection.rb
304
322
  - test/support/core_ext/query_cache.rb
305
323
  - 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
306
326
  - test/support/minitest_sqlserver.rb
307
327
  - test/support/paths_sqlserver.rb
308
328
  - test/support/rake_helpers.rb
data/.travis.yml DELETED
@@ -1,23 +0,0 @@
1
- sudo: required
2
- cache: bundler
3
- services:
4
- - docker
5
- env:
6
- global:
7
- - COMPOSE_FILE: docker-compose.ci.yml
8
- before_install:
9
- - sudo rm /usr/local/bin/docker-compose
10
- - sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
11
- - sudo chmod +x /usr/local/bin/docker-compose
12
- install:
13
- - docker-compose build --build-arg TARGET_VERSION=$TARGET_VERSION
14
- script:
15
- - docker-compose run ci
16
- matrix:
17
- include:
18
- - name: 2.5.8
19
- env: TARGET_VERSION=2.5.8
20
- - name: 2.6.6
21
- env: TARGET_VERSION=2.6.6
22
- - name: 2.7.1
23
- env: TARGET_VERSION=2.7.1
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_record/relation"
4
- require "active_record/version"
5
-
6
- module ActiveRecord
7
- module ConnectionAdapters
8
- module SQLServer
9
- module CoreExt
10
- module QueryMethods
11
- private
12
-
13
- # Copy of original from Rails master.
14
- # This patch can be removed when adapter supports Rails version greater than 6.0.2.2
15
- def table_name_matches?(from)
16
- table_name = Regexp.escape(table.name)
17
- quoted_table_name = Regexp.escape(connection.quote_table_name(table.name))
18
- /(?:\A|(?<!FROM)\s)(?:\b#{table_name}\b|#{quoted_table_name})(?!\.)/i.match?(from.to_s)
19
- end
20
- end
21
- end
22
- end
23
- end
24
- end
25
-
26
- ActiveSupport.on_load(:active_record) do
27
- ActiveRecord::Relation.include(ActiveRecord::ConnectionAdapters::SQLServer::CoreExt::QueryMethods)
28
- end