-----Original Message----- From: - [mailto:kedai@kedai.com.my] Sent: Monday, January 24, 2000 9:13 PM To: zope@zope.org Subject: [Zope] Zcatalog and random numerical key error
hi all,
situation: got a zclass, that is catalog aware. when searches are made, some return results, while other times it returns random numerical key error. i remembered seeing this symptom on zope.org last year. but it has now disappeared. anybody got a clue on what's going on?
Your Catalog has gotten out of sync, just click 'Update Catalog' and it will fix itself. It's due to asking for uid of a record that is no longer cataloged. I don't know what could have caused it in your case, probably something in your DTML methods for the ZClass.
-Michel
On 25 Jan 2000 07:20:00 -0600, Michel Pelletier wrote:
From: - [mailto:kedai@kedai.com.my]
situation: got a zclass, that is catalog aware. when searches are made, some return results, while other times it returns random numerical key error. i remembered seeing this symptom on zope.org last year. but it has now disappeared. anybody got a clue on what's going on?
Your Catalog has gotten out of sync, just click 'Update Catalog' and it will fix itself. It's due to asking for uid of a record that is no longer cataloged. I don't know what could have caused it in your case, probably something in your DTML methods for the ZClass.
I have a similar situation where I have nested ZClass instances which catalog property changes with:
<dtml-call "propertysheets.za_items.manage_changeProperties(REQUEST)"> <dtml-call reindex_object>
The problem is apparently that the base instance contains the catalog, the catalog got out of sync, I 'updated' and all objects *except* the base instance recovered. I can't edit the base instance properties without removing the above lines from ZClass property edit method.
File /opt1/pkg/share/zope/lib/python/Products/ZCatalog/Catalog.py, line 373, in uncatalogObject
Error type: ValueError Error value: Uncatalog of absent id 'utips'
Now I suppose the catalog should be above the base instance, but I need for each ZClass instance tree to have its own catalog. As long as the catalog doesn't get out of sync, or I don't delete the catalog or the catalog item that refers to the base instance, all is ok.
How do I get around the problem of 'uncataloging' a catalog id that doesn't exist when I want to update a catalog-aware instance?
Thanks