activerecord-jdbcsqlserver-adapter 51.1.0 → 52.0.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.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/CHANGELOG.md +22 -39
- data/{Dockerfile → Dockerfile.ci} +0 -0
- data/Gemfile +1 -3
- data/README.md +5 -8
- data/VERSION +1 -1
- data/activerecord-jdbcsqlserver-adapter.gemspec +2 -3
- data/docker-compose.ci.yml +7 -5
- data/lib/active_record/connection_adapters/sqlserver/core_ext/calculations.rb +25 -29
- data/lib/active_record/connection_adapters/sqlserver/core_ext/explain.rb +14 -18
- data/lib/active_record/connection_adapters/sqlserver/core_ext/finder_methods.rb +43 -0
- data/lib/active_record/connection_adapters/sqlserver/core_ext/query_methods.rb +26 -0
- data/lib/active_record/connection_adapters/sqlserver/database_limits.rb +13 -2
- data/lib/active_record/connection_adapters/sqlserver/database_statements.rb +53 -10
- data/lib/active_record/connection_adapters/sqlserver/database_tasks.rb +1 -0
- data/lib/active_record/connection_adapters/sqlserver/jdbc_overrides.rb +5 -13
- data/lib/active_record/connection_adapters/sqlserver/schema_creation.rb +2 -1
- data/lib/active_record/connection_adapters/sqlserver/schema_dumper.rb +2 -2
- data/lib/active_record/connection_adapters/sqlserver/schema_statements.rb +43 -27
- data/lib/active_record/connection_adapters/sqlserver/transaction.rb +3 -4
- data/lib/active_record/connection_adapters/sqlserver/type/json.rb +1 -1
- data/lib/active_record/connection_adapters/sqlserver/type/string.rb +7 -0
- data/lib/active_record/connection_adapters/sqlserver/type/time.rb +1 -0
- data/lib/active_record/connection_adapters/sqlserver_adapter.rb +20 -14
- data/lib/active_record/tasks/sqlserver_database_tasks.rb +3 -1
- data/lib/activerecord-jdbcsqlserver-adapter.rb +3 -0
- data/lib/arel/visitors/sqlserver.rb +1 -1
- data/lib/arel_sqlserver.rb +0 -1
- data/test/bin/install-freetds.sh +18 -0
- data/test/cases/adapter_test_sqlserver.rb +29 -21
- data/test/cases/change_column_null_test_sqlserver.rb +42 -0
- data/test/cases/coerced_tests.rb +304 -30
- data/test/cases/column_test_sqlserver.rb +496 -462
- data/test/cases/connection_test_sqlserver.rb +2 -2
- data/test/cases/fetch_test_sqlserver.rb +5 -5
- data/test/cases/helper_sqlserver.rb +6 -0
- data/test/cases/json_test_sqlserver.rb +6 -6
- data/test/cases/migration_test_sqlserver.rb +13 -3
- data/test/cases/order_test_sqlserver.rb +19 -19
- data/test/cases/pessimistic_locking_test_sqlserver.rb +9 -9
- data/test/cases/rake_test_sqlserver.rb +20 -20
- data/test/cases/schema_dumper_test_sqlserver.rb +34 -33
- data/test/cases/schema_test_sqlserver.rb +2 -2
- data/test/cases/showplan_test_sqlserver.rb +25 -10
- data/test/cases/specific_schema_test_sqlserver.rb +11 -11
- data/test/cases/transaction_test_sqlserver.rb +9 -9
- data/test/cases/trigger_test_sqlserver.rb +8 -8
- data/test/cases/utils_test_sqlserver.rb +36 -36
- data/test/cases/uuid_test_sqlserver.rb +8 -8
- data/test/migrations/create_clients_and_change_column_null.rb +23 -0
- data/test/schema/datatypes/2012.sql +1 -0
- data/test/schema/sqlserver_specific_schema.rb +9 -1
- data/test/support/core_ext/query_cache.rb +29 -0
- metadata +19 -10
- 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:
|
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:
|
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.
|
25
|
+
version: 5.2.0
|
26
26
|
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 5.
|
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.
|
36
|
+
version: 5.2.0
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 5.
|
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: '
|
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: '
|
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)
|