Log message for revision 30982:
  Implement loadEx for ZEO-mounted tempstorages to work properly under ZODB 3.3.

  U   Zope/trunk/lib/python/tempstorage/TemporaryStorage.py

Modified: Zope/trunk/lib/python/tempstorage/TemporaryStorage.py
--- Zope/trunk/lib/python/tempstorage/TemporaryStorage.py       2005-07-02 
09:07:15 UTC (rev 30981)
+++ Zope/trunk/lib/python/tempstorage/TemporaryStorage.py       2005-07-02 
19:10:53 UTC (rev 30982)
@@ -120,6 +120,25 @@
+    # Apparently loadEx is required to use this as a ZEO storage for
+    # ZODB 3.3.  There are no docs for loadEx, and the tests don't
+    # make it totally clear what it's meant to do.  In MappingStorage,
+    # it has the same argument signature and returns the same thing
+    # that load does, so we do the same here.  There is a comment in
+    # FileStorage about its loadEx method implementation that says "a
+    # variant of load that also returns a transaction id.  ZEO wants
+    # this for managing its cache".  But 'load' appears to do that
+    # too, so uh, who knows.  Apparently it also has something to do
+    # with the ZODB iteration interface, because it's tested within
+    # the IteratorStorage tests, although we don't need to support the
+    # iterator interface for ZEO to work, so we don't.  MVCC, despite
+    # descriptions to the contrary on the Wiki doesn't actually need
+    # the iterator interface either.  Just doing my duty to promote
+    # the lost art of voodoo programming here, there's no need to
+    # thank me! - CM
+    loadEx = load
     def loadSerial(self, oid, serial, marker=[]):
         """ this is only useful to make conflict resolution work.  It
         does not actually implement all the semantics that a revisioning

Zope-Checkins maillist  -  Zope-Checkins@zope.org

Reply via email to