11 mdbx_txn_abort(
m_txn);
32 check_mdbx(mdbx_txn_reset(
m_txn),
"Failed to reset read-only transaction");
35 check_mdbx(mdbx_txn_commit(
m_txn),
"Failed to commit writable transaction");
43 mdbx_txn_abort(
m_txn);
57 check_mdbx(mdbx_txn_reset(
m_txn),
"Failed to reset read-only transaction");
60 check_mdbx(mdbx_txn_abort(
m_txn),
"Failed to abort writable transaction");
68 mdbx_txn_abort(
m_txn);
Represents a specific exception for MDBX-related errors.
Associates MDBX transactions with threads.
TransactionMode m_mode
Current transaction mode.
MDBX_env * m_env
Pointer to the MDBX environment handle.
Transaction(TransactionTracker *registry, MDBX_env *env, TransactionMode mode)
Constructs a new transaction object.
virtual ~Transaction()
Destructor that safely closes or resets the transaction.
void begin()
Starts the transaction.
TransactionTracker * m_registry
void rollback()
Rolls back the transaction.
void commit()
Commits the transaction.
MDBX_txn * m_txn
MDBX transaction handle.
MDBX_txn * handle() const noexcept
Returns the internal MDBX transaction handle.
void check_mdbx(int rc, const std::string &context)
Throws an MdbxException if MDBX return code indicates an error.
TransactionMode
Specifies the access mode of a transaction.
@ READ_ONLY
Read-only transaction (no write operations allowed).
@ WRITABLE
Writable transaction (allows inserts, updates, deletes).