method
with_pool_transaction_isolation_level
v8.1.1 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::ConnectionPool
with_pool_transaction_isolation_level(isolation_level, transaction_open, &block)public
No documentation available.
# File activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb, line 471
def with_pool_transaction_isolation_level(isolation_level, transaction_open, &block) # :nodoc:
if !ActiveRecord.default_transaction_isolation_level.nil?
begin
if transaction_open && self.pool_transaction_isolation_level != ActiveRecord.default_transaction_isolation_level
raise ActiveRecord::TransactionIsolationError, "cannot set default isolation level while transaction is open"
end
old_level = self.pool_transaction_isolation_level
self.pool_transaction_isolation_level = isolation_level
yield
ensure
self.pool_transaction_isolation_level = old_level
end
else
yield
end
end