diff options
Diffstat (limited to 'src/wallet/migrate.cpp')
-rw-r--r-- | src/wallet/migrate.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/wallet/migrate.cpp b/src/wallet/migrate.cpp index 44e8b26be5..895cee9e14 100644 --- a/src/wallet/migrate.cpp +++ b/src/wallet/migrate.cpp @@ -5,6 +5,7 @@ #include <crypto/common.h> // For ReadBE32 #include <logging.h> #include <streams.h> +#include <util/translation.h> #include <wallet/migrate.h> #include <optional> @@ -748,4 +749,18 @@ std::unique_ptr<DatabaseCursor> BerkeleyROBatch::GetNewPrefixCursor(Span<const s { return std::make_unique<BerkeleyROCursor>(m_database, prefix); } + +std::unique_ptr<BerkeleyRODatabase> MakeBerkeleyRODatabase(const fs::path& path, const DatabaseOptions& options, DatabaseStatus& status, bilingual_str& error) +{ + fs::path data_file = BDBDataFile(path); + try { + std::unique_ptr<BerkeleyRODatabase> db = std::make_unique<BerkeleyRODatabase>(data_file); + status = DatabaseStatus::SUCCESS; + return db; + } catch (const std::runtime_error& e) { + error.original = e.what(); + status = DatabaseStatus::FAILED_LOAD; + return nullptr; + } +} } // namespace wallet |