The txn_abort function 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
txn_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.
Once the txn_abort function returns, the DB_TXN handle may not
be accessed again.
The txn_abort function returns a non-zero error value on failure and 0 on success.
Errors
The txn_abort function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
If a catastrophic error has occurred, the txn_abort function may fail and return
DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail
in the same way.