From 8a474047994ffaa5fa19a1fb7a24426635e1dbc1 Mon Sep 17 00:00:00 2001 From: "Gregory P. Smith" Date: Fri, 27 Jan 2006 07:05:40 +0000 Subject: [PATCH] Add wrapper for DBEnv.set_tx_timeout method to allow time based DB_RECOVER --- Modules/_bsddb.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/Modules/_bsddb.c b/Modules/_bsddb.c index 1687d01fbe7..f7541274b6b 100644 --- a/Modules/_bsddb.c +++ b/Modules/_bsddb.c @@ -97,7 +97,7 @@ #error "eek! DBVER can't handle minor versions > 9" #endif -#define PY_BSDDB_VERSION "4.4.1" +#define PY_BSDDB_VERSION "4.4.2" static char *rcs_id = "$Id$"; @@ -4164,9 +4164,23 @@ DBEnv_set_tx_max(DBEnvObject* self, PyObject* args) return NULL; CHECK_ENV_NOT_CLOSED(self); - MYDB_BEGIN_ALLOW_THREADS; err = self->db_env->set_tx_max(self->db_env, max); - MYDB_END_ALLOW_THREADS; + RETURN_IF_ERR(); + RETURN_NONE(); +} + + +static PyObject* +DBEnv_set_tx_timestamp(DBEnvObject* self, PyObject* args) +{ + int err; + time_t stamp; + + if (!PyArg_ParseTuple(args, "i:set_tx_timestamp", &stamp)) + return NULL; + CHECK_ENV_NOT_CLOSED(self); + + err = self->db_env->set_tx_timestamp(self->db_env, &stamp); RETURN_IF_ERR(); RETURN_NONE(); } @@ -4723,6 +4737,7 @@ static PyMethodDef DBEnv_methods[] = { {"txn_checkpoint", (PyCFunction)DBEnv_txn_checkpoint, METH_VARARGS}, {"txn_stat", (PyCFunction)DBEnv_txn_stat, METH_VARARGS}, {"set_tx_max", (PyCFunction)DBEnv_set_tx_max, METH_VARARGS}, + {"set_tx_timestamp", (PyCFunction)DBEnv_set_tx_timestamp, METH_VARARGS}, {"lock_detect", (PyCFunction)DBEnv_lock_detect, METH_VARARGS}, {"lock_get", (PyCFunction)DBEnv_lock_get, METH_VARARGS}, {"lock_id", (PyCFunction)DBEnv_lock_id, METH_VARARGS},