chickadee » lmdb-lolevel » mdb-txn-reset

mdb-txn-reset txnprocedure

Reset a read-only transaction.

Abort the transaction like (mdb-txn-abort), but keep the transaction handle. (mdb-txn-renew) may reuse the handle. This saves allocation overhead if the process will start a new read-only transaction soon, and also locking overhead if MDB_NOTLS is in use. The reader table lock is released, but the table slot stays tied to its thread or MDB_txn. Use (mdb-txn-abort) to discard a reset handle, and to free its lock table slot if MDB_NOTLS is in use. Cursors opened within the transaction must not be used again after this call, except with (mdb-cursor-renew). Reader locks generally don't interfere with writers, but they keep old versions of database pages allocated. Thus they prevent the old pages from being reused when writers commit new data, and so under heavy load the database size may grow much more rapidly than otherwise.

A transaction handle returned by (mdb-txn-begin)