activerecord-sqlserver-adapter 6.0.2 → 6.1.2.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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -56
  3. data/README.md +28 -11
  4. data/VERSION +1 -1
  5. data/activerecord-sqlserver-adapter.gemspec +1 -1
  6. data/lib/active_record/connection_adapters/sqlserver/core_ext/attribute_methods.rb +2 -0
  7. data/lib/active_record/connection_adapters/sqlserver/core_ext/calculations.rb +5 -10
  8. data/lib/active_record/connection_adapters/sqlserver/core_ext/explain.rb +9 -2
  9. data/lib/active_record/connection_adapters/sqlserver/core_ext/finder_methods.rb +2 -0
  10. data/lib/active_record/connection_adapters/sqlserver/core_ext/preloader.rb +2 -0
  11. data/lib/active_record/connection_adapters/sqlserver/database_limits.rb +0 -4
  12. data/lib/active_record/connection_adapters/sqlserver/database_statements.rb +27 -15
  13. data/lib/active_record/connection_adapters/sqlserver/quoting.rb +4 -3
  14. data/lib/active_record/connection_adapters/sqlserver/schema_creation.rb +22 -1
  15. data/lib/active_record/connection_adapters/sqlserver/schema_dumper.rb +9 -3
  16. data/lib/active_record/connection_adapters/sqlserver/schema_statements.rb +8 -6
  17. data/lib/active_record/connection_adapters/sqlserver/sql_type_metadata.rb +36 -7
  18. data/lib/active_record/connection_adapters/sqlserver/table_definition.rb +0 -1
  19. data/lib/active_record/connection_adapters/sqlserver/transaction.rb +2 -2
  20. data/lib/active_record/connection_adapters/sqlserver/type/date.rb +2 -1
  21. data/lib/active_record/connection_adapters/sqlserver/utils.rb +1 -1
  22. data/lib/active_record/connection_adapters/sqlserver_adapter.rb +100 -70
  23. data/lib/active_record/connection_adapters/sqlserver_column.rb +75 -19
  24. data/lib/active_record/sqlserver_base.rb +9 -15
  25. data/lib/active_record/tasks/sqlserver_database_tasks.rb +17 -14
  26. data/lib/arel/visitors/sqlserver.rb +74 -29
  27. data/test/cases/adapter_test_sqlserver.rb +27 -17
  28. data/test/cases/change_column_collation_test_sqlserver.rb +33 -0
  29. data/test/cases/coerced_tests.rb +544 -77
  30. data/test/cases/column_test_sqlserver.rb +4 -0
  31. data/test/cases/disconnected_test_sqlserver.rb +39 -0
  32. data/test/cases/execute_procedure_test_sqlserver.rb +9 -0
  33. data/test/cases/fetch_test_sqlserver.rb +18 -0
  34. data/test/cases/in_clause_test_sqlserver.rb +27 -0
  35. data/test/cases/migration_test_sqlserver.rb +7 -0
  36. data/test/cases/order_test_sqlserver.rb +7 -0
  37. data/test/cases/primary_keys_test_sqlserver.rb +103 -0
  38. data/test/cases/rake_test_sqlserver.rb +38 -2
  39. data/test/cases/schema_dumper_test_sqlserver.rb +9 -0
  40. data/test/migrations/create_clients_and_change_column_collation.rb +19 -0
  41. data/test/models/sqlserver/composite_pk.rb +9 -0
  42. data/test/models/sqlserver/sst_string_collation.rb +3 -0
  43. data/test/schema/sqlserver_specific_schema.rb +25 -0
  44. data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic.dump +0 -0
  45. data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic_associations.dump +0 -0
  46. data/test/support/sql_counter_sqlserver.rb +14 -12
  47. metadata +23 -8
  48. data/lib/active_record/connection_adapters/sqlserver/core_ext/query_methods.rb +0 -28
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.2
4
+ version: 6.1.2.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-04-12 00:00:00.000000000 Z
17
+ date: 2021-09-06 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
@@ -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
@@ -144,10 +143,12 @@ files:
144
143
  - test/bin/install-openssl.sh
145
144
  - test/bin/setup.sh
146
145
  - test/cases/adapter_test_sqlserver.rb
146
+ - test/cases/change_column_collation_test_sqlserver.rb
147
147
  - test/cases/change_column_null_test_sqlserver.rb
148
148
  - test/cases/coerced_tests.rb
149
149
  - test/cases/column_test_sqlserver.rb
150
150
  - test/cases/connection_test_sqlserver.rb
151
+ - test/cases/disconnected_test_sqlserver.rb
151
152
  - test/cases/execute_procedure_test_sqlserver.rb
152
153
  - test/cases/fetch_test_sqlserver.rb
153
154
  - test/cases/fully_qualified_identifier_test_sqlserver.rb
@@ -160,6 +161,7 @@ files:
160
161
  - test/cases/optimizer_hints_test_sqlserver.rb
161
162
  - test/cases/order_test_sqlserver.rb
162
163
  - test/cases/pessimistic_locking_test_sqlserver.rb
164
+ - test/cases/primary_keys_test_sqlserver.rb
163
165
  - test/cases/rake_test_sqlserver.rb
164
166
  - test/cases/schema_dumper_test_sqlserver.rb
165
167
  - test/cases/schema_test_sqlserver.rb
@@ -173,9 +175,11 @@ files:
173
175
  - test/config.yml
174
176
  - test/debug.rb
175
177
  - test/fixtures/1px.gif
178
+ - test/migrations/create_clients_and_change_column_collation.rb
176
179
  - test/migrations/create_clients_and_change_column_null.rb
177
180
  - test/migrations/transaction_table/1_table_will_never_be_created.rb
178
181
  - test/models/sqlserver/booking.rb
182
+ - test/models/sqlserver/composite_pk.rb
179
183
  - test/models/sqlserver/customers_view.rb
180
184
  - test/models/sqlserver/datatype.rb
181
185
  - test/models/sqlserver/datatype_migration.rb
@@ -191,6 +195,7 @@ files:
191
195
  - test/models/sqlserver/quoted_view_1.rb
192
196
  - test/models/sqlserver/quoted_view_2.rb
193
197
  - test/models/sqlserver/sst_memory.rb
198
+ - test/models/sqlserver/sst_string_collation.rb
194
199
  - test/models/sqlserver/string_default.rb
195
200
  - test/models/sqlserver/string_defaults_big_view.rb
196
201
  - test/models/sqlserver/string_defaults_view.rb
@@ -207,6 +212,8 @@ files:
207
212
  - test/support/connection_reflection.rb
208
213
  - test/support/core_ext/query_cache.rb
209
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
210
217
  - test/support/minitest_sqlserver.rb
211
218
  - test/support/paths_sqlserver.rb
212
219
  - test/support/rake_helpers.rb
@@ -217,8 +224,8 @@ licenses:
217
224
  - MIT
218
225
  metadata:
219
226
  bug_tracker_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/issues
220
- changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v6.0.2/CHANGELOG.md
221
- source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v6.0.2
227
+ changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v6.1.2.0/CHANGELOG.md
228
+ source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v6.1.2.0
222
229
  post_install_message:
223
230
  rdoc_options: []
224
231
  require_paths:
@@ -234,7 +241,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
241
  - !ruby/object:Gem::Version
235
242
  version: '0'
236
243
  requirements: []
237
- rubygems_version: 3.1.4
244
+ rubygems_version: 3.2.22
238
245
  signing_key:
239
246
  specification_version: 4
240
247
  summary: ActiveRecord SQL Server Adapter.
@@ -245,10 +252,12 @@ test_files:
245
252
  - test/bin/install-openssl.sh
246
253
  - test/bin/setup.sh
247
254
  - test/cases/adapter_test_sqlserver.rb
255
+ - test/cases/change_column_collation_test_sqlserver.rb
248
256
  - test/cases/change_column_null_test_sqlserver.rb
249
257
  - test/cases/coerced_tests.rb
250
258
  - test/cases/column_test_sqlserver.rb
251
259
  - test/cases/connection_test_sqlserver.rb
260
+ - test/cases/disconnected_test_sqlserver.rb
252
261
  - test/cases/execute_procedure_test_sqlserver.rb
253
262
  - test/cases/fetch_test_sqlserver.rb
254
263
  - test/cases/fully_qualified_identifier_test_sqlserver.rb
@@ -261,6 +270,7 @@ test_files:
261
270
  - test/cases/optimizer_hints_test_sqlserver.rb
262
271
  - test/cases/order_test_sqlserver.rb
263
272
  - test/cases/pessimistic_locking_test_sqlserver.rb
273
+ - test/cases/primary_keys_test_sqlserver.rb
264
274
  - test/cases/rake_test_sqlserver.rb
265
275
  - test/cases/schema_dumper_test_sqlserver.rb
266
276
  - test/cases/schema_test_sqlserver.rb
@@ -274,9 +284,11 @@ test_files:
274
284
  - test/config.yml
275
285
  - test/debug.rb
276
286
  - test/fixtures/1px.gif
287
+ - test/migrations/create_clients_and_change_column_collation.rb
277
288
  - test/migrations/create_clients_and_change_column_null.rb
278
289
  - test/migrations/transaction_table/1_table_will_never_be_created.rb
279
290
  - test/models/sqlserver/booking.rb
291
+ - test/models/sqlserver/composite_pk.rb
280
292
  - test/models/sqlserver/customers_view.rb
281
293
  - test/models/sqlserver/datatype.rb
282
294
  - test/models/sqlserver/datatype_migration.rb
@@ -292,6 +304,7 @@ test_files:
292
304
  - test/models/sqlserver/quoted_view_1.rb
293
305
  - test/models/sqlserver/quoted_view_2.rb
294
306
  - test/models/sqlserver/sst_memory.rb
307
+ - test/models/sqlserver/sst_string_collation.rb
295
308
  - test/models/sqlserver/string_default.rb
296
309
  - test/models/sqlserver/string_defaults_big_view.rb
297
310
  - test/models/sqlserver/string_defaults_view.rb
@@ -308,6 +321,8 @@ test_files:
308
321
  - test/support/connection_reflection.rb
309
322
  - test/support/core_ext/query_cache.rb
310
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
311
326
  - test/support/minitest_sqlserver.rb
312
327
  - test/support/paths_sqlserver.rb
313
328
  - test/support/rake_helpers.rb
@@ -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