The attached patch adds support DB_ENV.txn_checkpoint that's useful if one wants to schedule checkpointing from lisp.
Regards, Gabor Melis
diff -ru elephant-0.6.0/src/db-bdb/libsleepycat.c elephant-0.6.0.new/src/db-bdb/libsleepycat.c --- elephant-0.6.0/src/db-bdb/libsleepycat.c 2006-02-19 05:53:00.000000000 +0100 +++ elephant-0.6.0.new/src/db-bdb/libsleepycat.c 2007-01-20 19:35:54.000000000 +0100 @@ -166,6 +166,11 @@ return dbenv->get_flags(dbenv, flagsp); } +int db_env_txn_checkpoint(DB_ENV *dbenv, u_int32_t kbyte, u_int32_t min, + u_int32_t flags) { + return dbenv->txn_checkpoint(dbenv, kbyte, min, flags); +} + /* Database */ DB *db_cr(DB_ENV *dbenv, u_int32_t flags, int *errno) { diff -ru elephant-0.6.0/src/db-bdb/libsleepycat.def elephant-0.6.0.new/src/db-bdb/libsleepycat.def --- elephant-0.6.0/src/db-bdb/libsleepycat.def 2006-02-19 18:25:53.000000000 +0100 +++ elephant-0.6.0.new/src/db-bdb/libsleepycat.def 2007-01-20 19:36:34.000000000 +0100 @@ -19,6 +19,7 @@ db_env_remove db_env_set_flags db_env_get_flags + db_env_txn_checkpoint db_cr db_close db_open diff -ru elephant-0.6.0/src/db-bdb/sleepycat.lisp elephant-0.6.0.new/src/db-bdb/sleepycat.lisp --- elephant-0.6.0/src/db-bdb/sleepycat.lisp 2006-04-30 03:03:49.000000000 +0200 +++ elephant-0.6.0.new/src/db-bdb/sleepycat.lisp 2007-01-20 19:15:19.000000000 +0100 @@ -491,6 +491,16 @@ (wrap-errno db-env-get-flags (env) :outs 2 :documentation "Get flags of an environment.") +(def-function ("db_env_txn_checkpoint" %db-env-txn-checkpoint) + ((env :pointer-void) + (kbyte :unsigned-int) + (min :unsigned-int) + (flags :unsigned-int)) + :returning :int) + +(wrap-errno db-env-txn-checkpoint (env kbyte min flags) + :flags (force) + :documentation "Make a checkpoint.") ;; Database
_______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel