Eliminate lease_connection call in Transactions
This commit is contained in:
parent
ae77151fe0
commit
5bc1724535
@ -393,18 +393,19 @@ def rolledback!(force_restore_state: false, should_run_callbacks: true) # :nodoc
|
||||
# This method is available within the context of an ActiveRecord::Base
|
||||
# instance.
|
||||
def with_transaction_returning_status
|
||||
status = nil
|
||||
connection = self.class.lease_connection
|
||||
ensure_finalize = !connection.transaction_open?
|
||||
self.class.with_connection do |connection|
|
||||
status = nil
|
||||
ensure_finalize = !connection.transaction_open?
|
||||
|
||||
connection.transaction do
|
||||
add_to_transaction(ensure_finalize || has_transactional_callbacks?)
|
||||
remember_transaction_record_state
|
||||
connection.transaction do
|
||||
add_to_transaction(ensure_finalize || has_transactional_callbacks?)
|
||||
remember_transaction_record_state
|
||||
|
||||
status = yield
|
||||
raise ActiveRecord::Rollback unless status
|
||||
status = yield
|
||||
raise ActiveRecord::Rollback unless status
|
||||
end
|
||||
status
|
||||
end
|
||||
status
|
||||
end
|
||||
|
||||
def trigger_transactional_callbacks? # :nodoc:
|
||||
@ -496,7 +497,9 @@ def transaction_include_any_action?(actions)
|
||||
# Add the record to the current transaction so that the #after_rollback and #after_commit
|
||||
# callbacks can be called.
|
||||
def add_to_transaction(ensure_finalize = true)
|
||||
self.class.lease_connection.add_transaction_record(self, ensure_finalize)
|
||||
self.class.with_connection do |connection|
|
||||
connection.add_transaction_record(self, ensure_finalize)
|
||||
end
|
||||
end
|
||||
|
||||
def has_transactional_callbacks?
|
||||
|
Loading…
Reference in New Issue
Block a user