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.
- 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)
|