On Jan 11, 2008, at 3:28 PM, Thomas Lotze wrote:
The ZEO ClientStorage.getExtensionMethods method is not specified by
interface currently, but probably it should be, and probably
a good place for it. Should we add the method to the interface?
Maybe. I bothered not to when I was working on the interfaces a few
months ago. See the thread starting:
current way of finding out whether a storage has that method, i.e.
to use it and catch the AttributeError, might then be changed into an
I know. At the time I got the interfaces in shape, I was thinking of
removing this feature. I didn't like it at all and am still a bit
ambivalent about it. I decided to compromise and leave it in the
implementation but out of the interfaces.
When working on packing recently, I realized I was frustrated because
I would have liked to have the option to change the signature. I
realized that it would have made more sense to have pack be not in the
storage API and handled as an extension method. After all, some
storages, in theory, don't even need packing. So I guess I'm much more
sympathetic to this idea than I was. :)
If we do keep this, I might want to be able to expose it a different
way. In particular, I'd maybe like these methods to be more ZEO aware.
For now, I think I'd prefer not to add this to the interface.
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org