oracle_enhanced 1.3.0.pre → 1.3.0.pre2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. data/.gitignore +0 -1
  2. data/History.txt +1 -1
  3. data/Rakefile +1 -1
  4. data/VERSION +1 -1
  5. data/lib/active_record/connection_adapters/oracle_enhanced.rake +3 -2
  6. data/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb +223 -154
  7. data/lib/active_record/connection_adapters/oracle_enhanced_context_index.rb +227 -0
  8. data/lib/active_record/connection_adapters/oracle_enhanced_core_ext.rb +1 -1
  9. data/lib/active_record/connection_adapters/oracle_enhanced_dirty.rb +1 -1
  10. data/lib/active_record/connection_adapters/oracle_enhanced_jdbc_connection.rb +3 -3
  11. data/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb +6 -1
  12. data/lib/active_record/connection_adapters/oracle_enhanced_procedures.rb +3 -3
  13. data/lib/active_record/connection_adapters/oracle_enhanced_schema_definitions.rb +2 -1
  14. data/lib/active_record/connection_adapters/oracle_enhanced_schema_dumper.rb +24 -9
  15. data/lib/active_record/connection_adapters/oracle_enhanced_version.rb +1 -1
  16. data/lib/{oracle_enhanced.rb → active_record/oracle_enhanced.rb} +0 -2
  17. data/oracle_enhanced.gemspec +7 -4
  18. data/spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb +37 -10
  19. data/spec/active_record/connection_adapters/oracle_enhanced_adapter_structure_dumper_spec.rb +27 -20
  20. data/spec/active_record/connection_adapters/oracle_enhanced_context_index_spec.rb +292 -0
  21. data/spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb +24 -28
  22. data/spec/active_record/connection_adapters/oracle_enhanced_dbms_output_spec.rb +13 -11
  23. data/spec/active_record/connection_adapters/oracle_enhanced_dirty_spec.rb +1 -1
  24. data/spec/active_record/connection_adapters/oracle_enhanced_procedures_spec.rb +70 -68
  25. data/spec/active_record/connection_adapters/oracle_enhanced_schema_dump_spec.rb +14 -1
  26. data/spec/spec_helper.rb +97 -24
  27. metadata +8 -5
@@ -1,5 +1,7 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
2
 
3
+ require 'ruby-plsql'
4
+
3
5
  describe "OracleEnhancedAdapter custom methods for create, update and destroy" do
4
6
  include LoggerSpecHelper
5
7
 
@@ -10,7 +12,7 @@ describe "OracleEnhancedAdapter custom methods for create, update and destroy" d
10
12
  @conn.execute("DROP TABLE test_employees") rescue nil
11
13
  @conn.execute <<-SQL
12
14
  CREATE TABLE test_employees (
13
- employee_id NUMBER(6,0),
15
+ employee_id NUMBER(6,0) PRIMARY KEY,
14
16
  first_name VARCHAR2(20),
15
17
  last_name VARCHAR2(25),
16
18
  hire_date DATE,
@@ -78,9 +80,10 @@ describe "OracleEnhancedAdapter custom methods for create, update and destroy" d
78
80
  BEGIN
79
81
  SELECT version INTO v_version FROM test_employees WHERE employee_id = p_employee_id FOR UPDATE;
80
82
  UPDATE test_employees
81
- SET employee_id = p_employee_id, first_name = p_first_name, last_name = p_last_name,
83
+ SET first_name = p_first_name, last_name = p_last_name,
82
84
  hire_date = p_hire_date, salary = p_salary, description = p_description,
83
- version = v_version + 1, update_time = SYSDATE;
85
+ version = v_version + 1, update_time = SYSDATE
86
+ WHERE employee_id = p_employee_id;
84
87
  END update_employee;
85
88
 
86
89
  PROCEDURE delete_employee(
@@ -93,7 +96,16 @@ describe "OracleEnhancedAdapter custom methods for create, update and destroy" d
93
96
  SQL
94
97
 
95
98
  ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.emulate_dates_by_column_name = true
99
+ end
96
100
 
101
+ after(:all) do
102
+ @conn = ActiveRecord::Base.connection
103
+ @conn.execute "DROP TABLE test_employees"
104
+ @conn.execute "DROP SEQUENCE test_employees_s"
105
+ @conn.execute "DROP PACKAGE test_employees_pkg"
106
+ end
107
+
108
+ before(:each) do
97
109
  class ::TestEmployee < ActiveRecord::Base
98
110
  set_primary_key :employee_id
99
111
 
@@ -130,22 +142,21 @@ describe "OracleEnhancedAdapter custom methods for create, update and destroy" d
130
142
  )
131
143
  end
132
144
 
145
+ private
146
+
147
+ def raise_make_transaction_rollback
148
+ raise "Make the transaction rollback"
149
+ end
133
150
  end
134
- end
135
-
136
- after(:all) do
137
- Object.send(:remove_const, "TestEmployee")
138
- @conn = ActiveRecord::Base.connection
139
- @conn.execute "DROP TABLE test_employees"
140
- @conn.execute "DROP SEQUENCE test_employees_s"
141
- @conn.execute "DROP PACKAGE test_employees_pkg"
142
- end
143
151
 
144
- before(:each) do
145
152
  @today = Date.new(2008,6,28)
146
153
  @buffer = StringIO.new
147
154
  end
148
155
 
156
+ after(:each) do
157
+ Object.send(:remove_const, "TestEmployee")
158
+ end
159
+
149
160
  it "should create record" do
150
161
  @employee = TestEmployee.create(
151
162
  :first_name => "First",
@@ -162,22 +173,19 @@ describe "OracleEnhancedAdapter custom methods for create, update and destroy" d
162
173
  end
163
174
 
164
175
  it "should rollback record when exception is raised in after_create callback" do
176
+ TestEmployee.after_create :raise_make_transaction_rollback
177
+
165
178
  @employee = TestEmployee.new(
166
179
  :first_name => "First",
167
180
  :last_name => "Last",
168
181
  :hire_date => @today
169
182
  )
170
- TestEmployee.class_eval { def after_create() raise "Make the transaction rollback" end }
171
- begin
172
- employees_count = TestEmployee.count
173
- lambda {
174
- @employee.save
175
- }.should raise_error("Make the transaction rollback")
176
- @employee.id.should == nil
177
- TestEmployee.count.should == employees_count
178
- ensure
179
- TestEmployee.class_eval { remove_method :after_create }
180
- end
183
+ employees_count = TestEmployee.count
184
+ lambda {
185
+ @employee.save
186
+ }.should raise_error("Make the transaction rollback")
187
+ @employee.id.should == nil
188
+ TestEmployee.count.should == employees_count
181
189
  end
182
190
 
183
191
  it "should update record" do
@@ -195,25 +203,22 @@ describe "OracleEnhancedAdapter custom methods for create, update and destroy" d
195
203
  end
196
204
 
197
205
  it "should rollback record when exception is raised in after_update callback" do
198
- TestEmployee.class_eval { def after_update() raise "Make the transaction rollback" end }
199
- begin
200
- @employee = TestEmployee.create(
201
- :first_name => "First",
202
- :last_name => "Last",
203
- :hire_date => @today,
204
- :description => "description"
205
- )
206
- empl_id = @employee.id
207
- @employee.reload
208
- @employee.first_name = "Second"
209
- lambda {
210
- @employee.save
211
- }.should raise_error("Make the transaction rollback")
212
- @employee.reload
213
- @employee.first_name.should == "First"
214
- ensure
215
- TestEmployee.class_eval { remove_method :after_update }
216
- end
206
+ TestEmployee.after_update :raise_make_transaction_rollback
207
+
208
+ @employee = TestEmployee.create(
209
+ :first_name => "First",
210
+ :last_name => "Last",
211
+ :hire_date => @today,
212
+ :description => "description"
213
+ )
214
+ empl_id = @employee.id
215
+ @employee.reload
216
+ @employee.first_name = "Second"
217
+ lambda {
218
+ @employee.save
219
+ }.should raise_error("Make the transaction rollback")
220
+ @employee.reload
221
+ @employee.first_name.should == "First"
217
222
  end
218
223
 
219
224
  it "should not update record if nothing is changed and partial updates are enabled" do
@@ -270,23 +275,20 @@ describe "OracleEnhancedAdapter custom methods for create, update and destroy" d
270
275
  end
271
276
 
272
277
  it "should rollback record when exception is raised in after_desotry callback" do
273
- TestEmployee.class_eval { def after_destroy() raise "Make the transaction rollback" end }
274
- begin
275
- @employee = TestEmployee.create(
276
- :first_name => "First",
277
- :last_name => "Last",
278
- :hire_date => @today
279
- )
280
- @employee.reload
281
- empl_id = @employee.id
282
- lambda {
283
- @employee.destroy
284
- }.should raise_error("Make the transaction rollback")
285
- @employee.id.should == empl_id
286
- TestEmployee.find_by_employee_id(empl_id).should_not be_nil
287
- ensure
288
- TestEmployee.class_eval { remove_method :after_destroy }
289
- end
278
+ TestEmployee.after_destroy :raise_make_transaction_rollback
279
+
280
+ @employee = TestEmployee.create(
281
+ :first_name => "First",
282
+ :last_name => "Last",
283
+ :hire_date => @today
284
+ )
285
+ @employee.reload
286
+ empl_id = @employee.id
287
+ lambda {
288
+ @employee.destroy
289
+ }.should raise_error("Make the transaction rollback")
290
+ @employee.id.should == empl_id
291
+ TestEmployee.find_by_employee_id(empl_id).should_not be_nil
290
292
  end
291
293
 
292
294
  it "should set timestamps when creating record" do
@@ -315,13 +317,13 @@ describe "OracleEnhancedAdapter custom methods for create, update and destroy" d
315
317
  end
316
318
 
317
319
  it "should log create record" do
318
- log_to @buffer
320
+ set_logger
319
321
  @employee = TestEmployee.create(
320
322
  :first_name => "First",
321
323
  :last_name => "Last",
322
324
  :hire_date => @today
323
325
  )
324
- @buffer.string.should match(/^TestEmployee Create \(\d+\.\d+(ms)?\) custom create method$/)
326
+ @logger.logged(:debug).last.should match(/^TestEmployee Create \(\d+\.\d+(ms)?\) custom create method$/)
325
327
  end
326
328
 
327
329
  it "should log update record" do
@@ -331,9 +333,9 @@ describe "OracleEnhancedAdapter custom methods for create, update and destroy" d
331
333
  :last_name => "Last",
332
334
  :hire_date => @today
333
335
  )
334
- log_to @buffer
336
+ set_logger
335
337
  @employee.save!
336
- @buffer.string.should match(/^TestEmployee Update \(\d+\.\d+(ms)?\) custom update method with employee_id=#{@employee.id}$/)
338
+ @logger.logged(:debug).last.should match(/^TestEmployee Update \(\d+\.\d+(ms)?\) custom update method with employee_id=#{@employee.id}$/)
337
339
  end
338
340
 
339
341
  it "should log delete record" do
@@ -342,9 +344,9 @@ describe "OracleEnhancedAdapter custom methods for create, update and destroy" d
342
344
  :last_name => "Last",
343
345
  :hire_date => @today
344
346
  )
345
- log_to @buffer
347
+ set_logger
346
348
  @employee.destroy
347
- @buffer.string.should match(/^TestEmployee Destroy \(\d+\.\d+(ms)?\) custom delete method with employee_id=#{@employee.id}$/)
349
+ @logger.logged(:debug).last.should match(/^TestEmployee Destroy \(\d+\.\d+(ms)?\) custom delete method with employee_id=#{@employee.id}$/)
348
350
  end
349
351
 
350
352
  it "should validate new record before creation" do
@@ -353,7 +355,7 @@ describe "OracleEnhancedAdapter custom methods for create, update and destroy" d
353
355
  :hire_date => @today
354
356
  )
355
357
  @employee.save.should be_false
356
- @employee.errors.on(:first_name).should_not be_nil
358
+ @employee.errors[:first_name].should_not be_blank
357
359
  end
358
360
 
359
361
  it "should validate existing record before update" do
@@ -364,7 +366,7 @@ describe "OracleEnhancedAdapter custom methods for create, update and destroy" d
364
366
  )
365
367
  @employee.first_name = nil
366
368
  @employee.save.should be_false
367
- @employee.errors.on(:first_name).should_not be_nil
369
+ @employee.errors[:first_name].should_not be_blank
368
370
  end
369
371
 
370
372
  end
@@ -190,7 +190,7 @@ describe "OracleEnhancedAdapter schema dump" do
190
190
  standard_dump.should =~ /add_index \"test_posts\", \[\"title\"\], :name => \"index_test_posts_on_title\"$/
191
191
  end
192
192
 
193
- it "should not specify default tablespace in add index" do
193
+ it "should specify non-default tablespace in add index" do
194
194
  tablespace_name = @conn.default_tablespace
195
195
  @conn.stub!(:default_tablespace).and_return('dummy')
196
196
  create_test_posts_table
@@ -199,5 +199,18 @@ describe "OracleEnhancedAdapter schema dump" do
199
199
 
200
200
  end
201
201
 
202
+ describe "materialized views" do
203
+ after(:each) do
204
+ @conn.execute "DROP MATERIALIZED VIEW test_posts_mv" rescue nil
205
+ drop_test_posts_table
206
+ end
207
+
208
+ it "should not include materialized views in schema dump" do
209
+ create_test_posts_table
210
+ @conn.execute "CREATE MATERIALIZED VIEW test_posts_mv AS SELECT * FROM test_posts"
211
+ standard_dump.should_not =~ /create_table "test_posts_mv"/
212
+ end
213
+ end
214
+
202
215
  end
203
216
 
data/spec/spec_helper.rb CHANGED
@@ -24,30 +24,41 @@ elsif ENV['RAILS_GEM_VERSION'] =~ /^2.3.3/
24
24
  gem 'actionpack', '=2.3.3'
25
25
  gem 'activesupport', '=2.3.3'
26
26
  gem 'composite_primary_keys', '=2.3.2'
27
- else
28
- ENV['RAILS_GEM_VERSION'] ||= '2.3.5'
27
+ elsif ENV['RAILS_GEM_VERSION'] =~ /^2.3/
29
28
  gem 'activerecord', '=2.3.5'
30
29
  gem 'actionpack', '=2.3.5'
31
30
  gem 'activesupport', '=2.3.5'
32
31
  NO_COMPOSITE_PRIMARY_KEYS = true
32
+ else
33
+ # uses local copy of Rails 3 gems
34
+ ['rails/activerecord', 'rails/activemodel', 'rails/activesupport', 'arel', 'rails/actionpack', 'rails/railties'].each do |library|
35
+ $:.unshift(File.expand_path(File.dirname(__FILE__) + '/../../' + library + '/lib'))
36
+ end
37
+ ENV['RAILS_GEM_VERSION'] ||= '3.0'
38
+ NO_COMPOSITE_PRIMARY_KEYS = true
33
39
  end
34
40
 
35
41
  require 'active_record'
36
- require 'action_pack'
37
- if ENV['RAILS_GEM_VERSION'] >= '2.3'
42
+
43
+ if ENV['RAILS_GEM_VERSION'] >= '3.0'
44
+ require 'action_dispatch'
45
+ require 'active_support/core_ext/module/attribute_accessors'
46
+ require "rails/log_subscriber"
47
+ require 'active_record/railties/log_subscriber'
48
+ require 'logger'
49
+ elsif ENV['RAILS_GEM_VERSION'] =~ /^2.3/
50
+ require 'action_pack'
38
51
  require 'action_controller/session/abstract_store'
39
52
  require 'active_record/session_store'
40
- else
53
+ elsif ENV['RAILS_GEM_VERSION'] <= '2.3'
54
+ require 'action_pack'
41
55
  require 'action_controller/session/active_record_store'
42
56
  end
43
- if !defined?(RUBY_ENGINE)
44
- gem 'ruby-oci8', '=2.0.3'
45
- require 'oci8'
46
- elsif RUBY_ENGINE == 'ruby'
47
- gem 'ruby-oci8', '=2.0.3'
57
+ if !defined?(RUBY_ENGINE) || RUBY_ENGINE == 'ruby'
58
+ gem 'ruby-oci8', '>=2.0.4'
48
59
  require 'oci8'
49
60
  elsif RUBY_ENGINE == 'jruby'
50
- gem "activerecord-jdbc-adapter"
61
+ gem 'activerecord-jdbc-adapter'
51
62
  require 'active_record/connection_adapters/jdbc_adapter'
52
63
  end
53
64
 
@@ -55,16 +66,78 @@ require 'active_record/connection_adapters/oracle_enhanced_adapter'
55
66
  require 'ruby-plsql'
56
67
 
57
68
  module LoggerSpecHelper
58
- def log_to(stream)
59
- ActiveRecord::Base.logger = Logger.new(stream)
60
- if ActiveRecord::Base.respond_to?(:connection_pool)
61
- ActiveRecord::Base.connection_pool.clear_reloadable_connections!
62
- else
63
- ActiveRecord::Base.clear_active_connections!
69
+ def set_logger
70
+ @logger = MockLogger.new
71
+
72
+ if ENV['RAILS_GEM_VERSION'] >= '3.0'
73
+ queue = ActiveSupport::Notifications::Fanout.new
74
+ @notifier = ActiveSupport::Notifications::Notifier.new(queue)
75
+
76
+ Rails::LogSubscriber.colorize_logging = false
77
+
78
+ ActiveRecord::Base.logger = @logger
79
+ ActiveSupport::Notifications.notifier = @notifier
80
+
81
+ Rails::LogSubscriber.add(:active_record, ActiveRecord::Railties::LogSubscriber.new)
82
+
83
+ else # ActiveRecord 2.x
84
+ if ActiveRecord::Base.respond_to?(:connection_pool)
85
+ ActiveRecord::Base.connection_pool.clear_reloadable_connections!
86
+ else
87
+ ActiveRecord::Base.clear_active_connections!
88
+ end
89
+ ActiveRecord::Base.logger = @logger
90
+ ActiveRecord::Base.colorize_logging = false
91
+ # ActiveRecord::Base.logger.level = Logger::DEBUG
92
+ end
93
+
94
+ end
95
+
96
+ class MockLogger
97
+ attr_reader :flush_count
98
+
99
+ def initialize
100
+ @flush_count = 0
101
+ @logged = Hash.new { |h,k| h[k] = [] }
64
102
  end
65
- ActiveRecord::Base.colorize_logging = false
66
- ActiveRecord::Base.logger.level = Logger::DEBUG
103
+
104
+ # used in AtiveRecord 2.x
105
+ def debug?
106
+ true
107
+ end
108
+
109
+ def method_missing(level, message)
110
+ @logged[level] << message
111
+ end
112
+
113
+ def logged(level)
114
+ @logged[level].compact.map { |l| l.to_s.strip }
115
+ end
116
+
117
+ def output(level)
118
+ logged(level).join("\n")
119
+ end
120
+
121
+ def flush
122
+ @flush_count += 1
123
+ end
124
+
125
+ def clear(level)
126
+ @logged[level] = []
127
+ end
128
+ end
129
+
130
+ def clear_logger
131
+ ActiveRecord::Base.logger = @logger = nil
132
+ ActiveSupport::Notifications.notifier = @notifier = nil if @notifier
67
133
  end
134
+
135
+ # Wait notifications to be published (for Rails 3.0)
136
+ # should not be currently used with sync queues in tests
137
+ def wait
138
+ @notifier.wait if @notifier
139
+ end
140
+
68
141
  end
69
142
 
70
143
  module SchemaSpecHelper
@@ -77,17 +150,17 @@ module SchemaSpecHelper
77
150
  end
78
151
  end
79
152
 
80
- DATABASE_NAME = ENV['DATABASE_NAME'] || 'orcl'
81
- DATABASE_HOST = ENV['DATABASE_HOST'] || 'localhost'
153
+ DATABASE_NAME = ENV['DATABASE_NAME'] || '//ptvlhesdev1-vip.HARGRAY.ORG/dev'
154
+ DATABASE_HOST = ENV['DATABASE_HOST'] || ''
82
155
  DATABASE_PORT = ENV['DATABASE_PORT'] || 1521
83
- DATABASE_USER = ENV['DATABASE_USER'] || 'oracle_enhanced'
84
- DATABASE_PASSWORD = ENV['DATABASE_PASSWORD'] || 'oracle_enhanced'
156
+ DATABASE_USER = ENV['DATABASE_USER'] || 'luke_v'
157
+ DATABASE_PASSWORD = ENV['DATABASE_PASSWORD'] || 'rock#ROLE'
85
158
  DATABASE_SYS_PASSWORD = ENV['DATABASE_SYS_PASSWORD'] || 'admin'
86
159
 
87
160
  CONNECTION_PARAMS = {
88
161
  :adapter => "oracle_enhanced",
89
162
  :database => DATABASE_NAME,
90
- :host => DATABASE_HOST,
163
+ # :host => DATABASE_HOST,
91
164
  :username => DATABASE_USER,
92
165
  :password => DATABASE_PASSWORD
93
166
  }
metadata CHANGED
@@ -6,8 +6,8 @@ version: !ruby/object:Gem::Version
6
6
  - 1
7
7
  - 3
8
8
  - 0
9
- - pre
10
- version: 1.3.0.pre
9
+ - pre2
10
+ version: 1.3.0.pre2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Raimonds Simanovskis
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-03-03 00:00:00 -05:00
18
+ date: 2010-03-18 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -69,6 +69,7 @@ files:
69
69
  - lib/active_record/connection_adapters/oracle_enhanced.rake
70
70
  - lib/active_record/connection_adapters/oracle_enhanced_adapter.rb
71
71
  - lib/active_record/connection_adapters/oracle_enhanced_connection.rb
72
+ - lib/active_record/connection_adapters/oracle_enhanced_context_index.rb
72
73
  - lib/active_record/connection_adapters/oracle_enhanced_core_ext.rb
73
74
  - lib/active_record/connection_adapters/oracle_enhanced_cpk.rb
74
75
  - lib/active_record/connection_adapters/oracle_enhanced_dirty.rb
@@ -81,11 +82,12 @@ files:
81
82
  - lib/active_record/connection_adapters/oracle_enhanced_schema_statements_ext.rb
82
83
  - lib/active_record/connection_adapters/oracle_enhanced_tasks.rb
83
84
  - lib/active_record/connection_adapters/oracle_enhanced_version.rb
84
- - lib/oracle_enhanced.rb
85
+ - lib/active_record/oracle_enhanced.rb
85
86
  - oracle_enhanced.gemspec
86
87
  - spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb
87
88
  - spec/active_record/connection_adapters/oracle_enhanced_adapter_structure_dumper_spec.rb
88
89
  - spec/active_record/connection_adapters/oracle_enhanced_connection_spec.rb
90
+ - spec/active_record/connection_adapters/oracle_enhanced_context_index_spec.rb
89
91
  - spec/active_record/connection_adapters/oracle_enhanced_core_ext_spec.rb
90
92
  - spec/active_record/connection_adapters/oracle_enhanced_cpk_spec.rb
91
93
  - spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb
@@ -98,7 +100,7 @@ files:
98
100
  - spec/spec.opts
99
101
  - spec/spec_helper.rb
100
102
  has_rdoc: true
101
- homepage: http://github.com/rsim/oracle-enhanced
103
+ homepage: http://github.com/plukevdh/oracle-enhanced
102
104
  licenses: []
103
105
 
104
106
  post_install_message:
@@ -133,6 +135,7 @@ test_files:
133
135
  - spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb
134
136
  - spec/active_record/connection_adapters/oracle_enhanced_adapter_structure_dumper_spec.rb
135
137
  - spec/active_record/connection_adapters/oracle_enhanced_connection_spec.rb
138
+ - spec/active_record/connection_adapters/oracle_enhanced_context_index_spec.rb
136
139
  - spec/active_record/connection_adapters/oracle_enhanced_core_ext_spec.rb
137
140
  - spec/active_record/connection_adapters/oracle_enhanced_cpk_spec.rb
138
141
  - spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb