ExtensionClass misses ZODB persistent reference optimization
Bug #143657 reported by
Dieter Maurer
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Zope 2 |
Fix Released
|
Medium
|
Hanno Schlichting |
Bug Description
The ZODB implements an important optimization for persistent references:
it can include a class reference in a persistent reference
such that a ghost can be instanciated without loading the object.
In order for this optimization to be possible, the class must
not define "__getnewargs__". Unfortunately, "ExtensionClass
defines it and therefore prevents this optimization for
ExtensionClass instances (i.e. for all Zope2 objects).
The attached patch removes the "__getnewargs__" definition
from "ExtensionClass
accordingly and updates the tests.
Changed in zope2: | |
status: | Confirmed → Fix Committed |
To post a comment you must log in.
Status: Pending => Accepted
Supporters added: jim
Assinging to Jim for his evaluation (and to test mail delivery).