method

with_pool_transaction_isolation_level

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