Bitcoin Core 28.99.0
P2P Digital Currency
|
RAII class that provides access to a Berkeley database. More...
#include <bdb.h>
Public Member Functions | |
BerkeleyBatch (BerkeleyDatabase &database, const bool fReadOnly, bool fFlushOnCloseIn=true) | |
~BerkeleyBatch () override | |
BerkeleyBatch (const BerkeleyBatch &)=delete | |
BerkeleyBatch & | operator= (const BerkeleyBatch &)=delete |
void | Flush () override |
void | Close () override |
std::unique_ptr< DatabaseCursor > | GetNewCursor () override |
std::unique_ptr< DatabaseCursor > | GetNewPrefixCursor (Span< const std::byte > prefix) override |
bool | TxnBegin () override |
bool | TxnCommit () override |
bool | TxnAbort () override |
bool | HasActiveTxn () override |
DbTxn * | txn () const |
Public Member Functions inherited from wallet::DatabaseBatch | |
DatabaseBatch ()=default | |
virtual | ~DatabaseBatch ()=default |
DatabaseBatch (const DatabaseBatch &)=delete | |
DatabaseBatch & | operator= (const DatabaseBatch &)=delete |
virtual void | Flush ()=0 |
virtual void | Close ()=0 |
template<typename K , typename T > | |
bool | Read (const K &key, T &value) |
template<typename K , typename T > | |
bool | Write (const K &key, const T &value, bool fOverwrite=true) |
template<typename K > | |
bool | Erase (const K &key) |
template<typename K > | |
bool | Exists (const K &key) |
virtual bool | ErasePrefix (Span< const std::byte > prefix)=0 |
virtual std::unique_ptr< DatabaseCursor > | GetNewCursor ()=0 |
virtual std::unique_ptr< DatabaseCursor > | GetNewPrefixCursor (Span< const std::byte > prefix)=0 |
virtual bool | TxnBegin ()=0 |
virtual bool | TxnCommit ()=0 |
virtual bool | TxnAbort ()=0 |
virtual bool | HasActiveTxn ()=0 |
Protected Attributes | |
Db * | pdb {nullptr} |
std::string | strFile |
DbTxn * | activeTxn {nullptr} |
bool | fReadOnly |
bool | fFlushOnClose |
BerkeleyEnvironment * | env |
BerkeleyDatabase & | m_database |
Private Member Functions | |
bool | ReadKey (DataStream &&key, DataStream &value) override |
bool | WriteKey (DataStream &&key, DataStream &&value, bool overwrite=true) override |
bool | EraseKey (DataStream &&key) override |
bool | HasKey (DataStream &&key) override |
bool | ErasePrefix (Span< const std::byte > prefix) override |
|
explicit |
|
override |
|
delete |
|
overridevirtual |
Implements wallet::DatabaseBatch.
Definition at line 450 of file bdb.cpp.
|
overrideprivatevirtual |
Implements wallet::DatabaseBatch.
Definition at line 878 of file bdb.cpp.
|
overrideprivatevirtual |
Implements wallet::DatabaseBatch.
Definition at line 902 of file bdb.cpp.
|
overridevirtual |
Implements wallet::DatabaseBatch.
Definition at line 424 of file bdb.cpp.
|
overridevirtual |
Implements wallet::DatabaseBatch.
Definition at line 783 of file bdb.cpp.
|
overridevirtual |
Implements wallet::DatabaseBatch.
|
inlineoverridevirtual |
Implements wallet::DatabaseBatch.
|
overrideprivatevirtual |
Implements wallet::DatabaseBatch.
|
delete |
|
overrideprivatevirtual |
Implements wallet::DatabaseBatch.
Definition at line 846 of file bdb.cpp.
|
inline |
|
overridevirtual |
Implements wallet::DatabaseBatch.
|
overridevirtual |
Implements wallet::DatabaseBatch.
Definition at line 795 of file bdb.cpp.
|
overridevirtual |
Implements wallet::DatabaseBatch.
|
overrideprivatevirtual |
Implements wallet::DatabaseBatch.
Definition at line 863 of file bdb.cpp.
|
protected |
|
protected |