activerecord-jdbcsqlserver-adapter 51.1.0 → 52.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/CHANGELOG.md +22 -39
  4. data/{Dockerfile → Dockerfile.ci} +0 -0
  5. data/Gemfile +1 -3
  6. data/README.md +5 -8
  7. data/VERSION +1 -1
  8. data/activerecord-jdbcsqlserver-adapter.gemspec +2 -3
  9. data/docker-compose.ci.yml +7 -5
  10. data/lib/active_record/connection_adapters/sqlserver/core_ext/calculations.rb +25 -29
  11. data/lib/active_record/connection_adapters/sqlserver/core_ext/explain.rb +14 -18
  12. data/lib/active_record/connection_adapters/sqlserver/core_ext/finder_methods.rb +43 -0
  13. data/lib/active_record/connection_adapters/sqlserver/core_ext/query_methods.rb +26 -0
  14. data/lib/active_record/connection_adapters/sqlserver/database_limits.rb +13 -2
  15. data/lib/active_record/connection_adapters/sqlserver/database_statements.rb +53 -10
  16. data/lib/active_record/connection_adapters/sqlserver/database_tasks.rb +1 -0
  17. data/lib/active_record/connection_adapters/sqlserver/jdbc_overrides.rb +5 -13
  18. data/lib/active_record/connection_adapters/sqlserver/schema_creation.rb +2 -1
  19. data/lib/active_record/connection_adapters/sqlserver/schema_dumper.rb +2 -2
  20. data/lib/active_record/connection_adapters/sqlserver/schema_statements.rb +43 -27
  21. data/lib/active_record/connection_adapters/sqlserver/transaction.rb +3 -4
  22. data/lib/active_record/connection_adapters/sqlserver/type/json.rb +1 -1
  23. data/lib/active_record/connection_adapters/sqlserver/type/string.rb +7 -0
  24. data/lib/active_record/connection_adapters/sqlserver/type/time.rb +1 -0
  25. data/lib/active_record/connection_adapters/sqlserver_adapter.rb +20 -14
  26. data/lib/active_record/tasks/sqlserver_database_tasks.rb +3 -1
  27. data/lib/activerecord-jdbcsqlserver-adapter.rb +3 -0
  28. data/lib/arel/visitors/sqlserver.rb +1 -1
  29. data/lib/arel_sqlserver.rb +0 -1
  30. data/test/bin/install-freetds.sh +18 -0
  31. data/test/cases/adapter_test_sqlserver.rb +29 -21
  32. data/test/cases/change_column_null_test_sqlserver.rb +42 -0
  33. data/test/cases/coerced_tests.rb +304 -30
  34. data/test/cases/column_test_sqlserver.rb +496 -462
  35. data/test/cases/connection_test_sqlserver.rb +2 -2
  36. data/test/cases/fetch_test_sqlserver.rb +5 -5
  37. data/test/cases/helper_sqlserver.rb +6 -0
  38. data/test/cases/json_test_sqlserver.rb +6 -6
  39. data/test/cases/migration_test_sqlserver.rb +13 -3
  40. data/test/cases/order_test_sqlserver.rb +19 -19
  41. data/test/cases/pessimistic_locking_test_sqlserver.rb +9 -9
  42. data/test/cases/rake_test_sqlserver.rb +20 -20
  43. data/test/cases/schema_dumper_test_sqlserver.rb +34 -33
  44. data/test/cases/schema_test_sqlserver.rb +2 -2
  45. data/test/cases/showplan_test_sqlserver.rb +25 -10
  46. data/test/cases/specific_schema_test_sqlserver.rb +11 -11
  47. data/test/cases/transaction_test_sqlserver.rb +9 -9
  48. data/test/cases/trigger_test_sqlserver.rb +8 -8
  49. data/test/cases/utils_test_sqlserver.rb +36 -36
  50. data/test/cases/uuid_test_sqlserver.rb +8 -8
  51. data/test/migrations/create_clients_and_change_column_null.rb +23 -0
  52. data/test/schema/datatypes/2012.sql +1 -0
  53. data/test/schema/sqlserver_specific_schema.rb +9 -1
  54. data/test/support/core_ext/query_cache.rb +29 -0
  55. metadata +19 -10
  56. data/BACKERS.md +0 -32
@@ -0,0 +1,29 @@
1
+ require 'active_record/connection_adapters/sqlserver_adapter'
2
+
3
+ module SqlIgnoredCache
4
+ extend ActiveSupport::Concern
5
+
6
+ IGNORED_SQL = [
7
+ /INFORMATION_SCHEMA\.(TABLES|VIEWS|COLUMNS|KEY_COLUMN_USAGE)/im,
8
+ /SELECT @@version/,
9
+ /SELECT @@TRANCOUNT/,
10
+ /(BEGIN|COMMIT|ROLLBACK|SAVE) TRANSACTION/,
11
+ /SELECT CAST\(.* AS .*\) AS value/,
12
+ /SELECT DATABASEPROPERTYEX/im
13
+ ]
14
+
15
+ # We don't want to coerce every ActiveRecord test that relies on `query_cache`
16
+ # just because we do more queries than the other adapters.
17
+ #
18
+ # Removing internal queries from the cache will make AR tests pass without
19
+ # compromising cache outside tests.
20
+ def cache_sql(sql, name, binds)
21
+ result = super
22
+ @query_cache.delete_if { |k, v| k =~ Regexp.union(IGNORED_SQL) }
23
+ result
24
+ end
25
+ end
26
+
27
+ ActiveSupport.on_load(:active_record) do
28
+ ActiveRecord::ConnectionAdapters::SQLServerAdapter.prepend(SqlIgnoredCache)
29
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-jdbcsqlserver-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 51.1.0
4
+ version: 52.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Collins
@@ -15,17 +15,17 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2020-12-18 00:00:00.000000000 Z
18
+ date: 2021-01-05 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  requirement: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: 5.1.0
25
+ version: 5.2.0
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: 5.1.7
28
+ version: 5.2.3
29
29
  name: activerecord
30
30
  type: :runtime
31
31
  prerelease: false
@@ -33,16 +33,16 @@ dependencies:
33
33
  requirements:
34
34
  - - "~>"
35
35
  - !ruby/object:Gem::Version
36
- version: 5.1.0
36
+ version: 5.2.0
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 5.1.7
39
+ version: 5.2.3
40
40
  - !ruby/object:Gem::Dependency
41
41
  requirement: !ruby/object:Gem::Requirement
42
42
  requirements:
43
43
  - - "~>"
44
44
  - !ruby/object:Gem::Version
45
- version: '51.8'
45
+ version: '52.7'
46
46
  name: activerecord-jdbc-adapter
47
47
  type: :runtime
48
48
  prerelease: false
@@ -50,7 +50,7 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '51.8'
53
+ version: '52.7'
54
54
  - !ruby/object:Gem::Dependency
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
@@ -76,10 +76,9 @@ extra_rdoc_files: []
76
76
  files:
77
77
  - ".gitignore"
78
78
  - ".travis.yml"
79
- - BACKERS.md
80
79
  - CHANGELOG.md
81
80
  - CODE_OF_CONDUCT.md
82
- - Dockerfile
81
+ - Dockerfile.ci
83
82
  - Gemfile
84
83
  - Guardfile
85
84
  - MIT-LICENSE
@@ -96,6 +95,8 @@ files:
96
95
  - lib/active_record/connection_adapters/sqlserver/core_ext/date_time.rb
97
96
  - lib/active_record/connection_adapters/sqlserver/core_ext/explain.rb
98
97
  - lib/active_record/connection_adapters/sqlserver/core_ext/explain_subscriber.rb
98
+ - lib/active_record/connection_adapters/sqlserver/core_ext/finder_methods.rb
99
+ - lib/active_record/connection_adapters/sqlserver/core_ext/query_methods.rb
99
100
  - lib/active_record/connection_adapters/sqlserver/database_limits.rb
100
101
  - lib/active_record/connection_adapters/sqlserver/database_statements.rb
101
102
  - lib/active_record/connection_adapters/sqlserver/database_tasks.rb
@@ -160,9 +161,11 @@ files:
160
161
  - lib/jdbc_mssql_driver_loader.rb
161
162
  - test/appveyor/dbsetup.ps1
162
163
  - test/appveyor/dbsetup.sql
164
+ - test/bin/install-freetds.sh
163
165
  - test/bin/setup.sh
164
166
  - test/bin/wait-for.sh
165
167
  - test/cases/adapter_test_sqlserver.rb
168
+ - test/cases/change_column_null_test_sqlserver.rb
166
169
  - test/cases/coerced_tests.rb
167
170
  - test/cases/column_test_sqlserver.rb
168
171
  - test/cases/connection_test_sqlserver.rb
@@ -188,6 +191,7 @@ files:
188
191
  - test/config.yml
189
192
  - test/debug.rb
190
193
  - test/fixtures/1px.gif
194
+ - test/migrations/create_clients_and_change_column_null.rb
191
195
  - test/migrations/transaction_table/1_table_will_never_be_created.rb
192
196
  - test/models/sqlserver/booking.rb
193
197
  - test/models/sqlserver/customers_view.rb
@@ -219,6 +223,7 @@ files:
219
223
  - test/schema/sqlserver_specific_schema.rb
220
224
  - test/support/coerceable_test_sqlserver.rb
221
225
  - test/support/connection_reflection.rb
226
+ - test/support/core_ext/query_cache.rb
222
227
  - test/support/load_schema_sqlserver.rb
223
228
  - test/support/minitest_sqlserver.rb
224
229
  - test/support/paths_sqlserver.rb
@@ -251,9 +256,11 @@ summary: ActiveRecord JDBC SQL Server Adapter.
251
256
  test_files:
252
257
  - test/appveyor/dbsetup.ps1
253
258
  - test/appveyor/dbsetup.sql
259
+ - test/bin/install-freetds.sh
254
260
  - test/bin/setup.sh
255
261
  - test/bin/wait-for.sh
256
262
  - test/cases/adapter_test_sqlserver.rb
263
+ - test/cases/change_column_null_test_sqlserver.rb
257
264
  - test/cases/coerced_tests.rb
258
265
  - test/cases/column_test_sqlserver.rb
259
266
  - test/cases/connection_test_sqlserver.rb
@@ -279,6 +286,7 @@ test_files:
279
286
  - test/config.yml
280
287
  - test/debug.rb
281
288
  - test/fixtures/1px.gif
289
+ - test/migrations/create_clients_and_change_column_null.rb
282
290
  - test/migrations/transaction_table/1_table_will_never_be_created.rb
283
291
  - test/models/sqlserver/booking.rb
284
292
  - test/models/sqlserver/customers_view.rb
@@ -310,6 +318,7 @@ test_files:
310
318
  - test/schema/sqlserver_specific_schema.rb
311
319
  - test/support/coerceable_test_sqlserver.rb
312
320
  - test/support/connection_reflection.rb
321
+ - test/support/core_ext/query_cache.rb
313
322
  - test/support/load_schema_sqlserver.rb
314
323
  - test/support/minitest_sqlserver.rb
315
324
  - test/support/paths_sqlserver.rb
data/BACKERS.md DELETED
@@ -1,32 +0,0 @@
1
- # Backers
2
-
3
- You can join in supporting TinyTDS and the Rails SQL Server Adapter development by [pledging on Patreon](https://www.patreon.com/metaskills)! Backers in the same pledge level appear in the order of pledge date.
4
-
5
- ### $2000
6
-
7
- [It could be you!](https://www.patreon.com/bePatron?c=765225&rid=1611218)
8
-
9
-
10
- ### $500
11
-
12
- [It could be you!](https://www.patreon.com/bePatron?c=765225&rid=1611209)
13
-
14
-
15
- ### $250
16
-
17
- [It could be you!](https://www.patreon.com/bePatron?c=765225&rid=1611199)
18
-
19
-
20
- ### $100
21
-
22
- [It could be you!](https://www.patreon.com/bePatron?c=765225&rid=1611196)
23
-
24
-
25
- ### $50+
26
-
27
- [It could be you!](https://www.patreon.com/bePatron?c=765225&rid=1611186)
28
-
29
-
30
- ### $10+
31
-
32
- [It could be you!](https://www.patreon.com/bePatron?c=765225&rid=1611149)