Skip to content

Commit 6ea02b0

Browse files
authored
Merge pull request #2265 from koic/rename_raw_connection_ivar
Rename the raw connection ivar to `@raw_connection`
2 parents c26f3ec + 8e574d9 commit 6ea02b0

File tree

9 files changed

+52
-52
lines changed

9 files changed

+52
-52
lines changed

lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ module DatabaseStatements
1212
def execute(sql, name = nil, async: false)
1313
sql = transform_query(sql)
1414

15-
log(sql, name, async: async) { @connection.exec(sql) }
15+
log(sql, name, async: async) { @raw_connection.exec(sql) }
1616
end
1717

1818
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)
2525
cached = false
2626
with_retry do
2727
if without_prepared_statement?(binds)
28-
cursor = @connection.prepare(sql)
28+
cursor = @raw_connection.prepare(sql)
2929
else
3030
unless @statements.key? sql
31-
@statements[sql] = @connection.prepare(sql)
31+
@statements[sql] = @raw_connection.prepare(sql)
3232
end
3333

3434
cursor = @statements[sql]
@@ -101,10 +101,10 @@ def exec_insert(sql, name = nil, binds = [], pk = nil, sequence_name = nil)
101101
returning_id_col = returning_id_index = nil
102102
with_retry do
103103
if without_prepared_statement?(binds)
104-
cursor = @connection.prepare(sql)
104+
cursor = @raw_connection.prepare(sql)
105105
else
106106
unless @statements.key?(sql)
107-
@statements[sql] = @connection.prepare(sql)
107+
@statements[sql] = @raw_connection.prepare(sql)
108108
end
109109

110110
cursor = @statements[sql]
@@ -141,12 +141,12 @@ def exec_update(sql, name = nil, binds = [])
141141
with_retry do
142142
cached = false
143143
if without_prepared_statement?(binds)
144-
cursor = @connection.prepare(sql)
144+
cursor = @raw_connection.prepare(sql)
145145
else
146146
if @statements.key?(sql)
147147
cursor = @statements[sql]
148148
else
149-
cursor = @statements[sql] = @connection.prepare(sql)
149+
cursor = @statements[sql] = @raw_connection.prepare(sql)
150150
end
151151

152152
cursor.bind_params(type_casted_binds)
@@ -164,7 +164,7 @@ def exec_update(sql, name = nil, binds = [])
164164
alias :exec_delete :exec_update
165165

166166
def begin_db_transaction # :nodoc:
167-
@connection.autocommit = false
167+
@raw_connection.autocommit = false
168168
end
169169

170170
def transaction_isolation_levels
@@ -183,15 +183,15 @@ def begin_isolated_db_transaction(isolation)
183183
end
184184

185185
def commit_db_transaction # :nodoc:
186-
@connection.commit
186+
@raw_connection.commit
187187
ensure
188-
@connection.autocommit = true
188+
@raw_connection.autocommit = true
189189
end
190190

191191
def exec_rollback_db_transaction # :nodoc:
192-
@connection.rollback
192+
@raw_connection.rollback
193193
ensure
194-
@connection.autocommit = true
194+
@raw_connection.autocommit = true
195195
end
196196

197197
def create_savepoint(name = current_savepoint_name) # :nodoc:
@@ -265,14 +265,14 @@ def write_lobs(table_name, klass, attributes, columns) # :nodoc:
265265
raise ActiveRecord::RecordNotFound, "statement #{sql} returned no rows"
266266
end
267267
lob = lob_record[col.name]
268-
@connection.write_lob(lob, value.to_s, col.type == :binary)
268+
@raw_connection.write_lob(lob, value.to_s, col.type == :binary)
269269
end
270270
end
271271
end
272272

273273
private
274274
def with_retry
275-
@connection.with_retry do
275+
@raw_connection.with_retry do
276276
yield
277277
rescue
278278
@statements.clear

lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ def database_version
295295

296296
class Cursor
297297
def initialize(connection, raw_statement)
298-
@connection = connection
298+
@raw_connection = connection
299299
@raw_statement = raw_statement
300300
end
301301

@@ -384,7 +384,7 @@ def fetch(options = {})
384384
row_values = []
385385
column_types.each_with_index do |column_type, i|
386386
row_values <<
387-
@connection.get_ruby_value_from_result_set(@raw_result_set, i + 1, column_type, get_lob_value)
387+
@raw_connection.get_ruby_value_from_result_set(@raw_result_set, i + 1, column_type, get_lob_value)
388388
end
389389
row_values
390390
else

lib/active_record/connection_adapters/oracle_enhanced/jdbc_quoting.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ module JDBCQuoting
77
def type_cast(value)
88
case value
99
when ActiveModel::Type::Binary::Data
10-
blob = Java::OracleSql::BLOB.createTemporary(@connection.raw_connection, false, Java::OracleSql::BLOB::DURATION_SESSION)
10+
blob = Java::OracleSql::BLOB.createTemporary(@raw_connection.raw_connection, false, Java::OracleSql::BLOB::DURATION_SESSION)
1111
blob.setBytes(1, value.to_s.to_java_bytes)
1212
blob
1313
when Type::OracleEnhanced::Text::Data
14-
clob = Java::OracleSql::CLOB.createTemporary(@connection.raw_connection, false, Java::OracleSql::CLOB::DURATION_SESSION)
14+
clob = Java::OracleSql::CLOB.createTemporary(@raw_connection.raw_connection, false, Java::OracleSql::CLOB::DURATION_SESSION)
1515
clob.setString(1, value.to_s)
1616
clob
1717
when Type::OracleEnhanced::NationalCharacterText::Data
18-
clob = Java::OracleSql::NCLOB.createTemporary(@connection.raw_connection, false, Java::OracleSql::NCLOB::DURATION_SESSION)
18+
clob = Java::OracleSql::NCLOB.createTemporary(@raw_connection.raw_connection, false, Java::OracleSql::NCLOB::DURATION_SESSION)
1919
clob.setString(1, value.to_s)
2020
clob
2121
else

lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def raw_oci_connection
4141
# ActiveRecord Oracle enhanced adapter puts OCI8EnhancedAutoRecover wrapper around OCI8
4242
# in this case we need to pass original OCI8 connection
4343
else
44-
@raw_connection.instance_variable_get(:@connection)
44+
@raw_connection.instance_variable_get(:@raw_connection)
4545
end
4646
end
4747

@@ -107,7 +107,7 @@ def prepare(sql)
107107

108108
class Cursor
109109
def initialize(connection, raw_cursor)
110-
@connection = connection
110+
@raw_connection = connection
111111
@raw_cursor = raw_cursor
112112
end
113113

@@ -159,7 +159,7 @@ def fetch(options = {})
159159
get_lob_value = options[:get_lob_value]
160160
col_index = 0
161161
row.map do |col|
162-
col_value = @connection.typecast_result_value(col, get_lob_value)
162+
col_value = @raw_connection.typecast_result_value(col, get_lob_value)
163163
col_metadata = @raw_cursor.column_metadata.fetch(col_index)
164164
if !col_metadata.nil?
165165
key = col_metadata.data_type
@@ -390,15 +390,15 @@ def initialize(config, factory) # :nodoc:
390390
@active = true
391391
@config = config
392392
@factory = factory
393-
@connection = @factory.new_connection @config
394-
super @connection
393+
@raw_connection = @factory.new_connection @config
394+
super @raw_connection
395395
end
396396

397397
# Checks connection, returns true if active. Note that ping actively
398398
# checks the connection, while #active? simply returns the last
399399
# known state.
400400
def ping # :nodoc:
401-
@connection.exec("select 1 from dual") { |r| nil }
401+
@raw_connection.exec("select 1 from dual") { |r| nil }
402402
@active = true
403403
rescue
404404
@active = false
@@ -409,8 +409,8 @@ def ping # :nodoc:
409409
def reset! # :nodoc:
410410
logoff rescue nil
411411
begin
412-
@connection = @factory.new_connection @config
413-
__setobj__ @connection
412+
@raw_connection = @factory.new_connection @config
413+
__setobj__ @raw_connection
414414
@active = true
415415
rescue
416416
@active = false
@@ -442,7 +442,7 @@ def with_retry # :nodoc:
442442
end
443443

444444
def exec(sql, *bindvars, &block) # :nodoc:
445-
with_retry { @connection.exec(sql, *bindvars, &block) }
445+
with_retry { @raw_connection.exec(sql, *bindvars, &block) }
446446
end
447447
end
448448
# :startdoc:

lib/active_record/connection_adapters/oracle_enhanced/oci_quoting.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ def type_cast(value)
99
when ActiveModel::Type::Binary::Data
1010
lob_value = value == "" ? " " : value
1111
bind_type = OCI8::BLOB
12-
ora_value = bind_type.new(@connection.raw_oci_connection, lob_value)
12+
ora_value = bind_type.new(@raw_connection.raw_oci_connection, lob_value)
1313
ora_value.size = 0 if value == ""
1414
ora_value
1515
when Type::OracleEnhanced::Text::Data
1616
lob_value = value.to_s == "" ? " " : value.to_s
1717
bind_type = OCI8::CLOB
18-
ora_value = bind_type.new(@connection.raw_oci_connection, lob_value)
18+
ora_value = bind_type.new(@raw_connection.raw_oci_connection, lob_value)
1919
ora_value.size = 0 if value.to_s == ""
2020
ora_value
2121
when Type::OracleEnhanced::NationalCharacterText::Data
2222
lob_value = value.to_s == "" ? " " : value.to_s
2323
bind_type = OCI8::NCLOB
24-
ora_value = bind_type.new(@connection.raw_oci_connection, lob_value)
24+
ora_value = bind_type.new(@raw_connection.raw_oci_connection, lob_value)
2525
ora_value.size = 0 if value.to_s == ""
2626
ora_value
2727
else

lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def table_exists?(table_name)
5353
end
5454

5555
def data_source_exists?(table_name)
56-
(_owner, _table_name) = @connection.describe(table_name)
56+
(_owner, _table_name) = @raw_connection.describe(table_name)
5757
true
5858
rescue
5959
false
@@ -87,7 +87,7 @@ def synonyms
8787
end
8888

8989
def indexes(table_name) # :nodoc:
90-
(_owner, table_name) = @connection.describe(table_name)
90+
(_owner, table_name) = @raw_connection.describe(table_name)
9191
default_tablespace_name = default_tablespace
9292

9393
result = select_all(<<~SQL.squish, "SCHEMA", [bind_string("table_name", table_name)])
@@ -368,7 +368,7 @@ def index_name(table_name, options) # :nodoc:
368368
#
369369
# Will always query database and not index cache.
370370
def index_name_exists?(table_name, index_name)
371-
(_owner, table_name) = @connection.describe(table_name)
371+
(_owner, table_name) = @raw_connection.describe(table_name)
372372
result = select_value(<<~SQL.squish, "SCHEMA", [bind_string("table_name", table_name), bind_string("index_name", index_name.to_s.upcase)])
373373
SELECT /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ 1 FROM all_indexes i
374374
WHERE i.owner = SYS_CONTEXT('userenv', 'current_schema')
@@ -511,7 +511,7 @@ def change_column_comment(table_name, column_name, comment_or_changes)
511511

512512
def table_comment(table_name) # :nodoc:
513513
# TODO
514-
(_owner, table_name) = @connection.describe(table_name)
514+
(_owner, table_name) = @raw_connection.describe(table_name)
515515
select_value(<<~SQL.squish, "SCHEMA", [bind_string("table_name", table_name)])
516516
SELECT /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ comments FROM all_tab_comments
517517
WHERE owner = SYS_CONTEXT('userenv', 'current_schema')
@@ -527,7 +527,7 @@ def table_options(table_name) # :nodoc:
527527

528528
def column_comment(table_name, column_name) # :nodoc:
529529
# TODO: it does not exist in Abstract adapter
530-
(_owner, table_name) = @connection.describe(table_name)
530+
(_owner, table_name) = @raw_connection.describe(table_name)
531531
select_value(<<~SQL.squish, "SCHEMA", [bind_string("table_name", table_name), bind_string("column_name", column_name.upcase)])
532532
SELECT /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ comments FROM all_col_comments
533533
WHERE owner = SYS_CONTEXT('userenv', 'current_schema')
@@ -555,7 +555,7 @@ def tablespace(table_name)
555555

556556
# get table foreign keys for schema dump
557557
def foreign_keys(table_name) # :nodoc:
558-
(_owner, desc_table_name) = @connection.describe(table_name)
558+
(_owner, desc_table_name) = @raw_connection.describe(table_name)
559559

560560
fk_info = select_all(<<~SQL.squish, "SCHEMA", [bind_string("desc_table_name", desc_table_name)])
561561
SELECT /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ r.table_name to_table

lib/active_record/connection_adapters/oracle_enhanced_adapter.rb

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -426,12 +426,12 @@ def native_database_types # :nodoc:
426426

427427
def auto_retry=(value) # :nodoc:
428428
@auto_retry = value
429-
@connection.auto_retry = value if @connection
429+
@raw_connection.auto_retry = value if @raw_connection
430430
end
431431

432432
# return raw OCI8 or JDBC connection
433433
def raw_connection
434-
@connection.raw_connection
434+
@raw_connection.raw_connection
435435
end
436436

437437
# Returns true if the connection is active.
@@ -440,15 +440,15 @@ def active? # :nodoc:
440440
# #active? method is also available, but that simply returns the
441441
# last known state, which isn't good enough if the connection has
442442
# gone stale since the last use.
443-
@connection.ping
443+
@raw_connection.ping
444444
rescue OracleEnhanced::ConnectionException
445445
false
446446
end
447447

448448
# Reconnects to the database.
449449
def reconnect! # :nodoc:
450450
super
451-
@connection.reset!
451+
@raw_connection.reset!
452452
rescue OracleEnhanced::ConnectionException => e
453453
@logger.warn "#{adapter_name} automatic reconnection failed: #{e.message}" if @logger
454454
end
@@ -461,12 +461,12 @@ def reset!
461461
# Disconnects from the database.
462462
def disconnect! # :nodoc:
463463
super
464-
@connection.logoff rescue nil
464+
@raw_connection.logoff rescue nil
465465
end
466466

467467
def discard!
468468
super
469-
@connection = nil
469+
@raw_connection = nil
470470
end
471471

472472
# use in set_sequence_name to avoid fetching primary key value from sequence
@@ -491,7 +491,7 @@ def prefetch_primary_key?(table_name = nil)
491491
table_name = table_name.to_s
492492
do_not_prefetch = @do_not_prefetch_primary_key[table_name]
493493
if do_not_prefetch.nil?
494-
owner, desc_table_name = @connection.describe(table_name)
494+
owner, desc_table_name = @raw_connection.describe(table_name)
495495
@do_not_prefetch_primary_key[table_name] = do_not_prefetch = !has_primary_key?(table_name, owner, desc_table_name)
496496
end
497497
!do_not_prefetch
@@ -560,7 +560,7 @@ def default_tablespace
560560
end
561561

562562
def column_definitions(table_name)
563-
(owner, desc_table_name) = @connection.describe(table_name)
563+
(owner, desc_table_name) = @raw_connection.describe(table_name)
564564

565565
select_all(<<~SQL.squish, "SCHEMA", [bind_string("owner", owner), bind_string("table_name", desc_table_name)])
566566
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)
592592
# Find a table's primary key and sequence.
593593
# *Note*: Only primary key is implemented - sequence will be nil.
594594
def pk_and_sequence_for(table_name, owner = nil, desc_table_name = nil) # :nodoc:
595-
(owner, desc_table_name) = @connection.describe(table_name)
595+
(owner, desc_table_name) = @raw_connection.describe(table_name)
596596

597597
seqs = select_values_forcing_binds(<<~SQL.squish, "SCHEMA", [bind_string("owner", owner), bind_string("sequence_name", default_sequence_name(desc_table_name))])
598598
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:
634634
end
635635

636636
def primary_keys(table_name) # :nodoc:
637-
(_owner, desc_table_name) = @connection.describe(table_name)
637+
(_owner, desc_table_name) = @raw_connection.describe(table_name)
638638

639639
pks = select_values_forcing_binds(<<~SQL.squish, "SCHEMA", [bind_string("table_name", desc_table_name)])
640640
SELECT /*+ OPTIMIZER_FEATURES_ENABLE('11.2.0.2') */ cc.column_name
@@ -679,7 +679,7 @@ def max_identifier_length
679679
alias index_name_length max_identifier_length
680680

681681
def get_database_version
682-
@connection.database_version
682+
@raw_connection.database_version
683683
end
684684

685685
def check_version
@@ -749,7 +749,7 @@ def extract_limit(sql_type) # :nodoc:
749749
end
750750

751751
def translate_exception(exception, message:, sql:, binds:) # :nodoc:
752-
case @connection.error_code(exception)
752+
case @raw_connection.error_code(exception)
753753
when 1
754754
RecordNotUnique.new(message, sql: sql, binds: binds)
755755
when 60

spec/active_record/connection_adapters/oracle_enhanced/connection_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ def lookup(path)
414414

415415
before(:all) do
416416
ActiveRecord::Base.establish_connection(CONNECTION_PARAMS)
417-
@conn = ActiveRecord::Base.connection.instance_variable_get("@connection")
417+
@conn = ActiveRecord::Base.connection.instance_variable_get("@raw_connection")
418418
@sys_conn = ActiveRecord::ConnectionAdapters::OracleEnhanced::Connection.create(SYS_CONNECTION_PARAMS)
419419
schema_define do
420420
create_table :posts, force: true

0 commit comments

Comments
 (0)