[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