activerecord-sqlserver-adapter 6.0.1 → 6.1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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