activerecord-oracle_enhanced-adapter 1.8.2 → 5.2.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +5 -5
  2. data/History.md +190 -5
  3. data/README.md +10 -10
  4. data/VERSION +1 -1
  5. data/lib/active_record/connection_adapters/emulation/oracle_adapter.rb +2 -0
  6. data/lib/active_record/connection_adapters/oracle_enhanced/column.rb +9 -71
  7. data/lib/active_record/connection_adapters/oracle_enhanced/connection.rb +84 -73
  8. data/lib/active_record/connection_adapters/oracle_enhanced/context_index.rb +12 -12
  9. data/lib/active_record/connection_adapters/oracle_enhanced/database_limits.rb +52 -0
  10. data/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb +35 -7
  11. data/lib/active_record/connection_adapters/oracle_enhanced/database_tasks.rb +2 -0
  12. data/lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb +59 -0
  13. data/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb +379 -402
  14. data/lib/active_record/connection_adapters/oracle_enhanced/jdbc_quoting.rb +7 -1
  15. data/lib/active_record/connection_adapters/oracle_enhanced/lob.rb +46 -0
  16. data/lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb +242 -247
  17. data/lib/active_record/connection_adapters/oracle_enhanced/oci_quoting.rb +9 -1
  18. data/lib/active_record/connection_adapters/oracle_enhanced/procedures.rb +3 -1
  19. data/lib/active_record/connection_adapters/oracle_enhanced/quoting.rb +25 -9
  20. data/lib/active_record/connection_adapters/oracle_enhanced/schema_creation.rb +9 -6
  21. data/lib/active_record/connection_adapters/oracle_enhanced/schema_definitions.rb +10 -5
  22. data/lib/active_record/connection_adapters/oracle_enhanced/schema_dumper.rb +48 -51
  23. data/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb +261 -59
  24. data/lib/active_record/connection_adapters/oracle_enhanced/schema_statements_ext.rb +2 -34
  25. data/lib/active_record/connection_adapters/oracle_enhanced/structure_dump.rb +267 -222
  26. data/lib/active_record/connection_adapters/oracle_enhanced/type_metadata.rb +33 -0
  27. data/lib/active_record/connection_adapters/oracle_enhanced/version.rb +2 -0
  28. data/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb +136 -547
  29. data/lib/active_record/{oracle_enhanced/type → type/oracle_enhanced}/boolean.rb +4 -2
  30. data/lib/active_record/{oracle_enhanced/type → type/oracle_enhanced}/integer.rb +4 -2
  31. data/lib/active_record/type/oracle_enhanced/json.rb +10 -0
  32. data/lib/active_record/{oracle_enhanced/type → type/oracle_enhanced}/national_character_string.rb +5 -3
  33. data/lib/active_record/type/oracle_enhanced/national_character_text.rb +36 -0
  34. data/lib/active_record/{oracle_enhanced/type → type/oracle_enhanced}/raw.rb +4 -2
  35. data/lib/active_record/{oracle_enhanced/type → type/oracle_enhanced}/string.rb +4 -2
  36. data/lib/active_record/{oracle_enhanced/type → type/oracle_enhanced}/text.rb +4 -2
  37. data/lib/active_record/type/oracle_enhanced/timestampltz.rb +25 -0
  38. data/lib/active_record/{oracle_enhanced/type → type/oracle_enhanced}/timestamptz.rb +4 -2
  39. data/lib/activerecord-oracle_enhanced-adapter.rb +2 -6
  40. data/spec/active_record/connection_adapters/{oracle_enhanced_emulate_oracle_adapter_spec.rb → emulation/oracle_adapter_spec.rb} +2 -0
  41. data/spec/active_record/connection_adapters/{oracle_enhanced_connection_spec.rb → oracle_enhanced/connection_spec.rb} +82 -38
  42. data/spec/active_record/connection_adapters/{oracle_enhanced_context_index_spec.rb → oracle_enhanced/context_index_spec.rb} +20 -16
  43. data/spec/active_record/connection_adapters/{oracle_enhanced_database_tasks_spec.rb → oracle_enhanced/database_tasks_spec.rb} +17 -5
  44. data/spec/active_record/connection_adapters/{oracle_enhanced_dbms_output_spec.rb → oracle_enhanced/dbms_output_spec.rb} +2 -0
  45. data/spec/active_record/connection_adapters/{oracle_enhanced_procedures_spec.rb → oracle_enhanced/procedures_spec.rb} +26 -33
  46. data/spec/active_record/connection_adapters/oracle_enhanced/quoting_spec.rb +196 -0
  47. data/spec/active_record/connection_adapters/{oracle_enhanced_schema_dump_spec.rb → oracle_enhanced/schema_dumper_spec.rb} +61 -90
  48. data/spec/active_record/connection_adapters/{oracle_enhanced_schema_statements_spec.rb → oracle_enhanced/schema_statements_spec.rb} +95 -28
  49. data/spec/active_record/connection_adapters/{oracle_enhanced_structure_dump_spec.rb → oracle_enhanced/structure_dump_spec.rb} +48 -2
  50. data/spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb +202 -331
  51. data/spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb +15 -1106
  52. data/spec/active_record/oracle_enhanced/type/binary_spec.rb +119 -0
  53. data/spec/active_record/oracle_enhanced/type/boolean_spec.rb +207 -0
  54. data/spec/active_record/{connection_adapters/oracle_enhanced_dirty_spec.rb → oracle_enhanced/type/dirty_spec.rb} +3 -1
  55. data/spec/active_record/oracle_enhanced/type/float_spec.rb +48 -0
  56. data/spec/active_record/oracle_enhanced/type/integer_spec.rb +91 -0
  57. data/spec/active_record/oracle_enhanced/type/json_spec.rb +57 -0
  58. data/spec/active_record/oracle_enhanced/type/national_character_string_spec.rb +55 -0
  59. data/spec/active_record/oracle_enhanced/type/national_character_text_spec.rb +230 -0
  60. data/spec/active_record/oracle_enhanced/type/raw_spec.rb +122 -0
  61. data/spec/active_record/oracle_enhanced/type/text_spec.rb +229 -0
  62. data/spec/active_record/oracle_enhanced/type/timestamp_spec.rb +75 -0
  63. data/spec/spec_helper.rb +15 -1
  64. data/spec/support/alter_system_set_open_cursors.sql +1 -0
  65. metadata +63 -48
  66. data/lib/active_record/connection_adapters/oracle_enhanced/column_dumper.rb +0 -28
  67. data/lib/active_record/oracle_enhanced/type/json.rb +0 -8
@@ -0,0 +1,229 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe "OracleEnhancedAdapter handling of CLOB columns" do
4
+ include SchemaSpecHelper
5
+
6
+ before(:all) do
7
+ ActiveRecord::Base.establish_connection(CONNECTION_PARAMS)
8
+ @conn = ActiveRecord::Base.connection
9
+ schema_define do
10
+ create_table :test_employees, force: true do |t|
11
+ t.string :first_name, limit: 20
12
+ t.string :last_name, limit: 25
13
+ t.text :comments
14
+ end
15
+ create_table :test2_employees, force: true do |t|
16
+ t.string :first_name, limit: 20
17
+ t.string :last_name, limit: 25
18
+ t.text :comments
19
+ end
20
+ create_table :test_serialize_employees, force: true do |t|
21
+ t.string :first_name, limit: 20
22
+ t.string :last_name, limit: 25
23
+ end
24
+ add_column :test_serialize_employees, :comments, :text
25
+ end
26
+
27
+ @char_data = (0..127).to_a.pack("C*") * 800
28
+ @char_data2 = ((1..127).to_a.pack("C*") + "\0") * 800
29
+
30
+ class ::TestEmployee < ActiveRecord::Base; end
31
+ class ::Test2Employee < ActiveRecord::Base
32
+ serialize :comments
33
+ end
34
+ class ::TestEmployeeReadOnlyClob < ActiveRecord::Base
35
+ self.table_name = "test_employees"
36
+ attr_readonly :comments
37
+ end
38
+ class ::TestSerializeEmployee < ActiveRecord::Base
39
+ serialize :comments
40
+ attr_readonly :comments
41
+ end
42
+ end
43
+
44
+ after(:all) do
45
+ @conn.drop_table :test_employees, if_exists: true
46
+ @conn.drop_table :test2_employees, if_exists: true
47
+ @conn.drop_table :test_serialize_employees, if_exists: true
48
+ Object.send(:remove_const, "TestEmployee")
49
+ Object.send(:remove_const, "Test2Employee")
50
+ Object.send(:remove_const, "TestEmployeeReadOnlyClob")
51
+ Object.send(:remove_const, "TestSerializeEmployee")
52
+ ActiveRecord::Base.clear_cache!
53
+ end
54
+
55
+ it "should create record without CLOB data when attribute is serialized" do
56
+ @employee = Test2Employee.create!(
57
+ first_name: "First",
58
+ last_name: "Last"
59
+ )
60
+ expect(@employee).to be_valid
61
+ @employee.reload
62
+ expect(@employee.comments).to be_nil
63
+ end
64
+
65
+ it "should accept Symbol value for CLOB column" do
66
+ @employee = TestEmployee.create!(
67
+ comments: :test_comment
68
+ )
69
+ expect(@employee).to be_valid
70
+ end
71
+
72
+ it "should respect attr_readonly setting for CLOB column" do
73
+ @employee = TestEmployeeReadOnlyClob.create!(
74
+ first_name: "First",
75
+ comments: "initial"
76
+ )
77
+ expect(@employee).to be_valid
78
+ @employee.reload
79
+ expect(@employee.comments).to eq("initial")
80
+ @employee.comments = "changed"
81
+ expect(@employee.save).to eq(true)
82
+ @employee.reload
83
+ expect(@employee.comments).to eq("initial")
84
+ end
85
+
86
+ it "should work for serialized readonly CLOB columns", serialized: true do
87
+ @employee = TestSerializeEmployee.new(
88
+ first_name: "First",
89
+ comments: nil
90
+ )
91
+ expect(@employee.comments).to be_nil
92
+ expect(@employee.save).to eq(true)
93
+ expect(@employee).to be_valid
94
+ @employee.reload
95
+ expect(@employee.comments).to be_nil
96
+ @employee.comments = {}
97
+ expect(@employee.save).to eq(true)
98
+ @employee.reload
99
+ #should not set readonly
100
+ expect(@employee.comments).to be_nil
101
+ end
102
+
103
+ it "should create record with CLOB data" do
104
+ @employee = TestEmployee.create!(
105
+ first_name: "First",
106
+ last_name: "Last",
107
+ comments: @char_data
108
+ )
109
+ @employee.reload
110
+ expect(@employee.comments).to eq(@char_data)
111
+ end
112
+
113
+ it "should update record with CLOB data" do
114
+ @employee = TestEmployee.create!(
115
+ first_name: "First",
116
+ last_name: "Last"
117
+ )
118
+ @employee.reload
119
+ expect(@employee.comments).to be_nil
120
+ @employee.comments = @char_data
121
+ @employee.save!
122
+ @employee.reload
123
+ expect(@employee.comments).to eq(@char_data)
124
+ end
125
+
126
+ it "should update record with zero-length CLOB data" do
127
+ @employee = TestEmployee.create!(
128
+ first_name: "First",
129
+ last_name: "Last"
130
+ )
131
+ @employee.reload
132
+ expect(@employee.comments).to be_nil
133
+ @employee.comments = ""
134
+ @employee.save!
135
+ @employee.reload
136
+ expect(@employee.comments).to eq("")
137
+ end
138
+
139
+ it "should update record that has existing CLOB data with different CLOB data" do
140
+ @employee = TestEmployee.create!(
141
+ first_name: "First",
142
+ last_name: "Last",
143
+ comments: @char_data
144
+ )
145
+ @employee.reload
146
+ @employee.comments = @char_data2
147
+ @employee.save!
148
+ @employee.reload
149
+ expect(@employee.comments).to eq(@char_data2)
150
+ end
151
+
152
+ it "should update record that has existing CLOB data with nil" do
153
+ @employee = TestEmployee.create!(
154
+ first_name: "First",
155
+ last_name: "Last",
156
+ comments: @char_data
157
+ )
158
+ @employee.reload
159
+ @employee.comments = nil
160
+ @employee.save!
161
+ @employee.reload
162
+ expect(@employee.comments).to be_nil
163
+ end
164
+
165
+ it "should update record that has existing CLOB data with zero-length CLOB data" do
166
+ @employee = TestEmployee.create!(
167
+ first_name: "First",
168
+ last_name: "Last",
169
+ comments: @char_data
170
+ )
171
+ @employee.reload
172
+ @employee.comments = ""
173
+ @employee.save!
174
+ @employee.reload
175
+ expect(@employee.comments).to eq("")
176
+ end
177
+
178
+ it "should update record that has zero-length CLOB data with non-empty CLOB data" do
179
+ @employee = TestEmployee.create!(
180
+ first_name: "First",
181
+ last_name: "Last",
182
+ comments: ""
183
+ )
184
+ @employee.reload
185
+ expect(@employee.comments).to eq("")
186
+ @employee.comments = @char_data
187
+ @employee.save!
188
+ @employee.reload
189
+ expect(@employee.comments).to eq(@char_data)
190
+ end
191
+
192
+ it "should store serializable ruby data structures" do
193
+ ruby_data1 = { "arbitrary1" => ["ruby", :data, 123] }
194
+ ruby_data2 = { "arbitrary2" => ["ruby", :data, 123] }
195
+ @employee = Test2Employee.create!(
196
+ comments: ruby_data1
197
+ )
198
+ @employee.reload
199
+ expect(@employee.comments).to eq(ruby_data1)
200
+ @employee.comments = ruby_data2
201
+ @employee.save
202
+ @employee.reload
203
+ expect(@employee.comments).to eq(ruby_data2)
204
+ end
205
+
206
+ it "should keep unchanged serialized data when other columns changed" do
207
+ @employee = Test2Employee.create!(
208
+ first_name: "First",
209
+ last_name: "Last",
210
+ comments: "initial serialized data"
211
+ )
212
+ @employee.first_name = "Steve"
213
+ @employee.save
214
+ @employee.reload
215
+ expect(@employee.comments).to eq("initial serialized data")
216
+ end
217
+
218
+ it "should keep serialized data after save" do
219
+ @employee = Test2Employee.new
220
+ @employee.comments = { length: { is: 1 } }
221
+ @employee.save
222
+ @employee.reload
223
+ expect(@employee.comments).to eq(length: { is: 1 })
224
+ @employee.comments = { length: { is: 2 } }
225
+ @employee.save
226
+ @employee.reload
227
+ expect(@employee.comments).to eq(length: { is: 2 })
228
+ end
229
+ end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe "OracleEnhancedAdapter timestamp with timezone support" do
4
+ include SchemaSpecHelper
5
+
6
+ before(:all) do
7
+ ActiveRecord::Base.default_timezone = :local
8
+ ActiveRecord::Base.establish_connection(CONNECTION_WITH_TIMEZONE_PARAMS)
9
+ @conn = ActiveRecord::Base.connection
10
+ schema_define do
11
+ create_table :test_employees, force: true do |t|
12
+ t.string :first_name, limit: 20
13
+ t.string :last_name, limit: 25
14
+ t.string :email, limit: 25
15
+ t.string :phone_number, limit: 20
16
+ t.date :hire_date
17
+ t.decimal :job_id, scale: 0, precision: 6
18
+ t.decimal :salary, scale: 2, precision: 8
19
+ t.decimal :commission_pct, scale: 2, precision: 2
20
+ t.decimal :manager_id, scale: 0, precision: 6
21
+ t.decimal :department_id, scale: 0, precision: 4
22
+ t.timestamp :created_at
23
+ t.timestamptz :created_at_tz
24
+ t.timestampltz :created_at_ltz
25
+ end
26
+ end
27
+ end
28
+
29
+ after(:all) do
30
+ @conn.drop_table :test_employees, if_exists: true
31
+ ActiveRecord::Base.default_timezone = :utc
32
+ end
33
+
34
+ describe "/ TIMESTAMP WITH TIME ZONE values from ActiveRecord model" do
35
+ before(:all) do
36
+ class ::TestEmployee < ActiveRecord::Base
37
+ end
38
+ end
39
+
40
+ after(:all) do
41
+ Object.send(:remove_const, "TestEmployee")
42
+ ActiveRecord::Base.clear_cache!
43
+ end
44
+
45
+ it "should return Time value from TIMESTAMP columns" do
46
+ @now = Time.local(2008, 5, 26, 23, 11, 11, 0)
47
+ @employee = TestEmployee.create(
48
+ created_at: @now,
49
+ created_at_tz: @now,
50
+ created_at_ltz: @now
51
+ )
52
+ @employee.reload
53
+ [:created_at, :created_at_tz, :created_at_ltz].each do |c|
54
+ expect(@employee.send(c).class).to eq(Time)
55
+ expect(@employee.send(c).to_f).to eq(@now.to_f)
56
+ end
57
+ end
58
+
59
+ it "should return Time value with fractional seconds from TIMESTAMP columns" do
60
+ @now = Time.local(2008, 5, 26, 23, 11, 11, 10)
61
+ @employee = TestEmployee.create(
62
+ created_at: @now,
63
+ created_at_tz: @now,
64
+ created_at_ltz: @now
65
+ )
66
+ @employee.reload
67
+ [:created_at, :created_at_tz, :created_at_ltz].each do |c|
68
+ expect(@employee.send(c).class).to eq(Time)
69
+ expect(@employee.send(c).to_f).to eq(@now.to_f)
70
+ end
71
+ end
72
+
73
+ end
74
+
75
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "simplecov"
2
4
  SimpleCov.start
3
5
  require "rubygems"
@@ -115,6 +117,18 @@ module SchemaSpecHelper
115
117
  end
116
118
  end
117
119
 
120
+ module SchemaDumpingHelper
121
+ def dump_table_schema(table, connection = ActiveRecord::Base.connection)
122
+ old_ignore_tables = ActiveRecord::SchemaDumper.ignore_tables
123
+ ActiveRecord::SchemaDumper.ignore_tables = connection.data_sources - [table]
124
+ stream = StringIO.new
125
+ ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, stream)
126
+ stream.string
127
+ ensure
128
+ ActiveRecord::SchemaDumper.ignore_tables = old_ignore_tables
129
+ end
130
+ end
131
+
118
132
  DATABASE_NAME = config["database"]["name"] || ENV["DATABASE_NAME"] || "orcl"
119
133
  DATABASE_HOST = config["database"]["host"] || ENV["DATABASE_HOST"] || "127.0.0.1"
120
134
  DATABASE_PORT = config["database"]["port"] || ENV["DATABASE_PORT"] || 1521
@@ -177,4 +191,4 @@ DATABASE_NON_DEFAULT_TABLESPACE = config["database"]["non_default_tablespace"] |
177
191
  # which will be used to set session time zone
178
192
  ENV["TZ"] ||= config["timezone"] || "Europe/Riga"
179
193
 
180
- # ActiveRecord::Base.logger = Logger.new(STDOUT)
194
+ ActiveRecord::Base.logger = ActiveSupport::Logger.new("debug.log", 0, 100 * 1024 * 1024)
@@ -0,0 +1 @@
1
+ alter system set open_cursors = 1200 scope = both;
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: 1.8.2
4
+ version: 5.2.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Raimonds Simanovskis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-24 00:00:00.000000000 Z
11
+ date: 2017-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,28 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 5.1.0
19
+ version: 5.2.0.beta
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 5.1.0
27
- - !ruby/object:Gem::Dependency
28
- name: arel
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '8.0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '8.0'
26
+ version: 5.2.0.beta
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: ruby-plsql
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -67,13 +53,15 @@ files:
67
53
  - VERSION
68
54
  - lib/active_record/connection_adapters/emulation/oracle_adapter.rb
69
55
  - lib/active_record/connection_adapters/oracle_enhanced/column.rb
70
- - lib/active_record/connection_adapters/oracle_enhanced/column_dumper.rb
71
56
  - lib/active_record/connection_adapters/oracle_enhanced/connection.rb
72
57
  - lib/active_record/connection_adapters/oracle_enhanced/context_index.rb
58
+ - lib/active_record/connection_adapters/oracle_enhanced/database_limits.rb
73
59
  - lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb
74
60
  - lib/active_record/connection_adapters/oracle_enhanced/database_tasks.rb
61
+ - lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb
75
62
  - lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb
76
63
  - lib/active_record/connection_adapters/oracle_enhanced/jdbc_quoting.rb
64
+ - lib/active_record/connection_adapters/oracle_enhanced/lob.rb
77
65
  - lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb
78
66
  - lib/active_record/connection_adapters/oracle_enhanced/oci_quoting.rb
79
67
  - lib/active_record/connection_adapters/oracle_enhanced/procedures.rb
@@ -84,31 +72,46 @@ files:
84
72
  - lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb
85
73
  - lib/active_record/connection_adapters/oracle_enhanced/schema_statements_ext.rb
86
74
  - lib/active_record/connection_adapters/oracle_enhanced/structure_dump.rb
75
+ - lib/active_record/connection_adapters/oracle_enhanced/type_metadata.rb
87
76
  - lib/active_record/connection_adapters/oracle_enhanced/version.rb
88
77
  - lib/active_record/connection_adapters/oracle_enhanced_adapter.rb
89
- - lib/active_record/oracle_enhanced/type/boolean.rb
90
- - lib/active_record/oracle_enhanced/type/integer.rb
91
- - lib/active_record/oracle_enhanced/type/json.rb
92
- - lib/active_record/oracle_enhanced/type/national_character_string.rb
93
- - lib/active_record/oracle_enhanced/type/raw.rb
94
- - lib/active_record/oracle_enhanced/type/string.rb
95
- - lib/active_record/oracle_enhanced/type/text.rb
96
- - lib/active_record/oracle_enhanced/type/timestamptz.rb
78
+ - lib/active_record/type/oracle_enhanced/boolean.rb
79
+ - lib/active_record/type/oracle_enhanced/integer.rb
80
+ - lib/active_record/type/oracle_enhanced/json.rb
81
+ - lib/active_record/type/oracle_enhanced/national_character_string.rb
82
+ - lib/active_record/type/oracle_enhanced/national_character_text.rb
83
+ - lib/active_record/type/oracle_enhanced/raw.rb
84
+ - lib/active_record/type/oracle_enhanced/string.rb
85
+ - lib/active_record/type/oracle_enhanced/text.rb
86
+ - lib/active_record/type/oracle_enhanced/timestampltz.rb
87
+ - lib/active_record/type/oracle_enhanced/timestamptz.rb
97
88
  - lib/activerecord-oracle_enhanced-adapter.rb
89
+ - spec/active_record/connection_adapters/emulation/oracle_adapter_spec.rb
90
+ - spec/active_record/connection_adapters/oracle_enhanced/connection_spec.rb
91
+ - spec/active_record/connection_adapters/oracle_enhanced/context_index_spec.rb
92
+ - spec/active_record/connection_adapters/oracle_enhanced/database_tasks_spec.rb
93
+ - spec/active_record/connection_adapters/oracle_enhanced/dbms_output_spec.rb
94
+ - spec/active_record/connection_adapters/oracle_enhanced/procedures_spec.rb
95
+ - spec/active_record/connection_adapters/oracle_enhanced/quoting_spec.rb
96
+ - spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb
97
+ - spec/active_record/connection_adapters/oracle_enhanced/schema_statements_spec.rb
98
+ - spec/active_record/connection_adapters/oracle_enhanced/structure_dump_spec.rb
98
99
  - spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb
99
- - spec/active_record/connection_adapters/oracle_enhanced_connection_spec.rb
100
- - spec/active_record/connection_adapters/oracle_enhanced_context_index_spec.rb
101
100
  - spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb
102
- - spec/active_record/connection_adapters/oracle_enhanced_database_tasks_spec.rb
103
- - spec/active_record/connection_adapters/oracle_enhanced_dbms_output_spec.rb
104
- - spec/active_record/connection_adapters/oracle_enhanced_dirty_spec.rb
105
- - spec/active_record/connection_adapters/oracle_enhanced_emulate_oracle_adapter_spec.rb
106
- - spec/active_record/connection_adapters/oracle_enhanced_procedures_spec.rb
107
- - spec/active_record/connection_adapters/oracle_enhanced_schema_dump_spec.rb
108
- - spec/active_record/connection_adapters/oracle_enhanced_schema_statements_spec.rb
109
- - spec/active_record/connection_adapters/oracle_enhanced_structure_dump_spec.rb
101
+ - spec/active_record/oracle_enhanced/type/binary_spec.rb
102
+ - spec/active_record/oracle_enhanced/type/boolean_spec.rb
103
+ - spec/active_record/oracle_enhanced/type/dirty_spec.rb
104
+ - spec/active_record/oracle_enhanced/type/float_spec.rb
105
+ - spec/active_record/oracle_enhanced/type/integer_spec.rb
106
+ - spec/active_record/oracle_enhanced/type/json_spec.rb
107
+ - spec/active_record/oracle_enhanced/type/national_character_string_spec.rb
108
+ - spec/active_record/oracle_enhanced/type/national_character_text_spec.rb
109
+ - spec/active_record/oracle_enhanced/type/raw_spec.rb
110
+ - spec/active_record/oracle_enhanced/type/text_spec.rb
111
+ - spec/active_record/oracle_enhanced/type/timestamp_spec.rb
110
112
  - spec/spec_config.yaml.template
111
113
  - spec/spec_helper.rb
114
+ - spec/support/alter_system_set_open_cursors.sql
112
115
  - spec/support/alter_system_user_password.sql
113
116
  - spec/support/create_oracle_enhanced_users.sql
114
117
  homepage: http://github.com/rsim/oracle-enhanced
@@ -131,24 +134,36 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
134
  version: 1.8.11
132
135
  requirements: []
133
136
  rubyforge_project:
134
- rubygems_version: 2.6.11
137
+ rubygems_version: 2.7.2
135
138
  signing_key:
136
139
  specification_version: 4
137
140
  summary: Oracle enhanced adapter for ActiveRecord
138
141
  test_files:
139
142
  - spec/support/create_oracle_enhanced_users.sql
143
+ - spec/support/alter_system_set_open_cursors.sql
140
144
  - spec/support/alter_system_user_password.sql
141
145
  - spec/spec_config.yaml.template
142
146
  - spec/spec_helper.rb
143
- - spec/active_record/connection_adapters/oracle_enhanced_database_tasks_spec.rb
147
+ - spec/active_record/oracle_enhanced/type/integer_spec.rb
148
+ - spec/active_record/oracle_enhanced/type/national_character_text_spec.rb
149
+ - spec/active_record/oracle_enhanced/type/timestamp_spec.rb
150
+ - spec/active_record/oracle_enhanced/type/raw_spec.rb
151
+ - spec/active_record/oracle_enhanced/type/dirty_spec.rb
152
+ - spec/active_record/oracle_enhanced/type/json_spec.rb
153
+ - spec/active_record/oracle_enhanced/type/float_spec.rb
154
+ - spec/active_record/oracle_enhanced/type/boolean_spec.rb
155
+ - spec/active_record/oracle_enhanced/type/national_character_string_spec.rb
156
+ - spec/active_record/oracle_enhanced/type/binary_spec.rb
157
+ - spec/active_record/oracle_enhanced/type/text_spec.rb
144
158
  - spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb
145
159
  - spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb
146
- - spec/active_record/connection_adapters/oracle_enhanced_structure_dump_spec.rb
147
- - spec/active_record/connection_adapters/oracle_enhanced_schema_dump_spec.rb
148
- - spec/active_record/connection_adapters/oracle_enhanced_context_index_spec.rb
149
- - spec/active_record/connection_adapters/oracle_enhanced_connection_spec.rb
150
- - spec/active_record/connection_adapters/oracle_enhanced_procedures_spec.rb
151
- - spec/active_record/connection_adapters/oracle_enhanced_dirty_spec.rb
152
- - spec/active_record/connection_adapters/oracle_enhanced_emulate_oracle_adapter_spec.rb
153
- - spec/active_record/connection_adapters/oracle_enhanced_schema_statements_spec.rb
154
- - spec/active_record/connection_adapters/oracle_enhanced_dbms_output_spec.rb
160
+ - spec/active_record/connection_adapters/oracle_enhanced/database_tasks_spec.rb
161
+ - spec/active_record/connection_adapters/oracle_enhanced/dbms_output_spec.rb
162
+ - spec/active_record/connection_adapters/oracle_enhanced/schema_statements_spec.rb
163
+ - spec/active_record/connection_adapters/oracle_enhanced/procedures_spec.rb
164
+ - spec/active_record/connection_adapters/oracle_enhanced/connection_spec.rb
165
+ - spec/active_record/connection_adapters/oracle_enhanced/context_index_spec.rb
166
+ - spec/active_record/connection_adapters/oracle_enhanced/structure_dump_spec.rb
167
+ - spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb
168
+ - spec/active_record/connection_adapters/oracle_enhanced/quoting_spec.rb
169
+ - spec/active_record/connection_adapters/emulation/oracle_adapter_spec.rb