ExtensionClass plans (was Re: [ZODB-Dev] Another ExtensionClass incompatibility: __pow__())
Greg Ward wrote:
Sigh. In addition to ignoring __r{add,sub,mul,div}__() methods, ExtensionClass also calls __pow__() differently.
(snip)
So what is the future of ExtensionClass, anyways?
I intend that Python 2.2 (or maybe 2.3) will make it irrelevent.
Are the little incompatibility bugs between classic Python classes and ExtensionClass ever going to be fixed?
Probably not by us. Patches are gratefully accepted. We are going to keep supporting it for a while at it's current level to support projects other than ZODB that require it.
Or has ExtensionClass been abandoned in favour of a future ZODB based on new-style Python 2.2 classes?
This is my plan. :)
If so, when will this future ZODB become reality?
I'm glad you asked. As part of our Zope 3 prototyping, we've begun moving toward a next generation of ZODB. We currently have an experimental ZODB that: - Doesn't require ExtensionClass - Does depend on new-style Python classes - Separates the Persistence and Transaction frameworks - Uses weak references in the cache - Uses a pure-python Persistent implementation (hence no BTrees). We will be creaing a C Persistent base class. All the fun is currently happening on the Zope-3x-branch branch of the Zope3 checkout. You can see the relevent ZODB pieces at: http://cvs.zope.org/Zope3/lib/python/Persistence/?only_with_tag=Zope-3x-bran... http://cvs.zope.org/Zope3/lib/python/Transaction/?only_with_tag=Zope-3x-bran... http://cvs.zope.org/Zope3/lib/python/ZODB/?only_with_tag=Zope-3x-branch Of course all of this is highly speculative at this point. Stay tuned. ;) Jim -- Jim Fulton mailto:jim@zope.com Python Powered! CTO (888) 344-4332 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org
participants (1)
-
Jim Fulton