Update to 1.4.15. From the changelog:

API:

* Database::check(): Fix checking of replication changesets.  This reverts a
  change incorrectly made in 1.3.7.

* Database::locked(): Return false instead of true for a closed inmemory DB.

* Database::commit(): If commit() failed with an exception while trying to add
  pending changes (e.g. InvalidArgumentError due to a long term containing zero
  bytes) then a subsequent commit() on the same object would throw the same
  exception.  Now we clear the pending changes in this situation (like we
  already did for failure at other stages in the commit).  This bug remains
  unfixed for the chert backend as it's harder to fix there and the effort to
  fix it and extra risk of breakage don't seem justified for a backend we
  recommend people migrate away from.

* QueryParser::parse_query(): Optimise parsing of multi-word synonyms.

testsuite:

* Use 50-word synonym for qp_scale1 "large" case.  50 divides exactly into the
  number of repetitions we do for the "small" case, which 60 (as used before)
  doesn't.  This makes the two cases a little more comparable and should help
  make this testcase less flaky (see #764).

* Adjust testcase matches1 to work with remote shards where the matcher can
  return slightly better bounds on the number of matches in some cases.
  Resolves 2 XFAILs.

* The testharness get_remote_database() method is now supported for sharded
  databases.  This is needed for keepalive1 to run successfully under multi
  test backends.  Resolves 2 XFAILs of keepalive1.

* Improved test coverage:

  + Test locked() on a closed WritableDatabase, which already returns false (as
    expected) in 1.4.x (but was broken on master).

  + Check multi databases in testsuite - this has been supported by
    Database::check() since 1.4.12.

  + Also test OP_SYNONYM and OP_MAX in emptydb1.

  + Backport testcases boolorbug1, emptynot1, emptymaybe1 and
    phraseweightcheckbug1 from git master - these are regression tests for
    fixed bugs which only affected git master, but it's useful to confirm that
    these bugs don't currently affect 1.4, and ensure they don't get introduced.

* perftest: Store memory sizes as long long since on Microsoft Windows long is
  only 32 bits, which is less than common memory sizes.

matcher:

* Hoist positional check above OP_FILTER.

* Handle OP_FILTER with more than two subqueries correctly.  Previously we'd
  only check the first two subqueries in some situations.

remote backend:

* For a remote WritableDatabase, the client now keeps track of whether there
  are pending changes, and if there aren't then we now do nothing for commit()
  or cancel() calls.  In particular this saves a message exchange when the
  WritableDatabase destructor is called when changes have already been
  committed with an explicit call to commit() (which is what we recommend
  doing, since with an explicit call to commit() you get to see any exception
  which gets thrown).

* When closing a remote prog WritableDatabase, previously an exception could
  leave the remote connection open with the remote server running, and we'd
  then wait for the specified timeout before closing the connection.  Now we
  close the connection before letting the exception propagate.

* Don't swallow exceptions from Database::close() on a remote database.  If
  we aren't in a transaction and so try to commit() and that fails then
  previously the caller would have no indication of the failure.

* Fix handling the reported term weight when remote shards are searched.
  Fixes 5 XFAILs in the testsuite.

* Add missing space to mismatching protocol versions error message.

build system:

* Fix to build when configured with --disable-backend-remote, broken by changes
  in 1.4.14.  Fixes #797, reported by Дилян Палаузов.

* The clang and icc compilers both define __GNUC__, which led our ABI mismatch
  message to report them as "g++" with a bogus version (the version of GCC that
  these compilers advertise themselves as, which for clang is always 4.2.0) -
  now we report clang++ or icc along with the actual version of that compiler.

documentation:

* AUTHORS: Apply missed update to the thankyou list for 1.4.14.

* INSTALL: Note that MSVC 2019 works.

* INSTALL: Note that Xapian can use the system uuid.h on AIX and OpenBSD.

portability:

* Simplify probes for snprintf.  The broken snprintf in libbsd in Linux libc4
  is from ~25 years ago so way too ancient to matter now, and all callers
  already handle the pre-ISO semantics of returning -1 for an undersize buffer
  so we don't need to run a test program to probe for this at configure time,
  which is more cross-compile friendly.

* Don't quote messages in #error - the quotes aren't required and appear in the
  compiler output (at least with GCC and clang) making it less readable.

* Use a different approach for getting a 64-bit capable stat() for mingw32.
  This means we now use the same stat variant for mingw32 and MSVC, which
  seems a better plan.

* Work around unhelpful config.status behaviour.  It comments out any #undef
  lines in config.h, even those added via AH_TOP and AH_BOTTOM.  Splitting
  these lines means they don't match the regex hammer config.status uses.

* Avoid -Wdeprecated-copy warnings from clang 10.

* Avoid deprecation warning on recent Linux.  We were including sys/sysctl.h if
  it existed, which it does on Linux but we don't actually use it there.
  Including it now warns that it is deprecated, so skip including it under
  Linux.  Reported on IRC by kumaran.

* Suppress GCC -Wduplicated-branches warning from our API headers in a
  different way which avoids needing a compiler-specific #pragma.

* Workaround closefrom1 failure on macOS.  It seems under macOS our fd tracking
  can end up using fd 10 so start from 13 when testing closefrom() so we don't
  close the fd which our fd tracking is using internally.

debug code:

* Log RemoteConnection::read_at_least() return value.
This commit is contained in:
schmonz 2020-02-25 17:55:30 +00:00
parent f129c8db3d
commit 2a1fe770ea
4 changed files with 15 additions and 15 deletions

View file

@ -1,4 +1,4 @@
# $NetBSD: Makefile.common,v 1.10 2019/12/17 03:52:58 schmonz Exp $
# $NetBSD: Makefile.common,v 1.11 2020/02/25 17:55:30 schmonz Exp $
# used by textproc/csharp-xapian/Makefile
# used by textproc/lua-xapian/Makefile
# used by textproc/p5-Xapian/Makefile
@ -9,7 +9,7 @@
# used by textproc/xapian/Makefile
# used by textproc/xapian-omega/Makefile
VERSION= 1.4.14
VERSION= 1.4.15
CATEGORIES= textproc
MASTER_SITES= http://oligarchy.co.uk/xapian/${VERSION}/
EXTRACT_SUFX= .tar.xz

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.16 2019/08/02 21:28:12 schmonz Exp $
@comment $NetBSD: PLIST,v 1.17 2020/02/25 17:55:30 schmonz Exp $
bin/copydatabase
bin/quest
bin/simpleexpand
@ -359,7 +359,6 @@ share/doc/xapian-core/apidoc/html/files.html
share/doc/xapian-core/apidoc/html/folderclosed.png
share/doc/xapian-core/apidoc/html/folderopen.png
share/doc/xapian-core/apidoc/html/functions.html
share/doc/xapian-core/apidoc/html/functions_0x7e.html
share/doc/xapian-core/apidoc/html/functions_b.html
share/doc/xapian-core/apidoc/html/functions_c.html
share/doc/xapian-core/apidoc/html/functions_d.html
@ -368,7 +367,6 @@ share/doc/xapian-core/apidoc/html/functions_enum.html
share/doc/xapian-core/apidoc/html/functions_eval.html
share/doc/xapian-core/apidoc/html/functions_f.html
share/doc/xapian-core/apidoc/html/functions_func.html
share/doc/xapian-core/apidoc/html/functions_func_0x7e.html
share/doc/xapian-core/apidoc/html/functions_func_b.html
share/doc/xapian-core/apidoc/html/functions_func_c.html
share/doc/xapian-core/apidoc/html/functions_func_d.html
@ -390,6 +388,7 @@ share/doc/xapian-core/apidoc/html/functions_func_t.html
share/doc/xapian-core/apidoc/html/functions_func_u.html
share/doc/xapian-core/apidoc/html/functions_func_v.html
share/doc/xapian-core/apidoc/html/functions_func_w.html
share/doc/xapian-core/apidoc/html/functions_func_~.html
share/doc/xapian-core/apidoc/html/functions_g.html
share/doc/xapian-core/apidoc/html/functions_h.html
share/doc/xapian-core/apidoc/html/functions_i.html
@ -408,6 +407,7 @@ share/doc/xapian-core/apidoc/html/functions_u.html
share/doc/xapian-core/apidoc/html/functions_v.html
share/doc/xapian-core/apidoc/html/functions_vars.html
share/doc/xapian-core/apidoc/html/functions_w.html
share/doc/xapian-core/apidoc/html/functions_~.html
share/doc/xapian-core/apidoc/html/geospatial_8h.html
share/doc/xapian-core/apidoc/html/globals.html
share/doc/xapian-core/apidoc/html/globals_defs.html

View file

@ -1,9 +1,9 @@
$NetBSD: distinfo,v 1.38 2019/12/19 22:24:39 joerg Exp $
$NetBSD: distinfo,v 1.39 2020/02/25 17:55:30 schmonz Exp $
SHA1 (xapian-core-1.4.14.tar.xz) = 17527a8bfa8254d3755b4b482157c245f33ea53d
RMD160 (xapian-core-1.4.14.tar.xz) = bc94fe04ae8b8e7eb3505524a31a532dca58a802
SHA512 (xapian-core-1.4.14.tar.xz) = c08c9abe87e08491566b7cfa8cda9e2a80e4959a647428b6d82bce7af1c967b4cb463607ffb8976372a980c163923ced36117a66e0b5a1f35659393def3d371b
Size (xapian-core-1.4.14.tar.xz) = 2970624 bytes
SHA1 (xapian-core-1.4.15.tar.xz) = ad352d25fe85355b9a4b59e9f5cd33c207893861
RMD160 (xapian-core-1.4.15.tar.xz) = 065ff86a68c1c0fd8cae619c7a313a9611b45c02
SHA512 (xapian-core-1.4.15.tar.xz) = f28209acae12a42a345382668f7f7da7a2ce5a08362d0e2af63c9f94cb2adca95366499a7afa0bd9008fbfcca4fd1f2c9221e594fc2a2c740f5899e9f03ecad3
Size (xapian-core-1.4.15.tar.xz) = 2988752 bytes
SHA1 (patch-common_errno__to__string.cc) = 222b640aa1cdacb6f9ada78671ef414b4ca11e26
SHA1 (patch-common_safesyssocket.h) = 032d441853914d510bc285bb682a98c4ee264d52
SHA1 (patch-xapian-config.in) = 470d1de7f04b8b8817abbcf56b5b71a36948de97

View file

@ -1,9 +1,9 @@
$NetBSD: distinfo-bindings,v 1.16 2019/12/17 03:52:58 schmonz Exp $
$NetBSD: distinfo-bindings,v 1.17 2020/02/25 17:55:30 schmonz Exp $
SHA1 (xapian-bindings-1.4.14.tar.xz) = 3589216601876c88362565e0e6a1475a6c09c8d7
RMD160 (xapian-bindings-1.4.14.tar.xz) = 3b1bd8bf54ae3708404b428341ac7874bb5bf7be
SHA512 (xapian-bindings-1.4.14.tar.xz) = 6d35c6c011c6d841254934f4dd59f4a2b842fe826af108e526cde9acbccec67b43517974331b21cbee5e828d0743aa5b9b973a96e1940065fbcfc342b8f23ead
Size (xapian-bindings-1.4.14.tar.xz) = 1132008 bytes
SHA1 (xapian-bindings-1.4.15.tar.xz) = 04626b5eda40ad1b3f4f2c60c344ce1fca5fff53
RMD160 (xapian-bindings-1.4.15.tar.xz) = f5c0827821d19c062fd7e5fe77e9a6b11462cbec
SHA512 (xapian-bindings-1.4.15.tar.xz) = dec8a0431c9070fc70d79b67bddc2e0adb10ef5366c4b9d7a135365ea6c6680d2e7682dbfd60c29eca51da48eaa0715509e30b13d5482d5a38bfd0d0156c43f9
Size (xapian-bindings-1.4.15.tar.xz) = 1132248 bytes
SHA1 (patch-configure) = d1c3edf1efcd105aef23bf9245650971f8df6ced
SHA1 (patch-lua_Makefile.in) = 7f1c5077f0d46dfdf33c2b65f144bb08d5031330
SHA1 (patch-perl_Makefile.in) = 993b137b319d7d28c2b3a70d2e46e1a38d380578