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

  U   Zope/branches/Zope-2_8-branch/lib/python/tempstorage/TemporaryStorage.py

--- Zope/branches/Zope-2_8-branch/lib/python/tempstorage/TemporaryStorage.py    
2005-07-02 19:10:53 UTC (rev 30982)
+++ Zope/branches/Zope-2_8-branch/lib/python/tempstorage/TemporaryStorage.py    
2005-07-02 19:11:38 UTC (rev 30983)
@@ -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