mdb_txn_reset function
@brief 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.
@paramin
txn A transaction handle returned by #mdb_txn_begin()
Implementation
@ffi.FfiNative<ffi.Void Function(ffi.Pointer<MDB_txn>)>('mdb_txn_reset')
external void mdb_txn_reset(
ffi.Pointer<MDB_txn> txn,
);