activerecord-oracle_enhanced-adapter 6.0.5 → 6.0.6
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/VERSION +1 -1
- data/lib/active_record/connection_adapters/oracle_enhanced/connection.rb +1 -1
- data/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb +3 -1
- data/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb +1 -1
- data/lib/active_record/connection_adapters/oracle_enhanced/structure_dump.rb +3 -2
- data/spec/active_record/connection_adapters/oracle_enhanced/structure_dump_spec.rb +2 -2
- data/spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb +39 -0
- metadata +21 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1410c7eb8f55a7b4c96b8016f31c573512699978498ee6effae6d4875b1e3f31
|
4
|
+
data.tar.gz: 36cbc570c5c5a1c6d074353f1de0d8d6ce07c90fd5b906727d7ee2e78a473a1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f1ba2aed7eef1fa08e31c4fe7f43762eb077b10e412f9db61228589d1387f440b64b17db05fd3fd796e0eb4ebc8ca00f91f767f0ea6402e079783265cb583a6
|
7
|
+
data.tar.gz: 700df5182daf9a04a67dcc478aa378d9deb8d09fba726ccf2ce9878b8c1dc70f56a5a135048e00438e5078b9916467f8b356e6a3a4bc5bc8897fb874a8a686c3
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
6.0.
|
1
|
+
6.0.6
|
@@ -35,7 +35,7 @@ module ActiveRecord
|
|
35
35
|
table_owner, table_name = default_owner, real_name
|
36
36
|
end
|
37
37
|
sql = <<~SQL.squish
|
38
|
-
SELECT
|
38
|
+
SELECT owner, table_name, 'TABLE' name_type
|
39
39
|
FROM all_tables
|
40
40
|
WHERE owner = '#{table_owner}'
|
41
41
|
AND table_name = '#{table_name}'
|
@@ -254,9 +254,11 @@ module ActiveRecord
|
|
254
254
|
columns.each do |col|
|
255
255
|
value = attributes[col.name]
|
256
256
|
# changed sequence of next two lines - should check if value is nil before converting to yaml
|
257
|
-
next
|
257
|
+
next unless value
|
258
258
|
if klass.attribute_types[col.name].is_a? Type::Serialized
|
259
259
|
value = klass.attribute_types[col.name].serialize(value)
|
260
|
+
# value can be nil after serialization because ActiveRecord serializes [] and {} as nil
|
261
|
+
next unless value
|
260
262
|
end
|
261
263
|
uncached do
|
262
264
|
unless lob_record = select_one(sql = <<~SQL.squish, "Writable Large Object")
|
@@ -76,7 +76,7 @@ module ActiveRecord
|
|
76
76
|
# get synonyms for schema dump
|
77
77
|
def synonyms
|
78
78
|
result = select_all(<<~SQL.squish, "synonyms")
|
79
|
-
SELECT
|
79
|
+
SELECT synonym_name, table_owner, table_name
|
80
80
|
FROM all_synonyms where owner = SYS_CONTEXT('userenv', 'current_schema')
|
81
81
|
SQL
|
82
82
|
|
@@ -55,8 +55,9 @@ module ActiveRecord #:nodoc:
|
|
55
55
|
structure << structure_dump_column_comments(table_name)
|
56
56
|
end
|
57
57
|
|
58
|
-
join_with_statement_token(structure) <<
|
59
|
-
|
58
|
+
join_with_statement_token(structure) <<
|
59
|
+
structure_dump_fk_constraints <<
|
60
|
+
structure_dump_views
|
60
61
|
end
|
61
62
|
|
62
63
|
def structure_dump_column(column) #:nodoc:
|
@@ -66,7 +66,7 @@ describe "OracleEnhancedAdapter structure dump" do
|
|
66
66
|
ALTER TABLE TEST_POSTS
|
67
67
|
ADD CONSTRAINT fk_test_post_foo FOREIGN KEY (foo_id) REFERENCES foos(id)
|
68
68
|
SQL
|
69
|
-
dump = ActiveRecord::Base.connection.
|
69
|
+
dump = ActiveRecord::Base.connection.structure_dump
|
70
70
|
expect(dump.split('\n').length).to eq(1)
|
71
71
|
expect(dump).to match(/ALTER TABLE \"?TEST_POSTS\"? ADD CONSTRAINT \"?FK_TEST_POST_FOO\"? FOREIGN KEY \(\"?FOO_ID\"?\) REFERENCES \"?FOOS\"?\(\"?ID\"?\)/i)
|
72
72
|
end
|
@@ -86,7 +86,7 @@ describe "OracleEnhancedAdapter structure dump" do
|
|
86
86
|
ADD CONSTRAINT fk_test_post_baz FOREIGN KEY (baz_id) REFERENCES foos(baz_id)
|
87
87
|
SQL
|
88
88
|
|
89
|
-
dump = ActiveRecord::Base.connection.
|
89
|
+
dump = ActiveRecord::Base.connection.structure_dump
|
90
90
|
expect(dump.split('\n').length).to eq(1)
|
91
91
|
expect(dump).to match(/ALTER TABLE \"?TEST_POSTS\"? ADD CONSTRAINT \"?FK_TEST_POST_BAZ\"? FOREIGN KEY \(\"?BAZ_ID\"?\) REFERENCES \"?FOOS\"?\(\"?BAZ_ID\"?\)/i)
|
92
92
|
end
|
@@ -431,6 +431,45 @@ describe "OracleEnhancedAdapter" do
|
|
431
431
|
end
|
432
432
|
end
|
433
433
|
|
434
|
+
describe "Binary lob column" do
|
435
|
+
before(:all) do
|
436
|
+
schema_define do
|
437
|
+
create_table :test_binary_columns do |t|
|
438
|
+
t.binary :attachment
|
439
|
+
end
|
440
|
+
end
|
441
|
+
class ::TestBinaryColumn < ActiveRecord::Base
|
442
|
+
end
|
443
|
+
end
|
444
|
+
|
445
|
+
after(:all) do
|
446
|
+
schema_define do
|
447
|
+
drop_table :test_binary_columns
|
448
|
+
end
|
449
|
+
Object.send(:remove_const, "TestBinaryColumn")
|
450
|
+
ActiveRecord::Base.table_name_prefix = nil
|
451
|
+
ActiveRecord::Base.clear_cache!
|
452
|
+
end
|
453
|
+
|
454
|
+
before(:each) do
|
455
|
+
set_logger
|
456
|
+
end
|
457
|
+
|
458
|
+
after(:each) do
|
459
|
+
clear_logger
|
460
|
+
end
|
461
|
+
|
462
|
+
it "should serialize with non UTF-8 data" do
|
463
|
+
binary_value = +"Hello \x93\xfa\x96\x7b"
|
464
|
+
binary_value.force_encoding "UTF-8"
|
465
|
+
|
466
|
+
binary_column_object = TestBinaryColumn.new
|
467
|
+
binary_column_object.attachment = binary_value
|
468
|
+
|
469
|
+
expect(binary_column_object.save!).to eq(true)
|
470
|
+
end
|
471
|
+
end
|
472
|
+
|
434
473
|
describe "quoting" do
|
435
474
|
before(:all) do
|
436
475
|
schema_define do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-oracle_enhanced-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.
|
4
|
+
version: 6.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Raimonds Simanovskis
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -120,7 +120,7 @@ homepage: http://github.com/rsim/oracle-enhanced
|
|
120
120
|
licenses:
|
121
121
|
- MIT
|
122
122
|
metadata: {}
|
123
|
-
post_install_message:
|
123
|
+
post_install_message:
|
124
124
|
rdoc_options: []
|
125
125
|
require_paths:
|
126
126
|
- lib
|
@@ -135,38 +135,38 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
135
|
- !ruby/object:Gem::Version
|
136
136
|
version: 1.8.11
|
137
137
|
requirements: []
|
138
|
-
rubygems_version: 3.
|
139
|
-
signing_key:
|
138
|
+
rubygems_version: 3.2.3
|
139
|
+
signing_key:
|
140
140
|
specification_version: 4
|
141
141
|
summary: Oracle enhanced adapter for ActiveRecord
|
142
142
|
test_files:
|
143
|
-
- spec/spec_helper.rb
|
144
|
-
- spec/spec_config.yaml.template
|
145
143
|
- spec/active_record/connection_adapters/emulation/oracle_adapter_spec.rb
|
146
|
-
- spec/active_record/connection_adapters/
|
144
|
+
- spec/active_record/connection_adapters/oracle_enhanced/connection_spec.rb
|
145
|
+
- spec/active_record/connection_adapters/oracle_enhanced/context_index_spec.rb
|
147
146
|
- spec/active_record/connection_adapters/oracle_enhanced/database_tasks_spec.rb
|
148
|
-
- spec/active_record/connection_adapters/oracle_enhanced/schema_statements_spec.rb
|
149
|
-
- spec/active_record/connection_adapters/oracle_enhanced/quoting_spec.rb
|
150
|
-
- spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb
|
151
147
|
- spec/active_record/connection_adapters/oracle_enhanced/dbms_output_spec.rb
|
152
|
-
- spec/active_record/connection_adapters/oracle_enhanced/connection_spec.rb
|
153
148
|
- spec/active_record/connection_adapters/oracle_enhanced/procedures_spec.rb
|
149
|
+
- spec/active_record/connection_adapters/oracle_enhanced/quoting_spec.rb
|
150
|
+
- spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb
|
151
|
+
- spec/active_record/connection_adapters/oracle_enhanced/schema_statements_spec.rb
|
154
152
|
- spec/active_record/connection_adapters/oracle_enhanced/structure_dump_spec.rb
|
155
|
-
- spec/active_record/connection_adapters/oracle_enhanced/context_index_spec.rb
|
156
153
|
- spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb
|
154
|
+
- spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb
|
155
|
+
- spec/active_record/oracle_enhanced/type/binary_spec.rb
|
156
|
+
- spec/active_record/oracle_enhanced/type/boolean_spec.rb
|
157
|
+
- spec/active_record/oracle_enhanced/type/character_string_spec.rb
|
157
158
|
- spec/active_record/oracle_enhanced/type/decimal_spec.rb
|
158
|
-
- spec/active_record/oracle_enhanced/type/national_character_string_spec.rb
|
159
159
|
- spec/active_record/oracle_enhanced/type/dirty_spec.rb
|
160
|
-
- spec/active_record/oracle_enhanced/type/
|
160
|
+
- spec/active_record/oracle_enhanced/type/float_spec.rb
|
161
|
+
- spec/active_record/oracle_enhanced/type/integer_spec.rb
|
161
162
|
- spec/active_record/oracle_enhanced/type/json_spec.rb
|
163
|
+
- spec/active_record/oracle_enhanced/type/national_character_string_spec.rb
|
164
|
+
- spec/active_record/oracle_enhanced/type/national_character_text_spec.rb
|
162
165
|
- spec/active_record/oracle_enhanced/type/raw_spec.rb
|
163
|
-
- spec/active_record/oracle_enhanced/type/binary_spec.rb
|
164
166
|
- spec/active_record/oracle_enhanced/type/text_spec.rb
|
165
167
|
- spec/active_record/oracle_enhanced/type/timestamp_spec.rb
|
166
|
-
- spec/
|
167
|
-
- spec/
|
168
|
-
- spec/active_record/oracle_enhanced/type/integer_spec.rb
|
169
|
-
- spec/active_record/oracle_enhanced/type/float_spec.rb
|
168
|
+
- spec/spec_config.yaml.template
|
169
|
+
- spec/spec_helper.rb
|
170
170
|
- spec/support/alter_system_set_open_cursors.sql
|
171
171
|
- spec/support/alter_system_user_password.sql
|
172
172
|
- spec/support/create_oracle_enhanced_users.sql
|