pkgsrc/textproc/xapian
schmonz e7e047bf29 Update to 1.4.20. From the changelog:
API:

* Throw DatabaseNotFoundError when the database directory doesn't exist or
  when it doesn't contain a Xapian database.  Patch from Germán Méndez Bravo
  in https://github.com/xapian/xapian/pull/258

* Improve exception message for attempting to remove an empty term (the
  exception type is still InvalidArgumentError).  Reported by David Bremner.

testsuite:

* Enable queryparser testcase for OR under NEAR, which has been supported since
  1.4.3.

* Expand some query-related testcases.

matcher:

* Optimise when a value range is a superset of the slot bounds but the value
  slot frequency is not equal to the document count by replacing the lower
  bound with an empty string to make the bounds check very cheap.

* Avoid creating a PostList tree for an empty shard.  This avoids pointless
  work in an uncommon case, but also by handling this up front the code in
  PostList subclasses for query operators can assume the shard isn't empty
  which simplifies the code in several places.

* Remove lingering handling for database backends without slot bounds since
  all backends have been required to support these since 1.4.11.

* Fix collection frequency estimates for positional operators.  This affects
  the weighting of positional operators in subqueries of OP_SYNONYM with
  weighting schemes which use the collection frequency.

glass backend:

* xapian-check: Test decompress data in the spelling and synonym tables.
  We don't have structure checking for these tables, but we can at least fetch
  each entry and check for decompression problems.

* Improve error if a block is detected as overwritten in WritableDatabase.
  Drop "are there multiple writers?" as it's rarely a useful question to ask
  since we started using fcntl() locking as it's now very hard to get multiple
  concurrent writers on a database.  Instead suggest running xapian-check,
  which is probably the best next step for a user who hits this problem.

documentation:

* Document precedence of NEAR and ADJ.

* INSTALL: Note that MSVS 2022 works.

tools:

* quest: Add --freqs option to show term frequencies.

* xapian-delve -v: Show value slot bounds and freq

portability:

* Fix to build with a C++20 compiler.

* configure now probes for a declaration of strerror_r() before using it, since
  a declaration is required in C++ code.

* MSVC: Use intrinsics to implement addition with overflow check.

Bindings:

* Enable -fvisibility-inlines-hidden option if the compiler supports it.

PHP7:

* Add missing reference tracking. XapianEnquire now keeps a reference to the
  current XapianSorter object (if any).  XapianQueryParser now keeps a
  reference to any set XapianFieldProcessor objects.  Test coverage for keeping
  references to set functor objects is now more comprehensive.

* smoketest.php: Remove bogus extra null parameters.  PHP ignores these extra
  parameters, but it's more helpful to be testing valid usage.

Python3:

* The configure probes for Python3 no longer use the deprecated distutils and
  imp modules (both of which are slated for removal in Python 3.12).  We now
  use sysconfig to get the directory to install the xapian module to, which may
  result in it being installed in a different place (it should still work, but
  if you're packaging the bindings you may need to update the list of files to
  include in the package).
2022-07-11 18:25:18 +00:00
..
patches Update to 1.4.20. From the changelog: 2022-07-11 18:25:18 +00:00
patches-bindings Update to 1.4.20. From the changelog: 2022-07-11 18:25:18 +00:00
buildlink3.mk
DESCR
distinfo Update to 1.4.20. From the changelog: 2022-07-11 18:25:18 +00:00
distinfo-bindings Update to 1.4.20. From the changelog: 2022-07-11 18:25:18 +00:00
Makefile
Makefile.common Update to 1.4.20. From the changelog: 2022-07-11 18:25:18 +00:00
module.mk
PLIST