activerecord-oracle_enhanced-adapter 1.5.6 → 1.6.9
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/.travis/oracle/download.sh +14 -0
- data/.travis/oracle/install.sh +31 -0
- data/.travis/setup_accounts.sh +9 -0
- data/.travis.yml +39 -0
- data/Gemfile +8 -8
- data/History.md +189 -0
- data/README.md +388 -178
- data/RUNNING_TESTS.md +11 -6
- data/VERSION +1 -1
- data/activerecord-oracle_enhanced-adapter.gemspec +29 -26
- data/lib/active_record/connection_adapters/{oracle_enhanced_column.rb → oracle_enhanced/column.rb} +14 -63
- data/lib/active_record/connection_adapters/oracle_enhanced/column_dumper.rb +66 -0
- data/lib/active_record/connection_adapters/{oracle_enhanced_connection.rb → oracle_enhanced/connection.rb} +2 -2
- data/lib/active_record/connection_adapters/oracle_enhanced/context_index.rb +347 -0
- data/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb +260 -0
- data/lib/active_record/connection_adapters/oracle_enhanced/dirty.rb +40 -0
- data/lib/active_record/connection_adapters/{oracle_enhanced_jdbc_connection.rb → oracle_enhanced/jdbc_connection.rb} +13 -4
- data/lib/active_record/connection_adapters/{oracle_enhanced_oci_connection.rb → oracle_enhanced/oci_connection.rb} +11 -5
- data/lib/active_record/connection_adapters/{oracle_enhanced_procedures.rb → oracle_enhanced/procedures.rb} +1 -1
- data/lib/active_record/connection_adapters/{oracle_enhanced_schema_creation.rb → oracle_enhanced/schema_creation.rb} +34 -35
- data/lib/active_record/connection_adapters/oracle_enhanced/schema_definitions.rb +95 -0
- data/lib/active_record/connection_adapters/{oracle_enhanced_schema_dumper.rb → oracle_enhanced/schema_dumper.rb} +14 -37
- data/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb +562 -0
- data/lib/active_record/connection_adapters/oracle_enhanced/schema_statements_ext.rb +65 -0
- data/lib/active_record/connection_adapters/{oracle_enhanced_structure_dump.rb → oracle_enhanced/structure_dump.rb} +63 -14
- data/lib/active_record/connection_adapters/oracle_enhanced/version.rb +1 -0
- data/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb +171 -73
- data/lib/active_record/oracle_enhanced/type/integer.rb +13 -0
- data/lib/active_record/oracle_enhanced/type/raw.rb +13 -0
- data/lib/active_record/oracle_enhanced/type/timestamp.rb +11 -0
- data/lib/activerecord-oracle_enhanced-adapter.rb +1 -1
- data/spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb +127 -49
- data/spec/active_record/connection_adapters/oracle_enhanced_connection_spec.rb +46 -5
- data/spec/active_record/connection_adapters/oracle_enhanced_context_index_spec.rb +11 -3
- data/spec/active_record/connection_adapters/oracle_enhanced_cpk_spec.rb +3 -3
- data/spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb +151 -78
- data/spec/active_record/connection_adapters/oracle_enhanced_database_tasks_spec.rb +4 -4
- data/spec/active_record/connection_adapters/oracle_enhanced_dirty_spec.rb +10 -16
- data/spec/active_record/connection_adapters/oracle_enhanced_emulate_oracle_adapter_spec.rb +1 -1
- data/spec/active_record/connection_adapters/oracle_enhanced_procedures_spec.rb +5 -5
- data/spec/active_record/connection_adapters/oracle_enhanced_schema_dump_spec.rb +65 -181
- data/spec/active_record/connection_adapters/oracle_enhanced_schema_statements_spec.rb +114 -11
- data/spec/active_record/connection_adapters/oracle_enhanced_structure_dump_spec.rb +17 -1
- data/spec/spec_config.yaml.template +11 -0
- data/spec/spec_helper.rb +31 -12
- data/spec/support/alter_system_user_password.sql +2 -0
- data/spec/support/create_oracle_enhanced_users.sql +31 -0
- metadata +37 -27
- data/lib/active_record/connection_adapters/oracle_enhanced_column_dumper.rb +0 -77
- data/lib/active_record/connection_adapters/oracle_enhanced_context_index.rb +0 -350
- data/lib/active_record/connection_adapters/oracle_enhanced_database_statements.rb +0 -262
- data/lib/active_record/connection_adapters/oracle_enhanced_dirty.rb +0 -45
- data/lib/active_record/connection_adapters/oracle_enhanced_schema_definitions.rb +0 -197
- data/lib/active_record/connection_adapters/oracle_enhanced_schema_statements.rb +0 -450
- data/lib/active_record/connection_adapters/oracle_enhanced_schema_statements_ext.rb +0 -258
- data/lib/active_record/connection_adapters/oracle_enhanced_version.rb +0 -1
- /data/lib/active_record/connection_adapters/{oracle_enhanced_cpk.rb → oracle_enhanced/cpk.rb} +0 -0
- /data/lib/active_record/connection_adapters/{oracle_enhanced_database_tasks.rb → oracle_enhanced/database_tasks.rb} +0 -0
data/RUNNING_TESTS.md
CHANGED
@@ -16,7 +16,9 @@ to increase process limit and then restart the database (this will be necessary
|
|
16
16
|
Ruby versions
|
17
17
|
-------------
|
18
18
|
|
19
|
-
|
19
|
+
oracle_enhanced is tested with MRI 2.1.x and 2.2.x, and JRuby 1.7.x and 9.0.x.x.
|
20
|
+
|
21
|
+
It is recommended to use [RVM](http://rvm.beginrescueend.com) to run tests with different Ruby implementations.
|
20
22
|
|
21
23
|
Running tests
|
22
24
|
-------------
|
@@ -26,19 +28,22 @@ Running tests
|
|
26
28
|
SQL> CREATE USER oracle_enhanced IDENTIFIED BY oracle_enhanced;
|
27
29
|
SQL> GRANT unlimited tablespace, create session, create table, create sequence, create procedure, create trigger, create view, create materialized view, create database link, create synonym, create type, ctxapp TO oracle_enhanced;
|
28
30
|
|
29
|
-
|
31
|
+
SQL> CREATE USER oracle_enhanced_schema IDENTIFIED BY oracle_enhanced_schema;
|
32
|
+
SQL> GRANT unlimited tablespace, create session, create table, create sequence, create procedure, create trigger, create view, create materialized view, create database link, create synonym, create type, ctxapp TO oracle_enhanced_schema;
|
33
|
+
|
34
|
+
* If you use RVM then switch to corresponding Ruby. It is recommended to create isolated gemsets for test purposes (e.g. rvm create gemset oracle_enhanced)
|
30
35
|
|
31
36
|
* Install bundler with
|
32
37
|
|
33
38
|
gem install bundler
|
34
39
|
|
35
|
-
* Set RAILS_GEM_VERSION to Rails version that you would like to use in oracle_enhanced tests, e.g.
|
36
|
-
|
37
|
-
export RAILS_GEM_VERSION=3.0.3
|
38
|
-
|
39
40
|
* Install necessary gems with
|
40
41
|
|
41
42
|
bundle install
|
43
|
+
|
44
|
+
* Configure database credentials in one of two ways:
|
45
|
+
* copy spec/spec_config.yaml.template to spec/spec_config.yaml and modify as needed
|
46
|
+
* set required environment variables (see DATABASE_NAME in spec_helper.rb)
|
42
47
|
|
43
48
|
* Run tests with
|
44
49
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.6.9
|
@@ -5,12 +5,12 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{activerecord-oracle_enhanced-adapter}
|
8
|
-
s.version = "1.
|
8
|
+
s.version = "1.6.9"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.license = 'MIT'
|
12
12
|
s.authors = [%q{Raimonds Simanovskis}]
|
13
|
-
s.date = %q{
|
13
|
+
s.date = %q{2017-03-29}
|
14
14
|
s.description = %q{Oracle "enhanced" ActiveRecord adapter contains useful additional methods for working with new and legacy Oracle databases.
|
15
15
|
This adapter is superset of original ActiveRecord Oracle adapter.
|
16
16
|
}
|
@@ -30,23 +30,27 @@ This adapter is superset of original ActiveRecord Oracle adapter.
|
|
30
30
|
"activerecord-oracle_enhanced-adapter.gemspec",
|
31
31
|
"lib/active_record/connection_adapters/emulation/oracle_adapter.rb",
|
32
32
|
"lib/active_record/connection_adapters/oracle_enhanced_adapter.rb",
|
33
|
-
"lib/active_record/connection_adapters/
|
34
|
-
"lib/active_record/connection_adapters/
|
35
|
-
"lib/active_record/connection_adapters/
|
36
|
-
"lib/active_record/connection_adapters/
|
37
|
-
"lib/active_record/connection_adapters/
|
38
|
-
"lib/active_record/connection_adapters/
|
39
|
-
"lib/active_record/connection_adapters/
|
40
|
-
"lib/active_record/connection_adapters/
|
41
|
-
"lib/active_record/connection_adapters/
|
42
|
-
"lib/active_record/connection_adapters/
|
43
|
-
"lib/active_record/connection_adapters/
|
44
|
-
"lib/active_record/connection_adapters/
|
45
|
-
"lib/active_record/connection_adapters/
|
46
|
-
"lib/active_record/connection_adapters/
|
47
|
-
"lib/active_record/connection_adapters/
|
48
|
-
"lib/active_record/connection_adapters/
|
49
|
-
"lib/active_record/connection_adapters/
|
33
|
+
"lib/active_record/connection_adapters/oracle_enhanced/column.rb",
|
34
|
+
"lib/active_record/connection_adapters/oracle_enhanced/column_dumper.rb",
|
35
|
+
"lib/active_record/connection_adapters/oracle_enhanced/connection.rb",
|
36
|
+
"lib/active_record/connection_adapters/oracle_enhanced/context_index.rb",
|
37
|
+
"lib/active_record/connection_adapters/oracle_enhanced/cpk.rb",
|
38
|
+
"lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb",
|
39
|
+
"lib/active_record/connection_adapters/oracle_enhanced/dirty.rb",
|
40
|
+
"lib/active_record/connection_adapters/oracle_enhanced/database_tasks.rb",
|
41
|
+
"lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb",
|
42
|
+
"lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb",
|
43
|
+
"lib/active_record/connection_adapters/oracle_enhanced/procedures.rb",
|
44
|
+
"lib/active_record/connection_adapters/oracle_enhanced/schema_creation.rb",
|
45
|
+
"lib/active_record/connection_adapters/oracle_enhanced/schema_definitions.rb",
|
46
|
+
"lib/active_record/connection_adapters/oracle_enhanced/schema_dumper.rb",
|
47
|
+
"lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb",
|
48
|
+
"lib/active_record/connection_adapters/oracle_enhanced/schema_statements_ext.rb",
|
49
|
+
"lib/active_record/connection_adapters/oracle_enhanced/structure_dump.rb",
|
50
|
+
"lib/active_record/connection_adapters/oracle_enhanced/version.rb",
|
51
|
+
"lib/active_record/oracle_enhanced/type/integer.rb",
|
52
|
+
"lib/active_record/oracle_enhanced/type/timestamp.rb",
|
53
|
+
"lib/active_record/oracle_enhanced/type/raw.rb",
|
50
54
|
"lib/activerecord-oracle_enhanced-adapter.rb",
|
51
55
|
"spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb",
|
52
56
|
"spec/active_record/connection_adapters/oracle_enhanced_connection_spec.rb",
|
@@ -88,9 +92,9 @@ This adapter is superset of original ActiveRecord Oracle adapter.
|
|
88
92
|
s.specification_version = 3
|
89
93
|
|
90
94
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
91
|
-
s.add_development_dependency(%q<jeweler>, ["~>
|
95
|
+
s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
|
92
96
|
s.add_development_dependency(%q<rspec>, ["~> 2.4"])
|
93
|
-
s.add_development_dependency(%q<activerecord>, ["
|
97
|
+
s.add_development_dependency(%q<activerecord>, ["~> 4.2.1"])
|
94
98
|
s.add_development_dependency(%q<activemodel>, [">= 0"])
|
95
99
|
s.add_development_dependency(%q<activesupport>, [">= 0"])
|
96
100
|
s.add_development_dependency(%q<actionpack>, [">= 0"])
|
@@ -100,9 +104,9 @@ This adapter is superset of original ActiveRecord Oracle adapter.
|
|
100
104
|
s.add_development_dependency(%q<ruby-plsql>, [">= 0.4.4"])
|
101
105
|
s.add_development_dependency(%q<ruby-oci8>, [">= 2.0.4"])
|
102
106
|
else
|
103
|
-
s.add_dependency(%q<jeweler>, ["~>
|
107
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0"])
|
104
108
|
s.add_dependency(%q<rspec>, ["~> 2.4"])
|
105
|
-
s.add_dependency(%q<activerecord>, ["
|
109
|
+
s.add_dependency(%q<activerecord>, ["~> 4.2.1"])
|
106
110
|
s.add_dependency(%q<activemodel>, [">= 0"])
|
107
111
|
s.add_dependency(%q<activesupport>, [">= 0"])
|
108
112
|
s.add_dependency(%q<actionpack>, [">= 0"])
|
@@ -113,9 +117,9 @@ This adapter is superset of original ActiveRecord Oracle adapter.
|
|
113
117
|
s.add_dependency(%q<ruby-oci8>, [">= 2.0.4"])
|
114
118
|
end
|
115
119
|
else
|
116
|
-
s.add_dependency(%q<jeweler>, ["~>
|
120
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0"])
|
117
121
|
s.add_dependency(%q<rspec>, ["~> 2.4"])
|
118
|
-
s.add_dependency(%q<activerecord>, ["
|
122
|
+
s.add_dependency(%q<activerecord>, ["~> 4.2.1"])
|
119
123
|
s.add_dependency(%q<activemodel>, [">= 0"])
|
120
124
|
s.add_dependency(%q<activesupport>, [">= 0"])
|
121
125
|
s.add_dependency(%q<actionpack>, [">= 0"])
|
@@ -126,4 +130,3 @@ This adapter is superset of original ActiveRecord Oracle adapter.
|
|
126
130
|
s.add_dependency(%q<ruby-oci8>, [">= 2.0.4"])
|
127
131
|
end
|
128
132
|
end
|
129
|
-
|
data/lib/active_record/connection_adapters/{oracle_enhanced_column.rb → oracle_enhanced/column.rb}
RENAMED
@@ -2,11 +2,13 @@ module ActiveRecord
|
|
2
2
|
module ConnectionAdapters #:nodoc:
|
3
3
|
class OracleEnhancedColumn < Column
|
4
4
|
|
5
|
-
attr_reader :table_name, :
|
5
|
+
attr_reader :table_name, :nchar, :virtual_column_data_default, :returning_id #:nodoc:
|
6
6
|
|
7
|
-
|
7
|
+
FALSE_VALUES << 'N'
|
8
|
+
TRUE_VALUES << 'Y'
|
9
|
+
|
10
|
+
def initialize(name, default, cast_type, sql_type = nil, null = true, table_name = nil, virtual=false, returning_id=false) #:nodoc:
|
8
11
|
@table_name = table_name
|
9
|
-
@forced_column_type = forced_column_type
|
10
12
|
@virtual = virtual
|
11
13
|
@virtual_column_data_default = default.inspect if virtual
|
12
14
|
@returning_id = returning_id
|
@@ -15,32 +17,20 @@ module ActiveRecord
|
|
15
17
|
else
|
16
18
|
default_value = self.class.extract_value_from_default(default)
|
17
19
|
end
|
18
|
-
super(name, default_value, sql_type, null)
|
20
|
+
super(name, default_value, cast_type, sql_type, null)
|
19
21
|
# Is column NCHAR or NVARCHAR2 (will need to use N'...' value quoting for these data types)?
|
20
22
|
# Define only when needed as adapter "quote" method will check at first if instance variable is defined.
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
def type_cast(value) #:nodoc:
|
26
|
-
case type
|
27
|
-
when :raw
|
28
|
-
OracleEnhancedColumn.string_to_raw(value)
|
29
|
-
when :datetime
|
30
|
-
OracleEnhancedAdapter.emulate_dates ? guess_date_or_time(value) : super
|
31
|
-
when :float
|
32
|
-
!value.nil? ? self.class.value_to_decimal(value) : super
|
33
|
-
else
|
34
|
-
super
|
23
|
+
if sql_type
|
24
|
+
@nchar = true if cast_type.class == ActiveRecord::Type::String && sql_type[0,1] == 'N'
|
25
|
+
@object_type = sql_type.include? '.'
|
35
26
|
end
|
27
|
+
# TODO: Need to investigate when `sql_type` becomes nil
|
36
28
|
end
|
37
29
|
|
38
|
-
def
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
def klass
|
43
|
-
type == :float ? BigDecimal : super
|
30
|
+
def type_cast(value) #:nodoc:
|
31
|
+
return OracleEnhancedColumn::string_to_raw(value) if type == :raw
|
32
|
+
return guess_date_or_time(value) if type == :datetime && OracleEnhancedAdapter.emulate_dates
|
33
|
+
super
|
44
34
|
end
|
45
35
|
|
46
36
|
def virtual?
|
@@ -96,45 +86,6 @@ module ActiveRecord
|
|
96
86
|
|
97
87
|
private
|
98
88
|
|
99
|
-
def simplified_type(field_type)
|
100
|
-
forced_column_type ||
|
101
|
-
case field_type
|
102
|
-
when /decimal|numeric|number/i
|
103
|
-
if OracleEnhancedAdapter.emulate_booleans && field_type.upcase == "NUMBER(1)"
|
104
|
-
:boolean
|
105
|
-
elsif extract_scale(field_type) == 0 ||
|
106
|
-
# if column name is ID or ends with _ID
|
107
|
-
OracleEnhancedAdapter.emulate_integers_by_column_name && OracleEnhancedAdapter.is_integer_column?(name, table_name)
|
108
|
-
:integer
|
109
|
-
elsif field_type.upcase == "NUMBER"
|
110
|
-
OracleEnhancedAdapter.number_datatype_coercion
|
111
|
-
else
|
112
|
-
:decimal
|
113
|
-
end
|
114
|
-
when /raw/i
|
115
|
-
:raw
|
116
|
-
when /char/i
|
117
|
-
if OracleEnhancedAdapter.emulate_booleans_from_strings &&
|
118
|
-
OracleEnhancedAdapter.is_boolean_column?(name, field_type, table_name)
|
119
|
-
:boolean
|
120
|
-
else
|
121
|
-
:string
|
122
|
-
end
|
123
|
-
when /date/i
|
124
|
-
if OracleEnhancedAdapter.emulate_dates_by_column_name && OracleEnhancedAdapter.is_date_column?(name, table_name)
|
125
|
-
:date
|
126
|
-
else
|
127
|
-
:datetime
|
128
|
-
end
|
129
|
-
when /timestamp/i
|
130
|
-
:timestamp
|
131
|
-
when /time/i
|
132
|
-
:datetime
|
133
|
-
else
|
134
|
-
super
|
135
|
-
end
|
136
|
-
end
|
137
|
-
|
138
89
|
def self.extract_value_from_default(default)
|
139
90
|
case default
|
140
91
|
when String
|
@@ -0,0 +1,66 @@
|
|
1
|
+
module ActiveRecord #:nodoc:
|
2
|
+
module ConnectionAdapters #:nodoc:
|
3
|
+
module OracleEnhanced #:nodoc:
|
4
|
+
module ColumnDumper #:nodoc:
|
5
|
+
def self.included(base) #:nodoc:
|
6
|
+
base.class_eval do
|
7
|
+
private
|
8
|
+
alias_method_chain :column_spec, :oracle_enhanced
|
9
|
+
alias_method_chain :prepare_column_options, :oracle_enhanced
|
10
|
+
alias_method_chain :migration_keys, :oracle_enhanced
|
11
|
+
|
12
|
+
def oracle_enhanced_adapter?
|
13
|
+
# return original method if not using 'OracleEnhanced'
|
14
|
+
if (rails_env = defined?(Rails.env) ? Rails.env : (defined?(RAILS_ENV) ? RAILS_ENV : nil)) &&
|
15
|
+
ActiveRecord::Base.configurations[rails_env] &&
|
16
|
+
ActiveRecord::Base.configurations[rails_env]['adapter'] != 'oracle_enhanced'
|
17
|
+
return false
|
18
|
+
else
|
19
|
+
return true
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def column_spec_with_oracle_enhanced(column, types)
|
26
|
+
# return original method if not using 'OracleEnhanced'
|
27
|
+
return column_spec_without_oracle_enhanced(column, types) unless oracle_enhanced_adapter?
|
28
|
+
|
29
|
+
spec = prepare_column_options(column, types)
|
30
|
+
(spec.keys - [:name, :type]).each do |k|
|
31
|
+
key_s = (k == :virtual_type ? "type: " : "#{k.to_s}: ")
|
32
|
+
spec[k] = key_s + spec[k]
|
33
|
+
end
|
34
|
+
spec
|
35
|
+
end
|
36
|
+
|
37
|
+
def prepare_column_options_with_oracle_enhanced(column, types)
|
38
|
+
# return original method if not using 'OracleEnhanced'
|
39
|
+
return prepare_column_options_without_oracle_enhanced(column, types) unless oracle_enhanced_adapter?
|
40
|
+
|
41
|
+
spec = {}
|
42
|
+
spec[:name] = column.name.inspect
|
43
|
+
spec[:type] = column.virtual? ? 'virtual' : column.type.to_s
|
44
|
+
spec[:virtual_type] = column.type.inspect if column.virtual? && column.sql_type != 'NUMBER'
|
45
|
+
spec[:limit] = column.limit.inspect if column.limit != types[column.type][:limit] && column.type != :decimal
|
46
|
+
spec[:precision] = column.precision.inspect if !column.precision.nil?
|
47
|
+
spec[:scale] = column.scale.inspect if !column.scale.nil?
|
48
|
+
spec[:null] = 'false' if !column.null
|
49
|
+
spec[:as] = column.virtual_column_data_default if column.virtual?
|
50
|
+
spec[:default] = schema_default(column) if column.has_default? && !column.virtual?
|
51
|
+
spec[:comment] = column.comment.inspect unless column.comment.nil?
|
52
|
+
spec.delete(:default) if spec[:default].nil?
|
53
|
+
spec
|
54
|
+
end
|
55
|
+
|
56
|
+
def migration_keys_with_oracle_enhanced
|
57
|
+
# TODO `& column_specs.map(&:keys).flatten` should be exetuted here
|
58
|
+
# return original method if not using 'OracleEnhanced'
|
59
|
+
return migration_keys_without_oracle_enhanced unless oracle_enhanced_adapter?
|
60
|
+
|
61
|
+
[:name, :limit, :precision, :scale, :default, :null, :as, :virtual_type, :comment]
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -109,11 +109,11 @@ end
|
|
109
109
|
# if MRI or YARV
|
110
110
|
if !defined?(RUBY_ENGINE) || RUBY_ENGINE == 'ruby'
|
111
111
|
ORACLE_ENHANCED_CONNECTION = :oci
|
112
|
-
require 'active_record/connection_adapters/
|
112
|
+
require 'active_record/connection_adapters/oracle_enhanced/oci_connection'
|
113
113
|
# if JRuby
|
114
114
|
elsif RUBY_ENGINE == 'jruby'
|
115
115
|
ORACLE_ENHANCED_CONNECTION = :jdbc
|
116
|
-
require 'active_record/connection_adapters/
|
116
|
+
require 'active_record/connection_adapters/oracle_enhanced/jdbc_connection'
|
117
117
|
else
|
118
118
|
raise "Unsupported Ruby engine #{RUBY_ENGINE}"
|
119
119
|
end
|