]> git.sur5r.net Git - openldap/blobdiff - libraries/libmdb/mtest2.c
More pgno alignment tweaks
[openldap] / libraries / libmdb / mtest2.c
index 7576027a987afd9b571f6bf48a03eaf0e890d4b2..a0e9914417784fc631282a47409f1b2893133aab 100644 (file)
@@ -1,4 +1,4 @@
-/* mtest.c - memory-mapped database tester/toy */
+/* mtest2.c - memory-mapped database tester/toy */
 /*
  * Copyright 2011 Howard Chu, Symas Corp.
  * All rights reserved.
@@ -11,6 +11,9 @@
  * top-level directory of the distribution or, alternatively, at
  * <http://www.OpenLDAP.org/license.html>.
  */
+
+/* Just like mtest.c, but using a subDB instead of the main DB */
+
 #define _XOPEN_SOURCE 500              /* srandom(), random() */
 #include <stdio.h>
 #include <stdlib.h>
@@ -25,7 +28,7 @@ int main(int argc,char * argv[])
        MDB_val key, data;
        MDB_txn *txn;
        MDB_stat mst;
-       MDB_cursor *cursor, *cur2;
+       MDB_cursor *cursor;
        int count;
        int *values;
        char sval[32];
@@ -39,11 +42,11 @@ int main(int argc,char * argv[])
                values[i] = random()%1024;
        }
 
-       rc = mdbenv_create(&env);
-       rc = mdbenv_set_mapsize(env, 10485760);
-       rc = mdbenv_set_maxdbs(env, 4);
-       rc = mdbenv_open(env, "./testdb", MDB_FIXEDMAP|MDB_NOSYNC, 0664);
-       rc = mdb_txn_begin(env, 0, &txn);
+       rc = mdb_env_create(&env);
+       rc = mdb_env_set_mapsize(env, 10485760);
+       rc = mdb_env_set_maxdbs(env, 4);
+       rc = mdb_env_open(env, "./testdb", MDB_FIXEDMAP|MDB_NOSYNC, 0664);
+       rc = mdb_txn_begin(env, NULL, 0, &txn);
        rc = mdb_open(txn, "id1", MDB_CREATE, &dbi);
    
        key.mv_size = sizeof(int);
@@ -59,9 +62,9 @@ int main(int argc,char * argv[])
        }
        if (j) printf("%d duplicates skipped\n", j);
        rc = mdb_txn_commit(txn);
-       rc = mdbenv_stat(env, &mst);
+       rc = mdb_env_stat(env, &mst);
 
-       rc = mdb_txn_begin(env, 1, &txn);
+       rc = mdb_txn_begin(env, NULL, 1, &txn);
        rc = mdb_cursor_open(txn, dbi, &cursor);
        while ((rc = mdb_cursor_get(cursor, &key, &data, MDB_NEXT)) == 0) {
                printf("key: %p %.*s, data: %p %.*s\n",
@@ -76,9 +79,9 @@ int main(int argc,char * argv[])
        for (i= count - 1; i > -1; i-= (random()%5)) {  
                j++;
                txn=NULL;
-               rc = mdb_txn_begin(env, 0, &txn);
+               rc = mdb_txn_begin(env, NULL, 0, &txn);
                sprintf(sval, "%03x ", values[i]);
-               rc = mdb_del(txn, dbi, &key, NULL, 0);
+               rc = mdb_del(txn, dbi, &key, NULL);
                if (rc) {
                        j--;
                        mdb_txn_abort(txn);
@@ -89,8 +92,8 @@ int main(int argc,char * argv[])
        free(values);
        printf("Deleted %d values\n", j);
 
-       rc = mdbenv_stat(env, &mst);
-       rc = mdb_txn_begin(env, 1, &txn);
+       rc = mdb_env_stat(env, &mst);
+       rc = mdb_txn_begin(env, NULL, 1, &txn);
        rc = mdb_cursor_open(txn, dbi, &cursor);
        printf("Cursor next\n");
        while ((rc = mdb_cursor_get(cursor, &key, &data, MDB_NEXT)) == 0) {
@@ -105,10 +108,10 @@ int main(int argc,char * argv[])
                        (int) data.mv_size, (char *) data.mv_data);
        }
        mdb_cursor_close(cursor);
-       mdb_close(txn, dbi);
+       mdb_close(env, dbi);
 
        mdb_txn_abort(txn);
-       mdbenv_close(env);
+       mdb_env_close(env);
 
        return 0;
 }