[ZODB-Dev] ZODB3 3.3 alpha 1 released

Jeremy Hylton jeremy at zope.com
Thu Jul 17 23:42:42 EDT 2003


On Thu, 17 Jul 2003 22:12:50 -0400
 "Tim Peters" <tim at zope.com> wrote:
> [Jeremy]
> > We should be in pretty good shape, because Persistent
> > objects aren't pickled directly.  Instead they're
> pickled
> > in two parts -- the class metadata and the instance
> state.
> >  I don't think either of those should depend on
> > ExtensionClass.  I expect an existing database would
> work
> > correctly with 3.3a1.
> 
> I'll believe it when I see it <wink>.  Python's
> unpicklers in 2.3 still
> contain warts to detect stuff unique to
> ExtensionClass-ish pickles, in which
> case they try to call a __basicnew__ method that will
> presumably no longer
> exist (in ZODB3 3.3).  Maybe ZODB's flavor of pickles
> don't trigger that,
> though.

ZODB won't trigger that unless there is a non-Persistent
instance of ExtensionClass in the database.  The code won't
work at all in that case, though, because we've removed
ExtensionClass from the release.

In all cases, ZODB creates its own instances by calling
__new__() on the class loaded from the class metadata.
 See, for example, _persistent_load() in
ZODB/Connection.py.

Jeremy



More information about the ZODB-Dev mailing list