Tue Feb 12 19:21:18 2019 UTC ()
Xapian-core 1.4.10 (2019-02-12):

API:

* DatabaseClosedError: New exception class thrown instead of DatabaseError when
  an operation is attempted which can't be completed because it involves a
  database which close() was previously called on.  DatabaseClosedError is a
  subclass of DatabaseError so existing code catching DatabaseError will still
  work as before.  Fixes #772, reported by Germ叩n M. Bravo.  Patch from
  Vaibhav Kansagara.

* DatabaseNotFoundError: New exception class thrown instead of
  DatabaseOpeningError when the problem is the problem is "file not found" or
  similar.  DatabaseNotFoundError is a subclass of DatabaseOpeningError so
  existing code catching DatabaseOpeningError will still work as before.  Fixes
  #773, reported by Germ叩n M. Bravo.  Patch from Vaibhav Kansagara.

* Query: Make &=, |= and ^= on Query objects opportunistically append to
  an existing query with a matching query operator which has a reference
  count of 1.  This provides an easy way to incrementally build flatter query
  trees.

* Query: Support `query &= ~query2` better - this now is handled exactly
  equivalent to `query = query & ~query2` and gives `query AND_NOT query2`
  instead of `query AND (<alldocuments> AND_NOT query2)`.

* QueryParser: Now uses &=, |= and ^= to produce flatter query trees.  This
  fixes problems with running out of stack space when handling Query object
  trees built by abusing QueryParser to parse very large machine-generated
  queries.

* Stopper: Fix incorrect accents in Hungarian stopword list.  Patch from David
  Corbett.

testsuite:

* Test MSet::snippet() with small and zero lengths.  Fixes #759.  Patch from
  Vaibhav Kansagara.

* Fix testcase stubdb4 annotations - this testcase doesn't need a backend.

* Add PATH annotation for testcases needing get_database_path() to avoid having
  to repeatedly list the backends where this is supported in testcase
  annotations.

* TEST_EXCEPTION helper macro now checks that the exact specified exception
  type is thrown.  Previously it would allow a subclass of the specified
  exception type, but in testcases we really want to be able to test for an
  exact type.  Issue noted by Vaibhav Kansagara on IRC.

matcher:

* Map OP_VALUE_GE/OP_VALUE_LE on an empty slot to EmptyPostList.  We already do
  this for OP_VALUE_RANGE, and it's a little more efficient than creating a
  postlist object which checks the empty value slot.

glass backend:

* We no longer flush all pending positional changes when a postlist, termlist
  or all-terms is opened on a modified WritableDatabase.  Doing so was
  incurring a significant performance cost, and the first of these happens
  internally when `replace_document(term, doc)` is used, which is the usual way
  to support non-numeric unique ids.  We now only flush pending positional
  changes when committing.  Reported and diagnosed by Germ叩n M. Bravo.

remote backend:

* Use poll() where available instead of select().  poll() is specified by
  POSIX.1-2001 so should be widely available by now, and it allows watching any
  fd (select() is limited to watching fds < FD_SETSIZE).  For any platforms
  which still lack poll() we now workaround this select() limitation when a
  high numbered fd needs to be watched (for example, by trying a non-blocking
  read or write and on EAGAIN sleeping for a bit before retrying).

* Stop watching fds for "exceptional conditions" - none of these are relevant
  to our usage.

* Remove 0.1s timeout in ready_to_read().  The comment says this is to avoid a
  busy loop, but that's out of date - the matcher first checks which remotes
  are ready to read and then does a second pass to handle those which weren't
  with a blocking read.

build system:

* Stop probing for header sys/errno.h which is no longer used - it was only
  needed for Compaq C++, support for which was dropped in 1.4.8.

documentation:

* docs/valueranges.html: Update to document RangeProcessor instead of
  ValueRangeProcessor - the latter is deprecated and will be gone in the next
  release series.

* Document RangeProcessor::operator()() returns OP_INVALID to signal it doesn't
  recognise a range.

* Update some URLs for pages which have moved.

* Use https for URLs where available.

* HACKING: Update "empty()" section for changes in C++11.

portability:

* Suppress clang warnings for self-assignment tests.  Some testcases trigger
  this new-ish clang warning while testing that self-assignment works, which
  seems a useful thing to be testing - at least one of these is a regression
  test.

* Add std::move to fix clang -Wreturn-std-move warning (which is enabled by
  -Wall).

* Add casts to fix ubsan warnings.  These cases aren't undefined behaviour, but
  are reported by ubsan extra checks implicit-integer-truncation and/or
  implicit-conversion which it is useful to be able to enable to catch
  potential bugs.

* Fix check for when to use _byteswap_ulong() - in practice this would only
  have caused a problem if a platform provided _byteswap_ushort() but not
  _byteswap_ulong(), but we're not aware of any which do.

* Fix return values of do_bswap() helpers to match parameter types (previously
  we always returned int and only supported swapping types up to 32 bits, so
  this probably doesn't result in any behavioural changes).

* Only include <intrin.h> if we'll use it instead of always including it when
  it exists.  Including <intrin.h> can result in warnings about duplicate
  declarations of builtin functions under mingw.

* Remove call to close()/closesocket() when the argument is always -1 (since
  the change to use getaddrinfo() in 1.3.3).


(schmonz)
diff -r1.6 -r1.7 pkgsrc/textproc/xapian/Makefile.common
diff -r1.14 -r1.15 pkgsrc/textproc/xapian/PLIST
diff -r1.32 -r1.33 pkgsrc/textproc/xapian/distinfo
diff -r1.9 -r1.10 pkgsrc/textproc/xapian/distinfo-bindings

cvs diff -r1.6 -r1.7 pkgsrc/textproc/xapian/Makefile.common (expand / switch to unified diff)

--- pkgsrc/textproc/xapian/Makefile.common 2018/11/05 05:42:46 1.6
+++ pkgsrc/textproc/xapian/Makefile.common 2019/02/12 19:21:18 1.7
@@ -1,23 +1,23 @@ @@ -1,23 +1,23 @@
1# $NetBSD: Makefile.common,v 1.6 2018/11/05 05:42:46 schmonz Exp $ 1# $NetBSD: Makefile.common,v 1.7 2019/02/12 19:21:18 schmonz Exp $
2# used by textproc/csharp-xapian/Makefile 2# used by textproc/csharp-xapian/Makefile
3# used by textproc/lua-xapian/Makefile 3# used by textproc/lua-xapian/Makefile
4# used by textproc/p5-Xapian/Makefile 4# used by textproc/p5-Xapian/Makefile
5# used by textproc/php-xapian/Makefile 5# used by textproc/php-xapian/Makefile
6# used by textproc/py-xapian/Makefile 6# used by textproc/py-xapian/Makefile
7# used by textproc/ruby-xapian/Makefile 7# used by textproc/ruby-xapian/Makefile
8# used by textproc/xapian/module.mk 8# used by textproc/xapian/module.mk
9# used by textproc/xapian/Makefile 9# used by textproc/xapian/Makefile
10# used by textproc/xapian-omega/Makefile 10# used by textproc/xapian-omega/Makefile
11 11
12VERSION= 1.4.9 12VERSION= 1.4.10
13CATEGORIES= textproc 13CATEGORIES= textproc
14MASTER_SITES= http://oligarchy.co.uk/xapian/${VERSION}/ 14MASTER_SITES= http://oligarchy.co.uk/xapian/${VERSION}/
15EXTRACT_SUFX= .tar.xz 15EXTRACT_SUFX= .tar.xz
16MAINTAINER= schmonz@NetBSD.org 16MAINTAINER= schmonz@NetBSD.org
17LICENSE= gnu-gpl-v2 17LICENSE= gnu-gpl-v2
18 18
19GNU_CONFIGURE= yes 19GNU_CONFIGURE= yes
20USE_LIBTOOL= yes 20USE_LIBTOOL= yes
21USE_LANGUAGES= c c++11 21USE_LANGUAGES= c c++11
22 22
23.include "../../devel/zlib/buildlink3.mk" 23.include "../../devel/zlib/buildlink3.mk"

cvs diff -r1.14 -r1.15 pkgsrc/textproc/xapian/PLIST (expand / switch to unified diff)

--- pkgsrc/textproc/xapian/PLIST 2018/10/28 03:43:17 1.14
+++ pkgsrc/textproc/xapian/PLIST 2019/02/12 19:21:18 1.15
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1@comment $NetBSD: PLIST,v 1.14 2018/10/28 03:43:17 schmonz Exp $ 1@comment $NetBSD: PLIST,v 1.15 2019/02/12 19:21:18 schmonz Exp $
2bin/copydatabase 2bin/copydatabase
3bin/quest 3bin/quest
4bin/simpleexpand 4bin/simpleexpand
5bin/simpleindex 5bin/simpleindex
6bin/simplesearch 6bin/simplesearch
7bin/xapian-check 7bin/xapian-check
8bin/xapian-compact 8bin/xapian-compact
9bin/xapian-config 9bin/xapian-config
10bin/xapian-delve 10bin/xapian-delve
11bin/xapian-metadata 11bin/xapian-metadata
12bin/xapian-pos 12bin/xapian-pos
13bin/xapian-progsrv 13bin/xapian-progsrv
14bin/xapian-replicate 14bin/xapian-replicate
@@ -90,41 +90,47 @@ share/doc/xapian-core/apidoc/html/classX @@ -90,41 +90,47 @@ share/doc/xapian-core/apidoc/html/classX
90share/doc/xapian-core/apidoc/html/classXapian_1_1Compactor-members.html 90share/doc/xapian-core/apidoc/html/classXapian_1_1Compactor-members.html
91share/doc/xapian-core/apidoc/html/classXapian_1_1Compactor.html 91share/doc/xapian-core/apidoc/html/classXapian_1_1Compactor.html
92share/doc/xapian-core/apidoc/html/classXapian_1_1CoordWeight-members.html 92share/doc/xapian-core/apidoc/html/classXapian_1_1CoordWeight-members.html
93share/doc/xapian-core/apidoc/html/classXapian_1_1CoordWeight.html 93share/doc/xapian-core/apidoc/html/classXapian_1_1CoordWeight.html
94share/doc/xapian-core/apidoc/html/classXapian_1_1CoordWeight__inherit__graph.png 94share/doc/xapian-core/apidoc/html/classXapian_1_1CoordWeight__inherit__graph.png
95share/doc/xapian-core/apidoc/html/classXapian_1_1DLHWeight-members.html 95share/doc/xapian-core/apidoc/html/classXapian_1_1DLHWeight-members.html
96share/doc/xapian-core/apidoc/html/classXapian_1_1DLHWeight.html 96share/doc/xapian-core/apidoc/html/classXapian_1_1DLHWeight.html
97share/doc/xapian-core/apidoc/html/classXapian_1_1DLHWeight__inherit__graph.png 97share/doc/xapian-core/apidoc/html/classXapian_1_1DLHWeight__inherit__graph.png
98share/doc/xapian-core/apidoc/html/classXapian_1_1DPHWeight-members.html 98share/doc/xapian-core/apidoc/html/classXapian_1_1DPHWeight-members.html
99share/doc/xapian-core/apidoc/html/classXapian_1_1DPHWeight.html 99share/doc/xapian-core/apidoc/html/classXapian_1_1DPHWeight.html
100share/doc/xapian-core/apidoc/html/classXapian_1_1DPHWeight__inherit__graph.png 100share/doc/xapian-core/apidoc/html/classXapian_1_1DPHWeight__inherit__graph.png
101share/doc/xapian-core/apidoc/html/classXapian_1_1Database-members.html 101share/doc/xapian-core/apidoc/html/classXapian_1_1Database-members.html
102share/doc/xapian-core/apidoc/html/classXapian_1_1Database.html 102share/doc/xapian-core/apidoc/html/classXapian_1_1Database.html
 103share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseClosedError-members.html
 104share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseClosedError.html
 105share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseClosedError__inherit__graph.png
103share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseCorruptError-members.html 106share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseCorruptError-members.html
104share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseCorruptError.html 107share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseCorruptError.html
105share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseCorruptError__inherit__graph.png 108share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseCorruptError__inherit__graph.png
106share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseCreateError-members.html 109share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseCreateError-members.html
107share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseCreateError.html 110share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseCreateError.html
108share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseCreateError__inherit__graph.png 111share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseCreateError__inherit__graph.png
109share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseError-members.html 112share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseError-members.html
110share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseError.html 113share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseError.html
111share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseError__inherit__graph.png 114share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseError__inherit__graph.png
112share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseLockError-members.html 115share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseLockError-members.html
113share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseLockError.html 116share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseLockError.html
114share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseLockError__inherit__graph.png 117share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseLockError__inherit__graph.png
115share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseModifiedError-members.html 118share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseModifiedError-members.html
116share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseModifiedError.html 119share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseModifiedError.html
117share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseModifiedError__inherit__graph.png 120share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseModifiedError__inherit__graph.png
 121share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseNotFoundError-members.html
 122share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseNotFoundError.html
 123share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseNotFoundError__inherit__graph.png
118share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseOpeningError-members.html 124share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseOpeningError-members.html
119share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseOpeningError.html 125share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseOpeningError.html
120share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseOpeningError__inherit__graph.png 126share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseOpeningError__inherit__graph.png
121share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseVersionError-members.html 127share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseVersionError-members.html
122share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseVersionError.html 128share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseVersionError.html
123share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseVersionError__inherit__graph.png 129share/doc/xapian-core/apidoc/html/classXapian_1_1DatabaseVersionError__inherit__graph.png
124share/doc/xapian-core/apidoc/html/classXapian_1_1Database__inherit__graph.png 130share/doc/xapian-core/apidoc/html/classXapian_1_1Database__inherit__graph.png
125share/doc/xapian-core/apidoc/html/classXapian_1_1DateRangeProcessor-members.html 131share/doc/xapian-core/apidoc/html/classXapian_1_1DateRangeProcessor-members.html
126share/doc/xapian-core/apidoc/html/classXapian_1_1DateRangeProcessor.html 132share/doc/xapian-core/apidoc/html/classXapian_1_1DateRangeProcessor.html
127share/doc/xapian-core/apidoc/html/classXapian_1_1DateRangeProcessor__inherit__graph.png 133share/doc/xapian-core/apidoc/html/classXapian_1_1DateRangeProcessor__inherit__graph.png
128share/doc/xapian-core/apidoc/html/classXapian_1_1DateValueRangeProcessor-members.html 134share/doc/xapian-core/apidoc/html/classXapian_1_1DateValueRangeProcessor-members.html
129share/doc/xapian-core/apidoc/html/classXapian_1_1DateValueRangeProcessor.html 135share/doc/xapian-core/apidoc/html/classXapian_1_1DateValueRangeProcessor.html
130share/doc/xapian-core/apidoc/html/classXapian_1_1DateValueRangeProcessor__inherit__graph.png 136share/doc/xapian-core/apidoc/html/classXapian_1_1DateValueRangeProcessor__inherit__graph.png

cvs diff -r1.32 -r1.33 pkgsrc/textproc/xapian/distinfo (expand / switch to unified diff)

--- pkgsrc/textproc/xapian/distinfo 2018/11/05 05:42:46 1.32
+++ pkgsrc/textproc/xapian/distinfo 2019/02/12 19:21:18 1.33
@@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
1$NetBSD: distinfo,v 1.32 2018/11/05 05:42:46 schmonz Exp $ 1$NetBSD: distinfo,v 1.33 2019/02/12 19:21:18 schmonz Exp $
2 2
3SHA1 (xapian-core-1.4.9.tar.xz) = 118a47b76b1002303f6761ba395eb42cb36f3b0e 3SHA1 (xapian-core-1.4.10.tar.xz) = 520ef92a5dc84f32b6dccf8c7b7d7b5bef7759de
4RMD160 (xapian-core-1.4.9.tar.xz) = 891d756046a46851b98d14c05a09f516092b0a01 4RMD160 (xapian-core-1.4.10.tar.xz) = cdabad3c339148b93d3175e21e014dda3e59e605
5SHA512 (xapian-core-1.4.9.tar.xz) = 1af23815ff9358d6407723d1a7d3dc00df8f45f4808ccaa4c57f38197763fdc2d62cb7b080fab737408db42ced85707021eac881d80767248ea22aff8a2e4aa3 5SHA512 (xapian-core-1.4.10.tar.xz) = fa716d6f8c04edb297d99dad4d7835f7874837ab3c39d7017e43708cde6992c596e579418be17b79772e002bd23b94169812523a1abd9519b1dd3df474f027d9
6Size (xapian-core-1.4.9.tar.xz) = 2880024 bytes 6Size (xapian-core-1.4.10.tar.xz) = 2973780 bytes
7SHA1 (patch-common_safesyssocket.h) = 032d441853914d510bc285bb682a98c4ee264d52 7SHA1 (patch-common_safesyssocket.h) = 032d441853914d510bc285bb682a98c4ee264d52

cvs diff -r1.9 -r1.10 pkgsrc/textproc/xapian/distinfo-bindings (expand / switch to unified diff)

--- pkgsrc/textproc/xapian/distinfo-bindings 2018/11/05 05:42:46 1.9
+++ pkgsrc/textproc/xapian/distinfo-bindings 2019/02/12 19:21:18 1.10
@@ -1,10 +1,10 @@ @@ -1,10 +1,10 @@
1$NetBSD: distinfo-bindings,v 1.9 2018/11/05 05:42:46 schmonz Exp $ 1$NetBSD: distinfo-bindings,v 1.10 2019/02/12 19:21:18 schmonz Exp $
2 2
3SHA1 (xapian-bindings-1.4.9.tar.xz) = 645b819fe8d6e297344893f1c96a0102f98b6a43 3SHA1 (xapian-bindings-1.4.10.tar.xz) = ee90b9d2acfa8de6f0a083a03bab71e503d98887
4RMD160 (xapian-bindings-1.4.9.tar.xz) = 3c308afbf4715e2b240581199ba7032d3e6e79f3 4RMD160 (xapian-bindings-1.4.10.tar.xz) = b3e37ef94858705ffec9e397d38a080d61ffe0b0
5SHA512 (xapian-bindings-1.4.9.tar.xz) = cddc6cedfd571d565619ade0a4c9bfee8d688ca3d06d77368c8d673d3c9d1296b652122836debc84a4d54724c2bf0639a009396bf587ed4b8901a6bfe508851d 5SHA512 (xapian-bindings-1.4.10.tar.xz) = e993c33820f7606e17ee6ff5a13bdcb91beceec6a8443298ff06a3160052e96caff3aca30908c68a8a695429ec51189a86404b69c5525e5770741637cc63bbc1
6Size (xapian-bindings-1.4.9.tar.xz) = 1123628 bytes 6Size (xapian-bindings-1.4.10.tar.xz) = 1125168 bytes
7SHA1 (patch-configure) = d1c3edf1efcd105aef23bf9245650971f8df6ced 7SHA1 (patch-configure) = d1c3edf1efcd105aef23bf9245650971f8df6ced
8SHA1 (patch-lua_Makefile.in) = 7f1c5077f0d46dfdf33c2b65f144bb08d5031330 8SHA1 (patch-lua_Makefile.in) = 7f1c5077f0d46dfdf33c2b65f144bb08d5031330
9SHA1 (patch-perl_Makefile.in) = 993b137b319d7d28c2b3a70d2e46e1a38d380578 9SHA1 (patch-perl_Makefile.in) = 993b137b319d7d28c2b3a70d2e46e1a38d380578
10SHA1 (patch-ruby_Makefile.in) = ddbf3ca92b11ff6955d80f6a5609e3ce36798b0b 10SHA1 (patch-ruby_Makefile.in) = ddbf3ca92b11ff6955d80f6a5609e3ce36798b0b