Add wrapper for DBEnv.set_tx_timeout method to allow time based DB_RECOVER
authorGregory P. Smith <greg@mad-scientist.com>
Fri, 27 Jan 2006 07:05:40 +0000 (07:05 +0000)
committerGregory P. Smith <greg@mad-scientist.com>
Fri, 27 Jan 2006 07:05:40 +0000 (07:05 +0000)
Modules/_bsddb.c

index 1687d01fbe7237ab088b209c3b920baca3245e1f..f7541274b6b521995cf65e14ee41cd06a8b727cc 100644 (file)
@@ -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},