mirror of
https://github.com/python/cpython.git
synced 2025-10-21 14:12:27 +00:00
Merged revisions 58817-58861 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r58822 | brett.cannon | 2007-11-02 23:47:02 -0700 (Fri, 02 Nov 2007) | 2 lines Add a missing quotation mark. ........ r58840 | skip.montanaro | 2007-11-04 07:56:52 -0800 (Sun, 04 Nov 2007) | 2 lines Note change to get_dialect semantics in 2.5. Will backport to 2.5. ........ r58844 | georg.brandl | 2007-11-04 09:43:49 -0800 (Sun, 04 Nov 2007) | 2 lines Fix syntax for versionchanged markup. ........ r58850 | gregory.p.smith | 2007-11-04 18:32:26 -0800 (Sun, 04 Nov 2007) | 9 lines Fixes bug 477182 on pybsddb.sf.net. DB objects now load the flags and pay attention to them when opening an existing database. This means that d[] behaves properly even on databases previously created with DB_DUP or DB_DUPSORT flags to allow duplicate keys. http://sourceforge.net/tracker/index.php?func=detail&aid=477182&group_id=13900&atid=113900 Do not backport, this bugfix could be considered an API change. ........ r58851 | gregory.p.smith | 2007-11-04 18:56:31 -0800 (Sun, 04 Nov 2007) | 3 lines Add the bsddb.db.DBEnv.lock_id_free method. Improve test_lock's tempdir creation and cleanup. ........ r58852 | gregory.p.smith | 2007-11-05 01:06:28 -0800 (Mon, 05 Nov 2007) | 3 lines * db->get_types is only available in BerkeleyDB >= 4.2 * get compiling with older versions of python again for a stand alone release. ........ r58853 | gregory.p.smith | 2007-11-05 01:07:40 -0800 (Mon, 05 Nov 2007) | 2 lines * db->get_flags is only available in BerkeleyDB >= 4.2 ........ r58854 | mark.summerfield | 2007-11-05 01:22:48 -0800 (Mon, 05 Nov 2007) | 3 lines Added cross-references between the various archive file formats. ........ r58857 | mark.summerfield | 2007-11-05 06:38:50 -0800 (Mon, 05 Nov 2007) | 5 lines Clarified the fact that you can have comments for individual archive members even though comments to the archive itself aren't currently supported. ........
This commit is contained in:
parent
c4cb3b8aa1
commit
7767711f54
9 changed files with 93 additions and 33 deletions
|
@ -85,6 +85,34 @@ class MiscTestCase(unittest.TestCase):
|
|||
db1.close()
|
||||
os.unlink(self.filename)
|
||||
|
||||
def test_DB_set_flags_persists(self):
|
||||
if db.version() < (4,2):
|
||||
# The get_flags API required for this to work is only available
|
||||
# in BerkeleyDB >= 4.2
|
||||
return
|
||||
try:
|
||||
db1 = db.DB()
|
||||
db1.set_flags(db.DB_DUPSORT)
|
||||
db1.open(self.filename, db.DB_HASH, db.DB_CREATE)
|
||||
db1[b'a'] = b'eh'
|
||||
db1[b'a'] = b'A'
|
||||
self.assertEqual([(b'a', b'A')], db1.items())
|
||||
db1.put(b'a', b'Aa')
|
||||
self.assertEqual([(b'a', b'A'), (b'a', b'Aa')], db1.items())
|
||||
db1.close()
|
||||
db1 = db.DB()
|
||||
# no set_flags call, we're testing that it reads and obeys
|
||||
# the flags on open.
|
||||
db1.open(self.filename, db.DB_HASH)
|
||||
self.assertEqual([(b'a', b'A'), (b'a', b'Aa')], db1.items())
|
||||
# if it read the flags right this will replace all values
|
||||
# for key b'a' instead of adding a new one. (as a dict should)
|
||||
db1[b'a'] = b'new A'
|
||||
self.assertEqual([(b'a', b'new A')], db1.items())
|
||||
finally:
|
||||
db1.close()
|
||||
os.unlink(self.filename)
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue