- pybsddb Bug #1527939: bsddb module DBEnv dbremove and dbrename
methods now allow their database parameter to be None as the sleepycat API allows. Also adds an appropriate test case for DBEnv.dbrename and dbremove.
This commit is contained in:
parent
9cab593c0e
commit
641cddf0fa
|
@ -562,6 +562,9 @@ class BasicTestCase(unittest.TestCase):
|
||||||
num = d.truncate()
|
num = d.truncate()
|
||||||
assert num == 0, "truncate on empty DB returned nonzero (%r)" % (num,)
|
assert num == 0, "truncate on empty DB returned nonzero (%r)" % (num,)
|
||||||
|
|
||||||
|
#----------------------------------------
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
@ -583,18 +586,40 @@ class BasicHashWithThreadFlagTestCase(BasicTestCase):
|
||||||
dbopenflags = db.DB_THREAD
|
dbopenflags = db.DB_THREAD
|
||||||
|
|
||||||
|
|
||||||
class BasicBTreeWithEnvTestCase(BasicTestCase):
|
class BasicWithEnvTestCase(BasicTestCase):
|
||||||
|
dbopenflags = db.DB_THREAD
|
||||||
|
useEnv = 1
|
||||||
|
envflags = db.DB_THREAD | db.DB_INIT_MPOOL | db.DB_INIT_LOCK
|
||||||
|
|
||||||
|
#----------------------------------------
|
||||||
|
|
||||||
|
def test07_EnvRemoveAndRename(self):
|
||||||
|
if not self.env:
|
||||||
|
return
|
||||||
|
|
||||||
|
if verbose:
|
||||||
|
print '\n', '-=' * 30
|
||||||
|
print "Running %s.test07_EnvRemoveAndRename..." % self.__class__.__name__
|
||||||
|
|
||||||
|
# can't rename or remove an open DB
|
||||||
|
self.d.close()
|
||||||
|
|
||||||
|
newname = self.filename + '.renamed'
|
||||||
|
self.env.dbrename(self.filename, None, newname)
|
||||||
|
self.env.dbremove(newname)
|
||||||
|
|
||||||
|
# dbremove and dbrename are in 4.1 and later
|
||||||
|
if db.version() < (4,1):
|
||||||
|
del test07_EnvRemoveAndRename
|
||||||
|
|
||||||
|
#----------------------------------------
|
||||||
|
|
||||||
|
class BasicBTreeWithEnvTestCase(BasicWithEnvTestCase):
|
||||||
dbtype = db.DB_BTREE
|
dbtype = db.DB_BTREE
|
||||||
dbopenflags = db.DB_THREAD
|
|
||||||
useEnv = 1
|
|
||||||
envflags = db.DB_THREAD | db.DB_INIT_MPOOL | db.DB_INIT_LOCK
|
|
||||||
|
|
||||||
|
|
||||||
class BasicHashWithEnvTestCase(BasicTestCase):
|
class BasicHashWithEnvTestCase(BasicWithEnvTestCase):
|
||||||
dbtype = db.DB_HASH
|
dbtype = db.DB_HASH
|
||||||
dbopenflags = db.DB_THREAD
|
|
||||||
useEnv = 1
|
|
||||||
envflags = db.DB_THREAD | db.DB_INIT_MPOOL | db.DB_INIT_LOCK
|
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
|
|
|
@ -128,6 +128,10 @@ Extension Modules
|
||||||
- Because of a misspelled preprocessor symbol, ctypes was always
|
- Because of a misspelled preprocessor symbol, ctypes was always
|
||||||
compiled without thread support; this is now fixed.
|
compiled without thread support; this is now fixed.
|
||||||
|
|
||||||
|
- pybsddb Bug #1527939: bsddb module DBEnv dbremove and dbrename
|
||||||
|
methods now allow their database parameter to be None as the
|
||||||
|
sleepycat API allows.
|
||||||
|
|
||||||
Tests
|
Tests
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,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.4.4"
|
#define PY_BSDDB_VERSION "4.4.5"
|
||||||
static char *rcs_id = "$Id$";
|
static char *rcs_id = "$Id$";
|
||||||
|
|
||||||
|
|
||||||
|
@ -3876,7 +3876,7 @@ DBEnv_dbremove(DBEnvObject* self, PyObject* args, PyObject* kwargs)
|
||||||
static char* kwnames[] = { "file", "database", "txn", "flags",
|
static char* kwnames[] = { "file", "database", "txn", "flags",
|
||||||
NULL };
|
NULL };
|
||||||
|
|
||||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ss|Oi:dbremove", kwnames,
|
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|zOi:dbremove", kwnames,
|
||||||
&file, &database, &txnobj, &flags)) {
|
&file, &database, &txnobj, &flags)) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -3904,7 +3904,7 @@ DBEnv_dbrename(DBEnvObject* self, PyObject* args, PyObject* kwargs)
|
||||||
static char* kwnames[] = { "file", "database", "newname", "txn",
|
static char* kwnames[] = { "file", "database", "newname", "txn",
|
||||||
"flags", NULL };
|
"flags", NULL };
|
||||||
|
|
||||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "sss|Oi:dbrename", kwnames,
|
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "szs|Oi:dbrename", kwnames,
|
||||||
&file, &database, &newname, &txnobj, &flags)) {
|
&file, &database, &newname, &txnobj, &flags)) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue