Commit ed534cf2 authored by Barry Warsaw's avatar Barry Warsaw

_search_before(): My brain told me to fix the calculation of the start_tid for

when we're looking at version data.
parent dc066075
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
"""Berkeley storage with full undo and versioning support. """Berkeley storage with full undo and versioning support.
$Revision: 1.78 $ $Revision: 1.79 $
""" """
import time import time
...@@ -972,10 +972,19 @@ class BDBFullStorage(BerkeleyBase, ConflictResolvingStorage): ...@@ -972,10 +972,19 @@ class BDBFullStorage(BerkeleyBase, ConflictResolvingStorage):
vid, nvrevid, lrevid = unpack(">8s8s8s", rec[:24]) vid, nvrevid, lrevid = unpack(">8s8s8s", rec[:24])
if vid == ZERO: if vid == ZERO:
revid = lrevid revid = lrevid
start_tid = key[8:]
else: else:
revid = nvrevid revid = start_tid = nvrevid
while True:
rec = c.next()
if rec is None or rec[0][:8] <> oid:
end_tid = None
break
vid = rec[1][:8]
if vid == ZERO:
end_tid = rec[0][8:]
break
data = self._pickles[oid+revid] data = self._pickles[oid+revid]
start_tid = key[8:]
return data, start_tid, end_tid return data, start_tid, end_tid
def _getTidMissingOk(self, oid): def _getTidMissingOk(self, oid):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment