Kaydet (Commit) ca3939cd authored tarafından Jesus Cea's avatar Jesus Cea

bsddb module updated to version 4.7.0

üst 9a8af2df
...@@ -48,4 +48,4 @@ else: ...@@ -48,4 +48,4 @@ else:
from _bsddb import __version__ from _bsddb import __version__
if version() < (3, 2, 0): if version() < (3, 2, 0):
raise ImportError, "correct BerkeleyDB symbols not found. Perhaps python was statically linked with an older version?" raise ImportError, "correct Berkeley DB symbols not found. Perhaps python was statically linked with an older version?"
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
# -- Gregory P. Smith <greg@krypto.org> # -- Gregory P. Smith <greg@krypto.org>
# This provides a simple database table interface built on top of # This provides a simple database table interface built on top of
# the Python BerkeleyDB 3 interface. # the Python Berkeley DB 3 interface.
# #
_cvsid = '$Id$' _cvsid = '$Id$'
...@@ -139,7 +139,7 @@ class bsdTableDB : ...@@ -139,7 +139,7 @@ class bsdTableDB :
recover=0, dbflags=0): recover=0, dbflags=0):
"""bsdTableDB(filename, dbhome, create=0, truncate=0, mode=0600) """bsdTableDB(filename, dbhome, create=0, truncate=0, mode=0600)
Open database name in the dbhome BerkeleyDB directory. Open database name in the dbhome Berkeley DB directory.
Use keyword arguments when calling this constructor. Use keyword arguments when calling this constructor.
""" """
self.db = None self.db = None
......
...@@ -110,7 +110,7 @@ class DBSequenceTest(unittest.TestCase): ...@@ -110,7 +110,7 @@ class DBSequenceTest(unittest.TestCase):
self.assertRaises(db.DBNotFoundError, seq.open, self.assertRaises(db.DBNotFoundError, seq.open,
key='id', txn=None, flags=0) key='id', txn=None, flags=0)
self.assertRaises(db.DBNotFoundError, seq.stat) self.assertRaises(db.DBInvalidArgError, seq.stat)
d.close() d.close()
......
...@@ -44,7 +44,8 @@ Extension Modules ...@@ -44,7 +44,8 @@ Extension Modules
- Support for Windows 9x has been removed from the winsound module. - Support for Windows 9x has been removed from the winsound module.
- bsddb module updated to version 4.6.4. - bsddb module updated to version 4.7.0.
http://www.jcea.es/programacion/pybsddb.htm#bsddb3-4.7.0
- Issue #2858: Fix potential memory corruption when - Issue #2858: Fix potential memory corruption when
bsddb.db.DBEnv.lock_get and other bsddb.db object constructors bsddb.db.DBEnv.lock_get and other bsddb.db object constructors
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
* *
* Gregory P. Smith <greg@krypto.org> was once again the maintainer. * Gregory P. Smith <greg@krypto.org> was once again the maintainer.
* *
* Since January 2008, new maintainer is Jesus Cea <jcea@argo.es>. * Since January 2008, new maintainer is Jesus Cea <jcea@jcea.es>.
* Jesus Cea licenses this code to PSF under a Contributor Agreement. * Jesus Cea licenses this code to PSF under a Contributor Agreement.
* *
* Use the pybsddb-users@lists.sf.net mailing list for all questions. * Use the pybsddb-users@lists.sf.net mailing list for all questions.
...@@ -4129,6 +4129,26 @@ DBEnv_set_flags(DBEnvObject* self, PyObject* args) ...@@ -4129,6 +4129,26 @@ DBEnv_set_flags(DBEnvObject* self, PyObject* args)
} }
#if (DBVER >= 47)
static PyObject*
DBEnv_log_set_config(DBEnvObject* self, PyObject* args)
{
int err, flags, onoff;
if (!PyArg_ParseTuple(args, "ii:log_set_config",
&flags, &onoff))
return NULL;
CHECK_ENV_NOT_CLOSED(self);
MYDB_BEGIN_ALLOW_THREADS;
err = self->db_env->log_set_config(self->db_env, flags, onoff);
MYDB_END_ALLOW_THREADS;
RETURN_IF_ERR();
RETURN_NONE();
}
#endif /* DBVER >= 47 */
static PyObject* static PyObject*
DBEnv_set_data_dir(DBEnvObject* self, PyObject* args) DBEnv_set_data_dir(DBEnvObject* self, PyObject* args)
{ {
...@@ -4779,8 +4799,13 @@ DBEnv_lock_stat(DBEnvObject* self, PyObject* args) ...@@ -4779,8 +4799,13 @@ DBEnv_lock_stat(DBEnvObject* self, PyObject* args)
MAKE_ENTRY(objs_nowait); MAKE_ENTRY(objs_nowait);
MAKE_ENTRY(lockers_wait); MAKE_ENTRY(lockers_wait);
MAKE_ENTRY(lockers_nowait); MAKE_ENTRY(lockers_nowait);
#if (DBVER >= 47)
MAKE_ENTRY(lock_wait);
MAKE_ENTRY(lock_nowait);
#else
MAKE_ENTRY(locks_wait); MAKE_ENTRY(locks_wait);
MAKE_ENTRY(locks_nowait); MAKE_ENTRY(locks_nowait);
#endif
MAKE_ENTRY(hash_len); MAKE_ENTRY(hash_len);
#endif #endif
MAKE_ENTRY(regsize); MAKE_ENTRY(regsize);
...@@ -4943,6 +4968,30 @@ DBEnv_set_get_returns_none(DBEnvObject* self, PyObject* args) ...@@ -4943,6 +4968,30 @@ DBEnv_set_get_returns_none(DBEnvObject* self, PyObject* args)
return PyInt_FromLong(oldValue); return PyInt_FromLong(oldValue);
} }
#if (DBVER >= 40)
static PyObject*
DBEnv_set_rpc_server(DBEnvObject* self, PyObject* args, PyObject* kwargs)
{
int err;
char *host;
long cl_timeout=0, sv_timeout=0;
static char* kwnames[] = { "host", "cl_timeout", "sv_timeout", NULL};
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|ll:set_rpc_server", kwnames,
&host, &cl_timeout, &sv_timeout))
return NULL;
CHECK_ENV_NOT_CLOSED(self);
MYDB_BEGIN_ALLOW_THREADS;
err = self->db_env->set_rpc_server(self->db_env, NULL, host, cl_timeout,
sv_timeout, 0);
MYDB_END_ALLOW_THREADS;
RETURN_IF_ERR();
RETURN_NONE();
}
#endif
#if (DBVER >= 40) #if (DBVER >= 40)
static PyObject* static PyObject*
DBEnv_set_verbose(DBEnvObject* self, PyObject* args) DBEnv_set_verbose(DBEnvObject* self, PyObject* args)
...@@ -5075,7 +5124,11 @@ static PyObject* ...@@ -5075,7 +5124,11 @@ static PyObject*
DBEnv_rep_get_nsites(DBEnvObject* self, PyObject* args) DBEnv_rep_get_nsites(DBEnvObject* self, PyObject* args)
{ {
int err; int err;
#if (DBVER >= 47)
u_int32_t nsites;
#else
int nsites; int nsites;
#endif
if (!PyArg_ParseTuple(args, ":rep_get_nsites")) { if (!PyArg_ParseTuple(args, ":rep_get_nsites")) {
return NULL; return NULL;
...@@ -5109,7 +5162,11 @@ static PyObject* ...@@ -5109,7 +5162,11 @@ static PyObject*
DBEnv_rep_get_priority(DBEnvObject* self, PyObject* args) DBEnv_rep_get_priority(DBEnvObject* self, PyObject* args)
{ {
int err; int err;
#if (DBVER >= 47)
u_int32_t priority;
#else
int priority; int priority;
#endif
if (!PyArg_ParseTuple(args, ":rep_get_priority")) { if (!PyArg_ParseTuple(args, ":rep_get_priority")) {
return NULL; return NULL;
...@@ -6094,6 +6151,9 @@ static PyMethodDef DBEnv_methods[] = { ...@@ -6094,6 +6151,9 @@ static PyMethodDef DBEnv_methods[] = {
{"set_cachesize", (PyCFunction)DBEnv_set_cachesize, METH_VARARGS}, {"set_cachesize", (PyCFunction)DBEnv_set_cachesize, METH_VARARGS},
{"set_data_dir", (PyCFunction)DBEnv_set_data_dir, METH_VARARGS}, {"set_data_dir", (PyCFunction)DBEnv_set_data_dir, METH_VARARGS},
{"set_flags", (PyCFunction)DBEnv_set_flags, METH_VARARGS}, {"set_flags", (PyCFunction)DBEnv_set_flags, METH_VARARGS},
#if (DBVER >= 47)
{"log_set_config", (PyCFunction)DBEnv_log_set_config, METH_VARARGS},
#endif
{"set_lg_bsize", (PyCFunction)DBEnv_set_lg_bsize, METH_VARARGS}, {"set_lg_bsize", (PyCFunction)DBEnv_set_lg_bsize, METH_VARARGS},
{"set_lg_dir", (PyCFunction)DBEnv_set_lg_dir, METH_VARARGS}, {"set_lg_dir", (PyCFunction)DBEnv_set_lg_dir, METH_VARARGS},
{"set_lg_max", (PyCFunction)DBEnv_set_lg_max, METH_VARARGS}, {"set_lg_max", (PyCFunction)DBEnv_set_lg_max, METH_VARARGS},
...@@ -6139,6 +6199,10 @@ static PyMethodDef DBEnv_methods[] = { ...@@ -6139,6 +6199,10 @@ static PyMethodDef DBEnv_methods[] = {
#if (DBVER >= 40) #if (DBVER >= 40)
{"txn_recover", (PyCFunction)DBEnv_txn_recover, METH_VARARGS}, {"txn_recover", (PyCFunction)DBEnv_txn_recover, METH_VARARGS},
#endif #endif
#if (DBVER >= 40)
{"set_rpc_server", (PyCFunction)DBEnv_set_rpc_server,
METH_VARARGS||METH_KEYWORDS},
#endif
#if (DBVER >= 40) #if (DBVER >= 40)
{"set_verbose", (PyCFunction)DBEnv_set_verbose, METH_VARARGS}, {"set_verbose", (PyCFunction)DBEnv_set_verbose, METH_VARARGS},
#if (DBVER >= 42) #if (DBVER >= 42)
...@@ -6760,6 +6824,7 @@ DL_EXPORT(void) init_bsddb(void) ...@@ -6760,6 +6824,7 @@ DL_EXPORT(void) init_bsddb(void)
#if (DBVER < 45) #if (DBVER < 45)
ADD_INT(d, DB_CACHED_COUNTS); ADD_INT(d, DB_CACHED_COUNTS);
#endif #endif
#if (DBVER >= 41) #if (DBVER >= 41)
_addIntToDict(d, "DB_CHECKPOINT", 0); _addIntToDict(d, "DB_CHECKPOINT", 0);
#else #else
...@@ -6858,14 +6923,25 @@ DL_EXPORT(void) init_bsddb(void) ...@@ -6858,14 +6923,25 @@ DL_EXPORT(void) init_bsddb(void)
ADD_INT(d, DB_TIME_NOTGRANTED); ADD_INT(d, DB_TIME_NOTGRANTED);
ADD_INT(d, DB_TXN_NOT_DURABLE); ADD_INT(d, DB_TXN_NOT_DURABLE);
ADD_INT(d, DB_TXN_WRITE_NOSYNC); ADD_INT(d, DB_TXN_WRITE_NOSYNC);
ADD_INT(d, DB_LOG_AUTOREMOVE);
ADD_INT(d, DB_DIRECT_LOG);
ADD_INT(d, DB_DIRECT_DB); ADD_INT(d, DB_DIRECT_DB);
ADD_INT(d, DB_INIT_REP); ADD_INT(d, DB_INIT_REP);
ADD_INT(d, DB_ENCRYPT); ADD_INT(d, DB_ENCRYPT);
ADD_INT(d, DB_CHKSUM); ADD_INT(d, DB_CHKSUM);
#endif #endif
#if (DBVER >= 42) && (DBVER < 47)
ADD_INT(d, DB_LOG_AUTOREMOVE);
ADD_INT(d, DB_DIRECT_LOG);
#endif
#if (DBVER >= 47)
ADD_INT(d, DB_LOG_DIRECT);
ADD_INT(d, DB_LOG_DSYNC);
ADD_INT(d, DB_LOG_IN_MEMORY);
ADD_INT(d, DB_LOG_AUTO_REMOVE);
ADD_INT(d, DB_LOG_ZERO);
#endif
#if (DBVER >= 44) #if (DBVER >= 44)
ADD_INT(d, DB_DSYNC_DB); ADD_INT(d, DB_DSYNC_DB);
#endif #endif
...@@ -6935,14 +7011,17 @@ DL_EXPORT(void) init_bsddb(void) ...@@ -6935,14 +7011,17 @@ DL_EXPORT(void) init_bsddb(void)
#endif #endif
#if (DBVER >= 43) #if (DBVER >= 43)
ADD_INT(d, DB_DSYNC_LOG);
ADD_INT(d, DB_LOG_INMEMORY);
ADD_INT(d, DB_BUFFER_SMALL); ADD_INT(d, DB_BUFFER_SMALL);
ADD_INT(d, DB_SEQ_DEC); ADD_INT(d, DB_SEQ_DEC);
ADD_INT(d, DB_SEQ_INC); ADD_INT(d, DB_SEQ_INC);
ADD_INT(d, DB_SEQ_WRAP); ADD_INT(d, DB_SEQ_WRAP);
#endif #endif
#if (DBVER >= 43) && (DBVER < 47)
ADD_INT(d, DB_LOG_INMEMORY);
ADD_INT(d, DB_DSYNC_LOG);
#endif
#if (DBVER >= 41) #if (DBVER >= 41)
ADD_INT(d, DB_ENCRYPT_AES); ADD_INT(d, DB_ENCRYPT_AES);
ADD_INT(d, DB_AUTO_COMMIT); ADD_INT(d, DB_AUTO_COMMIT);
......
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
#error "eek! DBVER can't handle minor versions > 9" #error "eek! DBVER can't handle minor versions > 9"
#endif #endif
#define PY_BSDDB_VERSION "4.6.5devel2" #define PY_BSDDB_VERSION "4.7.0"
/* Python object definitions */ /* Python object definitions */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment