[Zope3-checkins] CVS: ZODB4/src/zodb/zeo - cache.py:1.7

Jeremy Hylton jeremy@zope.com
Fri, 20 Jun 2003 13:54:16 -0400


Update of /cvs-repository/ZODB4/src/zodb/zeo
In directory cvs.zope.org:/tmp/cvs-serv10021

Modified Files:
	cache.py 
Log Message:
Fix bug in load() corner case and add test case.


=== ZODB4/src/zodb/zeo/cache.py 1.6 => 1.7 ===
--- ZODB4/src/zodb/zeo/cache.py:1.6	Fri Jun 20 13:04:52 2003
+++ ZODB4/src/zodb/zeo/cache.py	Fri Jun 20 13:53:45 2003
@@ -373,10 +373,15 @@
                 if dlen:
                     data = read(dlen)
                     self._trace(0x2A, oid, version, h[19:], dlen)
+                    # If vlen, then we don't have the version info to
+                    # pass to copytocurrent().
+                    if vlen:
+                        vheader = read(vlen)
+                    else:
+                        vheader = None
                     if (p < 0) != self._current:
-                        # if vlen and not version, then we don't copy
-                        # the version data to the new file.
-                        self._copytocurrent(ap, tlen, dlen, 0, h, oid, data)
+                        self._copytocurrent(ap, tlen, dlen, vlen, h, oid,
+                                            data, vheader)
                     return data, h[19:]
                 else:
                     self._trace(0x26, oid, version)