[Zope3-Users] Catalog questions

Jim Fulton jim at zope.com
Wed Jun 8 11:06:05 EDT 2005


Stephan Richter wrote:
> On Monday 06 June 2005 14:31, Kevin Dangoor wrote:
> 
>>1) the intid utility is used to maintain an object<->integer ID
>>mapping for use as a document ID in catalog indexes. Given that the
>>objects already have an integer ID, _p_oid, with a convenient API for
>>moving back and forth between object and ID, why maintain two more
>>btrees to hold this information?
> 
> 
> Not all objects you want to index might be in the ZODB. 
> 
> 
>>2) intid does not directly store an object pointer, but rather a
>>reference object. Is the purpose here to allow you to work with parts
>>of the result set without having to activate the original, potentially
>>large, objects? Are the reference objects the place you would likely
>>store metadata (I didn't see a facility in catalog itself for this)?
> 
> 
> Yeah, I think this is the design goal. I think storing annotations on the 
> reference objects is probably the right choice.

Sorry, I missed the second part of your answer.  You should not store meta data
on the reference objects.  You should use the reference objects (or intids) as
keys into data structures storing meta data.

Jim

-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the Zope3-users mailing list