Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::lmdblib::LMDBWriteTransaction Class Reference

#include <lmdb_write_transaction.hpp>

Inheritance diagram for bb::lmdblib::LMDBWriteTransaction:
bb::lmdblib::LMDBTransaction

Public Types

using Ptr = std::unique_ptr< LMDBWriteTransaction >
 

Public Member Functions

 LMDBWriteTransaction (LMDBEnvironment::SharedPtr env)
 
 LMDBWriteTransaction (const LMDBWriteTransaction &other)=delete
 
 LMDBWriteTransaction (LMDBWriteTransaction &&other)=delete
 
LMDBWriteTransactionoperator= (const LMDBWriteTransaction &other)=delete
 
LMDBWriteTransactionoperator= (LMDBWriteTransaction &&other)=delete
 
 ~LMDBWriteTransaction () override
 
template<typename T >
void put_value (T &key, Value &data, const LMDBDatabase &db)
 
template<typename T >
void put_value (T &key, const uint64_t &data, const LMDBDatabase &db)
 
void put_value (Key &key, Value &data, const LMDBDatabase &db)
 
void put_value (Key &key, const uint64_t &data, const LMDBDatabase &db)
 
template<typename T >
void delete_value (T &key, const LMDBDatabase &db)
 
template<typename T >
void delete_value (T &key, Value &value, const LMDBDatabase &db)
 
void delete_value (Key &key, const LMDBDatabase &db)
 
void delete_value (Key &key, Value &value, const LMDBDatabase &db)
 
template<typename T >
void delete_all_values_greater_or_equal_key (const T &key, const LMDBDatabase &db) const
 
template<typename T >
void delete_all_values_lesser_or_equal_key (const T &key, const LMDBDatabase &db) const
 
void commit ()
 
void try_abort ()
 
- Public Member Functions inherited from bb::lmdblib::LMDBTransaction
 LMDBTransaction (LMDBEnvironment::SharedPtr env, bool readOnly=false)
 
 LMDBTransaction (const LMDBTransaction &other)=delete
 
 LMDBTransaction (LMDBTransaction &&other)=delete
 
LMDBTransactionoperator= (const LMDBTransaction &other)=delete
 
LMDBTransactionoperator= (LMDBTransaction &&other)=delete
 
virtual ~LMDBTransaction ()=0
 
MDB_txn * underlying () const
 
uint64_t id () const
 
virtual void abort ()
 
template<typename T , typename K >
bool get_value_or_previous (T &key, K &data, const LMDBDatabase &db, const std::function< bool(const MDB_val &)> &is_valid) const
 
template<typename T , typename K >
bool get_value_or_previous (T &key, K &data, const LMDBDatabase &db) const
 
template<typename T , typename K >
bool get_value_or_greater (T &key, K &data, const LMDBDatabase &db) const
 
template<typename T >
bool get_value (T &key, std::vector< uint8_t > &data, const LMDBDatabase &db) const
 
template<typename T >
bool get_value (T &key, uint64_t &data, const LMDBDatabase &db) const
 
template<typename T >
void get_all_values_greater_or_equal_key (const T &key, std::vector< std::vector< uint8_t > > &data, const LMDBDatabase &db) const
 
template<typename T >
void get_all_values_lesser_or_equal_key (const T &key, std::vector< std::vector< uint8_t > > &data, const LMDBDatabase &db) const
 
bool get_value (std::vector< uint8_t > &key, std::vector< uint8_t > &data, const LMDBDatabase &db) const
 
bool get_value (std::vector< uint8_t > &key, uint64_t &data, const LMDBDatabase &db) const
 

Additional Inherited Members

- Protected Attributes inherited from bb::lmdblib::LMDBTransaction
std::shared_ptr< LMDBEnvironment_environment
 
uint64_t _id
 
MDB_txn * _transaction
 
TransactionState state
 

Detailed Description

RAII wrapper for an LMDB write transaction. Provides methods for writing values by their key. Must be either committed to persist the changes or aborted to roll them back. Will automatically abort the transaction during destruction if changes have not been committed.

Definition at line 23 of file lmdb_write_transaction.hpp.

Member Typedef Documentation

◆ Ptr

Definition at line 25 of file lmdb_write_transaction.hpp.

Constructor & Destructor Documentation

◆ LMDBWriteTransaction() [1/3]

bb::lmdblib::LMDBWriteTransaction::LMDBWriteTransaction ( LMDBEnvironment::SharedPtr  env)

Definition at line 14 of file lmdb_write_transaction.cpp.

◆ LMDBWriteTransaction() [2/3]

bb::lmdblib::LMDBWriteTransaction::LMDBWriteTransaction ( const LMDBWriteTransaction other)
delete

◆ LMDBWriteTransaction() [3/3]

bb::lmdblib::LMDBWriteTransaction::LMDBWriteTransaction ( LMDBWriteTransaction &&  other)
delete

◆ ~LMDBWriteTransaction()

bb::lmdblib::LMDBWriteTransaction::~LMDBWriteTransaction ( )
override

Definition at line 18 of file lmdb_write_transaction.cpp.

Member Function Documentation

◆ commit()

void bb::lmdblib::LMDBWriteTransaction::commit ( )

Definition at line 24 of file lmdb_write_transaction.cpp.

◆ delete_all_values_greater_or_equal_key()

template<typename T >
void bb::lmdblib::LMDBWriteTransaction::delete_all_values_greater_or_equal_key ( const T &  key,
const LMDBDatabase db 
) const

Definition at line 84 of file lmdb_write_transaction.hpp.

◆ delete_all_values_lesser_or_equal_key()

template<typename T >
void bb::lmdblib::LMDBWriteTransaction::delete_all_values_lesser_or_equal_key ( const T &  key,
const LMDBDatabase db 
) const

Definition at line 90 of file lmdb_write_transaction.hpp.

◆ delete_value() [1/4]

void bb::lmdblib::LMDBWriteTransaction::delete_value ( Key key,
const LMDBDatabase db 
)

Definition at line 48 of file lmdb_write_transaction.cpp.

◆ delete_value() [2/4]

void bb::lmdblib::LMDBWriteTransaction::delete_value ( Key key,
Value value,
const LMDBDatabase db 
)

Definition at line 53 of file lmdb_write_transaction.cpp.

◆ delete_value() [3/4]

template<typename T >
void bb::lmdblib::LMDBWriteTransaction::delete_value ( T &  key,
const LMDBDatabase db 
)

Definition at line 71 of file lmdb_write_transaction.hpp.

◆ delete_value() [4/4]

template<typename T >
void bb::lmdblib::LMDBWriteTransaction::delete_value ( T &  key,
Value value,
const LMDBDatabase db 
)

Definition at line 77 of file lmdb_write_transaction.hpp.

◆ operator=() [1/2]

LMDBWriteTransaction & bb::lmdblib::LMDBWriteTransaction::operator= ( const LMDBWriteTransaction other)
delete

◆ operator=() [2/2]

LMDBWriteTransaction & bb::lmdblib::LMDBWriteTransaction::operator= ( LMDBWriteTransaction &&  other)
delete

◆ put_value() [1/4]

void bb::lmdblib::LMDBWriteTransaction::put_value ( Key key,
const uint64_t &  data,
const LMDBDatabase db 
)

Definition at line 43 of file lmdb_write_transaction.cpp.

◆ put_value() [2/4]

void bb::lmdblib::LMDBWriteTransaction::put_value ( Key key,
Value data,
const LMDBDatabase db 
)

Definition at line 38 of file lmdb_write_transaction.cpp.

◆ put_value() [3/4]

template<typename T >
void bb::lmdblib::LMDBWriteTransaction::put_value ( T &  key,
const uint64_t &  data,
const LMDBDatabase db 
)

Definition at line 65 of file lmdb_write_transaction.hpp.

◆ put_value() [4/4]

template<typename T >
void bb::lmdblib::LMDBWriteTransaction::put_value ( T &  key,
Value data,
const LMDBDatabase db 
)

Definition at line 59 of file lmdb_write_transaction.hpp.

◆ try_abort()

void bb::lmdblib::LMDBWriteTransaction::try_abort ( )

Definition at line 33 of file lmdb_write_transaction.cpp.


The documentation for this class was generated from the following files: