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);
|
return currentlast(key, data, MDB_LAST);
|
||||||
}
|
}
|
||||||
|
int first(MDBOutVal& key, MDBOutVal& data)
|
||||||
|
{
|
||||||
|
return currentlast(key, data, MDB_FIRST);
|
||||||
|
}
|
||||||
|
|
||||||
operator MDB_cursor*&()
|
operator MDB_cursor*&()
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,7 +3,8 @@ using namespace std;
|
||||||
|
|
||||||
int main()
|
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 dbi = env->openDB("qnames", MDB_DUPSORT | MDB_CREATE);
|
||||||
|
|
||||||
auto txn = env->getRWTransaction();
|
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)) {
|
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 << 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