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

#include <lmdb_transaction.hpp>

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

Public Member Functions

 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
 

Protected Attributes

std::shared_ptr< LMDBEnvironment_environment
 
uint64_t _id
 
MDB_txn * _transaction
 
TransactionState state
 

Detailed Description

Definition at line 24 of file lmdb_transaction.hpp.

Constructor & Destructor Documentation

◆ LMDBTransaction() [1/3]

bb::lmdblib::LMDBTransaction::LMDBTransaction ( LMDBEnvironment::SharedPtr  env,
bool  readOnly = false 
)

◆ LMDBTransaction() [2/3]

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

◆ LMDBTransaction() [3/3]

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

◆ ~LMDBTransaction()

bb::lmdblib::LMDBTransaction::~LMDBTransaction ( )
pure virtualdefault

Member Function Documentation

◆ abort()

void bb::lmdblib::LMDBTransaction::abort ( )
virtual

Definition at line 30 of file lmdb_transaction.cpp.

◆ get_all_values_greater_or_equal_key()

template<typename T >
void bb::lmdblib::LMDBTransaction::get_all_values_greater_or_equal_key ( const T &  key,
std::vector< std::vector< uint8_t > > &  data,
const LMDBDatabase db 
) const

Definition at line 114 of file lmdb_transaction.hpp.

◆ get_all_values_lesser_or_equal_key()

template<typename T >
void bb::lmdblib::LMDBTransaction::get_all_values_lesser_or_equal_key ( const T &  key,
std::vector< std::vector< uint8_t > > &  data,
const LMDBDatabase db 
) const

Definition at line 122 of file lmdb_transaction.hpp.

◆ get_value() [1/4]

bool bb::lmdblib::LMDBTransaction::get_value ( std::vector< uint8_t > &  key,
std::vector< uint8_t > &  data,
const LMDBDatabase db 
) const

Definition at line 39 of file lmdb_transaction.cpp.

◆ get_value() [2/4]

bool bb::lmdblib::LMDBTransaction::get_value ( std::vector< uint8_t > &  key,
uint64_t &  data,
const LMDBDatabase db 
) const

Definition at line 44 of file lmdb_transaction.cpp.

◆ get_value() [3/4]

template<typename T >
bool bb::lmdblib::LMDBTransaction::get_value ( T &  key,
std::vector< uint8_t > &  data,
const LMDBDatabase db 
) const

Definition at line 80 of file lmdb_transaction.hpp.

◆ get_value() [4/4]

template<typename T >
bool bb::lmdblib::LMDBTransaction::get_value ( T &  key,
uint64_t &  data,
const LMDBDatabase db 
) const

Definition at line 86 of file lmdb_transaction.hpp.

◆ get_value_or_greater()

template<typename T , typename K >
bool bb::lmdblib::LMDBTransaction::get_value_or_greater ( T &  key,
K &  data,
const LMDBDatabase db 
) const

Definition at line 99 of file lmdb_transaction.hpp.

◆ get_value_or_previous() [1/2]

template<typename T , typename K >
bool bb::lmdblib::LMDBTransaction::get_value_or_previous ( T &  key,
K &  data,
const LMDBDatabase db 
) const

Definition at line 93 of file lmdb_transaction.hpp.

◆ get_value_or_previous() [2/2]

template<typename T , typename K >
bool bb::lmdblib::LMDBTransaction::get_value_or_previous ( T &  key,
K &  data,
const LMDBDatabase db,
const std::function< bool(const MDB_val &)> &  is_valid 
) const

Definition at line 105 of file lmdb_transaction.hpp.

◆ id()

uint64_t bb::lmdblib::LMDBTransaction::id ( ) const

Definition at line 25 of file lmdb_transaction.cpp.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ underlying()

MDB_txn * bb::lmdblib::LMDBTransaction::underlying ( ) const

Definition at line 20 of file lmdb_transaction.cpp.

Member Data Documentation

◆ _environment

std::shared_ptr<LMDBEnvironment> bb::lmdblib::LMDBTransaction::_environment
protected

Definition at line 74 of file lmdb_transaction.hpp.

◆ _id

uint64_t bb::lmdblib::LMDBTransaction::_id
protected

Definition at line 75 of file lmdb_transaction.hpp.

◆ _transaction

MDB_txn* bb::lmdblib::LMDBTransaction::_transaction
protected

Definition at line 76 of file lmdb_transaction.hpp.

◆ state

TransactionState bb::lmdblib::LMDBTransaction::state
protected

Definition at line 77 of file lmdb_transaction.hpp.


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