[pypy-svn] r66713 - in pypy/branch/pyjitpl5/pypy/lib: . app_test
arigo at codespeak.net
arigo at codespeak.net
Fri Jul 31 11:30:15 CEST 2009
Author: arigo
Date: Fri Jul 31 11:30:15 2009
New Revision: 66713
Modified:
pypy/branch/pyjitpl5/pypy/lib/app_test/test_dbm_extra.py
pypy/branch/pyjitpl5/pypy/lib/dbm.py
Log:
No point in trying first with DBM_INSERT and then using DBM_REPLACE.
Modified: pypy/branch/pyjitpl5/pypy/lib/app_test/test_dbm_extra.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/lib/app_test/test_dbm_extra.py (original)
+++ pypy/branch/pyjitpl5/pypy/lib/app_test/test_dbm_extra.py Fri Jul 31 11:30:15 2009
@@ -31,3 +31,12 @@
d.setdefault('xyz', '123')
assert dict(d) == {'xyz': '123'}
d.close()
+
+def test_multiple_sets():
+ path = str(udir.join('test_dbm_extra.test_multiple_sets'))
+ d = dbm.open(path, 'c')
+ d['xyz'] = '12'
+ d['xyz'] = '3'
+ d['xyz'] = '546'
+ assert dict(d) == {'xyz': '546'}
+ assert d['xyz'] == '546'
Modified: pypy/branch/pyjitpl5/pypy/lib/dbm.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/lib/dbm.py (original)
+++ pypy/branch/pyjitpl5/pypy/lib/dbm.py Fri Jul 31 11:30:15 2009
@@ -71,9 +71,7 @@
data = datum()
data.dptr = c_char_p(value)
data.dsize = c_int(len(value))
- status = getattr(lib, funcs['store'])(self._aobj, dat, data, lib.DBM_INSERT)
- if status == 1:
- status = getattr(lib, funcs['store'])(self._aobj, dat, data, lib.DBM_REPLACE)
+ status = getattr(lib, funcs['store'])(self._aobj, dat, data, lib.DBM_REPLACE)
if getattr(lib, funcs['error'])(self._aobj):
getattr(lib, funcs['clearerr'])(self._aobj)
raise error("")
More information about the Pypy-commit
mailing list