#include <db.h> typedef struct __db_txn DB_TXN;
The DB_TXN
object is the handle for a transaction. Methods of
the DB_TXN
handle are used to configure, abort and commit the
transaction. DB_TXN
handles are provided to
DB methods in order
to transactionally protect those database operations.
DB_TXN
handles are not free-threaded; transactions handles
may be used by multiple threads, but only serially, that is, the application must
serialize access to the DB_TXN
handle. Once the
DB_TXN->abort() or
DB_TXN->commit() methods are called, the handle
may not be accessed again, regardless of the method's return. In addition, parent
transactions may not issue any Berkeley DB operations while they have active child
transactions (child transactions that have not yet been committed or aborted) except for
DB_ENV->txn_begin(),
DB_TXN->abort() and
DB_TXN->commit().