[Zope-Checkins] SVN: Zope/trunk/lib/python/tempstorage/TemporaryStorage.py Implement loadEx for ZEO-mounted tempstorages to work properly under ZODB 3.3.

Chris McDonough chrism at plope.com
Sat Jul 2 15:10:53 EDT 2005


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

Changed:
  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 @@
         finally:
             self._lock_release()
 
+    # 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



More information about the Zope-Checkins mailing list