36 #define MONERO_CURSOR(name) \ 37 struct close_ ## name : ::lmdb::close_cursor {}; \ 38 using name = std::unique_ptr< MDB_cursor, close_ ## name >; 88 return std::unique_ptr<MDB_cursor, D>{cur};
94 using read_txn = std::unique_ptr<MDB_txn, release_read_txn>;
95 using write_txn = std::unique_ptr<MDB_txn, abort_write_txn>;
void mdb_cursor_close(MDB_cursor *cursor)
Close a cursor handle.
Definition: mdb.c:8659
expect< std::unique_ptr< MDB_cursor, D > > open_cursor(MDB_txn &txn, MDB_dbi tbl) noexcept
Definition: transaction.h:84
void operator()(MDB_txn *ptr) const noexcept
Definition: transaction.h:67
Lightning memory-mapped database library.
#define MONERO_LMDB_CHECK(...)
Executes a LMDB command, and returns errors via lmdb::error enum.
Definition: error.h:33
std::unique_ptr< MDB_txn, abort_txn > suspended_txn
Definition: transaction.h:93
std::unique_ptr< MDB_txn, abort_write_txn > write_txn
Definition: transaction.h:95
std::unique_ptr< MDB_txn, release_read_txn > read_txn
Definition: transaction.h:94
Definition: transaction.h:65
Definition: transaction.h:42
Definition: transaction.h:55
unsigned int MDB_dbi
A handle for an individual database in the DB environment.
Definition: lmdb.h:270
void mdb_txn_abort(MDB_txn *txn)
Abandon all the operations of the transaction instead of saving them.
Definition: mdb.c:3406
void operator()(MDB_txn *ptr) const noexcept
Definition: database.cpp:63
void operator()(MDB_cursor *ptr) const noexcept
Definition: transaction.h:75
Definition: database.cpp:45
void operator()(MDB_txn *ptr) const noexcept
Definition: transaction.h:44
Definition: transaction.h:73
int mdb_cursor_open(MDB_txn *txn, MDB_dbi dbi, MDB_cursor **cursor)
Create a cursor handle.
Definition: mdb.c:8570