e7e047bf29
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). |
||
---|---|---|
.. | ||
patches | ||
patches-bindings | ||
buildlink3.mk | ||
DESCR | ||
distinfo | ||
distinfo-bindings | ||
Makefile | ||
Makefile.common | ||
module.mk | ||
PLIST |