DbEnv.txn_begin |
import com.sleepycat.db.*;public DbTxn txn_begin(DbTxn parent, int flags) throws DbException;
The DbEnv.txn_begin method creates a new transaction in the environment and returns a DbTxn that uniquely identifies it.
If the parent argument is non-null, the new transaction will be a nested transaction, with the transaction indicated by parent as its parent. Transactions may be nested to any level.
The flags parameter must be set to 0 or one of the following values:
This behavior may be set for an entire Berkeley DB environment as part of the DbEnv.set_flags interface.
This behavior is the default for Berkeley DB environments unless the Db.DB_TXN_NOSYNC flag was specified to the DbEnv.set_flags interface.
Note: An transaction may not span threads, i.e., each transaction must begin and end in the same thread, and each transaction may only be used by a single thread.
Note: cursors may not span transactions, i.e., each cursor must be opened and closed within a single transaction.
Note: a parent transaction may not issue any Berkeley DB operations, except for DbEnv.txn_begin, DbTxn.abort and DbTxn.commit, while it has active child transactions (child transactions that have not yet been committed or aborted).
The DbEnv.txn_begin method throws an exception that encapsulates a non-zero error value on failure.
The DbEnv.txn_begin method may fail and throw an exception encapsulating a non-zero error for the following conditions:
The DbEnv.txn_begin method may fail and throw an exception for errors specified for other Berkeley DB and C library or system methods. If a catastrophic error has occurred, the DbEnv.txn_begin method may fail and throw a DbRunRecoveryException, in which case all subsequent Berkeley DB calls will fail in the same way.