activerecord-oracle_enhanced-adapter 6.1.0 → 6.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c5985d7537ecc79468e80b7ecddf9c8a52309719db665c0b904cb2d04994eb99
4
- data.tar.gz: 0e01cd4d37d2cd9a3f1a48f33b9cdcc9b9adc340a186415cfccb13975693bd3a
3
+ metadata.gz: ab0a6ce6d92c52ebd933c12bca31954f9493fcdcf21c32afdc979bad671ed227
4
+ data.tar.gz: d9b2710589287953fc425a86d04421d9b0e6eb6a3879984171c959ee12db84bf
5
5
  SHA512:
6
- metadata.gz: 58000a64e1d069d9058848a5ecf33474c8ef09ebb7ecf660d9169b5cc4b4a1911e3f8b72f24011801885c333930c378252a8f2bba5ac4051806acde9093a1af3
7
- data.tar.gz: 0c21d8db90ff52720800a717b47f776abf91eded32aec137141e1510453d1eea21e31f291a771df17d7a5957873f2d5479ada8a96aeb4eb24420598080157cfa
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.0
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 /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ owner, table_name, 'TABLE' name_type
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 if value.blank?
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 /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ synonym_name, table_owner, table_name
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) << structure_dump_fk_constraints
59
- join_with_statement_token(structure) << structure_dump_views
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.structure_dump_fk_constraints
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.structure_dump_fk_constraints
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.0
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: 2020-12-15 00:00:00.000000000 Z
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.1.4
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/schema_dumper_spec.rb
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/oracle_enhanced/context_index_spec.rb
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/support/create_oracle_enhanced_users.sql
171
- - spec/support/alter_system_user_password.sql
172
- - spec/support/alter_system_set_open_cursors.sql
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