Skip to main content

zc.catalog contains a number of extensions to the Zope 3 catalog

Project description

zc.catalog

zc.catalog is an extension to the Zope 3 catalog, Zope 3’s indexing and search facility. zc.catalog contains a number of extensions to the Zope 3 catalog, such as some new indexes, improved globbing and stemming support, and an alternative catalog implementation.

zc.catalog changes

The 1.2 line supports Zope 3.4/ZODB 3.8. The 1.1 line supports Zope 3.3/ZODB 3.7.

1.2dev

Features added

  • zc.catalog now can use 64-bit BTrees (“L”) as provided by ZODB 3.8.

  • Albertas Agejavas (alga@pov.lt) included the new CallableWrapper, for when the typical Zope 3 index-by-adapter story (zope.app.catalog.attribute) is unnecessary trouble, and you just want to use a callable. See callablewrapper.txt. This can also be used for other indexes based on the zope.index interfaces.

  • Extents now have a __len__. The current implementation defers to the standard BTree len implementation, and shares its performance characteristics: it needs to wake up all of the buckets, but if all of the buckets are awake it is a fairly quick operation.

  • A simple ISelfPoulatingExtent was added to the extentcatalog module for which populating is a no-op. This is directly useful for catalogs that are used as implementation details of a component, in which objects are indexed explicitly by your own calls rather than by the usual subscribers. It is also potentially slightly useful as a base for other self-populating extents.

1.1.1 (2007-3-17)

Bugs fixed

‘all_of’ would return all results when one of the values had no results. Reported, with test and fix provided, by Nando Quintana.

1.1 (2007-1-6)

Features removed

The queueing of events in the extent catalog has been entirely removed. Subtransactions caused significant problems to the code introduced in 1.0. Other solutions also have significant problems, and the win of this kind of queueing is qustionable. Here is a run down of the approaches rejected for getting the queueing to work:

  • _p_invalidate (used in 1.0). Not really designed for use within a transaction, and reverts to last savepoint, rather than the beginning of the transaction. Could monkeypatch savepoints to iterate over precommit transaction hooks but that just smells too bad.

  • _p_resolveConflict. Requires application software to exist in ZEO and even ZRS installations, which is counter to our software deployment goals. Also causes useless repeated writes of empty queue to database, but that’s not the showstopper.

  • vague hand-wavy ideas for separate storages or transaction managers for the queue. Never panned out in discussion.

1.0 (2007-1-5)

Bugs fixed

  • adjusted extentcatalog tests to trigger (and discuss and test) the queueing behavior.

  • fixed problem with excessive conflict errors due to queueing code.

  • updated stemming to work with newest version of TextIndexNG’s extensions.

  • omitted stemming test when TextIndexNG’s extensions are unavailable, so tests pass without it. Since TextIndexNG’s extensions are optional, this seems reasonable.

  • removed use of zapi in extentcatalog.

0.2 (2006-11-22)

Features added

  • First release on Cheeseshop.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zc.catalog-1.2b.tar.gz (32.3 kB view hashes)

Uploaded Source

Built Distribution

zc.catalog-1.2b-py2.4.egg (60.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page