class ActiveRecord::ConnectionAdapters::RealTransaction
Active Record Real Transaction
Inherits From
-
class
ActiveRecord::
ConnectionAdapters:: Transaction
Public instance methods
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 487
def commit
if materialized?
connection.commit_db_transaction
connection.reset_isolation_level if isolation_level
end
@state.full_commit!
@instrumenter.finish(:commit) if materialized?
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 450
def materialize!
if joinable?
if isolation_level
connection.begin_isolated_db_transaction(isolation_level)
else
connection.begin_db_transaction
end
else
connection.begin_deferred_transaction(isolation_level)
end
super
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 464
def restart
return unless materialized?
@instrumenter.finish(:restart)
if connection.supports_restart_db_transaction?
@instrumenter.start
connection.restart_db_transaction
else
connection.rollback_db_transaction
materialize!
end
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 478
def rollback
if materialized?
connection.rollback_db_transaction
connection.reset_isolation_level if isolation_level
end
@state.full_rollback!
@instrumenter.finish(:rollback) if materialized?
end