#include #include #include #include #include #include "tokudb_common_funcs.h" static int verbose = 0; static int env_open_flags_yesx = DB_CREATE|DB_PRIVATE|DB_INIT_MPOOL|DB_INIT_TXN|DB_INIT_LOG|DB_INIT_LOCK; static int env_open_flags_nox = DB_CREATE|DB_PRIVATE|DB_INIT_MPOOL; int test_main(int argc, char * const argv[]) { int r; char *envdir = "bench.tokudb"; char *dbfilename = "bench.db"; bool do_txns = false; for (int i = 1; i < argc; i++) { if (strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "--verbose") == 0) { verbose++; continue; } if (strcmp(argv[i], "-q") == 0) { if (verbose > 0) verbose--; continue; } if (strcmp(argv[i], "-x") == 0) { do_txns = true; continue; } } DB_ENV *env = NULL; r = db_env_create(&env, 0); assert(r == 0); r = env->open(env, envdir, do_txns ? env_open_flags_yesx : env_open_flags_nox, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH); assert(r == 0); DB *db = NULL; r = db_create(&db, env, 0); assert(r == 0); r = db->open(db, NULL, dbfilename, NULL, DB_BTREE, DB_AUTO_COMMIT, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH); assert(r == 0); if (verbose) { DB_BTREE_STAT64 s; r = db->stat64(db, NULL, &s); assert(r == 0); printf("nkeys=%" PRIu64" dsize=%" PRIu64 "\n", s.bt_nkeys, s.bt_dsize); } r = db->verify_with_progress(db, NULL, NULL, verbose > 0, false); assert(r == 0); r = db->close(db, 0); assert(r == 0); r = env->close(env, 0); assert(r == 0); return 0; }