Skip to content

Commit 8db4477

Browse files
committed
avoid using prepared statement for fetching the next sequence value
1 parent 26943a6 commit 8db4477

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

lib/active_record/connection_adapters/oracle_enhanced_adapter.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,8 @@ def insert_sql(sql, name = nil, pk = nil, id_value = nil, sequence_name = nil) #
531531
def next_sequence_value(sequence_name)
532532
# if sequence_name is set to :autogenerated then it means that primary key will be populated by trigger
533533
return nil if sequence_name == AUTOGENERATED_SEQUENCE_NAME
534-
select_one("SELECT #{quote_table_name(sequence_name)}.NEXTVAL id FROM dual")['id']
534+
# call directly connection method to avoid prepared statement which causes fetching of next sequence value twice
535+
@connection.select_value("SELECT #{quote_table_name(sequence_name)}.NEXTVAL FROM dual")
535536
end
536537

537538
def begin_db_transaction #:nodoc:

lib/active_record/connection_adapters/oracle_enhanced_connection.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,6 @@ def describe(name)
7777
end
7878
end
7979

80-
private
81-
8280
# Returns a record hash with the column names as keys and column values
8381
# as values.
8482
def select_one(sql)

0 commit comments

Comments
 (0)