[Zope3-checkins] CVS: Zope3/src/zodb/storage - file.py:1.8.4.12
Jeremy Hylton
jeremy@zope.com
Wed, 12 Mar 2003 12:52:57 -0500
Update of /cvs-repository/Zope3/src/zodb/storage
In directory cvs.zope.org:/tmp/cvs-serv19962
Modified Files:
Tag: opaque-pickles-branch
file.py
Log Message:
Improve readability of commitVersion implementation.
=== Zope3/src/zodb/storage/file.py 1.8.4.11 => 1.8.4.12 ===
--- Zope3/src/zodb/storage/file.py:1.8.4.11 Wed Mar 12 12:33:11 2003
+++ Zope3/src/zodb/storage/file.py Wed Mar 12 12:52:54 2003
@@ -683,7 +683,7 @@
def abortVersion(self, src, transaction):
return self.commitVersion(src, '', transaction, abort=True)
- def commitVersion(self, src, dest, transaction, abort=None):
+ def commitVersion(self, src, dest, transaction, abort=False):
# We are going to commit by simply storing back pointers.
if self._is_read_only:
raise ReadOnlyError()
@@ -708,7 +708,7 @@
finally:
self._lock_release()
- def _commitVersion(self, src, dest, transaction, abort=None):
+ def _commitVersion(self, src, dest, transaction, abort=False):
# call after checking arguments and acquiring lock
srcpos = self._vindex.get(src, 0)
spos = p64(srcpos)
@@ -718,20 +718,23 @@
# always 0
middle = struct.pack(">QHIQ", self._pos, len(dest), 0, 0)
- # Argh! what does heredelta mean?
+ # recsize is the total size of a data record written by
+ # commit version. The var here stores the location of the
+ # current data record. here is incremented by recsize
+ # each time we write an object record.
+
+ # Add 8 to header size to account for backpointer.
if dest:
sd = p64(self._vindex.get(dest, 0))
- heredelta = 66 + len(dest)
+ recsize = DATA_VERSION_HDR_LEN + 8 + len(dest)
else:
sd = ''
- heredelta = 54
+ recsize = DATA_HDR_LEN + 8
here = self._pos + self._tfile.tell() + self._thl
oids = []
current_oids = {}
- t = None
- tstatus = ' '
- if abort is None:
+ if not abort:
newserial = self._serial
while srcpos:
@@ -758,10 +761,11 @@
self._tfile.write(abort and p64(h.pnv) or spos)
# data backpointer to src data
- here += heredelta
+ here += recsize
current_oids[h.oid] = 1
else:
+ # XXX I don't understand this branch. --jeremy
# Hm. This is a non-current record. Is there a
# current record for this oid?
if not current_oids.has_key(h.oid):