Skip to content

Commit 5bc1724

Browse files
committed
Eliminate lease_connection call in Transactions
1 parent ae77151 commit 5bc1724

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

activerecord/lib/active_record/transactions.rb

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -393,18 +393,19 @@ def rolledback!(force_restore_state: false, should_run_callbacks: true) # :nodoc
393393
# This method is available within the context of an ActiveRecord::Base
394394
# instance.
395395
def with_transaction_returning_status
396-
status = nil
397-
connection = self.class.lease_connection
398-
ensure_finalize = !connection.transaction_open?
396+
self.class.with_connection do |connection|
397+
status = nil
398+
ensure_finalize = !connection.transaction_open?
399399

400-
connection.transaction do
401-
add_to_transaction(ensure_finalize || has_transactional_callbacks?)
402-
remember_transaction_record_state
400+
connection.transaction do
401+
add_to_transaction(ensure_finalize || has_transactional_callbacks?)
402+
remember_transaction_record_state
403403

404-
status = yield
405-
raise ActiveRecord::Rollback unless status
404+
status = yield
405+
raise ActiveRecord::Rollback unless status
406+
end
407+
status
406408
end
407-
status
408409
end
409410

410411
def trigger_transactional_callbacks? # :nodoc:
@@ -496,7 +497,9 @@ def transaction_include_any_action?(actions)
496497
# Add the record to the current transaction so that the #after_rollback and #after_commit
497498
# callbacks can be called.
498499
def add_to_transaction(ensure_finalize = true)
499-
self.class.lease_connection.add_transaction_record(self, ensure_finalize)
500+
self.class.with_connection do |connection|
501+
connection.add_transaction_record(self, ensure_finalize)
502+
end
500503
end
501504

502505
def has_transactional_callbacks?

0 commit comments

Comments
 (0)