diff --git a/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb b/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb index 2b34233d1..0bc96bf1b 100644 --- a/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb +++ b/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb @@ -12,7 +12,7 @@ module DatabaseStatements def execute(sql, name = nil, async: false) sql = transform_query(sql) - log(sql, name, async: async) { @connection.exec(sql) } + log(sql, name, async: async) { @raw_connection.exec(sql) } end def exec_query(sql, name = "SQL", binds = [], prepare: false, async: false) @@ -25,10 +25,10 @@ def exec_query(sql, name = "SQL", binds = [], prepare: false, async: false) cached = false with_retry do if without_prepared_statement?(binds) - cursor = @connection.prepare(sql) + cursor = @raw_connection.prepare(sql) else unless @statements.key? sql - @statements[sql] = @connection.prepare(sql) + @statements[sql] = @raw_connection.prepare(sql) end cursor = @statements[sql] @@ -101,10 +101,10 @@ def exec_insert(sql, name = nil, binds = [], pk = nil, sequence_name = nil) returning_id_col = returning_id_index = nil with_retry do if without_prepared_statement?(binds) - cursor = @connection.prepare(sql) + cursor = @raw_connection.prepare(sql) else unless @statements.key?(sql) - @statements[sql] = @connection.prepare(sql) + @statements[sql] = @raw_connection.prepare(sql) end cursor = @statements[sql] @@ -141,12 +141,12 @@ def exec_update(sql, name = nil, binds = []) with_retry do cached = false if without_prepared_statement?(binds) - cursor = @connection.prepare(sql) + cursor = @raw_connection.prepare(sql) else if @statements.key?(sql) cursor = @statements[sql] else - cursor = @statements[sql] = @connection.prepare(sql) + cursor = @statements[sql] = @raw_connection.prepare(sql) end cursor.bind_params(type_casted_binds) @@ -164,7 +164,7 @@ def exec_update(sql, name = nil, binds = []) alias :exec_delete :exec_update def begin_db_transaction # :nodoc: - @connection.autocommit = false + @raw_connection.autocommit = false end def transaction_isolation_levels @@ -183,15 +183,15 @@ def begin_isolated_db_transaction(isolation) end def commit_db_transaction # :nodoc: - @connection.commit + @raw_connection.commit ensure - @connection.autocommit = true + @raw_connection.autocommit = true end def exec_rollback_db_transaction # :nodoc: - @connection.rollback + @raw_connection.rollback ensure - @connection.autocommit = true + @raw_connection.autocommit = true end def create_savepoint(name = current_savepoint_name) # :nodoc: @@ -265,14 +265,14 @@ def write_lobs(table_name, klass, attributes, columns) # :nodoc: raise ActiveRecord::RecordNotFound, "statement #{sql} returned no rows" end lob = lob_record[col.name] - @connection.write_lob(lob, value.to_s, col.type == :binary) + @raw_connection.write_lob(lob, value.to_s, col.type == :binary) end end end private def with_retry - @connection.with_retry do + @raw_connection.with_retry do yield rescue @statements.clear diff --git a/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb b/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb index e92a5e49e..ab265dec3 100644 --- a/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb +++ b/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb @@ -295,7 +295,7 @@ def database_version class Cursor def initialize(connection, raw_statement) - @connection = connection + @raw_connection = connection @raw_statement = raw_statement end @@ -384,7 +384,7 @@ def fetch(options = {}) row_values = [] column_types.each_with_index do |column_type, i| row_values << - @connection.get_ruby_value_from_result_set(@raw_result_set, i + 1, column_type, get_lob_value) + @raw_connection.get_ruby_value_from_result_set(@raw_result_set, i + 1, column_type, get_lob_value) end row_values else diff --git a/lib/active_record/connection_adapters/oracle_enhanced/jdbc_quoting.rb b/lib/active_record/connection_adapters/oracle_enhanced/jdbc_quoting.rb index b75f6bd44..0a13e25a8 100644 --- a/lib/active_record/connection_adapters/oracle_enhanced/jdbc_quoting.rb +++ b/lib/active_record/connection_adapters/oracle_enhanced/jdbc_quoting.rb @@ -7,15 +7,15 @@ module JDBCQuoting def type_cast(value) case value when ActiveModel::Type::Binary::Data - blob = Java::OracleSql::BLOB.createTemporary(@connection.raw_connection, false, Java::OracleSql::BLOB::DURATION_SESSION) + blob = Java::OracleSql::BLOB.createTemporary(@raw_connection.raw_connection, false, Java::OracleSql::BLOB::DURATION_SESSION) blob.setBytes(1, value.to_s.to_java_bytes) blob when Type::OracleEnhanced::Text::Data - clob = Java::OracleSql::CLOB.createTemporary(@connection.raw_connection, false, Java::OracleSql::CLOB::DURATION_SESSION) + clob = Java::OracleSql::CLOB.createTemporary(@raw_connection.raw_connection, false, Java::OracleSql::CLOB::DURATION_SESSION) clob.setString(1, value.to_s) clob when Type::OracleEnhanced::NationalCharacterText::Data - clob = Java::OracleSql::NCLOB.createTemporary(@connection.raw_connection, false, Java::OracleSql::NCLOB::DURATION_SESSION) + clob = Java::OracleSql::NCLOB.createTemporary(@raw_connection.raw_connection, false, Java::OracleSql::NCLOB::DURATION_SESSION) clob.setString(1, value.to_s) clob else diff --git a/lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb b/lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb index a9e42f01c..345bee1b2 100644 --- a/lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb +++ b/lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb @@ -41,7 +41,7 @@ def raw_oci_connection # ActiveRecord Oracle enhanced adapter puts OCI8EnhancedAutoRecover wrapper around OCI8 # in this case we need to pass original OCI8 connection else - @raw_connection.instance_variable_get(:@connection) + @raw_connection.instance_variable_get(:@raw_connection) end end @@ -107,7 +107,7 @@ def prepare(sql) class Cursor def initialize(connection, raw_cursor) - @connection = connection + @raw_connection = connection @raw_cursor = raw_cursor end @@ -159,7 +159,7 @@ def fetch(options = {}) get_lob_value = options[:get_lob_value] col_index = 0 row.map do |col| - col_value = @connection.typecast_result_value(col, get_lob_value) + col_value = @raw_connection.typecast_result_value(col, get_lob_value) col_metadata = @raw_cursor.column_metadata.fetch(col_index) if !col_metadata.nil? key = col_metadata.data_type @@ -390,15 +390,15 @@ def initialize(config, factory) # :nodoc: @active = true @config = config @factory = factory - @connection = @factory.new_connection @config - super @connection + @raw_connection = @factory.new_connection @config + super @raw_connection end # Checks connection, returns true if active. Note that ping actively # checks the connection, while #active? simply returns the last # known state. def ping # :nodoc: - @connection.exec("select 1 from dual") { |r| nil } + @raw_connection.exec("select 1 from dual") { |r| nil } @active = true rescue @active = false @@ -409,8 +409,8 @@ def ping # :nodoc: def reset! # :nodoc: logoff rescue nil begin - @connection = @factory.new_connection @config - __setobj__ @connection + @raw_connection = @factory.new_connection @config + __setobj__ @raw_connection @active = true rescue @active = false @@ -442,7 +442,7 @@ def with_retry # :nodoc: end def exec(sql, *bindvars, &block) # :nodoc: - with_retry { @connection.exec(sql, *bindvars, &block) } + with_retry { @raw_connection.exec(sql, *bindvars, &block) } end end # :startdoc: diff --git a/lib/active_record/connection_adapters/oracle_enhanced/oci_quoting.rb b/lib/active_record/connection_adapters/oracle_enhanced/oci_quoting.rb index 80c773e6d..972fe2209 100644 --- a/lib/active_record/connection_adapters/oracle_enhanced/oci_quoting.rb +++ b/lib/active_record/connection_adapters/oracle_enhanced/oci_quoting.rb @@ -9,19 +9,19 @@ def type_cast(value) when ActiveModel::Type::Binary::Data lob_value = value == "" ? " " : value bind_type = OCI8::BLOB - ora_value = bind_type.new(@connection.raw_oci_connection, lob_value) + ora_value = bind_type.new(@raw_connection.raw_oci_connection, lob_value) ora_value.size = 0 if value == "" ora_value when Type::OracleEnhanced::Text::Data lob_value = value.to_s == "" ? " " : value.to_s bind_type = OCI8::CLOB - ora_value = bind_type.new(@connection.raw_oci_connection, lob_value) + ora_value = bind_type.new(@raw_connection.raw_oci_connection, lob_value) ora_value.size = 0 if value.to_s == "" ora_value when Type::OracleEnhanced::NationalCharacterText::Data lob_value = value.to_s == "" ? " " : value.to_s bind_type = OCI8::NCLOB - ora_value = bind_type.new(@connection.raw_oci_connection, lob_value) + ora_value = bind_type.new(@raw_connection.raw_oci_connection, lob_value) ora_value.size = 0 if value.to_s == "" ora_value else diff --git a/lib/active_record/connection_adapters/oracle_enhanced/schema_dumper.rb b/lib/active_record/connection_adapters/oracle_enhanced/schema_dumper.rb index 637c4e877..226049737 100644 --- a/lib/active_record/connection_adapters/oracle_enhanced/schema_dumper.rb +++ b/lib/active_record/connection_adapters/oracle_enhanced/schema_dumper.rb @@ -16,7 +16,7 @@ def column_spec_for_primary_key(column) def tables(stream) # do not include materialized views in schema dump - they should be created separately after schema creation - sorted_tables = (@connection.tables - @connection.materialized_views).sort + sorted_tables = (@raw_connection.tables - @raw_connection.materialized_views).sort sorted_tables.each do |tbl| # add table prefix or suffix for schema_migrations next if ignored? tbl @@ -34,7 +34,7 @@ def tables(stream) end def synonyms(stream) - syns = @connection.synonyms + syns = @raw_connection.synonyms syns.each do |syn| next if ignored? syn.name table_name = syn.table_name @@ -46,7 +46,7 @@ def synonyms(stream) end def _indexes(table, stream) - if (indexes = @connection.indexes(table)).any? + if (indexes = @raw_connection.indexes(table)).any? add_index_statements = indexes.filter_map do |index| case index.type when nil @@ -77,7 +77,7 @@ def _indexes(table, stream) end def indexes_in_create(table, stream) - if (indexes = @connection.indexes(table)).any? + if (indexes = @raw_connection.indexes(table)).any? index_statements = indexes.map do |index| " t.index #{index_parts(index).join(', ')}" unless index.type == "CTXSYS.CONTEXT" end @@ -92,24 +92,24 @@ def index_parts(index) end def table(table, stream) - columns = @connection.columns(table) + columns = @raw_connection.columns(table) begin self.table_name = table tbl = StringIO.new # first dump primary key column - if @connection.respond_to?(:primary_keys) - pk = @connection.primary_keys(table) + if @raw_connection.respond_to?(:primary_keys) + pk = @raw_connection.primary_keys(table) pk = pk.first unless pk.size > 1 else - pk = @connection.primary_key(table) + pk = @raw_connection.primary_key(table) end tbl.print " create_table #{remove_prefix_and_suffix(table).inspect}" # addition to make temporary option work - tbl.print ", temporary: true" if @connection.temporary_table?(table) + tbl.print ", temporary: true" if @raw_connection.temporary_table?(table) case pk when String @@ -128,7 +128,7 @@ def table(table, stream) tbl.print ", id: false" end - table_options = @connection.table_options(table) + table_options = @raw_connection.table_options(table) if table_options.present? tbl.print ", #{format_options(table_options)}" end @@ -137,7 +137,7 @@ def table(table, stream) # then dump all non-primary key columns columns.each do |column| - raise StandardError, "Unknown type '#{column.sql_type}' for column '#{column.name}'" unless @connection.valid_type?(column.type) + raise StandardError, "Unknown type '#{column.sql_type}' for column '#{column.name}'" unless @raw_connection.valid_type?(column.type) next if column.name == pk type, colspec = column_spec(column) tbl.print " t.#{type} #{column.name.inspect}" @@ -166,7 +166,7 @@ def table(table, stream) def prepare_column_options(column) spec = super - if @connection.supports_virtual_columns? && column.virtual? + if @raw_connection.supports_virtual_columns? && column.virtual? spec[:as] = extract_expression_for_virtual_column(column) spec = { type: schema_type(column).inspect }.merge!(spec) unless column.type == :decimal end @@ -180,7 +180,7 @@ def default_primary_key?(column) def extract_expression_for_virtual_column(column) column_name = column.name - @connection.select_value(<<~SQL.squish, "SCHEMA", [bind_string("table_name", table_name.upcase), bind_string("column_name", column_name.upcase)]).inspect + @raw_connection.select_value(<<~SQL.squish, "SCHEMA", [bind_string("table_name", table_name.upcase), bind_string("column_name", column_name.upcase)]).inspect select /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ data_default from all_tab_columns where owner = SYS_CONTEXT('userenv', 'current_schema') and table_name = :table_name diff --git a/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb b/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb index 516ac371c..8c2d95c58 100644 --- a/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb +++ b/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb @@ -53,7 +53,7 @@ def table_exists?(table_name) end def data_source_exists?(table_name) - (_owner, _table_name) = @connection.describe(table_name) + (_owner, _table_name) = @raw_connection.describe(table_name) true rescue false @@ -87,7 +87,7 @@ def synonyms end def indexes(table_name) # :nodoc: - (_owner, table_name) = @connection.describe(table_name) + (_owner, table_name) = @raw_connection.describe(table_name) default_tablespace_name = default_tablespace result = select_all(<<~SQL.squish, "SCHEMA", [bind_string("table_name", table_name)]) @@ -368,7 +368,7 @@ def index_name(table_name, options) # :nodoc: # # Will always query database and not index cache. def index_name_exists?(table_name, index_name) - (_owner, table_name) = @connection.describe(table_name) + (_owner, table_name) = @raw_connection.describe(table_name) result = select_value(<<~SQL.squish, "SCHEMA", [bind_string("table_name", table_name), bind_string("index_name", index_name.to_s.upcase)]) SELECT /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ 1 FROM all_indexes i WHERE i.owner = SYS_CONTEXT('userenv', 'current_schema') @@ -511,7 +511,7 @@ def change_column_comment(table_name, column_name, comment_or_changes) def table_comment(table_name) # :nodoc: # TODO - (_owner, table_name) = @connection.describe(table_name) + (_owner, table_name) = @raw_connection.describe(table_name) select_value(<<~SQL.squish, "SCHEMA", [bind_string("table_name", table_name)]) SELECT /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ comments FROM all_tab_comments WHERE owner = SYS_CONTEXT('userenv', 'current_schema') @@ -527,7 +527,7 @@ def table_options(table_name) # :nodoc: def column_comment(table_name, column_name) # :nodoc: # TODO: it does not exist in Abstract adapter - (_owner, table_name) = @connection.describe(table_name) + (_owner, table_name) = @raw_connection.describe(table_name) select_value(<<~SQL.squish, "SCHEMA", [bind_string("table_name", table_name), bind_string("column_name", column_name.upcase)]) SELECT /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ comments FROM all_col_comments WHERE owner = SYS_CONTEXT('userenv', 'current_schema') @@ -555,7 +555,7 @@ def tablespace(table_name) # get table foreign keys for schema dump def foreign_keys(table_name) # :nodoc: - (_owner, desc_table_name) = @connection.describe(table_name) + (_owner, desc_table_name) = @raw_connection.describe(table_name) fk_info = select_all(<<~SQL.squish, "SCHEMA", [bind_string("desc_table_name", desc_table_name)]) SELECT /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ r.table_name to_table diff --git a/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb b/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb index d625d334a..51ce19129 100644 --- a/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb +++ b/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb @@ -426,12 +426,12 @@ def native_database_types # :nodoc: def auto_retry=(value) # :nodoc: @auto_retry = value - @connection.auto_retry = value if @connection + @raw_connection.auto_retry = value if @raw_connection end # return raw OCI8 or JDBC connection def raw_connection - @connection.raw_connection + @raw_connection.raw_connection end # Returns true if the connection is active. @@ -440,7 +440,7 @@ def active? # :nodoc: # #active? method is also available, but that simply returns the # last known state, which isn't good enough if the connection has # gone stale since the last use. - @connection.ping + @raw_connection.ping rescue OracleEnhanced::ConnectionException false end @@ -448,7 +448,7 @@ def active? # :nodoc: # Reconnects to the database. def reconnect! # :nodoc: super - @connection.reset! + @raw_connection.reset! rescue OracleEnhanced::ConnectionException => e @logger.warn "#{adapter_name} automatic reconnection failed: #{e.message}" if @logger end @@ -461,12 +461,12 @@ def reset! # Disconnects from the database. def disconnect! # :nodoc: super - @connection.logoff rescue nil + @raw_connection.logoff rescue nil end def discard! super - @connection = nil + @raw_connection = nil end # use in set_sequence_name to avoid fetching primary key value from sequence @@ -491,7 +491,7 @@ def prefetch_primary_key?(table_name = nil) table_name = table_name.to_s do_not_prefetch = @do_not_prefetch_primary_key[table_name] if do_not_prefetch.nil? - owner, desc_table_name = @connection.describe(table_name) + owner, desc_table_name = @raw_connection.describe(table_name) @do_not_prefetch_primary_key[table_name] = do_not_prefetch = !has_primary_key?(table_name, owner, desc_table_name) end !do_not_prefetch @@ -560,7 +560,7 @@ def default_tablespace end def column_definitions(table_name) - (owner, desc_table_name) = @connection.describe(table_name) + (owner, desc_table_name) = @raw_connection.describe(table_name) select_all(<<~SQL.squish, "SCHEMA", [bind_string("owner", owner), bind_string("table_name", desc_table_name)]) SELECT /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ cols.column_name AS name, cols.data_type AS sql_type, @@ -592,7 +592,7 @@ def clear_table_columns_cache(table_name) # Find a table's primary key and sequence. # *Note*: Only primary key is implemented - sequence will be nil. def pk_and_sequence_for(table_name, owner = nil, desc_table_name = nil) # :nodoc: - (owner, desc_table_name) = @connection.describe(table_name) + (owner, desc_table_name) = @raw_connection.describe(table_name) seqs = select_values_forcing_binds(<<~SQL.squish, "SCHEMA", [bind_string("owner", owner), bind_string("sequence_name", default_sequence_name(desc_table_name))]) select /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ us.sequence_name @@ -634,7 +634,7 @@ def has_primary_key?(table_name, owner = nil, desc_table_name = nil) # :nodoc: end def primary_keys(table_name) # :nodoc: - (_owner, desc_table_name) = @connection.describe(table_name) + (_owner, desc_table_name) = @raw_connection.describe(table_name) pks = select_values_forcing_binds(<<~SQL.squish, "SCHEMA", [bind_string("table_name", desc_table_name)]) SELECT /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ cc.column_name @@ -679,7 +679,7 @@ def max_identifier_length alias index_name_length max_identifier_length def get_database_version - @connection.database_version + @raw_connection.database_version end def check_version @@ -749,7 +749,7 @@ def extract_limit(sql_type) # :nodoc: end def translate_exception(exception, message:, sql:, binds:) # :nodoc: - case @connection.error_code(exception) + case @raw_connection.error_code(exception) when 1 RecordNotUnique.new(message, sql: sql, binds: binds) when 60 diff --git a/lib/arel/visitors/oracle.rb b/lib/arel/visitors/oracle.rb index 5bcab245b..78e239d8d 100644 --- a/lib/arel/visitors/oracle.rb +++ b/lib/arel/visitors/oracle.rb @@ -94,8 +94,8 @@ def visit_Arel_Nodes_Except(o, collector) # To avoid ORA-01795: maximum number of expressions in a list is 1000 # tell ActiveRecord to limit us to 1000 ids at a time def visit_Arel_Nodes_HomogeneousIn(o, collector) - in_clause_length = @connection.in_clause_length - values = o.casted_values.map { |v| @connection.quote(v) } + in_clause_length = @raw_connection.in_clause_length + values = o.casted_values.map { |v| @raw_connection.quote(v) } column_name = quote_table_name(o.table_name) + "." + quote_column_name(o.column_name) operator = if o.type == :in @@ -110,7 +110,7 @@ def visit_Arel_Nodes_HomogeneousIn(o, collector) expr = if values.empty? - @connection.quote(nil) + @raw_connection.quote(nil) else values.join(",") end diff --git a/lib/arel/visitors/oracle12.rb b/lib/arel/visitors/oracle12.rb index 02572ed48..e55976c6f 100644 --- a/lib/arel/visitors/oracle12.rb +++ b/lib/arel/visitors/oracle12.rb @@ -47,8 +47,8 @@ def visit_Arel_Nodes_Except(o, collector) # To avoid ORA-01795: maximum number of expressions in a list is 1000 # tell ActiveRecord to limit us to 1000 ids at a time def visit_Arel_Nodes_HomogeneousIn(o, collector) - in_clause_length = @connection.in_clause_length - values = o.casted_values.map { |v| @connection.quote(v) } + in_clause_length = @raw_connection.in_clause_length + values = o.casted_values.map { |v| @raw_connection.quote(v) } column_name = quote_table_name(o.table_name) + "." + quote_column_name(o.column_name) operator = if o.type == :in @@ -63,7 +63,7 @@ def visit_Arel_Nodes_HomogeneousIn(o, collector) expr = if values.empty? - @connection.quote(nil) + @raw_connection.quote(nil) else values.join(",") end diff --git a/lib/arel/visitors/oracle_common.rb b/lib/arel/visitors/oracle_common.rb index 72ba8517b..89c8f58f9 100644 --- a/lib/arel/visitors/oracle_common.rb +++ b/lib/arel/visitors/oracle_common.rb @@ -39,7 +39,7 @@ def cached_column_for(attr) end def schema_cache - @connection.schema_cache + @raw_connection.schema_cache end end end diff --git a/spec/active_record/connection_adapters/oracle_enhanced/connection_spec.rb b/spec/active_record/connection_adapters/oracle_enhanced/connection_spec.rb index eed87dde0..3bae4a806 100644 --- a/spec/active_record/connection_adapters/oracle_enhanced/connection_spec.rb +++ b/spec/active_record/connection_adapters/oracle_enhanced/connection_spec.rb @@ -414,7 +414,7 @@ def lookup(path) before(:all) do ActiveRecord::Base.establish_connection(CONNECTION_PARAMS) - @conn = ActiveRecord::Base.connection.instance_variable_get("@connection") + @conn = ActiveRecord::Base.connection.instance_variable_get("@raw_connection") @sys_conn = ActiveRecord::ConnectionAdapters::OracleEnhanced::Connection.create(SYS_CONNECTION_PARAMS) schema_define do create_table :posts, force: true diff --git a/spec/active_record/oracle_enhanced/type/dirty_spec.rb b/spec/active_record/oracle_enhanced/type/dirty_spec.rb index f10ef9d81..9766da3a4 100644 --- a/spec/active_record/oracle_enhanced/type/dirty_spec.rb +++ b/spec/active_record/oracle_enhanced/type/dirty_spec.rb @@ -113,7 +113,7 @@ class TestEmployee < ActiveRecord::Base it "should not update unchanged CLOBs" do @conn = nil - @connection = nil + @raw_connection = nil @employee = TestEmployee.create!( comments: "initial" ) @@ -121,7 +121,7 @@ class TestEmployee < ActiveRecord::Base @employee.reload expect(@employee.comments).to eq("initial") - oci_conn = @conn.instance_variable_get("@connection") + oci_conn = @conn.instance_variable_get("@raw_connection") class << oci_conn def write_lob(lob, value, is_binary = false); raise "don't do this'"; end end