diff --git a/src/tests/test_db_env_open_nocreate.c b/src/tests/test_db_env_open_nocreate.c index 5d89fa616c2b0e198b90db40c775dd0fbdce88fc..b54e82ae82511685675e92a1bc86cdea9d93ce62 100644 --- a/src/tests/test_db_env_open_nocreate.c +++ b/src/tests/test_db_env_open_nocreate.c @@ -28,6 +28,9 @@ int main() { int do_private; for (do_private=0; do_private<2; do_private++) { +#ifdef USE_TDB + if (do_private==0) continue; // See #208. +#endif int private_flags = do_private ? DB_PRIVATE : 0; system("rm -rf " DIR); @@ -42,6 +45,7 @@ int main() { r = db_env_create(&dbenv, 0); CKERR(r); r = dbenv->open(dbenv, DIR, private_flags|DB_INIT_MPOOL, 0); + if (r!=ENOENT) printf("%s:%d %d: %s\n", __FILE__, __LINE__, r,db_strerror(r)); assert(r==ENOENT); dbenv->close(dbenv,0); // free memory } diff --git a/src/ydb.c b/src/ydb.c index 7e66fe34aacbb998902ad6c0a802718f9230c0ad..2a7e43aebf760ec81774fcd9695a16ca67103d65 100644 --- a/src/ydb.c +++ b/src/ydb.c @@ -53,6 +53,12 @@ struct __toku_db_env_internal { TOKULOGGER logger; }; +// Probably this do_error (which is dumb and stupid) should do something consistent with do_env_err. +static void do_error (DB_ENV *dbenv, const char *string) { + if (dbenv->i->errfile) + fprintf(dbenv->i->errfile, "%s\n", string); +} + static void toku_db_env_err(const DB_ENV * env __attribute__ ((__unused__)), int error, const char *fmt, ...) { va_list ap; va_start(ap, fmt); @@ -272,6 +278,7 @@ static int toku_db_env_open(DB_ENV * env, const char *home, u_int32_t flags, int if (!(flags & DB_PRIVATE)) { + fprintf(stderr, "tokudb requires DB_PRIVATE\n"); // This means that we don't have to do anything with shared memory. // And that's good enough for mysql. return EINVAL; @@ -1266,11 +1273,6 @@ static int toku_db_open(DB * db, DB_TXN * txn, const char *fname, const char *db return r; } -static void do_error (DB_ENV *dbenv, const char *string) { - if (dbenv->i->errfile) - fprintf(dbenv->i->errfile, "%s\n", string); -} - static int toku_db_put_noassociate(DB * db, DB_TXN * txn, DBT * key, DBT * data, u_int32_t flags) { int r;