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 _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins