activerecord-oracle_enhanced-adapter 6.1.0 → 6.1.1
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/History.md +25 -0
- 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 +25 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab0a6ce6d92c52ebd933c12bca31954f9493fcdcf21c32afdc979bad671ed227
|
4
|
+
data.tar.gz: d9b2710589287953fc425a86d04421d9b0e6eb6a3879984171c959ee12db84bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e8ef63fe7d7adc5af906fbf9d7494889e8a06ebda0c48e2837f17ef7164f0d7d520070b585c879127fca807c01b3970c48229d3c69551e07184b49bbd4d8b3b
|
7
|
+
data.tar.gz: d009447a01baadcd254e1fc4bceb3a6733e6bd587818db8ad657594c32bf9a17635abcd64f6aec4db3a70a0c4036b0aaa29b08e7a6651745f9d09d23bf938222
|
data/History.md
CHANGED
@@ -1,3 +1,28 @@
|
|
1
|
+
## 6.1.1 / 2021-01-14
|
2
|
+
|
3
|
+
* Changes and bug fixes
|
4
|
+
* Remove /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ hint for all_synonyms [#2110, #2119]
|
5
|
+
* Fix write_lobs Invalid byte sequence in UTF-8 [#2097, #2111]
|
6
|
+
* Ensure FKs are properly included in structure dumps [#2109, #2113]
|
7
|
+
|
8
|
+
* CI
|
9
|
+
* CI against JRuby 9.2.14.0 [#2085]
|
10
|
+
* CI against Ruby 3.0.0 [#2091, #2092]
|
11
|
+
* Address Travis CI warnings and bump Ubuntu version to 20.04 [#2086]
|
12
|
+
* Exclude `ruby-head` and `ruby-debug` until minitest allows Ruby 3.1 #2094, #2095
|
13
|
+
* CI against Ruby 3.0.0 at Travis CI [#2093]
|
14
|
+
|
15
|
+
## 6.1.0 / 2020-12-15
|
16
|
+
|
17
|
+
* Changes and bug fixes
|
18
|
+
* Support Rails 6.1.0
|
19
|
+
* Update bug report templates for Oracle enhanced adapter 6.1 [#2063]
|
20
|
+
* Use released version of rake [#2065 #2066]
|
21
|
+
* Add /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ hint to address slow SCHEMA queries [#2055, #2068]
|
22
|
+
* `build_subselect` does not have ordering [#2070]
|
23
|
+
* Remove `visit_Arel_Nodes_NotIn` and `visit_Arel_Nodes_In` visitors [#2075, #2077]
|
24
|
+
* `NOT IN` clause needs separated by `AND` [#2079, #2081]
|
25
|
+
|
1
26
|
## 6.1.0.rc1 / 2020-11-03
|
2
27
|
|
3
28
|
* Changes and bug fixes
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
6.1.
|
1
|
+
6.1.1
|
@@ -34,7 +34,7 @@ module ActiveRecord
|
|
34
34
|
table_owner, table_name = default_owner, real_name
|
35
35
|
end
|
36
36
|
sql = <<~SQL.squish
|
37
|
-
SELECT
|
37
|
+
SELECT owner, table_name, 'TABLE' name_type
|
38
38
|
FROM all_tables
|
39
39
|
WHERE owner = '#{table_owner}'
|
40
40
|
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, "SCHEMA")
|
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
|
@@ -479,6 +479,45 @@ describe "OracleEnhancedAdapter" do
|
|
479
479
|
end
|
480
480
|
end
|
481
481
|
|
482
|
+
describe "Binary lob column" do
|
483
|
+
before(:all) do
|
484
|
+
schema_define do
|
485
|
+
create_table :test_binary_columns do |t|
|
486
|
+
t.binary :attachment
|
487
|
+
end
|
488
|
+
end
|
489
|
+
class ::TestBinaryColumn < ActiveRecord::Base
|
490
|
+
end
|
491
|
+
end
|
492
|
+
|
493
|
+
after(:all) do
|
494
|
+
schema_define do
|
495
|
+
drop_table :test_binary_columns
|
496
|
+
end
|
497
|
+
Object.send(:remove_const, "TestBinaryColumn")
|
498
|
+
ActiveRecord::Base.table_name_prefix = nil
|
499
|
+
ActiveRecord::Base.clear_cache!
|
500
|
+
end
|
501
|
+
|
502
|
+
before(:each) do
|
503
|
+
set_logger
|
504
|
+
end
|
505
|
+
|
506
|
+
after(:each) do
|
507
|
+
clear_logger
|
508
|
+
end
|
509
|
+
|
510
|
+
it "should serialize with non UTF-8 data" do
|
511
|
+
binary_value = +"Hello \x93\xfa\x96\x7b"
|
512
|
+
binary_value.force_encoding "UTF-8"
|
513
|
+
|
514
|
+
binary_column_object = TestBinaryColumn.new
|
515
|
+
binary_column_object.attachment = binary_value
|
516
|
+
|
517
|
+
expect(binary_column_object.save!).to eq(true)
|
518
|
+
end
|
519
|
+
end
|
520
|
+
|
482
521
|
describe "quoting" do
|
483
522
|
before(:all) do
|
484
523
|
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.1.
|
4
|
+
version: 6.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Raimonds Simanovskis
|
8
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
|
@@ -137,38 +137,38 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: 1.8.11
|
139
139
|
requirements: []
|
140
|
-
rubygems_version: 3.
|
140
|
+
rubygems_version: 3.2.3
|
141
141
|
signing_key:
|
142
142
|
specification_version: 4
|
143
143
|
summary: Oracle enhanced adapter for ActiveRecord
|
144
144
|
test_files:
|
145
|
-
- spec/active_record/oracle_enhanced/type/dirty_spec.rb
|
146
|
-
- spec/active_record/oracle_enhanced/type/national_character_text_spec.rb
|
147
|
-
- spec/active_record/oracle_enhanced/type/raw_spec.rb
|
148
|
-
- spec/active_record/oracle_enhanced/type/float_spec.rb
|
149
|
-
- spec/active_record/oracle_enhanced/type/decimal_spec.rb
|
150
|
-
- spec/active_record/oracle_enhanced/type/character_string_spec.rb
|
151
|
-
- spec/active_record/oracle_enhanced/type/boolean_spec.rb
|
152
|
-
- spec/active_record/oracle_enhanced/type/json_spec.rb
|
153
|
-
- spec/active_record/oracle_enhanced/type/binary_spec.rb
|
154
|
-
- spec/active_record/oracle_enhanced/type/national_character_string_spec.rb
|
155
|
-
- spec/active_record/oracle_enhanced/type/timestamp_spec.rb
|
156
|
-
- spec/active_record/oracle_enhanced/type/integer_spec.rb
|
157
|
-
- spec/active_record/oracle_enhanced/type/text_spec.rb
|
158
|
-
- spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb
|
159
145
|
- spec/active_record/connection_adapters/emulation/oracle_adapter_spec.rb
|
160
|
-
- spec/active_record/connection_adapters/oracle_enhanced/
|
146
|
+
- spec/active_record/connection_adapters/oracle_enhanced/connection_spec.rb
|
147
|
+
- spec/active_record/connection_adapters/oracle_enhanced/context_index_spec.rb
|
161
148
|
- spec/active_record/connection_adapters/oracle_enhanced/database_tasks_spec.rb
|
149
|
+
- spec/active_record/connection_adapters/oracle_enhanced/dbms_output_spec.rb
|
150
|
+
- spec/active_record/connection_adapters/oracle_enhanced/procedures_spec.rb
|
162
151
|
- spec/active_record/connection_adapters/oracle_enhanced/quoting_spec.rb
|
152
|
+
- spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb
|
163
153
|
- spec/active_record/connection_adapters/oracle_enhanced/schema_statements_spec.rb
|
164
|
-
- spec/active_record/connection_adapters/oracle_enhanced/procedures_spec.rb
|
165
154
|
- spec/active_record/connection_adapters/oracle_enhanced/structure_dump_spec.rb
|
166
|
-
- spec/active_record/connection_adapters/
|
167
|
-
- spec/active_record/connection_adapters/oracle_enhanced/dbms_output_spec.rb
|
168
|
-
- spec/active_record/connection_adapters/oracle_enhanced/connection_spec.rb
|
155
|
+
- spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb
|
169
156
|
- spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb
|
170
|
-
- spec/
|
171
|
-
- spec/
|
172
|
-
- spec/
|
157
|
+
- spec/active_record/oracle_enhanced/type/binary_spec.rb
|
158
|
+
- spec/active_record/oracle_enhanced/type/boolean_spec.rb
|
159
|
+
- spec/active_record/oracle_enhanced/type/character_string_spec.rb
|
160
|
+
- spec/active_record/oracle_enhanced/type/decimal_spec.rb
|
161
|
+
- spec/active_record/oracle_enhanced/type/dirty_spec.rb
|
162
|
+
- spec/active_record/oracle_enhanced/type/float_spec.rb
|
163
|
+
- spec/active_record/oracle_enhanced/type/integer_spec.rb
|
164
|
+
- spec/active_record/oracle_enhanced/type/json_spec.rb
|
165
|
+
- spec/active_record/oracle_enhanced/type/national_character_string_spec.rb
|
166
|
+
- spec/active_record/oracle_enhanced/type/national_character_text_spec.rb
|
167
|
+
- spec/active_record/oracle_enhanced/type/raw_spec.rb
|
168
|
+
- spec/active_record/oracle_enhanced/type/text_spec.rb
|
169
|
+
- spec/active_record/oracle_enhanced/type/timestamp_spec.rb
|
173
170
|
- spec/spec_config.yaml.template
|
174
171
|
- spec/spec_helper.rb
|
172
|
+
- spec/support/alter_system_set_open_cursors.sql
|
173
|
+
- spec/support/alter_system_user_password.sql
|
174
|
+
- spec/support/create_oracle_enhanced_users.sql
|