enhance multi test a bit
This commit is contained in:
parent
bdcd9150a9
commit
99b4caf61c
|
@ -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*&()
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue