5 #ifndef BITCOIN_WALLET_MIGRATE_H 6 #define BITCOIN_WALLET_MIGRATE_H 45 bool Rewrite(
const char* pszSkip =
nullptr)
override {
return false; }
49 bool Backup(
const std::string& strDest)
const override;
69 std::string
Format()
override {
return "bdb_ro"; }
72 std::unique_ptr<DatabaseBatch>
MakeBatch(
bool flush_on_close =
true)
override;
125 #endif // BITCOIN_WALLET_MIGRATE_H void RemoveRef() override
Indicate that database user has stopped using the database and that it could be flushed or closed...
bool Backup(const std::string &strDest) const override
Back up the entire database to a file.
BerkeleyROData::const_iterator m_cursor_end
std::map< SerializeData, SerializeData, std::less<> > BerkeleyROData
BerkeleyROData::const_iterator m_cursor
std::unique_ptr< BerkeleyRODatabase > MakeBerkeleyRODatabase(const fs::path &path, const DatabaseOptions &options, DatabaseStatus &status, bilingual_str &error)
Return object giving access to Berkeley Read Only database at specified path.
bool WriteKey(DataStream &&key, DataStream &&value, bool overwrite=true) override
bool TxnCommit() override
void Open() override
Open the database if it is not already opened.
~BerkeleyROBatch()=default
A class representing a BerkeleyDB file from which we can only read records.
BerkeleyROBatch & operator=(const BerkeleyROBatch &)=delete
RAII class that provides access to a WalletDatabase.
bool EraseKey(DataStream &&key) override
bool ErasePrefix(Span< const std::byte > prefix) override
void Close() override
Flush to the database file and close the database.
static std::string PathToString(const path &path)
Convert path object to a byte string.
void IncrementUpdateCounter() override
Double ended buffer combining vector and stream-like interfaces.
bool PeriodicFlush() override
Status Next(DataStream &key, DataStream &value) override
std::unique_ptr< DatabaseCursor > GetNewPrefixCursor(Span< const std::byte > prefix) override
RAII class that provides access to a BerkeleyRODatabase.
BerkeleyROCursor(const BerkeleyRODatabase &database, Span< const std::byte > prefix={})
std::unique_ptr< DatabaseBatch > MakeBatch(bool flush_on_close=true) override
Make a DatabaseBatch connected to this database.
bool Rewrite(const char *pszSkip=nullptr) override
Rewrite the entire database on disk, with the exception of key pszSkip if non-zero.
bool HasKey(DataStream &&key) override
void ReloadDbEnv() override
std::string Format() override
bool ReadKey(DataStream &&key, DataStream &value) override
bool HasActiveTxn() override
std::unique_ptr< DatabaseCursor > GetNewCursor() override
BerkeleyROBatch(const BerkeleyRODatabase &database)
BerkeleyRODatabase(const fs::path &filepath, bool open=true)
Create DB handle.
std::string Filename() override
Return path to main database file for logs and error messages.
void Flush() override
Make sure all changes are flushed to database file.
void AddRef() override
Indicate the a new database user has began using the database.
~BerkeleyROCursor()=default
const BerkeleyRODatabase & m_database
~BerkeleyRODatabase()=default
Path class wrapper to block calls to the fs::path(std::string) implicit constructor and the fs::path:...
const fs::path m_filepath
const BerkeleyRODatabase & m_database
An instance of this class represents one database.