aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/bdb.cpp
diff options
context:
space:
mode:
authorCory Fields <cory-nospam-@coryfields.com>2023-07-06 19:29:27 +0000
committerCory Fields <cory-nospam-@coryfields.com>2023-07-07 14:14:20 +0000
commit004b184b027520a4f9019d1432a816e6ec891fe3 (patch)
tree48b484738ae96f61898b36064851d9c19006a631 /src/wallet/bdb.cpp
parentb3582baa3a2f84db7d2fb5a681121a5f2d6de3a1 (diff)
downloadbitcoin-004b184b027520a4f9019d1432a816e6ec891fe3.tar.xz
wallet: bdb: move BerkeleyDatabase constructor to cpp file
Else some compilers/stdlibs may not be able to construct std::unique_ptr<Db> without Db defined.
Diffstat (limited to 'src/wallet/bdb.cpp')
-rw-r--r--src/wallet/bdb.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/wallet/bdb.cpp b/src/wallet/bdb.cpp
index 26938e0a7d..d74950c5b1 100644
--- a/src/wallet/bdb.cpp
+++ b/src/wallet/bdb.cpp
@@ -296,6 +296,13 @@ static Span<const std::byte> SpanFromDbt(const SafeDbt& dbt)
return {reinterpret_cast<const std::byte*>(dbt.get_data()), dbt.get_size()};
}
+BerkeleyDatabase::BerkeleyDatabase(std::shared_ptr<BerkeleyEnvironment> env, fs::path filename, const DatabaseOptions& options) :
+ WalletDatabase(), env(std::move(env)), m_filename(std::move(filename)), m_max_log_mb(options.max_log_mb)
+{
+ auto inserted = this->env->m_databases.emplace(m_filename, std::ref(*this));
+ assert(inserted.second);
+}
+
bool BerkeleyDatabase::Verify(bilingual_str& errorStr)
{
fs::path walletDir = env->Directory();