Commit fc5185e0 authored by Shane Hathaway's avatar Shane Hathaway

commitVersion(): A rare circumstance was causing versions to be only

partially committed.  If an object is stored more than once in a
version during a single transaction (which is borderline behavior anyway)
and that object has been modified for the first time in the version,
the old logic would stop prematurely.
parent a5bca2a3
......@@ -184,7 +184,7 @@
# may have a back pointer to a version record or to a non-version
# record.
#
__version__='$Revision: 1.58 $'[11:-2]
__version__='$Revision: 1.59 $'[11:-2]
import struct, time, os, bpthread, string, base64, sys
from struct import pack, unpack
......@@ -513,9 +513,7 @@ class FileStorage(BaseStorage.BaseStorage,
write(abort and pnv or spos) # data backpointer to src data
here=here+heredelta
if h[16:24] != pnv:
# This is not the first current record, so mark it
current_oids[oid]=1
current_oids[oid]=1
else:
# Hm. This is a non-current record. Is there a
......
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