Makes all transactions the current pool use the isolation level initiated
within the block.
# File activerecord/lib/active_record/transactions.rb, line 240
def with_pool_transaction_isolation_level(isolation_level, &block)
if current_transaction.open?
raise ActiveRecord::TransactionIsolationError, "cannot set default isolation level while transaction is open"
end
old_level = connection_pool.pool_transaction_isolation_level
connection_pool.pool_transaction_isolation_level = isolation_level
yield
ensure
connection_pool.pool_transaction_isolation_level = old_level
end