Berkeley DB: DbTxn::abort
Description: Berkeley DB: An embedded database programmatic toolkit.
Keywords: embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++

# DbTxn::abort |

`

###

    #include <db_cxx.h>

    int
    DbTxn::abort();

# Description

The DbTxn::abort method causes an abnormal termination of the transaction. The log is played backwards 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, if the transaction is a parent transaction with unresolved (neither committed or aborted) child transactions, DbTxn::abort will fail, either returning DB_UNRESOLVED_CHILD or throwing an exception that encapsulates DB_UNRESOLVED_CHILD. In this case, the child transactions should be resolved, then the parent may be resolved.

Once the DbTxn::abort method returns, other than under the conditions described for unresolved child transactions, 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.

### Classes

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::id, DbTxn::prepare and DbEnv::txn_stat.`

Copyright Sleepycat Software