}
#endif
- int del(MDBDbi& dbi, const MDBInVal& key)
+ void del(MDBDbi& dbi, const MDBInVal& key)
{
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-cstyle-cast)
int mdbDelRc = mdb_del(d_txn, dbi, (MDB_val*)&key.d_mdbval, nullptr);
}
}
#endif
- return mdbDelRc;
}
int get(MDBDbi& dbi, const MDBInVal& key, MDBOutVal& val)
#endif
#ifndef DNSDIST
- int del(int flags=0)
+ void del(int flags=0)
{
MDBOutVal key, val;
int rc_get = mdb_cursor_get (*this, &key.d_mdbval, &val.d_mdbval, MDB_GET_CURRENT);
if(rc_get) {
- throw std::runtime_error("getting key to mark data as deleted: " + std::string(mdb_strerror(rc_get)));
+ throw std::runtime_error("getting key to mark data as deleted: " + std::string(mdb_strerror(rc_get)));
}
size_t txid = mdb_txn_id(d_txn);
int rc_put = mdb_cursor_put(*this,
const_cast<MDB_val*>(&pkey.d_mdbval),
- const_cast<MDB_val*>(&pval.d_mdbval), 0 /* MDB_CURRENT */);
+ const_cast<MDB_val*>(&pval.d_mdbval), 0);
if(rc_put) {
- throw std::runtime_error("marking data deleted: " + std::string(mdb_strerror(rc_put)));
+ throw std::runtime_error("marking data deleted: " + std::string(mdb_strerror(rc_put)));
}
- return rc_put;
}
else {
// do a normal delete
- return mdb_cursor_del(*this, flags);
+ if (int rc_del = mdb_cursor_del(*this, flags); rc_del != 0) {
+ throw std::runtime_error("deleting data: " + std::string(mdb_strerror(rc_del)));
+ }
}
}
#endif
auto scombined = makeCombinedKey(keyConv(d_parent->getMember(type)), idVal);
MDBInVal combined(scombined);
- int errCode = txn->del(d_idx, combined);
- if (errCode != 0) {
- throw std::runtime_error("Error deleting from index: " + std::string(mdb_strerror(errCode)));
- }
+ txn->del(d_idx, combined);
}
void openDB(std::shared_ptr<MDBEnv>& env, string_view str, int flags)