Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
lmdb_db_transaction.cpp
Go to the documentation of this file.
1
#include "
barretenberg/lmdblib/lmdb_db_transaction.hpp
"
2
3
#include "
barretenberg/lmdblib/lmdb_helpers.hpp
"
4
#include <utility>
5
6
namespace
bb::lmdblib
{
7
LMDBDatabaseCreationTransaction::LMDBDatabaseCreationTransaction
(
LMDBEnvironment::SharedPtr
env)
8
:
LMDBTransaction
(
std
::move(env))
9
{}
10
LMDBDatabaseCreationTransaction::~LMDBDatabaseCreationTransaction
()
11
{
12
try_abort
();
13
_environment
->release_writer();
14
}
15
void
LMDBDatabaseCreationTransaction::commit
()
16
{
17
if
(
state
==
TransactionState::ABORTED
) {
18
throw
std::runtime_error(
"Tried to commit reverted transaction"
);
19
}
20
call_lmdb_func
(
"mdb_txn_commit"
, mdb_txn_commit,
_transaction
);
21
state
=
TransactionState::COMMITTED
;
22
}
23
24
void
LMDBDatabaseCreationTransaction::try_abort
()
25
{
26
LMDBTransaction::abort
();
27
}
28
}
// namespace bb::lmdblib
bb::lmdblib::LMDBDatabaseCreationTransaction::try_abort
void try_abort()
Definition
lmdb_db_transaction.cpp:24
bb::lmdblib::LMDBDatabaseCreationTransaction::commit
void commit()
Definition
lmdb_db_transaction.cpp:15
bb::lmdblib::LMDBDatabaseCreationTransaction::LMDBDatabaseCreationTransaction
LMDBDatabaseCreationTransaction(LMDBEnvironment::SharedPtr env)
Definition
lmdb_db_transaction.cpp:7
bb::lmdblib::LMDBDatabaseCreationTransaction::~LMDBDatabaseCreationTransaction
~LMDBDatabaseCreationTransaction() override
Definition
lmdb_db_transaction.cpp:10
bb::lmdblib::LMDBEnvironment::SharedPtr
std::shared_ptr< LMDBEnvironment > SharedPtr
Definition
lmdb_environment.hpp:21
bb::lmdblib::LMDBTransaction
Definition
lmdb_transaction.hpp:24
bb::lmdblib::LMDBTransaction::state
TransactionState state
Definition
lmdb_transaction.hpp:77
bb::lmdblib::LMDBTransaction::abort
virtual void abort()
Definition
lmdb_transaction.cpp:30
bb::lmdblib::LMDBTransaction::_environment
std::shared_ptr< LMDBEnvironment > _environment
Definition
lmdb_transaction.hpp:74
bb::lmdblib::LMDBTransaction::_transaction
MDB_txn * _transaction
Definition
lmdb_transaction.hpp:76
lmdb_db_transaction.hpp
lmdb_helpers.hpp
bb::lmdblib
Definition
fixtures.hpp:5
bb::lmdblib::COMMITTED
@ COMMITTED
Definition
lmdb_transaction.hpp:18
bb::lmdblib::ABORTED
@ ABORTED
Definition
lmdb_transaction.hpp:19
bb::lmdblib::call_lmdb_func
bool call_lmdb_func(int(*f)(TArgs...), TArgs... args)
Definition
lmdb_helpers.hpp:38
std
STL namespace.
src
barretenberg
lmdblib
lmdb_db_transaction.cpp
Generated by
1.9.8