From 99b4caf61c1a32fdae011fcc701f70324addb838 Mon Sep 17 00:00:00 2001 From: bert hubert Date: Wed, 9 Jan 2019 10:30:59 +0100 Subject: [PATCH] enhance multi test a bit --- lmdb-safe.hh | 4 ++++ multi-example.cc | 24 +++++++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/lmdb-safe.hh b/lmdb-safe.hh index 3db532f..baebf45 100644 --- a/lmdb-safe.hh +++ b/lmdb-safe.hh @@ -362,6 +362,10 @@ public: { return currentlast(key, data, MDB_LAST); } + int first(MDBOutVal& key, MDBOutVal& data) + { + return currentlast(key, data, MDB_FIRST); + } operator MDB_cursor*&() { diff --git a/multi-example.cc b/multi-example.cc index 0a02d31..045b5e6 100644 --- a/multi-example.cc +++ b/multi-example.cc @@ -3,7 +3,8 @@ using namespace std; int main() { - auto env = getMDBEnv("multi", 0, 0600); + unlink("./multi"); + auto env = getMDBEnv("multi", MDB_NOSUBDIR, 0600); auto dbi = env->openDB("qnames", MDB_DUPSORT | MDB_CREATE); auto txn = env->getRWTransaction(); @@ -33,4 +34,25 @@ int main() for(int rc = cursor.find("lmdb", key, data); !rc; rc = cursor.get(key, data, MDB_NEXT_DUP)) { cout << key.get() << " = " << data.get() <() << " = " << data.get() <() == "lmdb") + cursor.del(); + } + + cout <<"Complete database after deleting 'lmdb' keys: " << endl; + + for(int rc = cursor.first(key, data); !rc; rc = cursor.next(key, data)) { + cout << key.get() << " = " << data.get() <