Google

DbTxn::abort

APIRef

#include <db_cxx.h>

int DbTxn::abort();

Description

The DbTxn::abort method causes an abnormal termination of the transaction. The log is played backward, and any necessary recovery operations are initiated through the recover function specified to DbEnv::open. After the log processing is completed, all locks held by the transaction are released. As is the case for DbTxn::commit, applications that require strict two-phase locking should not explicitly release any locks.

In the case of nested transactions, aborting a parent transaction causes all children (unresolved or not) of the parent transaction to be aborted.

All cursors opened within the transaction must be closed before the transaction is aborted.

After DbTxn::abort has been called, regardless of its return, the DbTxn handle may not be accessed again.

The DbTxn::abort method either returns a non-zero error value or throws an exception that encapsulates a non-zero error value on failure, and returns 0 on success.

Errors

The DbTxn::abort method may fail and throw an exception or return a non-zero error for errors specified for other Berkeley DB and C library or system methods. If a catastrophic error has occurred, the DbTxn::abort method may fail and either return DB_RUNRECOVERY or throw an exception encapsulating DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.

Class

DbEnv, DbTxn

See Also

DbEnv::set_tx_max, DbEnv::set_tx_recover, DbEnv::set_tx_timestamp, DbTxn::abort, DbEnv::txn_begin, DbEnv::txn_checkpoint, DbTxn::commit, DbTxn::discard, DbTxn::id, DbTxn::prepare, DbEnv::txn_recover, DbTxn::set_timeout and DbEnv::txn_stat.

APIRef

Copyright Sleepycat Software