method
begin_isolated_db_transaction
rails latest stable - Class:
ActiveRecord::ConnectionAdapters::SQLite3::DatabaseStatements
begin_isolated_db_transaction(isolation)public
No documentation available.
# File activerecord/lib/active_record/connection_adapters/sqlite3/database_statements.rb, line 66
def begin_isolated_db_transaction(isolation) # :nodoc:
raise TransactionIsolationError, "SQLite3 only supports the `read_uncommitted` transaction isolation level" if isolation != :read_uncommitted
raise StandardError, "You need to enable the shared-cache mode in SQLite mode before attempting to change the transaction isolation level" unless shared_cache?
with_raw_connection(allow_retry: true, materialize_transactions: false) do |conn|
ActiveSupport::IsolatedExecutionState[:active_record_read_uncommitted] = conn.get_first_value("PRAGMA read_uncommitted")
conn.read_uncommitted = true
begin_db_transaction
end
end