[ZODB-Dev] Converting from 3.2 to 3.3
Syver Enstad
syver at inout.no
Thu Nov 4 09:28:01 EST 2004
Syver Enstad <syver at inout.no> writes:
> It seems to go well until I try to access a BTree in my root object.
>
> This is the repr string for it.
> <persistent broken IndexedCatalog.BTrees.IOBTree.IOBTree instance '\x00\x00\x00\x00\x00\x00\x00\x02'>
>
> How do I get around this?
>
I found a way around this problem:
The IndexedCatalog module does the following when it is present but I
can't use it with ZODB 3.3 so... If I make a module under 3.3 with
this content I get it to work
import BTrees
import sys
sys.modules['IndexedCatalog.BTrees'] = BTrees
Now I just have the warning messages about using Persistence classes,
when looking at the output from fsdump.py I can indeed see that the
objects are listed as from the Persistance module (PersistentList and
so on). How can I convert the database so that it uses the new "module
path" for Persistent and load the IOBTree from BTrees instead of
relying on the hack above?
Examples from fsdump:
data #00013 oid=0000000000000003 class=IndexedCatalog.BTrees.IOBTree.IOBucket data #00002 oid=00000000000001ab class=Persistence.PersistentMapping
More information about the ZODB-Dev
mailing list