I've got a Data.fs which has been gradually moved from Zope version to zope version (it's quite possible that the same Data.fs was originally a Data.bbb!) We've been getting the SearchIndex deprecation warning for some time, and I'd like to fix it - as far as I can tell, it's caused by some ZCatalog objects in the ZODB that were created back when using SearchIndex was the hip'n'groovy way to impress the other catalog objects. Short of manually deleting and re-creating all the ZCatalog objects in the ZODB, is there a way to get these puppies updated to get rid of the warnings? Thanks, Anthony -- Anthony Baxter <anthony@interlink.com.au> It's never too late to have a happy childhood.
Anthony Baxter wrote:
I've got a Data.fs which has been gradually moved from Zope version to zope version (it's quite possible that the same Data.fs was originally a Data.bbb!)
We've been getting the SearchIndex deprecation warning for some time, and I'd like to fix it - as far as I can tell, it's caused by some ZCatalog objects in the ZODB that were created back when using SearchIndex was the hip'n'groovy way to impress the other catalog objects.
Short of manually deleting and re-creating all the ZCatalog objects in the ZODB, is there a way to get these puppies updated to get rid of the warnings?
Thanks, Anthony
Well, the *sneaky* way to do it would be a funky one-time mod to the object's __setstate__ method -- but I caution against excessive sneakiness as potentially very frustrating to get right. My inclination would be to write a one time "search and replace" method which crawled the ZODB looking for such objects and replaced them with newer versions. -- Matt Kromer Zope Corporation http://www.zope.com/
Matthew T. Kromer <matt@zope.com> wrote:
Well, the *sneaky* way to do it would be a funky one-time mod to the object's __setstate__ method -- but I caution against excessive sneakiness as potentially very frustrating to get right.
Which makes me think... I don't find right now were was the thread that lead to this change: http://cvs.zope.org/Zope3/lib/python/Persistence/cPersistence.c.diff?r1=1.9&... But doesn't that mean that if an object is changed during its __setstate__ but not after, those changes won't get persisted (because just after __setstate__ the object reverts to UPTODATE) ? Florent -- Florent Guillaume, Nuxeo (Paris, France) +33 1 40 33 79 87 http://nuxeo.com mailto:fg@nuxeo.com
participants (3)
-
Anthony Baxter -
Florent Guillaume -
Matthew T. Kromer