DbTxn beginTransaction(final DbEnv dbenv, final DbTxn parent) throws DatabaseException { int flags = 0; flags |= readCommitted ? DbConstants.DB_READ_COMMITTED : 0; flags |= readUncommitted ? DbConstants.DB_READ_UNCOMMITTED : 0; flags |= noSync ? DbConstants.DB_TXN_NOSYNC : 0; flags |= noWait ? DbConstants.DB_TXN_NOWAIT : 0; flags |= snapshot ? DbConstants.DB_TXN_SNAPSHOT : 0; flags |= sync ? DbConstants.DB_TXN_SYNC : 0; flags |= wait ? DbConstants.DB_TXN_WAIT : 0; flags |= writeNoSync ? DbConstants.DB_TXN_WRITE_NOSYNC : 0; return dbenv.txn_begin(parent, flags); }