[ZODB-Dev] ZODB 3.9/3.8 incompatibility (was Re: Data.fs size grows non-stop)

Marius Gedminas marius at gedmin.as
Thu Dec 10 05:58:11 EST 2009

On Wed, Dec 09, 2009 at 01:04:03PM -0500, Jim Fulton wrote:
> On Wed, Dec 9, 2009 at 12:06 PM, Marius Gedminas <marius at gedmin.as> wrote:
> ...
> > (Supporting both ZODB 3.8 and 3.9 is kinda tricky, but with some very
> > ugly hacks I managed.)
> This sounds like something that needs to be fixed. Can you share some of the
> issues you ran into? (Or maybe file bugs reports.)

Two issues only:

  * In ZODB 3.8 PersistentDict and PersistentMapping are unrelated
    classes, so if I want to have adapters for both, I have to register
    them separately in ZCML.  In ZODB 3.9, PersistentDict is an alias
    for PersistentMapping, so I get a ZCML configuration conflict error
    if I have adapter directives for both.

    Solved by defining a decoy class for one of the adapters so they
    don't conflict.

  * In ZODB 3.8, the 'version' argument of ClientStorage.history (as well
    as other kinds of storages, I suppose) is mandatory.  In ZODB 3.9
    it's gone.

    Solved by peeking into the method signature with inspect.getargspec()
    and supplying a version only if it's needed.

> In particular, I think it should be a goal that it isn't too hard to
> write code that works with both ZODB 3.8 and 3.9.

Normal code doesn't usually play with storage.history, I'd say, so I'm
not too peeved by having to do various contortions.

Marius Gedminas
Win32-API is wonderful : Full of things to wonder about...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://mail.zope.org/pipermail/zodb-dev/attachments/20091210/664d00b7/attachment.bin 

More information about the ZODB-Dev mailing list