[Zope3-Users] Catalog questions

Jim Fulton jim at zope.com
Mon Jun 6 16:11:35 EDT 2005


Kevin Dangoor wrote:
> I'm not sure if zope3-users is a more appropriate forum for this topic
> than zodb-dev (probably is, which is why I'm here). I'm working on
> (or, rather, have) a packaging of Zope 3.1's catalog for use with the
> standalone ZODB. Packaging this up brought up a couple of questions:
> 
> 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,

_p_oid is not an integer.

 > with a convenient API for
> moving back and forth between object and ID, why maintain two more
> btrees to hold this information?

To get integers and to get some indirection from the underlying storage,
which might not be 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?

No.  The main purpose of key references are to get valid keys.
Most objects are not valid persistent keys.

> Are the reference objects the place you would likely
> store metadata (I didn't see a facility in catalog itself for this)?

No.

> 3) I noticed that the .c extensions for the text index only have
> Python versions in 3.1. Was the performance difference not big enough
> to want to bring these across, or was it just a matter of amount of
> time available to get catalog running there?

Probably the later.  It probably wouldn't be hard.  The text index was
ported two years ago during a sprint.  I didn't even realize that anything
was left behind.

> All in all, making Zope 3.1's catalog work with standalone ZODB was a
> far more enjoyable experience than working with Zope 2.8's.

:)

> Later this week, I'll toss a tar file up with this packaged catalog
> for others to play around with.

Cool.

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