|
|
|
@ -1727,12 +1727,14 @@ Cache::runMigrations() |
|
|
|
|
auto txn = lmdb::txn::begin(env_, nullptr); |
|
|
|
|
auto mainDb = lmdb::dbi::open(txn); |
|
|
|
|
auto dbNames = lmdb::cursor::open(txn, mainDb); |
|
|
|
|
bool doCommit = false; |
|
|
|
|
|
|
|
|
|
std::string_view dbName; |
|
|
|
|
while (dbNames.get(dbName, MDB_NEXT)) { |
|
|
|
|
if (!dbName.starts_with("olm_sessions.v2/")) |
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
doCommit = true; |
|
|
|
|
auto curveKey = dbName; |
|
|
|
|
curveKey.remove_prefix(std::string_view("olm_sessions.v2/").size()); |
|
|
|
|
|
|
|
|
@ -1750,7 +1752,7 @@ Cache::runMigrations() |
|
|
|
|
oldDb.drop(txn, true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
txn.commit(); |
|
|
|
|
if (doCommit) txn.commit(); |
|
|
|
|
} catch (const lmdb::error &e) { |
|
|
|
|
nhlog::db()->critical("Failed to convert olm sessions database in migration! {}", |
|
|
|
|
e.what()); |
|
|
|
|