794e2e601f
Change-Id: I39c880e8615b164a66eb900c11b26da9d6489e02
163 lines
5.2 KiB
Diff
163 lines
5.2 KiB
Diff
Index: setup.py
|
|
===================================================================
|
|
--- misc/build/Python-2.6.1/setup.py (revision 74955)
|
|
+++ misc/build/Python-2.6.1/setup.py (working copy)
|
|
@@ -695,7 +695,7 @@
|
|
# a release. Most open source OSes come with one or more
|
|
# versions of BerkeleyDB already installed.
|
|
|
|
- max_db_ver = (4, 7)
|
|
+ max_db_ver = (4, 8)
|
|
min_db_ver = (3, 3)
|
|
db_setup_debug = False # verbose debug prints from this script?
|
|
|
|
Index: Modules/_bsddb.c
|
|
===================================================================
|
|
--- misc/build/Python-2.6.1/Modules/_bsddb.c (revision 74955)
|
|
+++ misc/build/Python-2.6.1/Modules/_bsddb.c (working copy)
|
|
@@ -215,7 +215,11 @@
|
|
#define DB_BUFFER_SMALL ENOMEM
|
|
#endif
|
|
|
|
+#if (DBVER < 48)
|
|
+#define DB_GID_SIZE DB_XIDDATASIZE
|
|
+#endif
|
|
|
|
+
|
|
/* --------------------------------------------------------------------- */
|
|
/* Structure definitions */
|
|
|
|
@@ -4501,7 +4505,11 @@
|
|
DBTxnObject *txn;
|
|
#define PREPLIST_LEN 16
|
|
DB_PREPLIST preplist[PREPLIST_LEN];
|
|
+#if (DBVER < 48)
|
|
long retp;
|
|
+#else
|
|
+ u_int32_t retp;
|
|
+#endif
|
|
|
|
CHECK_ENV_NOT_CLOSED(self);
|
|
|
|
@@ -4522,7 +4530,7 @@
|
|
flags=DB_NEXT; /* Prepare for next loop pass */
|
|
for (i=0; i<retp; i++) {
|
|
gid=PyBytes_FromStringAndSize((char *)(preplist[i].gid),
|
|
- DB_XIDDATASIZE);
|
|
+ DB_GID_SIZE);
|
|
if (!gid) {
|
|
Py_DECREF(list);
|
|
return NULL;
|
|
@@ -5047,6 +5055,7 @@
|
|
}
|
|
|
|
|
|
+#if (DBVER < 48)
|
|
static PyObject*
|
|
DBEnv_set_rpc_server(DBEnvObject* self, PyObject* args, PyObject* kwargs)
|
|
{
|
|
@@ -5068,6 +5077,7 @@
|
|
RETURN_IF_ERR();
|
|
RETURN_NONE();
|
|
}
|
|
+#endif
|
|
|
|
static PyObject*
|
|
DBEnv_set_verbose(DBEnvObject* self, PyObject* args)
|
|
@@ -5947,9 +5957,9 @@
|
|
if (!PyArg_ParseTuple(args, "s#:prepare", &gid, &gid_size))
|
|
return NULL;
|
|
|
|
- if (gid_size != DB_XIDDATASIZE) {
|
|
+ if (gid_size != DB_GID_SIZE) {
|
|
PyErr_SetString(PyExc_TypeError,
|
|
- "gid must be DB_XIDDATASIZE bytes long");
|
|
+ "gid must be DB_GID_SIZE bytes long");
|
|
return NULL;
|
|
}
|
|
|
|
@@ -6539,8 +6549,10 @@
|
|
#endif
|
|
{"set_get_returns_none",(PyCFunction)DBEnv_set_get_returns_none, METH_VARARGS},
|
|
{"txn_recover", (PyCFunction)DBEnv_txn_recover, METH_NOARGS},
|
|
+#if (DBVER < 48)
|
|
{"set_rpc_server", (PyCFunction)DBEnv_set_rpc_server,
|
|
METH_VARARGS||METH_KEYWORDS},
|
|
+#endif
|
|
{"set_verbose", (PyCFunction)DBEnv_set_verbose, METH_VARARGS},
|
|
#if (DBVER >= 42)
|
|
{"get_verbose", (PyCFunction)DBEnv_get_verbose, METH_VARARGS},
|
|
@@ -7089,6 +7101,7 @@
|
|
ADD_INT(d, DB_MAX_PAGES);
|
|
ADD_INT(d, DB_MAX_RECORDS);
|
|
|
|
+#if (DBVER < 48)
|
|
#if (DBVER >= 42)
|
|
ADD_INT(d, DB_RPCCLIENT);
|
|
#else
|
|
@@ -7096,7 +7109,11 @@
|
|
/* allow apps to be written using DB_RPCCLIENT on older Berkeley DB */
|
|
_addIntToDict(d, "DB_RPCCLIENT", DB_CLIENT);
|
|
#endif
|
|
+#endif
|
|
+
|
|
+#if (DBVER < 48)
|
|
ADD_INT(d, DB_XA_CREATE);
|
|
+#endif
|
|
|
|
ADD_INT(d, DB_CREATE);
|
|
ADD_INT(d, DB_NOMMAP);
|
|
@@ -7113,7 +7130,13 @@
|
|
ADD_INT(d, DB_INIT_TXN);
|
|
ADD_INT(d, DB_JOINENV);
|
|
|
|
+#if (DBVER >= 48)
|
|
+ ADD_INT(d, DB_GID_SIZE);
|
|
+#else
|
|
ADD_INT(d, DB_XIDDATASIZE);
|
|
+ /* Allow new code to work in old BDB releases */
|
|
+ _addIntToDict(d, "DB_GID_SIZE", DB_XIDDATASIZE);
|
|
+#endif
|
|
|
|
ADD_INT(d, DB_RECOVER);
|
|
ADD_INT(d, DB_RECOVER_FATAL);
|
|
--- misc/build/Python-2.6.1/Lib/bsddb/test/test_distributed_transactions.py~ 2008-08-31 16:00:51.000000000 +0200
|
|
+++ misc/build/Python-2.6.1/Lib/bsddb/test/test_distributed_transactions.py 2010-03-14 21:36:19.762842468 +0100
|
|
@@ -35,7 +35,7 @@
|
|
db.DB_INIT_TXN | db.DB_INIT_LOG | db.DB_INIT_MPOOL |
|
|
db.DB_INIT_LOCK, 0666)
|
|
self.db = db.DB(self.dbenv)
|
|
- self.db.set_re_len(db.DB_XIDDATASIZE)
|
|
+ self.db.set_re_len(db.DB_GID_SIZE)
|
|
if must_open_db :
|
|
if db.version() > (4,1) :
|
|
txn=self.dbenv.txn_begin()
|
|
@@ -76,7 +76,7 @@
|
|
# let them be garbage collected.
|
|
for i in xrange(self.num_txns) :
|
|
txn = self.dbenv.txn_begin()
|
|
- gid = "%%%dd" %db.DB_XIDDATASIZE
|
|
+ gid = "%%%dd" %db.DB_GID_SIZE
|
|
gid = adapt(gid %i)
|
|
self.db.put(i, gid, txn=txn, flags=db.DB_APPEND)
|
|
txns.add(gid)
|
|
--- misc/build/Python-2.6.1/Lib/bsddb/test/test_basics.py~ 2009-07-02 17:37:21.000000000 +0200
|
|
+++ misc/build/Python-2.6.1/Lib/bsddb/test/test_basics.py 2010-03-14 21:33:00.077842066 +0100
|
|
@@ -1032,11 +1032,12 @@
|
|
# # See http://bugs.python.org/issue3307
|
|
# self.assertRaises(db.DBInvalidArgError, db.DB, None, 65535)
|
|
|
|
- def test02_DBEnv_dealloc(self):
|
|
- # http://bugs.python.org/issue3885
|
|
- import gc
|
|
- self.assertRaises(db.DBInvalidArgError, db.DBEnv, ~db.DB_RPCCLIENT)
|
|
- gc.collect()
|
|
+ if db.version() < (4, 8) :
|
|
+ def test02_DBEnv_dealloc(self):
|
|
+ # http://bugs.python.org/issue3885
|
|
+ import gc
|
|
+ self.assertRaises(db.DBInvalidArgError, db.DBEnv, ~db.DB_RPCCLIENT)
|
|
+ gc.collect()
|
|
|
|
|
|
#----------------------------------------------------------------------
|