Bitcoin Core  0.20.99
P2P Digital Currency
Classes | Functions | Variables
bdb.h File Reference
#include <clientversion.h>
#include <fs.h>
#include <serialize.h>
#include <streams.h>
#include <util/system.h>
#include <wallet/db.h>
#include <atomic>
#include <map>
#include <memory>
#include <string>
#include <unordered_map>
#include <vector>
#include <db_cxx.h>
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 IsBDBFile (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 729 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 811 of file bdb.cpp.

◆ 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, never empty because ~BerkeleyEnvironment erases the weak pointer from the g_dbenvs map.
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 62 of file bdb.cpp.

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

◆ IsBDBFile()

bool IsBDBFile ( const fs::path &  path)

Check format of database file.

Definition at line 843 of file bdb.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 819 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 34 of file bdb.h.

◆ DEFAULT_WALLET_PRIVDB

const bool DEFAULT_WALLET_PRIVDB = true
static

Definition at line 35 of file bdb.h.