activerecord-sqlserver-adapter 7.0.4.0 → 7.0.5.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/CHANGELOG.md +7 -0
- data/VERSION +1 -1
- data/lib/active_record/connection_adapters/sqlserver/schema_statements.rb +3 -3
- data/test/cases/view_test_sqlserver.rb +46 -0
- metadata +10 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 817f19cbeb123346a8b663abe75e79a93af2b318189d4e4ff0b1a74414ccfd65
|
4
|
+
data.tar.gz: e9e323ec3d0174bd241ab6c841fbc7b3d204c1019c79cb7eefe47cff72b31da4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ace03652a84e2943c84cf9fb2fa303fb5c26e9969f4d6375f09a8ddc5cb8a6bf84ac7609d39f9c97c3ffeaba8ef9b0b60f34c3483e576983977b87aa576cd7d4
|
7
|
+
data.tar.gz: e8802d4c5c5d936f6b9dbcd53323785830756b1d605d550cc302e0ca3b3862819e12ccc4b87a5a4982f70561b1a58a16422ed776cfd7dabd842aa355895253b1
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
## v7.0.5.0
|
2
|
+
|
3
|
+
#### Fixed
|
4
|
+
|
5
|
+
- [#1113](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1113) Fix issue with default view value not being found because of case sensitivity
|
6
|
+
- [#1126](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1113) Fix view issue with default column value not found
|
7
|
+
|
1
8
|
## v7.0.4.0
|
2
9
|
|
3
10
|
#### Changed
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
7.0.
|
1
|
+
7.0.5.0
|
@@ -388,7 +388,7 @@ module ActiveRecord
|
|
388
388
|
|
389
389
|
if view_exists
|
390
390
|
results = sp_executesql %{
|
391
|
-
SELECT c.COLUMN_NAME AS [name], c.COLUMN_DEFAULT AS [default]
|
391
|
+
SELECT LOWER(c.COLUMN_NAME) AS [name], c.COLUMN_DEFAULT AS [default]
|
392
392
|
FROM #{database}.INFORMATION_SCHEMA.COLUMNS c
|
393
393
|
WHERE c.TABLE_NAME = #{quote(view_tblnm)}
|
394
394
|
}.squish, "SCHEMA", []
|
@@ -426,7 +426,7 @@ module ActiveRecord
|
|
426
426
|
ci[:default_function] = begin
|
427
427
|
default = ci[:default_value]
|
428
428
|
if default.nil? && view_exists
|
429
|
-
view_column = views_real_column_name(table_name, ci[:name])
|
429
|
+
view_column = views_real_column_name(table_name, ci[:name]).downcase
|
430
430
|
default = default_functions[view_column] if view_column.present?
|
431
431
|
end
|
432
432
|
case default
|
@@ -620,7 +620,7 @@ module ActiveRecord
|
|
620
620
|
view_definition = view_information(table_name)[:VIEW_DEFINITION]
|
621
621
|
return column_name unless view_definition
|
622
622
|
|
623
|
-
match_data = view_definition.match(/([\w-]*)\s+
|
623
|
+
match_data = view_definition.match(/CREATE\s+VIEW.*AS\s+SELECT.*\W([\w-]*)\s+AS\s+#{column_name}/im)
|
624
624
|
match_data ? match_data[1] : column_name
|
625
625
|
end
|
626
626
|
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "cases/helper_sqlserver"
|
4
|
+
|
5
|
+
class ViewTestSQLServer < ActiveRecord::TestCase
|
6
|
+
let(:connection) { ActiveRecord::Base.connection }
|
7
|
+
|
8
|
+
describe 'view with default values' do
|
9
|
+
before do
|
10
|
+
connection.drop_table :view_casing_table rescue nil
|
11
|
+
connection.create_table :view_casing_table, force: true do |t|
|
12
|
+
t.boolean :Default_Falsey, null: false, default: false
|
13
|
+
t.boolean :Default_Truthy, null: false, default: true
|
14
|
+
t.string :default_string, null: false, default: "abc"
|
15
|
+
end
|
16
|
+
|
17
|
+
connection.execute("DROP VIEW IF EXISTS view_casing_table_view;")
|
18
|
+
connection.execute <<-SQL
|
19
|
+
CREATE VIEW view_casing_table_view AS
|
20
|
+
SELECT id AS id,
|
21
|
+
default_falsey AS falsey,
|
22
|
+
default_truthy AS truthy,
|
23
|
+
default_string AS s
|
24
|
+
FROM view_casing_table
|
25
|
+
SQL
|
26
|
+
end
|
27
|
+
|
28
|
+
it "default values are correct when column casing used in tables and views are different" do
|
29
|
+
klass = Class.new(ActiveRecord::Base) do
|
30
|
+
self.table_name = "view_casing_table_view"
|
31
|
+
end
|
32
|
+
|
33
|
+
obj = klass.new
|
34
|
+
assert_equal false, obj.falsey
|
35
|
+
assert_equal true, obj.truthy
|
36
|
+
assert_equal "abc", obj.s
|
37
|
+
assert_equal 0, klass.count
|
38
|
+
|
39
|
+
obj.save!
|
40
|
+
assert_equal false, obj.falsey
|
41
|
+
assert_equal true, obj.truthy
|
42
|
+
assert_equal "abc", obj.s
|
43
|
+
assert_equal 1, klass.count
|
44
|
+
end
|
45
|
+
end
|
46
|
+
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: 7.0.
|
4
|
+
version: 7.0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ken Collins
|
@@ -12,10 +12,10 @@ authors:
|
|
12
12
|
- Joe Rafaniello
|
13
13
|
- Tom Ward
|
14
14
|
- Aidan Haran
|
15
|
-
autorequire:
|
15
|
+
autorequire:
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
|
-
date: 2023-
|
18
|
+
date: 2023-11-06 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: activerecord
|
@@ -177,6 +177,7 @@ files:
|
|
177
177
|
- test/cases/trigger_test_sqlserver.rb
|
178
178
|
- test/cases/utils_test_sqlserver.rb
|
179
179
|
- test/cases/uuid_test_sqlserver.rb
|
180
|
+
- test/cases/view_test_sqlserver.rb
|
180
181
|
- test/config.yml
|
181
182
|
- test/debug.rb
|
182
183
|
- test/fixtures/1px.gif
|
@@ -230,9 +231,9 @@ licenses:
|
|
230
231
|
- MIT
|
231
232
|
metadata:
|
232
233
|
bug_tracker_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/issues
|
233
|
-
changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v7.0.
|
234
|
-
source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v7.0.
|
235
|
-
post_install_message:
|
234
|
+
changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v7.0.5.0/CHANGELOG.md
|
235
|
+
source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v7.0.5.0
|
236
|
+
post_install_message:
|
236
237
|
rdoc_options: []
|
237
238
|
require_paths:
|
238
239
|
- lib
|
@@ -247,8 +248,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
247
248
|
- !ruby/object:Gem::Version
|
248
249
|
version: '0'
|
249
250
|
requirements: []
|
250
|
-
rubygems_version: 3.4.
|
251
|
-
signing_key:
|
251
|
+
rubygems_version: 3.4.7
|
252
|
+
signing_key:
|
252
253
|
specification_version: 4
|
253
254
|
summary: ActiveRecord SQL Server Adapter.
|
254
255
|
test_files:
|
@@ -291,6 +292,7 @@ test_files:
|
|
291
292
|
- test/cases/trigger_test_sqlserver.rb
|
292
293
|
- test/cases/utils_test_sqlserver.rb
|
293
294
|
- test/cases/uuid_test_sqlserver.rb
|
295
|
+
- test/cases/view_test_sqlserver.rb
|
294
296
|
- test/config.yml
|
295
297
|
- test/debug.rb
|
296
298
|
- test/fixtures/1px.gif
|