1
0
Fork 0
forked from blue/lmdbal

external transaction methods for storage

This commit is contained in:
Blue 2023-03-28 23:45:35 +03:00
parent f39d44890a
commit e2dbea21d1
Signed by untrusted user: blue
GPG key ID: 9B203B252A63EE38
19 changed files with 273 additions and 58 deletions

View file

@ -82,14 +82,22 @@ uint32_t LMDBAL::iStorage::count() const {
void LMDBAL::iStorage::throwDuplicateOrUnknown(int rc, TransactionID txn, const std::string& key) const {
abortTransaction(txn);
throwDuplicateOrUnknown(rc, key);
}
void LMDBAL::iStorage::throwNotFoundOrUnknown(int rc, LMDBAL::TransactionID txn, const std::string& key) const {
abortTransaction(txn);
throwNotFoundOrUnknown(rc, key);
}
void LMDBAL::iStorage::throwDuplicateOrUnknown(int rc, const std::string& key) const {
if (rc == MDB_KEYEXIST)
throwDuplicate(key);
else
throwUnknown(rc);
}
void LMDBAL::iStorage::throwNotFoundOrUnknown(int rc, LMDBAL::TransactionID txn, const std::string& key) const {
abortTransaction(txn);
void LMDBAL::iStorage::throwNotFoundOrUnknown(int rc, const std::string& key) const {
if (rc == MDB_NOTFOUND)
throwNotFound(key);
else