[Zope-Checkins] CVS: ZODB3/BDBStorage - BDBFullStorage.py:1.44.4.5
Barry Warsaw
barry@zope.com
Fri, 13 Jun 2003 16:46:28 -0400
Update of /cvs-repository/ZODB3/BDBStorage
In directory cvs.zope.org:/tmp/cvs-serv25712
Modified Files:
Tag: ZODB3-3_1-branch
BDBFullStorage.py
Log Message:
_dotxnundo(), _collect_objs(): Back port two fixes from the ZODB 3
trunk. One which fixes the data put into the currentVersions table
and another which ignores a valid missing key situation.
=== ZODB3/BDBStorage/BDBFullStorage.py 1.44.4.4 => 1.44.4.5 ===
--- ZODB3/BDBStorage/BDBFullStorage.py:1.44.4.4 Mon Jan 27 18:19:01 2003
+++ ZODB3/BDBStorage/BDBFullStorage.py Fri Jun 13 16:46:27 2003
@@ -1192,7 +1192,7 @@
self._prevrevids.put(oid, prevrevid, txn=txn)
self._txnoids.put(newserial, oid, txn=txn)
if vid <> ZERO:
- self._currentVersions.put(oid, vid, txn=txn)
+ self._currentVersions.put(vid, revid, txn=txn)
self._oids.put(oid, PRESENT, txn=txn)
rtnoids[oid] = 1
# Add this object revision to the autopack table
@@ -1579,8 +1579,12 @@
if vid <> ZERO:
cv = self._currentVersions.cursor(txn=txn)
try:
- cv.set_both(vid, revid)
- cv.delete()
+ try:
+ cv.set_both(vid, revid)
+ except db.DBNotFoundError:
+ pass
+ else:
+ cv.delete()
finally:
cv.close()
# BAW: maybe we want to refcount vids and versions table