Bitcoin ABC 0.33.6
P2P Digital Currency
Classes | Functions | Variables
bdb.h File Reference
#include <clientversion.h>
#include <common/system.h>
#include <serialize.h>
#include <streams.h>
#include <util/fs.h>
#include <wallet/db.h>
#include <db_cxx.h>
#include <atomic>
#include <condition_variable>
#include <map>
#include <memory>
#include <string>
#include <unordered_map>
#include <vector>
Include dependency graph for bdb.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  WalletDatabaseFileId
 
class  BerkeleyEnvironment
 
class  BerkeleyDatabase
 An instance of this class represents one database. More...
 
class  BerkeleyBatch
 RAII class that provides access to a Berkeley database. More...
 
class  BerkeleyBatch::SafeDbt
 RAII class that automatically cleanses its data on destruction. More...
 

Functions

std::shared_ptr< BerkeleyEnvironmentGetWalletEnv (const fs::path &wallet_path, std::string &database_filename)
 Get BerkeleyEnvironment and database filename given a wallet path. More...
 
bool IsBerkeleyBtree (const fs::path &path)
 Check format of database file. More...
 
std::string BerkeleyDatabaseVersion ()
 
bool ExistsBerkeleyDatabase (const fs::path &path)
 Check if Berkeley database exists at specified path. More...
 
std::unique_ptr< BerkeleyDatabaseMakeBerkeleyDatabase (const fs::path &path, const DatabaseOptions &options, DatabaseStatus &status, bilingual_str &error)
 Return object giving access to Berkeley database at specified path. More...
 

Variables

static const unsigned int DEFAULT_WALLET_DBLOGSIZE = 100
 
static const bool DEFAULT_WALLET_PRIVDB = true
 

Function Documentation

◆ BerkeleyDatabaseVersion()

std::string BerkeleyDatabaseVersion ( )

Definition at line 811 of file bdb.cpp.

Here is the caller graph for this function:

◆ ExistsBerkeleyDatabase()

bool ExistsBerkeleyDatabase ( const fs::path path)

Check if Berkeley database exists at specified path.

Definition at line 897 of file bdb.cpp.

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

◆ GetWalletEnv()

std::shared_ptr< BerkeleyEnvironment > GetWalletEnv ( const fs::path wallet_path,
std::string &  database_filename 
)

Get BerkeleyEnvironment and database filename given a wallet path.

Parameters
[in]wallet_pathPath to wallet directory. Or (for backwards compatibility only) a path to a berkeley btree data file inside a wallet directory.
[out]database_filenameFilename of berkeley btree data file inside the wallet directory.
Returns
A shared pointer to the BerkeleyEnvironment object for the wallet directory. May be a nullptr in rare cases if the wallet is in the process of being unloaded, its reference was already dropped but the BerkeleyEnvironment destructor is not yet done removing the environment from g_dbenvs.
Postcondition
A new BerkeleyEnvironment weak pointer is inserted into g_dbenvs if the directory path key was not already in the map.

Definition at line 86 of file bdb.cpp.

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

◆ IsBerkeleyBtree()

bool IsBerkeleyBtree ( const fs::path path)

Check format of database file.

Definition at line 35 of file walletutil.cpp.

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

◆ MakeBerkeleyDatabase()

std::unique_ptr< BerkeleyDatabase > MakeBerkeleyDatabase ( const fs::path path,
const DatabaseOptions options,
DatabaseStatus status,
bilingual_str error 
)

Return object giving access to Berkeley database at specified path.

Definition at line 905 of file bdb.cpp.

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

Variable Documentation

◆ DEFAULT_WALLET_DBLOGSIZE

const unsigned int DEFAULT_WALLET_DBLOGSIZE = 100
static

Definition at line 28 of file bdb.h.

◆ DEFAULT_WALLET_PRIVDB

const bool DEFAULT_WALLET_PRIVDB = true
static

Definition at line 29 of file bdb.h.