Bitcoin Core 29.99.0
P2P Digital Currency
Public Member Functions | Public Attributes | List of all members
wallet::WalletDatabase Class Referenceabstract

An instance of this class represents one database. More...

#include <db.h>

Inheritance diagram for wallet::WalletDatabase:
[legend]

Public Member Functions

 WalletDatabase ()=default
 Create dummy DB handle. More...
 
virtual ~WalletDatabase ()=default
 
virtual void Open ()=0
 Open the database if it is not already opened. More...
 
virtual bool Rewrite (const char *pszSkip=nullptr)=0
 Rewrite the entire database on disk, with the exception of key pszSkip if non-zero. More...
 
virtual bool Backup (const std::string &strDest) const =0
 Back up the entire database to a file. More...
 
virtual void Close ()=0
 Flush to the database file and close the database. More...
 
virtual std::string Filename ()=0
 Return path to main database file for logs and error messages. More...
 
virtual std::string Format ()=0
 
virtual std::unique_ptr< DatabaseBatchMakeBatch ()=0
 Make a DatabaseBatch connected to this database. More...
 

Public Attributes

std::atomic< int > m_refcount {0}
 Counts the number of active database users to be sure that the database is not closed while someone is using it. More...
 

Detailed Description

An instance of this class represents one database.

Definition at line 129 of file db.h.

Constructor & Destructor Documentation

◆ WalletDatabase()

wallet::WalletDatabase::WalletDatabase ( )
default

Create dummy DB handle.

◆ ~WalletDatabase()

virtual wallet::WalletDatabase::~WalletDatabase ( )
virtualdefault

Member Function Documentation

◆ Backup()

virtual bool wallet::WalletDatabase::Backup ( const std::string &  strDest) const
pure virtual

Back up the entire database to a file.

Implemented in wallet::SQLiteDatabase, wallet::BerkeleyRODatabase, and wallet::MockableDatabase.

Here is the caller graph for this function:

◆ Close()

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

Flush to the database file and close the database.

Also close the environment if no other databases are open in it.

Implemented in wallet::BerkeleyRODatabase, wallet::SQLiteDatabase, and wallet::MockableDatabase.

Here is the caller graph for this function:

◆ Filename()

virtual std::string wallet::WalletDatabase::Filename ( )
pure virtual

Return path to main database file for logs and error messages.

Implemented in wallet::BerkeleyRODatabase, wallet::SQLiteDatabase, and wallet::MockableDatabase.

◆ Format()

virtual std::string wallet::WalletDatabase::Format ( )
pure virtual

Implemented in wallet::BerkeleyRODatabase, wallet::SQLiteDatabase, and wallet::MockableDatabase.

Here is the caller graph for this function:

◆ MakeBatch()

virtual std::unique_ptr< DatabaseBatch > wallet::WalletDatabase::MakeBatch ( )
pure virtual

Make a DatabaseBatch connected to this database.

Implemented in wallet::BerkeleyRODatabase, wallet::SQLiteDatabase, and wallet::MockableDatabase.

Here is the caller graph for this function:

◆ Open()

virtual void wallet::WalletDatabase::Open ( )
pure virtual

Open the database if it is not already opened.

Implemented in wallet::BerkeleyRODatabase, wallet::SQLiteDatabase, and wallet::MockableDatabase.

◆ Rewrite()

virtual bool wallet::WalletDatabase::Rewrite ( const char *  pszSkip = nullptr)
pure virtual

Rewrite the entire database on disk, with the exception of key pszSkip if non-zero.

Implemented in wallet::BerkeleyRODatabase, wallet::MockableDatabase, and wallet::SQLiteDatabase.

Here is the caller graph for this function:

Member Data Documentation

◆ m_refcount

std::atomic<int> wallet::WalletDatabase::m_refcount {0}

Counts the number of active database users to be sure that the database is not closed while someone is using it.

Definition at line 140 of file db.h.


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