[Zope-dev] Catalog improvements

Wolfram Kerber wk@gallileus.de
Tue, 20 Nov 2001 23:35:06 +0100


Hi,

i'm currently working on a product that allows to attach relational
information to zope-objects. It works quite well so far, but to further
enhance it i need to make some changes to the Catalog. I could perhaps
implement it as a separate product, but i strongly feel that those changes
are best applied to the Catalog itself, as they are of general use (i think)
and involve a lot of changes to the inner workings of the Catalog. In
particular i need the following:

- named/stored queries
these are precompiled queries, so they can be executed without parsing and
are easily cacheable
i.e. similar to what is implemented in CMFTopic, but stored in the Catalog
and a bit smarter

- caching support

- unions and intersections
sub-queries (i.e. queries that are directed at a certain index) should be
more flexibly combineable

I searched this mailing-list as well as zope.org to get an idea about what
has already been discussed and requested, and there seems to be some
interest in improving the Catalog. Some people even seem to have worked on
this, perhaps they could give an update on this? Possibly i don't have to
write everything from scratch...
I would have put this into a proposal, but there already are two proposals
that deal with the features i want, one is dedicated to
unions/intersections, the other (TopicIndexes) to performance issues (i
dont't know what's the status of these though, especially the first one is
rather old), and i don't want to hijack them without asking. As so often i
will need to complete my current project first, but would then like to help
in improving the Catalog for a more general use.

So, if there is interest, i would propose to collect some ideas and comments
about how a better Catalog should look like, how it could be best
implemented and how to organize this effort (with respect to the already
existing proposals).


--
Wolfram Kerber
Gallileus GmbH                   http://www.gallileus.info/