Zc.catalog

Latest version: v3.0

Safety actively analyzes 682387 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

1.4.0

==================

* Fixed a typo in ValueIndex addform and addMenuItem

* Use ``zope.container`` instead of ``zope.app.container``.

* Use ``zope.keyreference`` instead of ``zope.app.keyreference``.

* Use ``zope.intid`` instead of ``zope.app.intid``.

* Use ``zope.catalog`` instead of ``zope.app.catalog``.

1.3.0

==================

* Added hook point to allow extent catalog to be used with local UID sources.

1.2.0

==================

* Updated package meta-data.

* zc.catalog now can use 64-bit BTrees ("L") as provided by ZODB 3.8.

* Albertas Agejavas (algapov.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

=================

'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

================

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

================

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.

Page 3 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.