enhance multi test a bit

This commit is contained in:
bert hubert 2019-01-09 10:30:59 +01:00
parent bdcd9150a9
commit 99b4caf61c
2 changed files with 27 additions and 1 deletions

View File

@ -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*&()
{

View File

@ -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<string_view>() << " = " << data.get<string_view>() <<endl;
}
cout<<"Dump of complete database: "<<endl;
for(int rc = cursor.first(key, data); !rc; rc = cursor.next(key, data)) {
cout << key.get<string_view>() << " = " << data.get<string_view>() <<endl;
}
cout << "Done!" <<endl;
cout << "Now going to delete 'lmdb' keys" << endl;
for(int rc = cursor.first(key, data); !rc; rc = cursor.next(key, data)) {
if(key.get<string_view>() == "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<string_view>() << " = " << data.get<string_view>() <<endl;
}
}