ITS#7994 Access to current transaction ID.

commit b660491d3f (mdb_txn_id())
plus c36c167cc4 (fix prev commit)
from mdb.master.
mdb.RE/0.9
David Barbour 10 years ago committed by Hallvard Furuseth
parent f3d3f60e3d
commit 076b773d6b
  1. 11
      libraries/liblmdb/lmdb.h
  2. 7
      libraries/liblmdb/mdb.c

@ -953,6 +953,17 @@ int mdb_txn_begin(MDB_env *env, MDB_txn *parent, unsigned int flags, MDB_txn **
*/ */
MDB_env *mdb_txn_env(MDB_txn *txn); MDB_env *mdb_txn_env(MDB_txn *txn);
/** @brief Return the transaction's ID.
*
* This returns the identifier associated with this transaction. For a
* read-only transaction, this corresponds to the snapshot being read;
* concurrent readers will frequently have the same transaction ID.
*
* @param[in] txn A transaction handle returned by #mdb_txn_begin()
* @return A transaction ID, valid if input is an active transaction.
*/
size_t mdb_txn_id(MDB_txn *txn);
/** @brief Commit all the operations of a transaction into the database. /** @brief Commit all the operations of a transaction into the database.
* *
* The transaction handle is freed. It and its cursors must not be used * The transaction handle is freed. It and its cursors must not be used

@ -2766,6 +2766,13 @@ mdb_txn_env(MDB_txn *txn)
return txn->mt_env; return txn->mt_env;
} }
size_t
mdb_txn_id(MDB_txn *txn)
{
if(!txn) return 0;
return txn->mt_txnid;
}
/** Export or close DBI handles opened in this txn. */ /** Export or close DBI handles opened in this txn. */
static void static void
mdb_dbis_update(MDB_txn *txn, int keep) mdb_dbis_update(MDB_txn *txn, int keep)

Loading…
Cancel
Save