Bitcoin Core  22.99.0
P2P Digital Currency
Public Member Functions | Private Member Functions | List of all members
wallet::DatabaseBatch Class Referenceabstract

RAII class that provides access to a WalletDatabase. More...

#include <db.h>

Inheritance diagram for wallet::DatabaseBatch:
[legend]

Public Member Functions

 DatabaseBatch ()
 
virtual ~DatabaseBatch ()
 
 DatabaseBatch (const DatabaseBatch &)=delete
 
DatabaseBatchoperator= (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 StartCursor ()=0
 
virtual bool ReadAtCursor (CDataStream &ssKey, CDataStream &ssValue, bool &complete)=0
 
virtual void CloseCursor ()=0
 
virtual bool TxnBegin ()=0
 
virtual bool TxnCommit ()=0
 
virtual bool TxnAbort ()=0
 

Private Member Functions

virtual bool ReadKey (CDataStream &&key, CDataStream &value)=0
 
virtual bool WriteKey (CDataStream &&key, CDataStream &&value, bool overwrite=true)=0
 
virtual bool EraseKey (CDataStream &&key)=0
 
virtual bool HasKey (CDataStream &&key)=0
 

Detailed Description

RAII class that provides access to a WalletDatabase.

Definition at line 25 of file db.h.

Constructor & Destructor Documentation

◆ DatabaseBatch() [1/2]

wallet::DatabaseBatch::DatabaseBatch ( )
inlineexplicit

Definition at line 34 of file db.h.

◆ ~DatabaseBatch()

virtual wallet::DatabaseBatch::~DatabaseBatch ( )
inlinevirtual

Definition at line 35 of file db.h.

◆ DatabaseBatch() [2/2]

wallet::DatabaseBatch::DatabaseBatch ( const DatabaseBatch )
delete

Member Function Documentation

◆ Close()

virtual void wallet::DatabaseBatch::Close ( )
pure virtual

◆ CloseCursor()

virtual void wallet::DatabaseBatch::CloseCursor ( )
pure virtual

◆ Erase()

template<typename K >
bool wallet::DatabaseBatch::Erase ( const K &  key)
inline

Definition at line 75 of file db.h.

Here is the call graph for this function:

◆ EraseKey()

virtual bool wallet::DatabaseBatch::EraseKey ( CDataStream &&  key)
privatepure virtual

Implemented in wallet::BerkeleyBatch, wallet::DummyBatch, and wallet::SQLiteBatch.

Here is the caller graph for this function:

◆ Exists()

template<typename K >
bool wallet::DatabaseBatch::Exists ( const K &  key)
inline

Definition at line 85 of file db.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Flush()

virtual void wallet::DatabaseBatch::Flush ( )
pure virtual

◆ HasKey()

virtual bool wallet::DatabaseBatch::HasKey ( CDataStream &&  key)
privatepure virtual

Implemented in wallet::BerkeleyBatch, wallet::DummyBatch, and wallet::SQLiteBatch.

Here is the caller graph for this function:

◆ operator=()

DatabaseBatch& wallet::DatabaseBatch::operator= ( const DatabaseBatch )
delete

◆ Read()

template<typename K , typename T >
bool wallet::DatabaseBatch::Read ( const K &  key,
T &  value 
)
inline

Definition at line 44 of file db.h.

Here is the call graph for this function:

◆ ReadAtCursor()

virtual bool wallet::DatabaseBatch::ReadAtCursor ( CDataStream ssKey,
CDataStream ssValue,
bool &  complete 
)
pure virtual

◆ ReadKey()

virtual bool wallet::DatabaseBatch::ReadKey ( CDataStream &&  key,
CDataStream value 
)
privatepure virtual

Implemented in wallet::BerkeleyBatch, wallet::DummyBatch, and wallet::SQLiteBatch.

Here is the caller graph for this function:

◆ StartCursor()

virtual bool wallet::DatabaseBatch::StartCursor ( )
pure virtual

◆ TxnAbort()

virtual bool wallet::DatabaseBatch::TxnAbort ( )
pure virtual

◆ TxnBegin()

virtual bool wallet::DatabaseBatch::TxnBegin ( )
pure virtual

◆ TxnCommit()

virtual bool wallet::DatabaseBatch::TxnCommit ( )
pure virtual

◆ Write()

template<typename K , typename T >
bool wallet::DatabaseBatch::Write ( const K &  key,
const T &  value,
bool  fOverwrite = true 
)
inline

Definition at line 61 of file db.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ WriteKey()

virtual bool wallet::DatabaseBatch::WriteKey ( CDataStream &&  key,
CDataStream &&  value,
bool  overwrite = true 
)
privatepure virtual

Implemented in wallet::BerkeleyBatch, wallet::DummyBatch, and wallet::SQLiteBatch.

Here is the caller graph for this function:

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