Reimplement Language Modelling weights
[xapian.git] / xapian-core / ChangeLog
blobda7df4ca7664ed7e3d5e52148ddf869d9dda42d2
1 This ChangeLog file is no longer maintained - see the git repo history for
2 more recent changes: https://xapian.org/bleeding
4 Wed Sep 30 19:34:51 GMT 2015  Olly Betts <olly@survex.com>
6         * languages/compiler/: Merge changes from upstream snowball again.
8 Sun Sep 27 23:59:05 GMT 2015  Olly Betts <olly@survex.com>
10         * languages/compiler/: Merge changes from upstream snowball.
12 Sat Sep 26 04:07:35 GMT 2015  Olly Betts <olly@survex.com>
14         * tests/api_backend.cc: Remove pointless call to get_database().
16 Sat Sep 26 03:21:45 GMT 2015  Olly Betts <olly@survex.com>
18         * common/pack.h,configure.ac,include/xapian/types.h,
19           include/xapian/version_h.cc,tests/api_backend.cc,tests/api_wrdb.cc:
20           Add new configure options --enable-64bit-docid and
21           --enable-64bit-termcount, which control the size of these types.
22           Currently the backends only support 32-bit docids, but using 64-bit
23           docids allows searching multiple database where the mapped docids
24           don't fit in a 32-bit type.  Based heavily on patch from James
25           Aylett and Dylan Griffith.  Fixes #385.
27 Sat Sep 26 00:32:31 GMT 2015  Olly Betts <olly@survex.com>
29         * backends/glass/glass_table.cc: Use BLK_UNUSED constant.
31 Sat Sep 26 00:31:45 GMT 2015  Olly Betts <olly@survex.com>
33         * backends/chert/chert_table.cc: Initialise last_readahead - was
34           causing testsuite failures under valgrind.
36 Fri Sep 25 06:28:02 GMT 2015  Olly Betts <olly@survex.com>
38         * net/length.cc,net/length.h: Provide overloads for unsigned, unsigned
39           long, and unsigned long long, rather than uint32_t and uint64_t -
40           this avoids overload resolution failing when we pass a type which
41           isn't one which uint32_t or uint64_t is a typedef to.  (see #385)
43 Fri Sep 25 04:10:00 GMT 2015  Olly Betts <olly@survex.com>
45         * api/vectortermlist.cc: Check decoded length.
47 Sun Sep 13 08:27:53 GMT 2015  Olly Betts <olly@survex.com>
49         * common/socket_utils.cc: Change C-style cast to reinterpret_cast.
51 Wed Sep 02 03:13:45 GMT 2015  Olly Betts <olly@survex.com>
53         * docs/stemming.rst,languages/armenian.sbl,languages/basque.sbl,
54           languages/catalan.sbl: Update snowball website links to
55           snowballstem.org.  Correct "2-clause BSD" to "3-clause BSD".
57 Sun Aug 30 04:43:49 GMT 2015  Olly Betts <olly@survex.com>
59         * net/remote_protocol.rst: Markup tweak.
61 Thu Aug 13 08:56:25 GMT 2015  Olly Betts <olly@survex.com>
63         * backends/remote/remote-database.cc: Improve error when the client and
64           server remote protocol versions aren't compatible.
66 Tue Aug 11 09:32:46 GMT 2015  Olly Betts <olly@survex.com>
68         * docs/: Strip out "quickstart" examples which are out of date and
69           rather redundant with the "simple" examples.
71 Tue Aug 11 08:24:48 GMT 2015  Olly Betts <olly@survex.com>
73         * pkgconfig/xapian-core.pc.in: Fix library name in .pc file to say
74           "xapian" not "xapian-core".  Reported by Eric Lindblad to the
75           xapian-devel list.
77 Tue Jul 07 01:37:00 GMT 2015  Olly Betts <olly@survex.com>
79         * api/omenquire.cc,api/query.cc,backends/chert/,backends/database.cc,
80           backends/database.h,backends/glass/,common/io_utils.cc,
81           common/io_utils.h,configure.ac,include/xapian/enquire.h,
82           include/xapian/query.h,matcher/multimatch.cc: Where posix_fadvise()
83           is available, use it to prefetch postlist Btree blocks from the
84           level below the root block which will be needed for postlists of
85           terms in the query, and similarly for the record/docdata table
86           when MSet::fetch() is called.  Based on patch by Will Greenberg
87           in #671.
89 Mon Jul 06 09:44:54 GMT 2015  Olly Betts <olly@survex.com>
91         * common/safeunistd.h,configure.ac: Don't provide our own
92           implementation of sleep() under __WIN32__ if there's already one -
93           mingw provides one, and in some situations it seems to clash with
94           ours.  Reported to xapian-discuss by John Alveris.
96 Mon Jun 29 12:10:22 GMT 2015  Olly Betts <olly@survex.com>
98         * backends/chert/chert_compact.cc: Need <unistd.h> for unlink() on
99           FreeBSD, reported by Germán M. Bravo via github PR 72.
101 Wed Jun 24 10:07:05 GMT 2015  Olly Betts <olly@survex.com>
103         * tests/harness/testutils.cc,tests/harness/testutils.h: Use
104           'Xapian::docid' instead of 'unsigned int' so that things work with
105           64 bit docids (see #385).
107 Tue Jun 23 13:38:54 GMT 2015  Olly Betts <olly@survex.com>
109         * api/snipper.cc,api/snipperinternal.h: Use appropriate typedefs
110           rather than unsigned int.  Split out of patch by Dylan Griffith in
111           #385.
113 Tue Jun 23 13:32:36 GMT 2015  Olly Betts <olly@survex.com>
115         * backends/chert/chert_database.cc,backends/chert/chert_types.h,
116           backends/glass/glass_database.cc,backends/glass/glass_defs.h: Add
117           constants CHERT_MAX_DOCID and GLASS_MAX_DOCID for the largest docid
118           which the backends support, independent of the size of type
119           Xapian::docid.  (helps #385)
121 Tue Jun 23 13:19:06 GMT 2015  Olly Betts <olly@survex.com>
123         * tests/api_backend.cc: Add regression test for #678.
125 Tue Jun 23 13:04:06 GMT 2015  Olly Betts <olly@survex.com>
127         * api/,backends/remote/net_postlist.cc,
128           backends/remote/remote-database.cc,
129           geospatial/latlong_posting_source.cc,net/,tests/unittest.cc: Split
130           decode_length() into versions which decode a 32 vs 64 bit value,
131           and which check that there's at least the decoded length in bytes
132           in the source data.  (Fixes #678 and helps #385)
134 Tue Jun 23 11:49:15 GMT 2015  Olly Betts <olly@survex.com>
136         * net/remoteserver.cc: Check length of key in MSG_SETMETADATA.
138 Sat Jun 20 13:05:50 GMT 2015  Olly Betts <olly@survex.com>
140         * common/str.h,tests/,tests/harness/,tests/internaltest.cc,
141           tests/perftest/perftest.cc,tests/perftest/perftest_matchdecider.cc,
142           tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc,
143           tests/soaktest/soaktest_queries.cc,tests/termgentest.cc,
144           tests/unittest.cc: Make str() private to the library, and use
145           C++11 std::to_string() to convert numbers to std::string in the
146           testsuite.  (ticket #63)
148 Sat Jun 20 12:32:13 GMT 2015  Olly Betts <olly@survex.com>
150         * tests/api_unicode.cc: Fix trailing whitespace introduced by previous
151           commit.
153 Sat Jun 20 06:31:27 GMT 2015  Olly Betts <olly@survex.com>
155         * tests/api_unicode.cc,unicode/Makefile.mk,
156           unicode/UnicodeData-README.txt,unicode/UnicodeData.txt:
157           Update to Unicode 8.0.0.  (fixes #680)
159 Thu Jun 11 11:57:50 GMT 2015  Olly Betts <olly@survex.com>
161         * include/xapian/queryparser.h: Remove XAPIAN_CONST_FUNCTION marker
162           from sortable_serialise_() helper, as it writes to the passed in
163           buffer, so it isn't const or pure.  Fixes decvalwtsource2 testcase
164           failure when compiled with clang.
166 Thu Jun 11 05:05:27 GMT 2015  Olly Betts <olly@survex.com>
168         * examples/xapian-metadata.cc: Extend "list" subcommand to take
169           optional key prefix.
171 Sat Jun 06 11:02:50 GMT 2015  Olly Betts <olly@survex.com>
173         * queryparser/queryparser.lemony: Use C++11 auto and container
174           iteration for cleaner code.
176 Fri Jun 05 12:08:02 GMT 2015  Olly Betts <olly@survex.com>
178         * api/omenquire.cc,api/omenquireinternal.h,
179           backends/remote/remote-database.cc,backends/remote/remote-database.h,
180           include/xapian/matchspy.h,matcher/,net/remoteserver.cc,
181           tests/api_none.cc: Add support for optional reference counting of
182           MatchSpy objects.
184 Fri Jun 05 02:55:54 GMT 2015  Olly Betts <olly@survex.com>
186         * backends/remote/remote-database.h: Correct doxygen comment for
187           internal method.
189 Thu Jun 04 12:44:00 GMT 2015  Olly Betts <olly@survex.com>
191         * examples/quest.cc: Prefer pre-increment ++.
193 Thu Jun 04 12:42:49 GMT 2015  Olly Betts <olly@survex.com>
195         * tests/api_compact.cc,tests/api_posdb.cc: Remove unused variables.
197 Thu Jun 04 12:42:04 GMT 2015  Olly Betts <olly@survex.com>
199         * tests/api_backend.cc: Fix compilation in case where S_ISSOCK() isn't
200           defined.
202 Thu Jun 04 12:41:31 GMT 2015  Olly Betts <olly@survex.com>
204         * languages/compiler/generator.c: Remove redundant assignment.
206 Thu Jun 04 12:40:52 GMT 2015  Olly Betts <olly@survex.com>
208         * languages/compiler/generator.c: Remove extra "break;".
210 Thu Jun 04 12:39:51 GMT 2015  Olly Betts <olly@survex.com>
212         * include/xapian/query.h: Remove bogus extra "Query::" qualifier from
213           fake Query constructor prototypes provided for SWIG.
215 Thu Jun 04 12:38:36 GMT 2015  Olly Betts <olly@survex.com>
217         * api/documentvaluelist.h,api/leafpostlist.h,api/matchspy.cc,
218           include/xapian/,net/length.cc: Mark constructors taking a
219           single argument as "explicit" to avoid unwanted implicit
220           conversions.
222 Mon Jun 01 13:11:02 GMT 2015  Olly Betts <olly@survex.com>
224         * NEWS.SKELETON: Remove section for "flint backend" from template.
226 Mon Jun 01 13:09:55 GMT 2015  Olly Betts <olly@survex.com>
228         * NEWS,configure.ac: Update for 1.3.3.
230 Mon May 25 04:33:15 GMT 2015  Olly Betts <olly@survex.com>
232         * NEWS: Update.
234 Sun May 24 12:52:47 GMT 2015  Olly Betts <olly@survex.com>
236         * tests/api_postingsource.cc: timer_create() seems to always fail on
237           AIX with EAGAIN, so just skip the matchtimelimit1 testcase there.
239 Sun May 24 11:48:30 GMT 2015  Olly Betts <olly@survex.com>
241         * net/tcpserver.cc: Under __WIN32__, inet_ntop()'s second parameter
242           is 'void*' (to POSIX says it should be 'const void*').
244 Sun May 24 11:46:25 GMT 2015  Olly Betts <olly@survex.com>
246         * common/safenetdb.h: Under __WIN32__, MSDN says that newer platforms
247           need <ws2def.h> for AI_* constants.  And mingw doesn't seem to
248           define AI_NUMERICSERV yet.
250 Sun May 24 10:41:39 GMT 2015  Olly Betts <olly@survex.com>
252         * common/safewindows.h,configure.ac: Under __WIN32__, we need to
253           specify Vista as the minimum supported version to get the
254           AI_ADDRCONFIG flag.  Older versions seem to all be out of support
255           anyway.
257 Sun May 24 06:46:15 GMT 2015  Olly Betts <olly@survex.com>
259         * net/tcpclient.cc: Add missing declaration of variable under
260           __WIN32__.
262 Sun May 24 06:39:56 GMT 2015  Olly Betts <olly@survex.com>
264         * tests/harness/testsuite.h: Simplify FAIL_TEST and SKIP_TEST
265           slightly.
267 Sat May 23 11:52:03 GMT 2015  Olly Betts <olly@survex.com>
269         * tests/harness/backendmanager_remotetcp.cc: Don't leave an extra fd
270           open when starting xapian-tcpsrv for remotetcp tests.
272 Sat May 23 10:12:31 GMT 2015  Olly Betts <olly@survex.com>
274         * tests/harness/backendmanager_remotetcp.cc: Add spaces between literal
275           strings and macros which expand to literal strings for C++11
276           compatibility in __WIN32__-specific code.
278 Fri May 22 03:22:03 GMT 2015  Olly Betts <olly@survex.com>
280         * NEWS: Update.
282 Wed May 20 14:24:03 GMT 2015  Olly Betts <olly@survex.com>
284         * include/xapian/version_h.cc: If old and new __GXX_ABI_VERSION are
285           both >= 1002 (which means GCC >= 3.4), then issue a warning about
286           mismatching versions instead of an error.  The changes in these
287           versions are bug fixes for corner cases, so there's a good chance of
288           things working - e.g. building xapian-bindings with GCC 5.1 (which
289           defaults to __GXX_ABI_VERSION 1008) against xapian-core built with
290           GCC 4.9 (1002) seems to work OK.  A warning is still useful as a
291           clue to what is going on if linking fails due to a missing symbol.
293 Wed May 20 13:47:50 GMT 2015  Olly Betts <olly@survex.com>
295         * net/serialise.cc: Don't use encode_length() on a bool - it's
296           overkill, and leads to a warning from GCC 5.1 (due to the
297           comparison (bool_value < 255) from the template expansion
298           always being true).
300 Wed May 20 01:49:18 GMT 2015  Olly Betts <olly@survex.com>
302         * api/matchspy.cc: Fix comparison function not to return true for two
303           equal elements, which fixes matchspy4 test failure with clang and
304           libc++.
306 Wed May 20 00:20:56 GMT 2015  Olly Betts <olly@survex.com>
308         * configure.ac: Disable "<FUNCTION> is expected to return a value"
309           warning from Sun's C++ compiler, as it fires even for functions we
310           end in a "throw" statement.  Genuine instances will be caught by
311           compilers with superior warning machinery.
313 Mon May 18 04:18:37 GMT 2015  Olly Betts <olly@survex.com>
315         * configure.ac: Arrange to pass command line option so that xlC
316           actually fails to compile the test code for typeid() when RTTI isn't
317           enabled.
319 Sun May 17 11:35:36 GMT 2015  Olly Betts <olly@survex.com>
321         * backends/glass/glass_version.cc: When reporting an error that the
322           glass format version doesn't match, don't append an uninitialised
323           char[] buffer to the error string (code accidentally left behind
324           by the previous change in this area).
326 Sat May 16 12:08:17 GMT 2015  Olly Betts <olly@survex.com>
328         * common/socket_utils.cc: Fix casts on the 4th argument of
329           setsockopt() so they compile on platforms which expect
330           char * or const char * there.
332 Fri May 15 13:24:55 GMT 2015  Olly Betts <olly@survex.com>
334         * configure.ac: Enhance the probe for whether the test harness can use
335           RTTI so that it works for xlC (which defaults to not generating
336           RTTI).
338 Fri May 15 12:28:32 GMT 2015  Olly Betts <olly@survex.com>
340         * common/debuglog.h: Remove commented out STATIC_ASSERT() which
341           is conceptually flawed.
343 Fri May 15 12:27:45 GMT 2015  Olly Betts <olly@survex.com>
345         * common/omassert.h,common/pack.h,tests/api_wrdb.cc,
346           tests/internaltest.cc: Replace STATIC_ASSERT() with C++11's
347           static_assert().
349 Fri May 15 11:34:47 GMT 2015  Olly Betts <olly@survex.com>
351         * common/stringutils.cc: Use static_assert rather than an adhoc check
352           via a negative array size.
354 Fri May 15 11:16:18 GMT 2015  Olly Betts <olly@survex.com>
356         * common/io_utils.cc: Replace the code used on platforms without
357           F_DUPFD with simpler code which actually compiles.
359 Fri May 15 03:43:16 GMT 2015  Olly Betts <olly@survex.com>
361         * pkgconfig/xapian-core.pc.in: Include @ldflags@ in pkg-config .pc
362           file.
364 Fri May 15 03:33:40 GMT 2015  Olly Betts <olly@survex.com>
366         * pkgconfig/xapian-core.pc.in: Fix include directory reported by
367           pkg-config.
369 Fri May 15 03:31:43 GMT 2015  Olly Betts <olly@survex.com>
371         * configure.ac,pkgconfig/xapian-core.pc.in,xapian-config.in: When
372           compiling with xlC on AIX, _LARGE_FILES gets defined by
373           AC_SYS_LARGEFILE to enable large file support, and defining this
374           changes the ABI of std::string, so include it in xapian-config
375           --cxxflags and the pkg-config equivalent.
377 Fri May 15 02:52:10 GMT 2015  Olly Betts <olly@survex.com>
379         * tests/Makefile.am,tests/perftest/Makefile.mk: Use $(NO_INSTALL)
380           rather than @NO_INSTALL@ to allow make-time overriding.
382 Fri May 15 02:33:11 GMT 2015  Olly Betts <olly@survex.com>
384         * tests/soaktest/Makefile.mk: Use -no-fast-install instead of
385           -no-install for linking soaktest on platforms where libtool issues
386           a warning for -no-install, like we already do for all the other test
387           programs.
389 Fri May 15 02:14:16 GMT 2015  Olly Betts <olly@survex.com>
391         * examples/simpleexpand.cc,examples/simpleindex.cc,
392           examples/simplesearch.cc: '#include <config.h>' in the examples, as
393           when compiling with xlC on AIX, _LARGE_FILES gets defined by
394           AC_SYS_LARGEFILE to enable large file support, and defining this
395           changes the ABI of std::string, so it also needs to be defined when
396           compiling code using Xapian.
398 Thu May 14 03:17:28 GMT 2015  Olly Betts <olly@survex.com>
400         * backends/chert/chert_cursor.cc: Correct delete to delete [].
402 Tue May 12 14:33:28 GMT 2015  Olly Betts <olly@survex.com>
404         * docs/deprecation.rst: Add deprecation of --preserve-nonduplicates
405           which happened in 1.2.4.
407 Tue May 12 07:38:12 GMT 2015  Olly Betts <olly@survex.com>
409         * Makefile.am: Actually use $(NO_UNDEFINED).
411 Tue May 12 06:40:38 GMT 2015  Olly Betts <olly@survex.com>
413         * configure.ac: Only pass -no-undefined when linking the library if
414           it's actually required for the current platform.  Sun C++ doesn't
415           link the C++ runtime libraries to shared objects, so the build
416           fails with -no-undefined.
418 Tue May 12 06:39:26 GMT 2015  Olly Betts <olly@survex.com>
420         * INSTALL,configure.ac: Fix comment and doc typos.
422 Tue May 12 03:49:38 GMT 2015  Olly Betts <olly@survex.com>
424         * configure.ac: Add workaround for odd <cmath> issue with Sun C++.
426 Tue May 12 03:49:15 GMT 2015  Olly Betts <olly@survex.com>
428         * configure.ac: On Solaris, inet_ntop() needs -lnsl.
430 Tue May 12 03:48:48 GMT 2015  Olly Betts <olly@survex.com>
432         * api/keymaker.cc: Fix error compiling with Sun C++.
434 Tue May 12 03:07:06 GMT 2015  Olly Betts <olly@survex.com>
436         * include/xapian/attributes.h: Fix typo in definition of
437           XAPIAN_NOTHROW() definition for C++11 compilers other than GCC and
438           MSVC.
440 Tue May 12 01:48:19 GMT 2015  Olly Betts <olly@survex.com>
442         * exception_data.pm: Fix not to parse mentions of XAPIAN_THROW() in
443           comments.
445 Mon May 11 14:16:22 GMT 2015  Olly Betts <olly@survex.com>
447         * HACKING: libtool 2.4.6 is now used for snapshots and releases.
449 Mon May 11 14:14:04 GMT 2015  Olly Betts <olly@survex.com>
451         * common/str.cc,expand/bo1eweight.cc,geospatial/geoencode.cc,
452           matcher/multiandpostlist.cc,net/remoteconnection.cc,weight/:
453           Fixes for errors when compiling with Sun C++.
455 Mon May 11 10:53:47 GMT 2015  Olly Betts <olly@survex.com>
457         * common/log2.h,configure.ac: Change probe for log2() to check for a
458           declaration and '#include <cmath>' to get it to fix build on Solaris
459           with Sun C++.  C++11 compilers should all provide log2(), but let's
460           not rely on that just yet as it's easy to provide a fallback
461           implementation.
463 Mon May 11 07:04:06 GMT 2015  Olly Betts <olly@survex.com>
465         * common/getopt.cc,net/tcpserver.cc: Fix clang warnings on OS X.
466           Reported by Germán M. Bravo.
468 Mon May 11 06:29:42 GMT 2015  Olly Betts <olly@survex.com>
470         * api/constinfo.cc,docs/doxygen_api.conf.in,
471           docs/doxygen_source.conf.in,include/xapian/: C++11's noexcept
472           needs to be on definitions as well as declarations, but GCC
473           function attributes must only be on declarations, so split
474           XAPIAN_NOEXCEPT off from XAPIAN_NOTHROW.
476 Sun May 10 13:26:24 GMT 2015  Olly Betts <olly@survex.com>
478         * include/xapian/queryparser.h,queryparser/queryparser_internal.h,
479           tests/api_none.cc: Add support for optional reference counting of
480           FieldProcessor objects.
482 Sun May 10 11:07:36 GMT 2015  Olly Betts <olly@survex.com>
484         * include/xapian/intrusive_ptr.h,include/xapian/queryparser.h,
485           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
486           tests/api_none.cc: Add support for optional reference counting of
487           ValueRangeProcessor objects.
489 Thu May 07 12:42:11 GMT 2015  Olly Betts <olly@survex.com>
491         * bin/xapian-replicate.cc,common/socket_utils.cc,common/socket_utils.h,
492           net/replicatetcpclient.cc,net/replicatetcpclient.h: Set SO_KEEPALIVE
493           for xapian-replicate's connection to the master, and add command
494           line option to allow setting socket-level timeouts (SO_RCVTIMEO and
495           SO_SNDTIMEO) on platforms that support them.  Fixes #546, reported
496           by nkvoll.
498 Thu May 07 12:00:15 GMT 2015  Olly Betts <olly@survex.com>
500         * bin/xapian-replicate.cc: Fix connection timeout to be 10 seconds
501           rather than 10000 seconds which is has been since 1.2.3.
503 Tue May 05 02:38:37 GMT 2015  Olly Betts <olly@survex.com>
505         * net/tcpserver.cc: Use inet_ntop() instead of inet_ntoa() - the
506           latter isn't thread-safe.
508 Tue May 05 02:05:27 GMT 2015  Olly Betts <olly@survex.com>
510         * include/xapian/queryparser.h: Update documentation to reflect that
511           the database passed to QueryParser::set_database() is no longer
512           used to expand wildcards and partial terms.
514 Mon May 04 11:32:40 GMT 2015  Olly Betts <olly@survex.com>
516         * api/postlist.cc,api/postlist.h,common/remoteprotocol.h,matcher/,
517           net/serialise.cc,tests/api_backend.cc: Fix sort by value when
518           multiple databases are in use and one or more are remote.  Fixes
519           #674, reported by Dylan Griffith.
521 Sun May 03 12:41:58 GMT 2015  Olly Betts <olly@survex.com>
523         * docs/deprecation.rst,include/xapian/queryparser.h,
524           queryparser/queryparser.cc,queryparser/queryparser.lemony,
525           queryparser/queryparser_internal.h,tests/queryparsertest.cc:
526           Allow setting the expansion limits and types for wildcards
527           and partial terms in the QueryParser independently.  Partial
528           terms now default to the 100 most frequent matching terms.
529           Deprecate set_max_wildcard_expansion() in favour of new
530           set_max_expansion() method which can set expansion limits
531           for partial terms too.  Completes #608.
533 Sat May 02 09:20:30 GMT 2015  Olly Betts <olly@survex.com>
535         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
536           include/xapian/query.h,queryparser/queryparser.lemony,
537           tests/api_query.cc: Add a choice of ways to apply the limit on
538           wildcard expansion.  Fixes #608, reported by boomboo.
540 Fri May 01 14:53:16 GMT 2015  Olly Betts <olly@survex.com>
542         * tests/api_replicate.cc: Reenable replicate3 for glass, as it no
543           longer fails.
545 Fri May 01 13:38:48 GMT 2015  Olly Betts <olly@survex.com>
547         * common/autoptr.h: Just map AutoPtr to std::unique_ptr now we require
548           C++11.
550 Fri May 01 13:33:28 GMT 2015  Olly Betts <olly@survex.com>
552         * matcher/multimatch.cc,net/progclient.cc: IRIX is dead, so remove
553           lingering traces of support for SGI's compiler.
555 Fri May 01 08:59:13 GMT 2015  Olly Betts <olly@survex.com>
557         * HACKING,INSTALL: STLport was last released in 2008, so (a) it's no
558           longer actively developed and (b) it won't support C++11, so strip
559           out documentation which mentions it.
560         * configure.ac: For Sun's C++ compiler, -std=c++11 enables C++11
561           support, and is incompatible with -library=stlport, so remove code
562           to enable that later option.
564 Fri May 01 01:37:24 GMT 2015  Olly Betts <olly@survex.com>
566         * configure.ac: Tweak comment to match xapian-omega's configure.
568 Fri May 01 01:36:41 GMT 2015  Olly Betts <olly@survex.com>
570         * configure.ac: Set default value for AUTOM4TE before AC_OUTPUT so the
571           default will actually get used.
573 Fri May 01 01:36:05 GMT 2015  Olly Betts <olly@survex.com>
575         * configure.ac: Add explicit AC_CANONICAL_HOST.
577 Fri May 01 01:08:56 GMT 2015  Olly Betts <olly@survex.com>
579         * api/matchspy.cc,tests/api_nodb.cc: Eliminate needless uses of
580           AutoPtr.
582 Fri May 01 00:37:42 GMT 2015  Olly Betts <olly@survex.com>
584         * tests/internaltest.cc: Remove self-assignment check of AutoPtr as
585           that doesn't work under C++11 when AutoPtr is unique_ptr, and add
586           other checks of reassignment which should work for both.
588 Fri May 01 00:37:09 GMT 2015  Olly Betts <olly@survex.com>
590         * tests/api_postingsource.cc: Remove C++11 specific test which doesn't
591           actually work with C++11.
593 Fri May 01 00:33:43 GMT 2015  Olly Betts <olly@survex.com>
595         * tests/harness/backendmanager.cc,
596           tests/harness/backendmanager_remotetcp.cc,
597           tests/harness/testsuite.h,tests/harness/testutils.h: Add spaces
598           between literal strings and macros which expand to literal strings
599           for C++11 compatibility.
601 Thu Apr 30 14:41:59 GMT 2015  Olly Betts <olly@survex.com>
603         * backends/chert/chert_table.cc,backends/glass/glass_table.cc: Remove
604           duplicate includes of "omassert.h".
606 Thu Apr 30 14:41:31 GMT 2015  Olly Betts <olly@survex.com>
608         * backends/glass/glass_freelist.cc: Add missing explicit include of
609           "omassert.h",
611 Thu Apr 30 14:38:06 GMT 2015  Olly Betts <olly@survex.com>
613         * HACKING,backends/chert/chert_table.cc,
614           backends/chert/chert_version.cc,backends/glass/glass_table.cc,
615           common/omassert.h: Remove CompileTimeAssert() and just use
616           C++11's static_assert instead.
618 Thu Apr 30 14:28:10 GMT 2015  Olly Betts <olly@survex.com>
620         * backends/glass/glass_freelist.cc: Drop conditionals for GCC >= 3.4
621           as we now require >= 4.4.
623 Thu Apr 30 14:26:13 GMT 2015  Olly Betts <olly@survex.com>
625         * api/omdatabase.cc,include/xapian/queryparser.h,
626           tests/harness/backendmanager.h: Drop workarounds for ancient Sun
627           C++ compilers, as we now require a recent version for C++11 support.
629 Thu Apr 30 14:22:46 GMT 2015  Olly Betts <olly@survex.com>
631         * INSTALL: IRIX is past EOL so drop information about IRIX make.
633 Thu Apr 30 14:22:10 GMT 2015  Olly Betts <olly@survex.com>
635         * configure.ac: OS X >= 10.4 apparently supports symbol visibility, so
636           update comment.
638 Thu Apr 30 14:21:37 GMT 2015  Olly Betts <olly@survex.com>
640         * common/unordered_map.h: No longer relevant now we require C++11.
642 Thu Apr 30 13:59:16 GMT 2015  Olly Betts <olly@survex.com>
644         * HACKING,INSTALL,configure.ac,xapian-config.in: Require a C++
645           compiler - the minimum required GCC version is now probably GCC 4.4.
647 Thu Apr 30 13:48:54 GMT 2015  Olly Betts <olly@survex.com>
649         * xapian-config.in: Remove superfluous comment left over from code
650           refactoring.
652 Thu Apr 30 13:47:30 GMT 2015  Olly Betts <olly@survex.com>
654         * xapian-config.in: Fix the include directory reported by --swigflags
655           for an installed copy to include the "/xapian-1.3" component for
656           a development version.
658 Thu Apr 30 12:34:14 GMT 2015  Olly Betts <olly@survex.com>
660         * api/omenquire.cc: Fix for C++11 where AutoPtr is unique_ptr.
662 Thu Apr 30 12:20:22 GMT 2015  Olly Betts <olly@survex.com>
664         * api/replication.cc,backends/chert/chert_database.cc,
665           backends/chert/chert_table.cc,backends/chert/chert_version.cc,
666           backends/glass/,backends/remote/remote-database.cc,bin/,
667           examples/copydatabase.cc,examples/quest.cc,
668           examples/xapian-metadata.cc,net/tcpclient.cc,
669           queryparser/queryparser.lemony: Add spaces between literal strings
670           and macros which expand to literal strings for C++11 compatibility.
672 Thu Apr 30 12:17:17 GMT 2015  Olly Betts <olly@survex.com>
674         * bin/xapian-tcpsrv.cc: Use STRINGIZE() to include defaults literally
675           in string for --help.
677 Thu Apr 30 10:48:11 GMT 2015  Olly Betts <olly@survex.com>
679         * HACKING: Update URL.
681 Thu Apr 30 10:47:10 GMT 2015  Olly Betts <olly@survex.com>
683         * m4/ax_cxx_compile_stdcxx_11.m4: Add support for HP's aCC (untested
684           as I no longer have access to this compiler).
686 Thu Apr 30 05:30:13 GMT 2015  Olly Betts <olly@survex.com>
688         * m4/ax_cxx_compile_stdcxx_11.m4: Add macro from autoconf-archive to
689           detect any compiler options needed to enable C++11 support (not yet
690           used).
692 Thu Apr 30 05:14:56 GMT 2015  Olly Betts <olly@survex.com>
694         * common/posixy_wrapper.cc: O_RDONLY, etc are better described as
695           "POSIX" than "ANSI".
697 Thu Apr 30 05:12:33 GMT 2015  Olly Betts <olly@survex.com>
699         * configure.ac,xapian-config.in: Rename ANSI_CXXFLAGS to ISO_CXXFLAGS
700           and talk about ISO C++ in configure messages.
702 Thu Apr 30 05:10:40 GMT 2015  Olly Betts <olly@survex.com>
704         * .gitignore: Adjust for m4 subdirectory to only match files which
705           aren't in git.
707 Thu Apr 30 04:07:05 GMT 2015  Olly Betts <olly@survex.com>
709         * xapian-config.in: Fix typo so cached result of test in
710           is_uninstalled() is actually used on subsequent calls.  Fixes #676,
711           reported (with patch) by Ryan Schmidt.
713 Wed Apr 29 03:00:32 GMT 2015  Olly Betts <olly@survex.com>
715         * backends/chert/chert_database.cc,backends/glass/glass_database.cc:
716           Fix get_changeset_revisions() not to potentially read uninitialised
717           data if a changeset file is truncated.
719 Wed Apr 29 00:09:57 GMT 2015  Olly Betts <olly@survex.com>
721         * backends/chert/chert_databasereplicator.cc: Use return value of
722           get_message_chunk() rather than ignoring it and repeating the check
723           in the caller.
725 Tue Apr 28 22:22:01 GMT 2015  Olly Betts <olly@survex.com>
727         * bin/xapian-progsrv.cc: Fix comment typo.
729 Tue Apr 28 04:51:33 GMT 2015  Olly Betts <olly@survex.com>
731         * backends/chert/chert_cursor.cc,backends/chert/chert_table.cc,
732           backends/glass/glass_cursor.cc,backends/glass/glass_table.cc:
733           Potentially increment the cursor version on cancel() or when the
734           database is reopened, and flag the current cursor version as used
735           when a cursor is rebuilt.  Fixes #675, reported by Germán M. Bravo.
736         * tests/api_backend.cc: Add regression test cursorbug1 based on
737           reproducer supplied by Germán.
739 Thu Apr 23 05:25:48 GMT 2015  Olly Betts <olly@survex.com>
741         * matcher/exactphrasepostlist.cc: When matching an exact phrase, if a
742           term doesn't occur where we want, we can advance "term 0" using
743           skip_to() based on where the term does next occur rather than just
744           calling next() on it.
746 Thu Apr 23 05:03:28 GMT 2015  Olly Betts <olly@survex.com>
748         * matcher/nearpostlist.cc: Be lazier about opening PositionList
749           objects, as that causes a read of all the data for that
750           positionlist.
752 Thu Apr 23 04:11:30 GMT 2015  Olly Betts <olly@survex.com>
754         * matcher/nearpostlist.cc: Make code for scanning window for duplicate
755           positions a little clearer.
757 Wed Apr 22 13:52:55 GMT 2015  Olly Betts <olly@tartarus.org>
759         * matcher/nearpostlist.cc: Fix "/*" within comment.
761 Wed Apr 22 12:53:37 GMT 2015  Olly Betts <olly@survex.com>
763         * matcher/nearpostlist.cc,matcher/nearpostlist.h: Reimplement OP_NEAR
764           check.  The new implementation consistently requires the terms to
765           occur at different positions, and fixes some false negatives.
766         * tests/api_query.cc: Add regression tests as loosenear1.
768 Mon Apr 20 12:53:04 GMT 2015  Olly Betts <olly@survex.com>
770         * matcher/phrasepostlist.cc,matcher/phrasepostlist.h: Reimplement
771           OP_PHRASE check for loose phrases - the existing implementation was
772           buggy, giving both false positives and false negatives in rare
773           cases.  Fixes #653, reported by Jean-Francois Dockes.
774         * tests/api_query.cc: Add regression test loosephrase1.
776 Thu Apr 16 06:51:31 GMT 2015  Olly Betts <olly@survex.com>
778         * common/errno_to_string.cc: Fix to build with Sun's C++ compiler.
780 Thu Apr 16 06:43:40 GMT 2015  Olly Betts <olly@survex.com>
782         * configure.ac: Fix XAPIAN_TEST_CXXFLAGS macro to append to the
783           existing value of the variable, not its name.
785 Wed Apr 15 11:36:40 GMT 2015  Olly Betts <olly@tartarus.org>
787         * tests/api_wrdb.cc: Just #ifdef out the problematic part of the
788           adddoc5 testcase for clang.
790 Wed Apr 15 06:25:13 GMT 2015  Olly Betts <olly@survex.com>
792         * common/serialise-double.cc: Fix bug in recent fix.
793         * tests/unittest.cc: Extend serialise_double() to provide regression
794           test.
796 Thu Apr 09 00:40:24 GMT 2015  Olly Betts <olly@survex.com>
798         * net/remoteconnection.h: Avoid compiler warning from clang in new
799           getaddrinfo() code.
801 Wed Apr 08 11:59:00 GMT 2015  Olly Betts <olly@survex.com>
803         * common/serialise-double.cc: Add missing cast to unsigned char when
804           we check if the value will fit in the double type.  On machines with
805           IEEE-754 doubles (which is most current platforms), which change
806           makes no difference as we're checking if the value cast to a double
807           is > 255.<something> which is never the case.
809 Wed Apr 08 10:42:43 GMT 2015  Olly Betts <olly@survex.com>
811         * common/serialise-double.cc: Avoid reading one byte past the end of
812           the serialised value.  In practice this was harmless on most
813           platforms, as dbl_max_mantissa is 255 for IEEE-754 format doubles,
814           and at least GCC's std::string keeps the buffer nul-terminated.
815           Reported by Germán M. Bravo in github PR#67.
816         * tests/unittest.cc: Copy the serialised value to a temporary buffer
817           before calling unserialise_double() so that valgrind can detect if
818           we read one byte past the end.
820 Tue Apr 07 23:02:21 GMT 2015  Olly Betts <olly@survex.com>
822         * backends/chert/: Fix problems with get_unique_terms() on a modified
823           chert database.
824         * tests/: Add more test coverage for get_unique_terms().
826 Mon Apr 06 00:22:22 GMT 2015  Olly Betts <olly@survex.com>
828         * tests/harness/backendmanager_multi.cc,
829           tests/harness/backendmanager_remote.cc: Cleaner code for checking
830           the backend subtype.
832 Mon Mar 30 03:22:29 GMT 2015  Olly Betts <olly@survex.com>
834         * backends/flint_lock.cc: If available, use F_DUPFD to dup to a file
835           descriptor which is >= 2.
837 Mon Mar 30 01:16:06 GMT 2015  Olly Betts <olly@survex.com>
839         * api/error.cc,common/safenetdb.h,configure.ac,generate-exceptions,
840           net/remoteconnection.h,net/tcpclient.cc,net/tcpserver.cc: Use
841           getaddrinfo() instead of gethostbyname(), as a step towards
842           IPv6 support (currently we still only look for IPv4 addresses).
843           See #374.
845 Sun Mar 29 03:56:12 GMT 2015  Olly Betts <olly@survex.com>
847         * Makefile.am,docs/Makefile.am: Add missing quoting.
849 Mon Mar 23 06:33:39 GMT 2015  Olly Betts <olly@survex.com>
851         * backends/chert/chert_table.cc,backends/glass/glass_table.cc,
852           common/io_utils.cc,common/io_utils.h,tests/api_backend.cc:
853           Avoid using fds < 3 for writable database tables, as it risks
854           corruption is some code in the same process tries to write to stdout
855           or stderr without realising it is closed.  (Partly addresses #651)
857 Sat Mar 21 22:11:53 GMT 2015  Olly Betts <olly@survex.com>
859         * backends/glass/glass_cursor.cc: Add comment warning that B can't be
860           used in GlassCursor's destructor.
862 Tue Mar 17 03:51:00 GMT 2015  Olly Betts <olly@survex.com>
864         * matcher/exactphrasepostlist.cc: Fixed reversed conditonal for
865           picking the shorter position list for an exact phrase of two terms.
866           The difference this fix makes isn't dramatic, but can be measured
867           (at least with cachegrind).  Thanks to kbwt for spotting this.
869 Fri Mar 13 11:21:37 GMT 2015  Olly Betts <olly@survex.com>
871         * backends/chert/chert_compact.cc: Make sure we open all the tables of
872           a database at the same revision when compacting.  (Fixes #649)
874 Thu Mar 12 04:09:07 GMT 2015  Olly Betts <olly@survex.com>
876         * examples/xapian-metadata.cc: Add 'list' subcommand to list all the
877           metadata keys.
879 Mon Mar 09 03:08:14 GMT 2015  Olly Betts <olly@survex.com>
881         * include/xapian/constants.h,include/xapian/queryparser.h: Doxygen
882           comment wording tweaks.
884 Mon Mar 09 03:07:36 GMT 2015  Olly Betts <olly@survex.com>
886         * include/xapian/constants.h,include/xapian/queryparser.h,
887           include/xapian/weight.h: Doxygen comment formatting tweaks.
889 Sat Mar 07 11:27:23 GMT 2015  Olly Betts <olly@tartarus.org>
891         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Extend the
892           set of characters allowed in the start of a range to be anything
893           except for '(' and characters <= ' '.  This better matches what's
894           accepted for a range end (anything except for ')' and characters <=
895           ' ').  Reported by Jani Nikula.
897 Thu Mar 05 11:13:56 GMT 2015  Olly Betts <olly@survex.com>
899         * backends/dbcheck.cc: When checking a single table, handle the
900           ".glass" extension on glass database tables, and use the extension
901           to guide the decision of which backend the table is from.
903 Thu Mar 05 04:38:21 GMT 2015  Olly Betts <olly@survex.com>
905         * backends/dbcheck.cc: Don't hard-code string length as number.
907 Mon Feb 23 04:48:24 GMT 2015  Olly Betts <olly@survex.com>
909         * api/emptypostlist.cc,api/emptypostlist.h: Fix handling of
910           OP_WILDCARD which expands to no terms when used under OP_SYNONYM.
911         * tests/api_query.cc: Regression test dualprefixwildcard1.
913 Mon Feb 23 04:26:52 GMT 2015  Olly Betts <olly@survex.com>
915         * tests/harness/testsuite.cc: Fix compilation issue with previous
916           change.
918 Thu Feb 19 08:04:17 GMT 2015  Olly Betts <olly@survex.com>
920         * tests/api_anydb.cc,tests/api_nodb.cc,tests/harness/testrunner.cc,
921           tests/harness/testsuite.cc,tests/stemtest.cc: Use std::string's
922           assign() or construct from substring rather than assigning or
923           initialising with the result of calling substr().
925 Tue Feb 17 18:31:25 GMT 2015  Olly Betts <olly@survex.com>
927         * include/Makefile.mk: Ship new file from previous commit.
929 Tue Feb 17 05:14:02 GMT 2015  Olly Betts <olly@survex.com>
931         * api/Makefile.mk,api/constinfo.cc,api/version.cc,include/xapian.h,
932           include/xapian/constinfo.h,include/xapian/stem.h,languages/stem.cc:
933           Put the list of stemmers into the vinfo struct and renamed it to
934           const_info.
936 Mon Feb 16 10:18:51 GMT 2015  Olly Betts <olly@survex.com>
938         * configure.ac,languages/: Merge generate-allsnowballheaders script
939           into collate-sbl.
941 Mon Feb 16 04:15:46 GMT 2015  Olly Betts <olly@survex.com>
943         * backends/chert/chert_check.cc: Fix xapian-check on a single table.
945 Fri Feb 13 10:18:45 GMT 2015  Olly Betts <olly@survex.com>
947         * generate-exceptions: Note that the change to not negate
948           WSAGetLastError() values internally was backported for 1.2.20.
950 Fri Feb 13 05:57:13 GMT 2015  Olly Betts <olly@survex.com>
952         * api/,common/remoteprotocol.h,exception_data.pm,
953           include/xapian/query.h,include/xapian/queryparser.h,matcher/,
954           queryparser/queryparser.lemony,tests/api_qpbackend.cc,
955           tests/queryparsertest.cc,weight/weightinternal.cc,
956           weight/weightinternal.h: Add new OP_WILDCARD query operator, which
957           expands wildcards lazily, so now we create the PostList tree for a
958           wildcard directly, rather than creating an intermediate Query tree.
959           See ticket#48.
961 Wed Feb 11 22:45:26 GMT 2015  Olly Betts <olly@survex.com>
963         * backends/glass/glass_table.cc: mid_point() should never fail to find
964           a split point, but just in case it does, return a usable answer.
966 Wed Feb 11 22:44:35 GMT 2015  Olly Betts <olly@survex.com>
968         * backends/chert/chert_table.cc: mid_point() should never fail to find
969           a split point, but just in case it does, return a usable answer.
971 Mon Feb 09 02:56:54 GMT 2015  Olly Betts <olly@survex.com>
973         * api/queryinternal.cc,matcher/localsubmatch.cc,
974           matcher/localsubmatch.h,matcher/queryoptimiser.h,tests/api_query.cc:
975           Don't convert an unweighted term which indexes all docs to an all
976           docs postlist if we need positional data for it.
978 Sun Jan 25 23:48:34 GMT 2015  Olly Betts <olly@survex.com>
980         * configure.ac: Check for declaration of fdatasync() first, as OS X
981           has a dummy implementation in the library which is not prototyped in
982           any header.  Reported by Vlad Shablinsky.
984 Fri Jan 09 05:19:20 GMT 2015  Olly Betts <olly@survex.com>
986         * backends/glass/glass_freelist.cc: Fix freelist handling to allow for
987           the newly loaded first block of the freelist being already used up.
989 Fri Jan 09 04:38:03 GMT 2015  Olly Betts <olly@survex.com>
991         * common/debuglog.cc: Add '#include "errno_to_string.h"'.
993 Thu Jan 08 05:59:01 GMT 2015  Olly Betts <olly@survex.com>
995         * backends/glass/glass_compact.cc: Fix compaction of position tables
996           for the change in key format.
998 Tue Jan 06 02:22:37 GMT 2015  Olly Betts <olly@survex.com>
1000         * HACKING: Now using automake 1.15 and libtool 2.4.4.
1002 Mon Jan 05 08:39:47 GMT 2015  Olly Betts <olly@survex.com>
1004         * Makefile.am: Remove the generated .pc file on "make distclean".
1006 Mon Jan 05 04:43:35 GMT 2015  Olly Betts <olly@survex.com>
1008         * backends/glass/glass_table.cc: In enter_key(), we know the insertion
1009           point will be the position after the current cursor position, so
1010           there's no need to call find_in_block() to locate it.
1012 Mon Jan 05 04:42:17 GMT 2015  Olly Betts <olly@survex.com>
1014         * backends/glass/glass_table.cc: More assertions that c is valid.
1016 Mon Jan 05 01:52:54 GMT 2015  Olly Betts <olly@survex.com>
1018         * backends/chert/chert_dbcheck.cc,backends/glass/glass_dbcheck.cc:
1019           Cross-check the position and postlist tables and report positional
1020           data for non-existent documents.
1022 Mon Jan 05 01:28:28 GMT 2015  Olly Betts <olly@survex.com>
1024         * backends/glass/glass_dbcheck.cc: Fix decoding of positionlist keys -
1025           this hadn't been updated for the key format change.
1027 Mon Jan 05 01:25:17 GMT 2015  Olly Betts <olly@survex.com>
1029         * backends/glass/glass_check.cc: Check that dir_end is odd.
1031 Tue Dec 23 21:26:49 GMT 2014  Olly Betts <olly@survex.com>
1033         * backends/chert/chert_table.cc: More assertions about c.
1035 Tue Dec 23 04:26:38 GMT 2014  Olly Betts <olly@survex.com>
1037         * backends/chert/chert_table.cc: Fix assertion to allow for c being
1038           DIR_START - D2 in leaf blocks.
1040 Tue Dec 23 04:01:54 GMT 2014  Olly Betts <olly@survex.com>
1042         * backends/chert/chert_table.cc: Add more assertions that c has
1043           suitable values.
1045 Tue Dec 23 03:58:00 GMT 2014  Olly Betts <olly@survex.com>
1047         * backends/chert/chert_table.cc: In enter_key(), we know the insertion
1048           point will be the position after the current cursor position, so
1049           there's no need to call find_in_block() to locate it.
1051 Tue Dec 23 03:11:12 GMT 2014  Olly Betts <olly@survex.com>
1053         * backends/chert/chert_check.cc: Add check that dir_end is odd.
1055 Mon Dec 22 23:28:54 GMT 2014  Olly Betts <olly@survex.com>
1057         * backends/chert/chert_table.cc: Document situations in which the
1058           cursor can be left pointing before DIR_START.
1060 Mon Dec 22 03:39:14 GMT 2014  Olly Betts <olly@survex.com>
1062         * backends/glass/glass_freelist.cc: Add more freelist assertions.
1064 Mon Dec 22 03:15:50 GMT 2014  Olly Betts <olly@survex.com>
1066         * backends/glass/glass_freelist.cc: Allow restricting the number of
1067           freelist entries per block by setting GLASS_FREELIST_SIZE.
1069 Sun Dec 21 20:55:47 GMT 2014  Olly Betts <olly@survex.com>
1071         * include/xapian/weight.h: Document the enum stat_flags values.
1073 Sun Dec 21 20:51:47 GMT 2014  Olly Betts <olly@survex.com>
1075         * include/xapian/weight.h: Fix indentation.
1077 Sat Dec 20 10:40:44 GMT 2014  Sébastien Debrard <sebastien.debrard@gmail.com>
1079         * Makefile.am,configure.ac,pkgconfig/,xapian-core.spec.in: Generate a
1080           file for pkg-config.  (Fixes#540)
1082 Fri Dec 19 22:30:39 GMT 2014  Olly Betts <olly@survex.com>
1084         * common/errno_to_string.cc: Need stdlib.h under mingw.
1086 Fri Dec 19 04:38:56 GMT 2014  Olly Betts <olly@survex.com>
1088         * backends/glass/glass_check.cc: Distinguish between a block in use
1089           and in the freelist, and a block in the freelist more than once.
1091 Fri Dec 19 04:37:14 GMT 2014  Olly Betts <olly@survex.com>
1093         * backends/glass/glass_freelist.cc,backends/glass/glass_freelist.h:
1094           Avoid any mutual recursion between GlassFreeList::get_block() and
1095           GlassFreeList::mark_block_unused().
1097 Thu Dec 18 10:28:17 GMT 2014  Olly Betts <olly@survex.com>
1099         * common/safesyssocket.h: Include safeerrno.h when we use errno.
1101 Thu Dec 18 06:17:18 GMT 2014  Olly Betts <olly@survex.com>
1103         * net/tcpclient.cc: Use POSIX O_NONBLOCK in preference to O_NDELAY
1104           which has different semantics on BSD and System V.
1106 Wed Dec 17 02:59:54 GMT 2014  Olly Betts <olly@survex.com>
1108         * configure.ac: Drop probe for gethostbyaddr() - we've not used it for
1109           over 8.5 years (since e33972a5).
1111 Wed Dec 17 02:33:36 GMT 2014  Olly Betts <olly@survex.com>
1113         * common/internaltypes.h: Take CHAR_BIT into account when choosing
1114           types for uint2, uint4 and uint8.
1116 Wed Dec 17 02:30:14 GMT 2014  Olly Betts <olly@survex.com>
1118         * api/error.cc,backends/chert/chert_btreebase.cc,
1119           backends/chert/chert_table.cc,backends/flint_lock.cc,
1120           backends/glass/glass_table.cc,common/,configure.ac,
1121           net/remoteconnection.cc: Add errno_to_string() function which is
1122           thread-safe where a suitable alternative to strerror() exists.
1124 Tue Dec 16 06:54:32 GMT 2014  Olly Betts <olly@survex.com>
1126         * configure.ac: Add missing m4 quoting.  Generated configure file is
1127           unchanged.
1129 Tue Dec 16 06:28:21 GMT 2014  Olly Betts <olly@survex.com>
1131         * configure.ac: Don't check for strerror - it's specified by C89, and
1132           we weren't using the result of the check anyway.
1134 Tue Dec 16 03:59:39 UTC 2014  Sébastien Debrard <sebastien.debrard@gmail.com>
1136         * api/omenquire.cc,backends/multi/multi_postlist.cc,
1137           tests/api_anydb.cc,tests/api_db.cc: Prefer ++x to x++.
1139 Tue Dec 16 03:50:41 GMT 2014  Olly Betts <olly@survex.com>
1141         * configure.ac: Define MINGW_HAS_SECURE_API under mingw to get
1142           _putenv_s() declared in stdlib.h.
1144 Sun Dec 14 09:42:01 GMT 2014  Olly Betts <olly@survex.com>
1146         * api/omdatabase.cc,include/xapian/database.h: Make overloaded forms of
1147           Database::allterms_begin() and Database::allterms_end() use default
1148           parameters instead.
1150 Sat Dec 13 02:48:10 GMT 2014  Olly Betts <olly@survex.com>
1152         * api/error.cc,generate-exceptions,net/remoteconnection.h: On
1153           Windows, avoid defining EADDRINUSE, etc if they're already defined,
1154           and use WSAE* constants un-negated, as they start from a high value
1155           so won't collide with E* constants.
1157 Fri Dec 12 03:41:02 GMT 2014  Olly Betts <olly@survex.com>
1159         * backends/glass/glass_freelist.cc: Avoid infinite recursion when we
1160           hit the end of the freelist block we're reading and the end of the
1161           block we're writing at the same time.
1163 Thu Dec 11 20:45:28 GMT 2014  Olly Betts <olly@survex.com>
1165         * backends/glass/glass_version.cc: Use str() rather than sprintf().
1167 Thu Dec 11 03:21:46 GMT 2014  Olly Betts <olly@survex.com>
1169         * net/tcpserver.cc: Fix comment.
1171 Thu Dec 11 03:20:56 GMT 2014  Olly Betts <olly@survex.com>
1173         * api/compactor.cc,api/error.cc,api/replication.cc,
1174           backends/chert/chert_databasereplicator.cc,
1175           backends/chert/chert_table.cc,
1176           backends/glass/glass_databasereplicator.cc,
1177           backends/glass/glass_table.cc: Remove unnecessary includes of
1178           <cstdio> in files which used to need it for rename() but no longer
1179           do.
1181 Fri Dec 05 11:30:05 GMT 2014  Olly Betts <olly@survex.com>
1183         * ChangeLog,ChangeLog.0,ChangeLog.examples,
1184           backends/chert/chert_btreebase.cc,backends/chert/chert_database.h,
1185           languages/compiler/driver.c,languages/turkish.sbl: Fix typos reported
1186           by Veres Lajos.
1188 Thu Dec 04 02:17:46 GMT 2014  Olly Betts <olly@survex.com>
1190         * configure.ac: Fix detection of fdatasync(), which appears to have
1191           been broken practically forever - this means we've probably been
1192           using fsync() instead, which probably isn't a big additional
1193           overhead.
1195 Wed Dec 03 09:38:24 GMT 2014  Olly Betts <olly@survex.com>
1197         * docs/Makefile.am: Quote png filenames we run through pngcrush to
1198           avoid problems if there's an oddly-named extra PNG file in the
1199           directory.
1201 Tue Dec 02 02:58:59 GMT 2014  Olly Betts <olly@survex.com>
1203         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
1204           backends/chert/chert_databasereplicator.cc,backends/,
1205           backends/glass/glass_compact.cc,backends/glass/glass_database.cc,
1206           backends/glass/glass_databasereplicator.cc,
1207           backends/remote/remote-database.cc,backends/remote/remote-database.h,
1208           include/xapian/constants.h,include/xapian/database.h,
1209           include/xapian/dbfactory.h,net/,tests/api_backend.cc: Add new flag
1210           Xapian::DB_RETRY_LOCK which allows opening a database for writing
1211           to wait until it can get a write lock.  (fixes#275)
1213 Tue Dec 02 02:55:33 GMT 2014  Olly Betts <olly@survex.com>
1215         * backends/glass/glass_database.h: Document parameter to internal
1216           method
1218 Sun Nov 30 15:55:20 GMT 2014  James Aylett <james@tartarus.org>
1220         * HACKING: improve OS X docs build information.
1222 Thu Nov 27 04:00:38 GMT 2014  Olly Betts <olly@survex.com>
1224         * backends/dbcheck.cc,backends/flint_lock.cc,backends/flint_lock.h,
1225           examples/copydatabase.cc,tests/api_backend.cc: Drop support code for
1226           building on OS/2 with EMX - EMX was last updated in 2001 and comes
1227           with GCC 3.2.1, which pre-dates C++11 and we're going to require
1228           a compiler with good C++11 support in the near future.
1230 Thu Nov 27 03:15:51 GMT 2014  Olly Betts <olly@survex.com>
1232         * HACKING: Rename svn-ci to xapian-commit (see #621).
1234 Thu Nov 27 03:05:18 GMT 2014  Olly Betts <olly@survex.com>
1236         * backends/flint_lock.cc: Use F_OFD_SETLK where available, which
1237           avoids having to fork() a child process to hold the lock.  This
1238           currently requires Linux kernel >= 3.15, but it has been submitted
1239           to POSIX so hopefully will be widely supported eventually.  Thanks
1240           to Austin Clements for pointing out this now exists.
1242 Wed Nov 26 04:03:45 GMT 2014  Olly Betts <olly@survex.com>
1244         * include/xapian/geospatial.h: Drop documentation of parameter which
1245           the method doesn't actually take.
1247 Wed Nov 26 04:03:24 GMT 2014  Olly Betts <olly@survex.com>
1249         * include/xapian/enquire.h: Fix incorrect parameter name in doxygen
1250           comment.
1252 Wed Nov 26 03:29:28 GMT 2014  Olly Betts <olly@survex.com>
1254         * docs/doxygen_source.conf.in: @MAKEINDEX@ isn't substituted, so just
1255           use literal 'makeindex'.
1257 Wed Nov 26 03:28:32 GMT 2014  Olly Betts <olly@survex.com>
1259         * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Update to
1260           avoid warnings about obsolete tags from newer doxygen.
1262 Tue Nov 25 21:13:51 GMT 2014  Olly Betts <olly@survex.com>
1264         * configure.ac: Update link to cygwin FAQ.
1266 Tue Nov 25 01:55:17 GMT 2014  Olly Betts <olly@survex.com>
1268         * HACKING: Update details of building Xapian packages.
1270 Tue Nov 25 01:48:44 GMT 2014  Olly Betts <olly@survex.com>
1272         * HACKING: Update for SVN to git migration.
1274 Mon Nov 24 19:50:32 GMT 2014  Olly Betts <olly@survex.com>
1276         * NEWS,configure.ac: Update for 1.3.2.
1278 Mon Nov 24 03:59:02 GMT 2014  Olly Betts <olly@survex.com>
1280         * languages/Makefile.mk: Add missing '\' at end of line in previous
1281           commit.
1283 Mon Nov 24 03:14:22 GMT 2014  Olly Betts <olly@survex.com>
1285         * languages/: Install the stopword lists as
1286           ${pkgdatadir}/stopwords/LANG.list.
1288 Sun Nov 23 23:56:02 GMT 2014  Olly Betts <olly@survex.com>
1290         * HACKING,INSTALL,NEWS,NEWS.SKELETON,api/compactor.cc,
1291           api/replication.cc,backends/Makefile.mk,backends/brass/,
1292           backends/databasereplicator.cc,backends/dbcheck.cc,
1293           backends/dbfactory.cc,backends/glass/,bin/Makefile.mk,
1294           common/Makefile.mk,common/pack.h,common/pretty.h,configure.ac,docs/,
1295           include/xapian/,net/replication_protocol.rst,tests/,tests/harness/:
1296           Rename 'brass' backend to 'glass'.
1298 Sun Nov 23 22:23:00 GMT 2014  Olly Betts <olly@survex.com>
1300         * backends/brass/brass_freelist.cc,backends/brass/brass_freelist.h:
1301           Set the revision in BrassFreeList::write_block().
1303 Thu Nov 20 21:36:35 GMT 2014  Olly Betts <olly@survex.com>
1305         * backends/brass/brass_freelist.h: Reset flw_appending when we unpack
1306           a freelist.
1308 Thu Nov 20 21:36:15 GMT 2014  Olly Betts <olly@survex.com>
1310         * backends/brass/brass_freelist.cc: Fix comment typo.
1312 Thu Nov 20 03:53:32 GMT 2014  Olly Betts <olly@survex.com>
1314         * backends/brass/brass_freelist.cc: Fix end-of-block condition when
1315           walking the freelist during database consistency checking.
1317 Thu Nov 20 02:32:37 GMT 2014  Olly Betts <olly@survex.com>
1319         * backends/brass/brass_freelist.cc: Wrap comment line.
1321 Thu Nov 20 02:31:54 GMT 2014  Olly Betts <olly@survex.com>
1323         * matcher/exactphrasepostlist.cc: Straighten out confusing comments.
1325 Sun Nov 16 23:49:38 GMT 2014  Olly Betts <olly@survex.com>
1327         * NEWS: Update.
1329 Thu Nov 13 20:35:25 GMT 2014  Olly Betts <olly@survex.com>
1331         * backends/brass/brass_freelist.cc: Wrap comment line.
1333 Tue Nov 11 22:17:48 GMT 2014  Olly Betts <olly@survex.com>
1335         * api/queryinternal.cc,api/queryinternal.h: Move all the get_op()
1336           definitions out of the header as they're virtual and there's not
1337           much scope for devirtualisation.
1339 Tue Nov 11 02:58:05 GMT 2014  Olly Betts <olly@survex.com>
1341         * exception_data.pm: Just have one copy of the licence boilerplate.
1343 Sun Nov 09 22:38:04 GMT 2014  Olly Betts <olly@survex.com>
1345         * NEWS: Update.
1347 Fri Nov 07 00:49:22 GMT 2014  Olly Betts <olly@survex.com>
1349         * queryparser/lemon.c: Sync change from upstream: "Modify the
1350           %nonassoc directive in lemon so that it generates a run-time error
1351           rather than a parsing conflict. This changes is due to a bug report
1352           on the mailing list. SQLite does not use the %nonassoc directive in
1353           its grammar so this change does not affect SQLite."  Generated code
1354           is identical.
1356 Fri Nov 07 00:44:57 GMT 2014  Olly Betts <olly@survex.com>
1358         * queryparser/lemon.c: Sync change from upstream: "Fix harmless
1359           compiler warning in LEMON."  Generated code is identical.
1361 Fri Nov 07 00:39:44 GMT 2014  Olly Betts <olly@survex.com>
1363         * queryparser/lemon.c: Sync change from upstream: "In LEMON, limit the
1364           size of the grammar file to 100MB. This ensures that the program
1365           will never experience integer overflow. To be doubly sure, use
1366           calloc() instead of malloc() when allocating arrays." Generated code
1367           is identical.
1369 Fri Nov 07 00:34:26 GMT 2014  Olly Betts <olly@survex.com>
1371         * queryparser/lemon.c: Sync change from upstream: "Add the
1372           "%token_class" directive to the LEMON parser generator. This opens
1373           up the possibility of simplifying the parser. Also remove all calls
1374           to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler
1375           warnings on OpenBSD. (Aside: It is this change to avoid harmless
1376           compiler warnings that was the cause of the reason spat of bugs.)"
1377           Generated code is identical aside from whitespace changes in
1378           queryparser_token.h.
1380 Fri Nov 07 00:17:18 GMT 2014  Olly Betts <olly@survex.com>
1382         * queryparser/lemon.c: Sync change from upstream: "In Lemon, when
1383           comparing the output to the *.h file to see if it has changed, make
1384           sure that the proposed new output and the preexisting output are the
1385           same size before deciding that they are the same".  Generated code
1386           is identical, but this will fix misbehaviour in a build from a
1387           non-clean tree if new tokens get appended to queryparser_token.h.
1389 Thu Nov 06 22:23:27 GMT 2014  Olly Betts <olly@survex.com>
1391         * HACKING: Now using doxygen 1.8.8.
1393 Thu Nov 06 04:18:32 GMT 2014  Olly Betts <olly@survex.com>
1395         * HACKING: Now using libtool 2.4.3.
1397 Wed Nov 05 21:38:45 GMT 2014  Olly Betts <olly@survex.com>
1399         * backends/chert/chert_check.cc: Handle DBCHECK_FIX for a zero sized
1400           .DB file.
1402 Wed Nov 05 21:02:21 GMT 2014  Olly Betts <olly@survex.com>
1404         * backends/chert/chert_check.cc: After we successfully regenerate
1405           baseA, remove any empty baseB file to prevent it causing problems.
1406           Tracked down with help from Phil Hands.
1408 Wed Nov 05 20:58:27 GMT 2014  Olly Betts <olly@survex.com>
1410         * backends/chert/chert_check.cc: Fix DBCHECK_FIX to be able to find a
1411           level 0 root block (happens when a table has sufficiently little
1412           data in that it all fits in one block).
1414 Sun Nov 02 21:14:43 GMT 2014  Olly Betts <olly@survex.com>
1416         * docs/deprecation.rst: Fix typo.
1418 Tue Oct 28 23:35:10 GMT 2014  Olly Betts <olly@survex.com>
1420         * docs/replication.rst: Fix typo.
1422 Tue Oct 28 02:34:54 GMT 2014  Olly Betts <olly@survex.com>
1424         * docs/postingsource.rst: Use a modern class in postingsource example.
1425           (Noted by James Aylett)
1427 Mon Oct 27 21:06:55 GMT 2014  Olly Betts <olly@survex.com>
1429         * docs/,net/Makefile.mk,net/remote_protocol.rst,
1430           net/replication_protocol.rst: Move the protocol docs for the remote
1431           and replication protocols into the net/ subdirectory.
1433 Mon Oct 27 19:19:59 GMT 2014  Olly Betts <olly@survex.com>
1435         * Makefile.am,api/Makefile.mk,api/dir_contents,backends/Makefile.mk,
1436           backends/brass/Makefile.mk,backends/brass/dir_contents,
1437           backends/chert/Makefile.mk,backends/chert/dir_contents,
1438           backends/dir_contents,backends/inmemory/Makefile.mk,
1439           backends/inmemory/dir_contents,backends/multi/Makefile.mk,
1440           backends/multi/dir_contents,backends/remote/Makefile.mk,
1441           backends/remote/dir_contents,bin/Makefile.mk,bin/dir_contents,
1442           common/Makefile.mk,common/dir_contents,configure.ac,dir_contents,
1443           docs/,examples/Makefile.mk,examples/dir_contents,expand/Makefile.mk,
1444           expand/dir_contents,geospatial/Makefile.mk,geospatial/dir_contents,
1445           include/Makefile.mk,include/dir_contents,include/xapian/dir_contents,
1446           languages/Makefile.mk,languages/dir_contents,m4-macros/dir_contents,
1447           m4/dir_contents,matcher/Makefile.mk,matcher/dir_contents,
1448           net/Makefile.mk,net/dir_contents,preautoreconf,
1449           queryparser/Makefile.mk,queryparser/dir_contents,tests/Makefile.am,
1450           tests/dir_contents,tests/harness/Makefile.mk,
1451           tests/harness/dir_contents,tests/perftest/Makefile.mk,
1452           tests/perftest/dir_contents,tests/soaktest/Makefile.mk,
1453           tests/soaktest/dir_contents,unicode/Makefile.mk,unicode/dir_contents,
1454           weight/Makefile.mk,weight/dir_contents: Remove the dir_contents files
1455           and all the machinery to handle them.
1457 Sat Oct 25 19:25:06 GMT 2014  Olly Betts <olly@survex.com>
1459         * api/query.cc,api/queryinternal.cc,api/smallvector.h,
1460           include/xapian/query.h: Stop using a reference where we may end up
1461           passing *NULL, as that's invalid.  Thanks Nick Lewycky and ubsan
1462           for helping track this down.
1463         * tests/api_postingsource.cc: Fix testsuite to avoid passing literal
1464           NULL - pass nullptr for C++11 and don't bother with that part of
1465           the testcase for older C++.
1467 Sat Oct 25 19:05:07 GMT 2014  Olly Betts <olly@survex.com>
1469         * weight/dlhweight.cc,weight/dphweight.cc: Avoid dividing by zero when
1470           the collection size is 0.
1472 Fri Oct 24 23:04:24 GMT 2014  Gaurav Arora <gauravarora.daiict@gmail.com>
1474         * api/registry.cc,include/xapian/weight.h,tests/api_backend.cc,
1475           tests/api_nodb.cc,tests/api_weight.cc,weight/Makefile.mk,
1476           weight/lmweight.cc: Add Unigram LMWeight class.
1478 Tue Oct 21 19:19:32 GMT 2014  Olly Betts <olly@survex.com>
1480         * NEWS: Update for 1.2.19 release.
1482 Mon Oct 20 00:47:32 GMT 2014  Olly Betts <olly@survex.com>
1484         * .gitignore,docs/.gitignore,tests/.gitignore,unicode/.gitignore:
1485           Update to ignore new generated files.
1487 Sat Oct 18 06:15:52 GMT 2014  Olly Betts <olly@survex.com>
1489         * include/xapian/enquire.h: Don't provide a default expansion scheme
1490           name in Enquire::set_expansion_scheme().
1492 Fri Oct 17 00:33:55 GMT 2014  Olly Betts <olly@survex.com>
1494         * api/queryinternal.cc,matcher/: Split NearPostList out into separate
1495           source file and header.
1497 Wed Oct 15 04:33:31 GMT 2014  Olly Betts <olly@survex.com>
1499         * api/queryinternal.cc,matcher/exactphrasepostlist.cc: We never try to
1500           build an ExactPhrasePostList over 0 or 1 terms, so simply assert we
1501           don't, rather than having an explicit check for it in the code.
1503 Tue Oct 14 02:47:02 GMT 2014  Olly Betts <olly@survex.com>
1505         * matcher/phrasepostlist.cc,tests/api_backend.cc: If the anchor term
1506           for a phrase is the first or last, set the min or max to its
1507           position respectively.  Fixes the testcase in #657, but may not be
1508           a complete fix.
1510 Sun Oct 12 12:03:10 GMT 2014  Olly Betts <olly@survex.com>
1512         * NEWS: Update.
1514 Fri Oct 10 10:53:38 GMT 2014  Olly Betts <olly@survex.com>
1516         * backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc: The
1517           table is sync-ed after the base file, so it's the last table we want
1518           to full-sync, not the last base file.
1520 Thu Oct 09 02:39:00 GMT 2014  Olly Betts <olly@survex.com>
1522         * common/debuglog.h: Suppress unused typedef warnings from debugging
1523           logging macros, which occur in functions which always exit via
1524           throwing an exception.
1526 Thu Oct 09 01:45:00 GMT 2014  Olly Betts <olly@survex.com>
1528         * tests/harness/fdtracker.cc: Fix code typo in recent change to skip
1529           apparent leaks of /dev/urandom.
1531 Thu Oct 09 01:43:02 GMT 2014  Olly Betts <olly@survex.com>
1533         * common/pretty.h: Fix debug logging code to compile with clang.
1534           (fixes #657, reported by Germán M. Bravo)
1536 Wed Oct 08 04:43:05 GMT 2014  Olly Betts <olly@survex.com>
1538         * matcher/multimatch.cc: If an empty RSet is specified, just handle it
1539           as if no RSet were specified.
1541 Mon Oct 06 21:41:58 GMT 2014  Olly Betts <olly@survex.com>
1543         * tests/Makefile.am: Remove .replicatmp upon "make clean".
1545 Fri Sep 19 05:31:15 GMT 2014  Olly Betts <olly@survex.com>
1547         * include/xapian/enquire.h: Fix compilation with clang.  Reported by
1548           Germán M. Bravo.
1550 Fri Sep 12 17:54:34 GMT 2014  Olly Betts <olly@survex.com>
1552         * docs/overview.rst: Add missing database path to example of using
1553           xapian-progsrv in a stub database file.
1555 Thu Sep 11 21:33:49 GMT 2014  Olly Betts <olly@survex.com>
1557         * include/Makefile.mk,include/xapian/enquire.h,
1558           include/xapian/iterator.h: Add simple API to help with creating
1559           language-idiomatic iterator wrappers.
1561 Wed Sep 10 17:02:18 GMT 2014  Olly Betts <olly@survex.com>
1563         * api/queryinternal.cc: If we hit an unknown query serialisation,
1564           report the numeric code for it in the exception thrown.
1566 Wed Sep 10 16:59:20 GMT 2014  Olly Betts <olly@survex.com>
1568         * tests/queryparsertest.cc: Enable some disabled cases which actually
1569           work (in some cases with slightly tweaked expected answers which are
1570           equivalent to those that were shown).
1572 Fri Sep 05 17:41:53 GMT 2014  Olly Betts <olly@survex.com>
1574         * tests/harness/fdtracker.cc: Don't report apparent leaks of fds
1575           opened on /dev/urandom - at least on Linux, something in the C
1576           library seems to lazily open it, and the report of a possible leak
1577           followed by assurance that it's OK really is just noise we could
1578           do without.
1580 Fri Sep 05 14:06:08 GMT 2014  Olly Betts <olly@survex.com>
1582         * common/pretty.h: Add new brass-related types.
1584 Thu Sep 04 20:51:16 GMT 2014  Olly Betts <olly@survex.com>
1586         * backends/dbfactory.cc: Fix incorrect return type in logging
1587           annotations for InMemory::open().
1589 Thu Sep 04 20:48:37 GMT 2014  Olly Betts <olly@survex.com>
1591         * backends/brass/brass_database.cc,backends/chert/chert_database.cc:
1592           Fix logging annotations for get_freqs() to reflect that it now has
1593           void return type.
1595 Thu Sep 04 20:21:32 GMT 2014  Olly Betts <olly@survex.com>
1597         * api/,backends/brass/,backends/chert/,backends/dbfactory_remote.cc,
1598           matcher/mergepostlist.cc,matcher/remotesubmatch.cc,
1599           net/progclient.cc: Add missing RETURN() markup for debug logging,
1600           highlighted by warning from recent GCC.
1602 Thu Sep 04 18:02:38 GMT 2014  Olly Betts <olly@survex.com>
1604         * backends/brass/brass_freelist.cc,backends/brass/brass_freelist.h:
1605           Make the BrassTable parameter a const pointer.
1607 Thu Sep 04 17:13:57 GMT 2014  Olly Betts <olly@survex.com>
1609         * common/io_utils.cc: Reading or writing a block will almost always
1610           complete in one call, so streamline that case.
1612 Wed Sep 03 19:30:00 GMT 2014  Olly Betts <olly@survex.com>
1614         * common/internaltypes.h: Update comment to reflect C++11 now being
1615           out.
1617 Wed Sep 03 19:29:09 GMT 2014  Olly Betts <olly@survex.com>
1619         * common/internaltypes.h,configure.ac: Make uint2 available.
1621 Wed Sep 03 19:27:41 GMT 2014  Olly Betts <olly@survex.com>
1623         * backends/brass/brass_database.h: Remove method which is declared but
1624           never defined.
1626 Wed Sep 03 18:52:40 GMT 2014  Olly Betts <olly@survex.com>
1628         * generate-exceptions,include/xapian/: Use XAPIAN_IN_XAPIAN_H rather
1629           than XAPIAN_INCLUDED_XAPIAN_H in the direct inclusion of subheader
1630           checks.  Currently neither will catch the case of the user including
1631           a sub-header after <xapian.h> since the include guard for the
1632           subheader will stop us getting to the direct inclusion check, but
1633           XAPIAN_IN_XAPIAN_H will work if we move the check outside the
1634           include guard.
1636 Wed Sep 03 18:29:41 GMT 2014  Olly Betts <olly@survex.com>
1638         * include/xapian/constants.h: Hide internal constants from external
1639           users.
1641 Tue Sep 02 14:15:50 GMT 2014  Olly Betts <olly@survex.com>
1643         * backends/brass/brass_spellingwordslist.h: Explicit include
1644           brass_cursor.h since we actually use BrassCursor here.
1646 Mon Sep 01 22:03:11 GMT 2014  Olly Betts <olly@survex.com>
1648         * tests/api_backend.cc: New testcase readonlyparentdir1 to ensure that
1649           commit works with a read-only parent directory.
1651 Mon Sep 01 21:51:45 GMT 2014  Olly Betts <olly@survex.com>
1653         * tests/harness/testrunner.h: Drop "flint" flag - flint was removed
1654           from trunk some time ago.
1656 Mon Sep 01 21:42:31 GMT 2014  Olly Betts <olly@survex.com>
1658         * backends/brass/: Eliminate brass_doclen_t in favour of just using
1659           Xapian::termcount.
1661 Mon Sep 01 21:28:39 GMT 2014  Olly Betts <olly@survex.com>
1663         * backends/brass/brass_check.h: Tweak to ease upcoming big merge.
1665 Mon Sep 01 20:59:40 GMT 2014  Olly Betts <olly@survex.com>
1667         * backends/brass/,backends/dbcheck.cc: Only create a btree entry for
1668           the document data if it is non-empty.  The table is now lazily
1669           created, so won't exist if no documents have document data set.
1671 Mon Sep 01 16:54:44 GMT 2014  Olly Betts <olly@survex.com>
1673         * backends/brass/brass_record.cc,backends/brass/brass_record.h: Remove
1674           BrassRecordTable::get_doccount() as it is no longer used.
1676 Mon Sep 01 16:51:04 GMT 2014  Olly Betts <olly@survex.com>
1678         * backends/brass/: Track doccount in the database stats.
1680 Mon Sep 01 16:27:15 GMT 2014  Olly Betts <olly@survex.com>
1682         * backends/brass/brass_database.cc: Update comment and exception
1683           message not to talk about "consistent state", as that was to do
1684           with the base files.
1686 Mon Sep 01 14:57:02 GMT 2014  Olly Betts <olly@survex.com>
1688         * backends/brass/brass_database.cc: Explicitly include brass_defs.h.
1690 Mon Sep 01 14:48:01 GMT 2014  Olly Betts <olly@survex.com>
1692         * backends/brass/: Eliminate backends/brass/brass_types.h.
1694 Fri Aug 29 21:06:22 GMT 2014  Olly Betts <olly@survex.com>
1696         * backends/dbcheck.cc: Fix checking a single brass table.
1698 Thu Aug 28 16:04:59 GMT 2014  Olly Betts <olly@survex.com>
1700         * backends/brass/brass_check.cc,backends/chert/chert_check.cc,
1701           bin/xapian-check.cc,include/xapian/constants.h: Rename
1702           DBCHECK_SHOW_BITMAP to DBCHECK_SHOW_FREELIST.
1704 Tue Aug 26 22:31:32 GMT 2014  Olly Betts <olly@survex.com>
1706         * NEWS: Update.
1708 Fri Aug 22 09:09:52 GMT 2014  Gaurav Arora <gauravarora.daiict@gmail.com>
1710         * api/,backends/brass/,backends/chert/,
1711           backends/contiguousalldocspostlist.cc,
1712           backends/contiguousalldocspostlist.h,backends/database.h,
1713           backends/inmemory/inmemory_database.cc,
1714           backends/inmemory/inmemory_database.h,
1715           backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
1716           backends/remote/,common/remoteprotocol.h,docs/sorting.rst,
1717           include/xapian/database.h,include/xapian/postingiterator.h,
1718           include/xapian/weight.h,matcher/,net/remoteserver.cc,
1719           net/remoteserver.h,tests/,weight/: Provide the number of distinct
1720           terms in the document to weighting schemes.  The current
1721           implementation for the disk-based backends is a bit inefficient as
1722           it has to look at the termlist table entry for the document.
1724 Thu Aug 21 12:29:57 GMT 2014  Olly Betts <olly@survex.com>
1726         * weight/weight.cc: Add missing parameter to debug logging for
1727           Weight::init_().
1729 Tue Aug 19 14:25:39 GMT 2014  Olly Betts <olly@survex.com>
1731         * backends/brass/brass_table.h: Don't sync handles for tables which
1732           aren't open.  Reported by Austin Clements.
1734 Fri Aug 15 13:13:43 GMT 2014  Olly Betts <olly@survex.com>
1736         * HACKING: freecode no longer accepts updates, so drop that item from
1737           the release checklist.
1739 Wed Aug 13 23:55:24 GMT 2014  Olly Betts <olly@survex.com>
1741         * backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc:
1742           Only full sync the final base file written.
1744 Mon Aug 11 05:30:20 GMT 2014  Olly Betts <olly@survex.com>
1746         * configure.ac: For Sun's C++ compiler, pass -library=Crun separately
1747           since libtool looks for " -library=stlport4 " (with the spaces).
1748           (fixes#650)
1750 Mon Aug 11 03:00:15 GMT 2014  Olly Betts <olly@survex.com>
1752         * configure.ac: Rename XAPIAN_TEST_CXXFLAGS_ to XAPIAN_TEST_CXXFLAGS
1753           (since the latter is never used) and make it take a variable to
1754           add the flags to.  Also, fix it to restore CXXFLAGS correctly if
1755           the success case contains "break".
1757 Wed Aug 06 10:49:46 GMT 2014  Olly Betts <olly@survex.com>
1759         * include/xapian/compactor.h: Fix formatting of doxygen comment.
1761 Wed Aug 06 10:49:20 GMT 2014  Olly Betts <olly@survex.com>
1763         * include/xapian/constants.h: Whitespace tweak.
1765 Wed Aug 06 10:08:09 GMT 2014  Olly Betts <olly@survex.com>
1767         * backends/brass/brass_version.cc,common/io_utils.h,
1768           include/xapian/constants.h: Add DB_FULL_SYNC flag - if this is set
1769           for a database, we use the Mac OS X F_FULL_SYNC instead of
1770           fdatasync()/fsync()/etc on the version file when committing.
1772 Mon Aug 04 05:58:13 GMT 2014  Olly Betts <olly@survex.com>
1774         * backends/brass/brass_compact.cc: Whitespace tweak.
1776 Mon Aug 04 05:57:27 GMT 2014  Olly Betts <olly@survex.com>
1778         * backends/brass/brass_compact.cc: When compacting, sync all the
1779           tables together at the end.
1781 Mon Aug 04 05:42:21 GMT 2014  Olly Betts <olly@survex.com>
1783         * backends/brass/brass_compact.cc,backends/brass/brass_version.cc:
1784           Clean up temporary file in BrassVersion::sync() in all failure
1785           cases.
1787 Mon Aug 04 05:21:02 GMT 2014  Olly Betts <olly@survex.com>
1789         * backends/brass/: In DB_DANGEROUS mode, update the version file
1790           in-place.
1792 Fri Aug 01 02:49:57 GMT 2014  Olly Betts <olly@survex.com>
1794         * backends/brass/brass_compact.cc: Lock the target database while
1795           we're compacting to it, which has the side effect of creating the
1796           'flintlock' file there.
1798 Fri Aug 01 02:35:35 GMT 2014  Olly Betts <olly@survex.com>
1800         * include/xapian/visibility.h: Add link to GCC Visibility wiki page.
1802 Thu Jul 31 02:54:40 GMT 2014  Olly Betts <olly@survex.com>
1804         * tests/api_weight.cc,weight/bb2weight.cc: Avoid calculating logs of 0
1805           or negative values by clamping the normalise wdf to at most one less
1806           than the collection frequency, and the collection size to at least
1807           2.
1809 Thu Jul 31 02:48:35 GMT 2014  Olly Betts <olly@survex.com>
1811         * tests/api_weight.cc,weight/bb2weight.cc: Fix upper bound for
1812           BB2Weight to not be scaled twice by wqf and factor.
1814 Wed Jul 30 05:48:46 GMT 2014  Olly Betts <olly@survex.com>
1816         * weight/bb2weight.cc: Fix comment typo, and capitalise "Stirling" in
1817           comments.
1819 Wed Jul 30 05:47:31 GMT 2014  Olly Betts <olly@survex.com>
1821         * weight/bb2weight.cc: Whitespace cleanup.
1823 Wed Jul 30 05:43:59 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1825         * include/xapian/weight.h,weight/bb2weight.cc: Optimise BB2Weight and
1826           fix incorrect upper bound in some cases.
1828 Tue Jul 29 07:20:57 GMT 2014  Olly Betts <olly@survex.com>
1830         * backends/brass/brass_version.cc: Remove assertion that table sizes
1831           are all the same, and redundant assertion that the unserialised
1832           blocksize is >= 2048.  Fixes set-but-not-used warning in
1833           non-assertion build.
1835 Mon Jul 28 06:35:45 GMT 2014  Olly Betts <olly@survex.com>
1837         * backends/brass/brass_databasereplicator.cc,
1838           backends/brass/brass_databasereplicator.h,
1839           backends/brass/brass_table.cc: Replace enum table_id with enum
1840           Brass::table_type.
1842 Mon Jul 28 04:28:12 GMT 2014  Olly Betts <olly@survex.com>
1844         * NEWS: Note the freelist implementation fixed #40.
1846 Mon Jul 28 04:26:07 GMT 2014  Olly Betts <olly@survex.com>
1848         * api/compactor.cc,backends/brass/,backends/dbcheck.cc,
1849           tests/api_wrdb.cc: Eliminate the base files, and instead store the
1850           root block and freelist pointers in the "iambrass" file.
1852 Mon Jul 28 03:22:22 GMT 2014  Olly Betts <olly@survex.com>
1854         * backends/brass/brass_databasereplicator.cc: Remove variable which is
1855           set but never used.
1857 Sun Jul 27 01:56:58 GMT 2014  Olly Betts <olly@survex.com>
1859         * backends/dbcheck.cc: Don't try to write output when no output stream
1860           is specified in the case where the database open fails and so we
1861           can't check changes files.
1863 Thu Jul 24 21:12:23 GMT 2014  Olly Betts <olly@survex.com>
1865         * NEWS: Update.
1867 Fri Jul 11 10:44:48 GMT 2014  Olly Betts <olly@survex.com>
1869         * weight/bm25weight.cc: Improve BM25 upper bound in the case when our
1870           wdf upper bound > our document length lower bound.  Thanks to
1871           Craig Macdonald for pointing out this trick.
1873 Thu Jul 10 13:29:50 GMT 2014  Olly Betts <olly@survex.com>
1875         * weight/bm25weight.cc: Pre-multiply termweight by (param_k1 + 1).
1877 Sat Jun 28 11:00:49 GMT 2014  Olly Betts <olly@survex.com>
1879         * languages/Makefile.mk: Sort the stop.list files (since loading a
1880           sorted list is likely to be more efficient) and remove any duplicate
1881           entries.
1883 Sat Jun 28 10:48:03 GMT 2014  Olly Betts <olly@survex.com>
1885         * languages/stopwords/finnish/stop.txt,
1886           languages/stopwords/norwegian/stop.txt: Remove duplicate entries.
1888 Sat Jun 28 10:38:56 GMT 2014  Olly Betts <olly@survex.com>
1890         * languages/stopwords/russian/stop.txt: Convert from KOI8-R to UTF-8.
1892 Mon Jun 23 02:26:24 GMT 2014  Olly Betts <olly@survex.com>
1894         * configure.ac: configure.ac: Add hints for which package to install
1895           for rst2html
1897 Mon Jun 23 00:54:05 GMT 2014  Olly Betts <olly@survex.com>
1899         * configure.ac: Use AS_MKDIR_P instead of test -d || mkdir.
1901 Sun Jun 22 07:32:11 GMT 2014  Olly Betts <olly@survex.com>
1903         * NEWS: Update.
1905 Sat Jun 21 03:45:19 GMT 2014  Olly Betts <olly@survex.com>
1907         * docs/Makefile.am: Use $(MKDIR_P) instead of test -d || mkdir 3
1908           times.
1910 Sat Jun 21 03:44:37 GMT 2014  Olly Betts <olly@survex.com>
1912         * languages/Makefile.mk: Generate the directories for the minimised
1913           stopword files in a VPATH build.
1915 Tue Jun 17 13:36:40 GMT 2014  Assem Chelli <assem.ch@gmail.com>
1917         * include/xapian/queryparser.h: Add the example of initializing
1918           SimpleStopper using a file as a doccomment.
1920 Tue Jun 17 13:30:09 GMT 2014  Olly Betts <olly@survex.com>
1922         * languages/Makefile.mk: Remove trailing whitespace (some of which
1923           breaks the parsing to get the lists of source files to pass to
1924           doxygen).
1926 Tue Jun 17 13:24:59 GMT 2014  Assem Chelli <assem.ch@gmail.com>
1928         * languages/: Add stopwords lists from Snowball plus an Arabic one.
1930 Tue Jun 17 11:48:12 GMT 2014  Olly Betts <olly@survex.com>
1932         * weight/dlhweight.cc: Fix comment typo.
1934 Tue Jun 17 11:46:40 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1936         * weight/dlhweight.cc: Improve the upper bound on DLH ~3-4 times.
1938 Tue Jun 17 11:32:22 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1940         * include/xapian/weight.h,weight/dphweight.cc: Combine factor into
1941           constants calculated in init().  Improve get_maxpart() a little
1942           in the (common) case where the wdf upper bound is less than half
1943           the document length upper bound.
1945 Tue Jun 17 03:42:36 GMT 2014  Olly Betts <olly@survex.com>
1947         * tests/api_unicode.cc,unicode/UnicodeData-README.txt,
1948           unicode/UnicodeData.txt: Update to Unicode 7.0.0.
1950 Mon Jun 16 14:13:18 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1952         * weight/dphweight.cc: Improved upper bound for DPH.
1954 Mon Jun 16 13:58:24 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1956         * include/xapian/weight.h,weight/ifb2weight.cc,weight/ineb2weight.cc,
1957           weight/inl2weight.cc: Include 'factor' in the constants we calculate
1958           in init_().
1960 Mon Jun 16 13:53:05 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1962         * include/xapian/weight.h,weight/dlhweight.cc: DLH optimization.
1964 Mon Jun 16 13:02:24 GMT 2014  Olly Betts <olly@survex.com>
1966         * HACKING: Need python3-sphinx to generate docs for python3.
1968 Mon Jun 16 12:37:13 GMT 2014  Assem Chelli <assem.ch@gmail.com>
1970         * HACKING: Note sphinx-doc now needed (for Python bindings API docs).
1972 Mon Jun 16 05:35:03 GMT 2014  Olly Betts <olly@survex.com>
1974         * HACKING,configure.ac,docs/Makefile.am,docs/doxygen_api.conf.in:
1975           Don't build, ship or install PDF versions of the API docs by
1976           default, but provide an easy way for people to build it for
1977           themselves if they want it.
1979 Mon Jun 16 04:20:40 GMT 2014  Olly Betts <olly@survex.com>
1981         * include/xapian/queryparser.h: Improve the descriptions of the
1982           stem_strategy values.  (Reported by "oilap" on #xapian)
1984 Fri Jun 13 07:52:53 GMT 2014  Olly Betts <olly@survex.com>
1986         * weight/dphweight.cc: Fix some comment typos.
1988 Fri Jun 13 07:47:32 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1990         * include/xapian/weight.h,weight/dphweight.cc: Optimized DPH code.
1992 Fri Jun 13 01:39:07 GMT 2014  Olly Betts <olly@survex.com>
1994         * examples/quest.cc: Fix ordering of "bm25" and "bool" in allegedly
1995           sorted list, so that --weight bm25 and --weight bool work.
1997 Thu Jun 12 13:49:19 GMT 2014  Olly Betts <olly@survex.com>
1999         * matcher/extraweightpostlist.h: Add an assertion that get_sumextra()
2000           returns a weight contribution which is <= the upper bound which
2001           get_maxextra() returns.
2003 Thu Jun 12 13:30:55 GMT 2014  Olly Betts <olly@survex.com>
2005         * api/leafpostlist.cc,matcher/synonympostlist.cc: Add assertions that
2006           get_sumpart() returns a weight contribution which is <= the upper
2007           bound which get_maxpart() returns.
2009 Wed Jun 11 05:34:16 GMT 2014  Olly Betts <olly@survex.com>
2011         * languages/hungarian.sbl: Fix incorrect Unicode codepoints for
2012           o-double-acute and u-double-acute in Hungarian Snowball stemmer.
2013           Reported by Tom Lane to snowball-discuss.
2015 Tue Jun 10 10:59:18 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
2017         * include/xapian/weight.h,weight/ineb2weight.cc: Optimized IneB2:
2018           Reduced number of calculations in get_sumpart and tightened upper
2019           bound.
2021 Tue Jun 10 10:23:09 GMT 2014  Olly Betts <olly@survex.com>
2023         * weight/ineb2weight.cc: Fix closing brace indentation.
2025 Tue Jun 10 09:58:18 GMT 2014  Olly Betts <olly@survex.com>
2027         * examples/quest.cc: Rework the weight name lookup to use a table like
2028           the other lookups.  Change the weight names not to include "weight".
2030 Tue Jun 10 08:15:18 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
2032         * include/xapian/weight.h,weight/ifb2weight.cc: Optimized
2033           upper bound and weighting formula in IfB2Weight.
2035 Tue Jun 10 05:34:52 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
2037         * include/xapian/weight.h,weight/inl2weight.cc: Optimized
2038           upper bound and weighting formula in InL2Weight.
2040 Tue Jun 10 05:09:08 GMT 2014  Olly Betts <olly@survex.com>
2042         * examples/quest.cc: Add --weight option to allow the weighting scheme
2043           to be specified.
2045 Thu Jun 05 03:42:51 GMT 2014  Olly Betts <olly@survex.com>
2047         * api/omdatabase.cc,tests/api_backend.cc: Fix
2048           Database::get_wdf_upper_bound("") not to fail with an assertion.
2050 Tue Jun 03 22:59:10 GMT 2014  Olly Betts <olly@survex.com>
2052         * matcher/localsubmatch.cc: Use RETURN() instead of return in methods
2053           with LOGCALL annotations.
2055 Mon Jun 02 13:15:36 GMT 2014  Olly Betts <olly@survex.com>
2057         * docs/Makefile.am: Actually ship, process and install geospatial.rst.
2059 Mon Jun 02 11:40:27 GMT 2014  Olly Betts <olly@survex.com>
2061         * languages/Makefile.mk: Ship collate-sbl script.
2063 Thu May 29 12:13:06 GMT 2014  Olly Betts <olly@survex.com>
2065         * HACKING: Replace a link to the outdated autotools "goat book" with a
2066           link to the "Portable Shell" chapter of the autoconf manual.
2068 Thu May 29 03:31:10 GMT 2014  Olly Betts <olly@survex.com>
2070         * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Allow
2071           the user to specify how long a snippet they want.  Only add "..." if
2072           the sample was actually truncated.
2074 Wed May 28 12:52:26 GMT 2014  Olly Betts <olly@survex.com>
2076         * include/xapian/snipper.h: Add the standard guards to prevent user
2077           code from including this header directly.
2079 Tue May 27 04:19:12 GMT 2014  Olly Betts <olly@survex.com>
2081         * include/Makefile.mk: Ship include/xapian/snipper.h in tarball.
2083 Tue May 27 04:03:09 GMT 2014  Olly Betts <olly@survex.com>
2085         * api/snipper.cc,include/xapian/snipper.h,
2086           tests/generate-api_generated: Add missing assignment operator to
2087           Xapian::Snipper class.
2089 Tue May 27 03:43:03 GMT 2014  Olly Betts <olly@survex.com>
2091         * include/xapian/snipper.h: Add missing doxygen comments.
2093 Tue May 27 03:41:08 GMT 2014  Olly Betts <olly@survex.com>
2095         * include/xapian/snipper.h,tests/api_snipper.cc: Whitespace tweaks.
2097 Tue May 27 03:36:19 GMT 2014  Olly Betts <olly@survex.com>
2099         * api/snipper.cc,include/xapian/snipper.h,tests/api_snipper.cc: Remove
2100           getters for obtaining info about the relevance model, and instead
2101           add a get_description() method which includes all such info in the
2102           returned description.
2104 Tue May 27 03:06:36 GMT 2014  Olly Betts <olly@survex.com>
2106         * api/snipper.cc: Use an iterator instead of subscripting.
2108 Tue May 27 03:03:33 GMT 2014  Olly Betts <olly@survex.com>
2110         * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Use
2111           appropriate named types rather than "int" or "unsigned int".
2113 Tue May 27 03:02:48 GMT 2014  Olly Betts <olly@survex.com>
2115         * api/snipperinternal.h: Remove constants which are no longer used.
2117 Tue May 27 02:48:44 GMT 2014  Olly Betts <olly@survex.com>
2119         * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h:
2120           Rework Snipper methods set_smoothing_coef() and set_window_size() as
2121           optional parameters of generate_snippet().
2123 Tue May 27 02:33:39 GMT 2014  Olly Betts <olly@survex.com>
2125         * api/snipper.cc,api/snipperinternal.h: Just pass rm_docno through to
2126           Snipper::Internal::calculate_rm() as a parameter rather than storing
2127           it in a member variable.
2129 Tue May 27 02:25:41 GMT 2014  Olly Betts <olly@survex.com>
2131         * api/snipper.cc: Use clear() method to empty a container.
2133 Tue May 27 02:22:37 GMT 2014  Olly Betts <olly@survex.com>
2135         * tests/api_snipper.cc: Drop unused <algorithm>.
2137 Tue May 27 02:21:53 GMT 2014  Olly Betts <olly@survex.com>
2139         * api/snipper.cc: Eliminate ret_value variable.
2141 Tue May 27 02:20:25 GMT 2014  Olly Betts <olly@survex.com>
2143         * api/snipper.cc: Avoid unnecessary substr operations.
2145 Tue May 27 02:17:32 GMT 2014  Olly Betts <olly@survex.com>
2147         * api/snipper.cc: Prefer ++i to i++ in loops.
2149 Tue May 27 02:16:14 GMT 2014  Olly Betts <olly@survex.com>
2151         * api/snipper.cc: Use TermIterator::positionlist_count().
2153 Tue May 27 02:14:52 GMT 2014  Olly Betts <olly@survex.com>
2155         * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Fix
2156           typos in comments and variable names in new snipper code.
2158 Tue May 27 02:13:09 GMT 2014  Olly Betts <olly@survex.com>
2160         * tests/Makefile.am: Hook up new Snipper API tests to actually be
2161           used.
2163 Tue May 27 02:09:49 GMT 2014  Mihai Bivol <mm.bivol@gmail.com>
2165         * tests/api_snipper.cc: Add Snipper API tests.
2167 Tue May 27 02:04:26 GMT 2014  Olly Betts <olly@survex.com>
2169         * api/snipper.cc: Add missing #include <config.h>.
2171 Tue May 27 02:00:32 GMT 2014  Mihai Bivol <mm.bivol@gmail.com>
2173         * api/Makefile.mk,api/snipper.cc,api/snipperinternal.h,
2174           include/xapian.h,include/xapian/snipper.h: Add Xapian::Snipper
2175           class.
2177 Mon May 26 05:52:22 GMT 2014  Olly Betts <olly@survex.com>
2179         * api/omdatabase.cc,backends/brass/brass_postlist.h,
2180           backends/chert/chert_postlist.h,backends/database.h: Fix comment
2181           typos.
2183 Fri May 23 11:59:26 GMT 2014  Olly Betts <olly@survex.com>
2185         * api/matchspy.cc: Pass std::string by const reference.
2187 Thu May 22 06:31:12 GMT 2014  Olly Betts <olly@survex.com>
2189         * matcher/localsubmatch.cc: Fix the check for a term which matches all
2190           documents to use the sub-db termfreq, not the combined db termfreq.
2192 Thu May 22 06:00:47 GMT 2014  Olly Betts <olly@survex.com>
2194         * matcher/localsubmatch.cc: If a term matches all documents and its
2195           weight doesn't depend on its wdf, we can optimise it to MatchAll
2196           (the previous requirement that maxpart == 0 was unnecessarily
2197           strict).
2199 Thu May 22 05:52:15 GMT 2014  Olly Betts <olly@survex.com>
2201         * matcher/localsubmatch.cc,tests/api_percentages.cc: When we optimise
2202           a postlist for a term which matches all documents to use MatchAll,
2203           we still need to set a weight object on it to get percentages
2204           calculated correctly.
2206 Thu May 22 04:08:35 GMT 2014  Olly Betts <olly@survex.com>
2208         * api/queryinternal.cc,matcher/localsubmatch.cc,
2209           matcher/localsubmatch.h,matcher/queryoptimiser.h: Refactor to group
2210           most of the code to create a postlist for a term and set its weight
2211           into one place.
2213 Mon May 19 00:08:04 GMT 2014  Olly Betts <olly@survex.com>
2215         * backends/brass/brass_freelist.cc,tests/api_backend.cc: When we start
2216           to write a new freelist block, set the revision on the old one we
2217           write out correctly, and don't "-1" out the next block pointer
2218           before we write out the block in this case.  New regression testcase
2219           newfreelistblock1.
2220         * backends/brass/brass_freelist.cc: Add assertions that the freelist
2221           block has a next pointer when fl_end is a different block to fl.
2223 Fri May 16 04:35:21 GMT 2014  Olly Betts <olly@survex.com>
2225         * backends/brass/brass_freelist.h: Fix BrassFreeList::swap() to also
2226           swap the flw_appending members.
2228 Thu May 15 12:51:15 GMT 2014  Olly Betts <olly@survex.com>
2230         * HACKING: Add checking config/config.* are up to date to the
2231           release checklist.
2233 Thu May 15 12:47:28 GMT 2014  Olly Betts <olly@survex.com>
2235         * HACKING: Now using automake 1.14.1 to bootstrap snapshots and
2236           1.3.x releases.
2238 Wed May 14 03:18:37 GMT 2014  Olly Betts <olly@survex.com>
2240         * api/queryinternal.cc: Only serialise parameter where it is actually
2241           used.
2243 Fri May 09 01:56:48 GMT 2014  Olly Betts <olly@survex.com>
2245         * HACKING: Now using doxygen 1.8.7 to bootstrap tarballs.
2247 Mon May 05 05:37:32 GMT 2014  Olly Betts <olly@survex.com>
2249         * backends/chert/chert_check.cc,backends/chert/chert_dbcheck.cc,
2250           backends/dbcheck.cc: Improve DBCHECK_FIX - if fixing a whole
2251           database, we now take the revision from the first table we
2252           successfully look at, which should be correct in most cases,
2253           and is definitely better than trying to determine the revision
2254           of each broken table independently.
2256 Fri May 02 02:36:05 GMT 2014  Olly Betts <olly@survex.com>
2258         * matcher/valuestreamdocument.cc,matcher/valuestreamdocument.h: Put
2259           the docid in the sub-database into the ValueStreamDocument object as
2260           that's what Xapian::Document::get_docid() is documented to return.
2261           (fixes#636, reported by Jeff Rand).
2263 Thu May 01 13:25:35 GMT 2014  Olly Betts <olly@survex.com>
2265         * api/omdatabase.cc,include/xapian/database.h,
2266           matcher/valuestreamdocument.cc: Eliminate
2267           Database::get_document_lazily_() completely.
2269 Thu May 01 11:48:00 GMT 2014  Olly Betts <olly@survex.com>
2271         * backends/database.cc,backends/slowvaluelist.cc,
2272           backends/slowvaluelist.h: Don't wrap the subdatabase object in a
2273           Xapian::Database for SlowValueList, which mean we can just call
2274           open_document(did, true) on it instead of having to use
2275           Xapian::Database::get_document_lazily_().
2277 Wed Apr 30 00:31:52 GMT 2014  Olly Betts <olly@survex.com>
2279         * api/omdatabase.cc: Explicitly '#include <algorithm>' for std::max(),
2280           fixing build with VS2013.  (fixes#641)
2282 Tue Apr 29 04:28:06 GMT 2014  Olly Betts <olly@survex.com>
2284         * common/append_filename_arg.h,net/remoteconnection.h: Comment tweaks.
2286 Tue Apr 29 04:26:26 GMT 2014  Olly Betts <olly@survex.com>
2288         * tests/harness/unixcmds.cc: Drop code supporting Microsoft Windows 9x
2289           which reached EOL in 2006.
2291 Thu Apr 17 05:06:21 GMT 2014  Olly Betts <olly@survex.com>
2293         * common/autoptr.h: Under C++11, use unique_ptr for AutoPtr.
2295 Wed Apr 09 22:16:37 GMT 2014  Olly Betts <olly@survex.com>
2297         * api/documentterm.h,api/omdocument.cc: Don't store the termname in
2298           OmDocumentTerm - we were only using it in get_description() output
2299           and an exception message.  Speeds up indexing etext.txt using
2300           simpleindex by 0.4%, and should reduce memory usage a bit too.
2301           (Change inspired by comments from Vishesh Handa on xapian-devel).
2303 Wed Apr 09 05:17:58 GMT 2014  Olly Betts <olly@survex.com>
2305         * backends/brass/brass_btreebase.cc,backends/brass/brass_table.cc:
2306           Remove comment references to using bitmaps for freespace tracking.
2308 Tue Apr 08 04:20:00 GMT 2014  Olly Betts <olly@survex.com>
2310         * bin/xapian-delve.cc: Add -A <prefix> option to list all terms with
2311           a particular prefix.
2313 Mon Apr 07 05:45:06 GMT 2014  Olly Betts <olly@survex.com>
2315         * api/omdatabase.cc,backends/brass/,backends/chert/,
2316           backends/database.cc,backends/database.h,
2317           backends/inmemory/inmemory_database.cc,
2318           backends/inmemory/inmemory_database.h,
2319           backends/remote/remote-database.cc,backends/remote/remote-database.h,
2320           common/remoteprotocol.h,matcher/const_database_wrapper.cc,
2321           matcher/const_database_wrapper.h,net/remoteserver.cc,
2322           net/remoteserver.h,weight/weightinternal.cc: Fetch termfreq and
2323           collection frequency in a single call - shaves ~0.3% off a test
2324           search.
2326 Thu Apr 03 23:40:45 GMT 2014  Olly Betts <olly@survex.com>
2328         * net/serialise.cc,weight/weightinternal.h: Make Weight::Internal
2329           track if any max_part values are set, so we don't need to
2330           serialise them when they've not been set.
2332 Thu Apr 03 05:50:13 GMT 2014  Olly Betts <olly@survex.com>
2334         * weight/weightinternal.cc: Enhance
2335           Weight::Internal::get_description() to report TermFreqs.
2337 Thu Apr 03 05:46:44 GMT 2014  Olly Betts <olly@survex.com>
2339         * api/omenquire.cc,api/omenquireinternal.h,common/submatch.h,matcher/,
2340           net/remoteserver.cc,net/serialise.cc,weight/weight.cc,
2341           weight/weightinternal.cc,weight/weightinternal.h: Eliminate the
2342           map<string, TermFreqAndWeight> in MSet::Internal, and instead just
2343           preserve the Weight::Internal object there as that holds all the
2344           information we need.
2346 Thu Apr 03 04:40:09 GMT 2014  Olly Betts <olly@survex.com>
2348         * backends/remote/remote-database.cc,net/remoteserver.cc,
2349           net/serialise.cc,net/serialise.h: Avoid returning
2350           Xapian::Weight::Internal by value from unserialise_stats().
2352 Tue Apr 01 22:41:16 GMT 2014  Olly Betts <olly@survex.com>
2354         * matcher/localsubmatch.cc,weight/weight.cc,weight/weightinternal.cc,
2355           weight/weightinternal.h: Replace Weight::Internal methods to get
2356           termfreq, reltermfreq and colltermfreq with a single inlined
2357           get_stats() method, which only needs to search the map once.
2358           Shaves ~1.6% off the time to do a wildcard query with a lot of
2359           terms.
2361 Tue Apr 01 22:11:52 GMT 2014  Olly Betts <olly@survex.com>
2363         * matcher/localsubmatch.cc: Don't refetch the termfreq if we already
2364           have it.
2366 Sun Mar 30 22:54:22 GMT 2014  Anish Kanchan <anishgkanchan@gmail.com>
2368         * include/xapian/termgenerator.h: Make TermGenerator flags an
2369           anonymous enum, and typedef TermGenerator::flags to int for backward
2370           compatibility with existing user code which uses it.  (fixes #616)
2372 Thu Mar 27 05:45:14 GMT 2014  Liu Chi <liuchi09@gmail.com>
2374         * include/xapian/stem.h,languages/Makefile.mk,
2375           languages/earlyenglish.sbl,languages/stem.cc,tests/api_stem.cc:
2376           Add an early english stemmer.
2378 Wed Mar 19 02:42:00 GMT 2014  Olly Betts <olly@survex.com>
2380         * weight/weightinternal.cc: Fix comment typo.
2382 Fri Mar 14 09:53:22 GMT 2014  Olly Betts <olly@survex.com>
2384         * HACKING: MacTeX seems to be the best option if using homebrew.
2386 Fri Mar 07 23:17:43 GMT 2014  Olly Betts <olly@survex.com>
2388         * matcher/maxpostlist.cc: More fixes for --enable.log.
2390 Fri Mar 07 23:01:45 GMT 2014  Olly Betts <olly@survex.com>
2392         * matcher/maxpostlist.cc: Fix compilation error with --enable-log on.
2393           Reported by Anurag Soni.
2395 Fri Mar 07 00:39:11 GMT 2014  Olly Betts <olly@survex.com>
2397         * HACKING: Fix typo and RST markup.
2399 Fri Mar 07 00:21:16 GMT 2014  VcamX <vcamx3@gmail.com>
2401         * HACKING: Note packages to install from homebrew on Mac OS X.
2403 Fri Mar 07 00:17:01 GMT 2014  VcamX <vcamx3@gmail.com>
2405         * backends/dbcheck.cc,common/pack.h: Fix warnings with clang 5.0.
2407 Tue Mar 04 04:25:11 GMT 2014  Olly Betts <olly@survex.com>
2409         * api/queryinternal.cc,api/queryinternal.h: Only simplify OP_SYNONYM
2410           with a single subquery if that subquery is a term or MatchAll.
2412 Tue Mar 04 04:12:58 GMT 2014  Olly Betts <olly@survex.com>
2414         * tests/api_none.cc: Test OPs with a single MatchAll subquery.
2416 Mon Mar 03 22:59:55 GMT 2014  Mayank Chaudhary <mayankchaudhary.iitr@gmail.com>
2418         * docs/Makefile.am,docs/bm25.rst,docs/intro_ir.rst: Convert equations
2419           in rst docs to use LaTeX via the math role and directive.
2421 Fri Feb 28 06:12:36 GMT 2014  Olly Betts <olly@survex.com>
2423         * backends/brass/brass_positionlist.h,
2424           backends/chert/chert_positionlist.h: Remove next_internal() methods
2425           which were declared but not defined or used (left-overs from flint).
2426           Reported by "Hurricane Tong".
2428 Wed Feb 26 01:33:50 GMT 2014  Olly Betts <olly@survex.com>
2430         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
2431           examples/quest.cc,include/xapian/query.h,matcher/Makefile.mk,
2432           matcher/maxpostlist.cc,matcher/maxpostlist.h,
2433           queryparser/queryparser.cc,tests/api_none.cc,tests/api_opsynonym.cc:
2434           Implement new OP_MAX query operator, which returns the maximum
2435           weight of any of its subqueries.  (see #360)
2437 Wed Feb 26 00:48:23 GMT 2014  Olly Betts <olly@survex.com>
2439         * matcher/localsubmatch.cc,matcher/synonympostlist.cc,
2440           matcher/synonympostlist.h: In SynonymPostList, avoid fetching the
2441           doclength if the weighting scheme doesn't need it and the calculated
2442           wdf for the synonym in <= doclength_lower_bound for the current
2443           subdatabase.  (fixes #360)
2445 Wed Feb 26 00:12:22 GMT 2014  Olly Betts <olly@survex.com>
2447         * backends/brass/brass_changes.cc: Fix compilation without
2448           --enable-assertions.
2450 Tue Feb 25 02:33:14 GMT 2014  Olly Betts <olly@survex.com>
2452         * examples/quest.cc: Add --default-op option.
2454 Tue Feb 25 01:56:34 GMT 2014  Olly Betts <olly@survex.com>
2456         * examples/quest.cc: Whitespace tweak.
2458 Mon Feb 24 06:33:37 GMT 2014  Olly Betts <olly@survex.com>
2460         * tests/api_opsynonym.cc: Refactor symonym1 so that the test data is
2461           specified by an array, rather than built up by code, so that the
2462           actual testcases can be more easily seen.
2464 Sun Feb 23 01:22:56 GMT 2014  Olly Betts <olly@survex.com>
2466         * common/bitstream.cc,common/bitstream.h: Add comments to better
2467           document BitReader and BitWriter. (fixes#252)
2469 Sun Feb 23 00:35:17 GMT 2014  Olly Betts <olly@survex.com>
2471         * HACKING: Stop trying to explicitly list compilers which support
2472           __builtin_expect (LLVM does too, others may as well).
2474 Fri Feb 21 01:34:59 GMT 2014  Olly Betts <olly@survex.com>
2476         * backends/brass/,backends/dbcheck.cc,common/,
2477           docs/replication_protocol.rst,tests/api_backend.cc,
2478           tests/api_replicate.cc: Keep track of unused blocks in the Btrees
2479           using freelists rather than bitmaps.
2481 Fri Feb 21 01:21:45 GMT 2014  Olly Betts <olly@survex.com>
2483         * tests/api_wrdb.cc: Expand crashrecovery1 to check that the expected
2484           base files exist and ones which shouldn't exist don't.
2486 Thu Feb 20 00:34:47 GMT 2014  Olly Betts <olly@survex.com>
2488         * HACKING: makeindex is now in Debian package texlive-binaries.
2490 Wed Feb 19 06:50:58 GMT 2014  Olly Betts <olly@survex.com>
2492         * docs/sorting.rst: Fix incorrect parameter types in Xapian::Weight
2493           subclass example.
2495 Tue Feb 18 23:34:19 GMT 2014  Olly Betts <olly@survex.com>
2497         * api/replication.cc: Fix conditional for enabling replication code
2498           - if chert is disabled but brass isn't, we should still enable it.
2500 Tue Feb 18 01:33:28 GMT 2014  Olly Betts <olly@survex.com>
2502         * tests/api_replicate.cc: Move comment to in front of the function it
2503           is actually talking about.
2505 Sun Feb 16 04:53:57 GMT 2014  Olly Betts <olly@survex.com>
2507         * xapian-config.in: Add some missing shell quoting identified by
2508           shellcheck.
2510 Sun Feb 16 00:53:01 GMT 2014  Olly Betts <olly@survex.com>
2512         * docs/quickstart.rst: Split --cxxflags and --libs for portability
2513           (noted by "Hurricane Tong" on xapian-devel).
2515 Sat Feb 15 04:59:37 GMT 2014  Olly Betts <olly@survex.com>
2517         * docs/glossary.rst: Add definition of "collection frequency".
2519 Fri Feb 14 22:24:26 GMT 2014  Olly Betts <olly@survex.com>
2521         * NEWS: Update.
2523 Fri Jan 17 03:50:44 GMT 2014  Olly Betts <olly@survex.com>
2525         * backends/brass/brass_databasereplicator.cc,
2526           backends/brass/brass_table.cc,
2527           backends/chert/chert_databasereplicator.cc,
2528           backends/chert/chert_table.cc,common/io_utils.cc,common/io_utils.h:
2529           Add io_read_block() and io_write_block() as wrappers around pread()
2530           and pwrite() (or lseek() plus read() and lseek() plus write()).
2532 Sat Jan 11 06:32:19 GMT 2014  Olly Betts <olly@survex.com>
2534         * configure.ac: Sun C++ seems to explicitly need Crun now.
2536 Sat Jan 11 02:23:06 GMT 2014  Olly Betts <olly@survex.com>
2538         * configure.ac: Fix checks for Sun C++.
2540 Fri Jan 10 22:38:01 GMT 2014  Olly Betts <olly@survex.com>
2542         * matcher/multimatch.cc: timer_create() doesn't handle CLOCK_MONOTONIC
2543           on Solaris, so use CLOCK_REALTIME there instead.
2545 Fri Jan 10 11:22:37 GMT 2014  Olly Betts <olly@survex.com>
2547         * configure.ac: Improve handling of Sun's C++ compiler - trick libtool
2548           into not adding -library=Cstd, and prefer -library=stdcxx4 if
2549           supported.
2551 Fri Jan 10 11:16:15 GMT 2014  Olly Betts <olly@survex.com>
2553         * configure.ac: Add XAPIAN_TEST_CXXFLAGS macro, and use it to check
2554           the flags to cxx actually work.
2556 Fri Jan 10 10:56:17 GMT 2014  Olly Betts <olly@survex.com>
2558         * configure.ac: Apply missing functional part of previous change.
2560 Fri Jan 10 10:46:53 GMT 2014  Olly Betts <olly@survex.com>
2562         * configure.ac: Avoid using grep -e as /usr/bin/grep on Solaris
2563           doesn't support it.
2565 Fri Jan 10 03:30:10 GMT 2014  Olly Betts <olly@survex.com>
2567         * backends/brass/brass_databasereplicator.cc: Whitespace tweak.
2569 Thu Jan 09 11:06:05 GMT 2014  Olly Betts <olly@survex.com>
2571         * backends/brass/brass_cursor.h,backends/brass/brass_database.cc,
2572           backends/chert/chert_database.cc,
2573           backends/chert/chert_databasereplicator.cc,
2574           backends/inmemory/inmemory_database.h,common/log2.h,
2575           common/realtime.h,matcher/multimatch.cc,weight/pl2weight.cc,
2576           weight/tradweight.cc: Fix compilations issues with Sun's C++
2577           compiler (mostly missing library headers).
2579 Thu Jan 09 06:00:03 GMT 2014  Olly Betts <olly@survex.com>
2581         * backends/dbcheck.cc: Skip absent lazily created tables in the case
2582           where out == NULL too.
2584 Thu Jan 09 05:31:40 GMT 2014  Olly Betts <olly@survex.com>
2586         * tests/api_wrdb.cc: Use Xapian::Database::check() in cursordelbug1.
2587           (partly addresses #238)
2589 Thu Jan 09 05:30:45 GMT 2014  Olly Betts <olly@survex.com>
2591         * include/xapian/database.h: Make second and third parameters to
2592           Xapian::Database::check() optional, defaulting to a quiet check.
2594 Thu Jan 09 02:52:54 GMT 2014  Olly Betts <olly@survex.com>
2596         * backends/brass/,backends/chert/,backends/dbcheck.cc,
2597           bin/xapian-check.cc,include/xapian/database.h: Alter
2598           Database::check() to take its "out" parameter as a pointer to
2599           std::ostream instead of a reference, and make passing NULL means "do
2600           not produce output".  Remove the form without the "out" parameter,
2601           which used to mean "send output to stdout" - if you want this, just
2602           pass "&std::cout" in.
2604 Thu Jan 09 01:50:14 GMT 2014  Olly Betts <olly@survex.com>
2606         * include/xapian/database.h: OS X SDK check() macro takes one
2607           argument, so there's no need to protect check() methods with
2608           more than one argument.
2609         * include/xapian/valueiterator.h: Protect the one check() method in
2610           our API which does take one argument.
2612 Wed Jan 08 11:48:58 GMT 2014  Olly Betts <olly@survex.com>
2614         * api/smallvector.cc,api/smallvector.h: Include cstddef rather than
2615           cstring for std::size_t, as it's a simpler header.  Don't assume
2616           size_t will be available unqualified.  Add SmallVector::size_type
2617           typedef.
2619 Mon Jan 06 11:54:53 GMT 2014  Olly Betts <olly@survex.com>
2621         * net/progclient.cc: Fix xlC warning.
2623 Mon Jan 06 00:31:19 GMT 2014  Olly Betts <olly@survex.com>
2625         * backends/brass/brass_table.cc,backends/chert/chert_table.cc:
2626           Validate dir_end when reading a block.  (fixes #592)
2628 Wed Jan 01 01:20:46 GMT 2014  Olly Betts <olly@survex.com>
2630         * docs/Makefile.am: Fix handling of MAINTAINER_NO_DOCS.
2632 Mon Dec 30 05:33:59 GMT 2013  Olly Betts <olly@survex.com>
2634         * tests/api_unicode.cc: Add regression test for incorrect results
2635           from Unicode::tolower() for 4 code points (U+01C5, U+01C8, U+01CB,
2636           U+01F2) with Xapian 1.2.16 and earlier.
2638 Sun Dec 29 05:46:14 GMT 2013  Olly Betts <olly@survex.com>
2640         * docs/postingsource.rst: Clarify a couple of points (reported by
2641           "vHanda" on IRC).
2643 Tue Dec 24 02:00:26 GMT 2013  Olly Betts <olly@survex.com>
2645         * tests/Makefile.am,tests/perftest/Makefile.mk: Actually use
2646           @NO_INSTALL@.
2648 Tue Dec 24 01:59:05 GMT 2013  Olly Betts <olly@survex.com>
2650         * configure.ac: Use -no-fast-install on platforms where -no-install
2651           causes libtool to emit a warning.
2653 Mon Dec 23 04:17:35 GMT 2013  Olly Betts <olly@survex.com>
2655         * HACKING: Drop note about needing git-svn if you're using git -
2656           bootstrap now only uses git-svn if your Xapian tree was checked out
2657           using git-svn.
2659 Mon Dec 23 04:16:58 GMT 2013  Olly Betts <olly@survex.com>
2661         * HACKING: Note that Tcl is now needed to generate
2662           unicode/unicode-data.cc.
2664 Mon Dec 23 04:01:05 GMT 2013  Olly Betts <olly@survex.com>
2666         * tests/api_unicode.cc: Add a test that a character due to be added in
2667           Unicode 7.0.0 is categorised as "unassigned".
2669 Mon Dec 23 03:50:37 GMT 2013  Olly Betts <olly@survex.com>
2671         * unicode/Makefile.mk,unicode/uniParse.tcl: Adjust to not need a
2672           symlink.  Give the generated file a new name, since the "tcl" prefix
2673           doesn't make much sense here, and it avoids issues with
2674           transitioning from a file in version control to one which is
2675           generated.
2677 Mon Dec 23 03:32:40 GMT 2013  Olly Betts <olly@survex.com>
2679         * unicode/: Add the source data file and scripts to generate
2680           tclUniData.cc.
2682 Mon Dec 23 02:20:57 GMT 2013  Olly Betts <olly@survex.com>
2684         * NEWS: Update from ChangeLog.
2686 Mon Dec 23 01:04:26 GMT 2013  Olly Betts <olly@survex.com>
2688         * include/xapian/enquire.h: Note that 1.2.17 is required for the
2689           correct sense of the reverse parameter to Enquire methods
2690           set_sort_by_relevance_then_value() and
2691           set_sort_by_relevance_then_key().
2693 Mon Dec 23 00:30:53 GMT 2013  Olly Betts <olly@survex.com>
2695         * backends/brass/brass_btreebase.cc: Fix comment documenting what's in
2696           the base file (the sequential flag was missing).
2698 Fri Dec 20 03:47:56 GMT 2013  Olly Betts <olly@survex.com>
2700         * backends/brass/brass_termlisttable.h,include/xapian/constants.h,
2701           tests/api_backend.cc: Add Xapian::DB_NO_TERMLIST flag to allow
2702           creating a database without a termlist (see #181).
2704 Fri Dec 20 03:04:51 GMT 2013  Olly Betts <olly@survex.com>
2706         * include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode
2707           character database to 6.3.0.
2708         * tests/api_unicode.cc: Add tests for U+061C, added in 6.3.0.
2710 Fri Dec 20 00:20:01 GMT 2013  Olly Betts <olly@survex.com>
2712         * backends/dbfactory.cc: Clear any backend flag passed in before
2713           passing the flags when opening stub databases, fixing test failure
2714           in replicate1 caused by recent change adding
2715           Xapian::DB_BACKEND_STUB.
2717 Thu Dec 19 23:11:32 GMT 2013  Olly Betts <olly@survex.com>
2719         * tests/api_backend.cc: Simplify database creation in testcase
2720           blocksize1.
2722 Thu Dec 19 23:10:37 GMT 2013  Olly Betts <olly@survex.com>
2724         * backends/dbfactory.cc: Tweak conditionals around $XAPIAN_PREFER_BRASS
2725           check.
2727 Thu Dec 19 23:09:30 GMT 2013  Olly Betts <olly@survex.com>
2729         * api/replication.cc,backends/dbfactory.cc,docs/deprecation.rst,
2730           docs/overview.rst,include/xapian/constants.h,
2731           include/xapian/dbfactory.h,tests/api_backend.cc,tests/api_db.cc:
2732           Add Xapian::DB_BACKEND_STUB and deprecate Xapian::Auto::open_stub().
2734 Thu Dec 19 06:46:15 GMT 2013  Olly Betts <olly@survex.com>
2736         * docs/deprecation.rst: Update example version to a more recent one.
2738 Thu Dec 19 04:01:31 GMT 2013  Olly Betts <olly@survex.com>
2740         * docs/deprecation.rst,include/xapian/dbfactory.h,tests/api_db.cc,
2741           tests/harness/: Deprecate Xapian::Brass::open() and
2742           Xapian::Chert::open() in favour of the new Xapian::DB_BACKEND_BRASS
2743           and Xapian::DB_BACKEND_CHERT flags.
2745 Thu Dec 19 01:17:02 GMT 2013  Olly Betts <olly@survex.com>
2747         * api/compactor.cc,backends/brass/,backends/chert/chert_database.cc,
2748           backends/chert/chert_database.h,backends/database.h,
2749           backends/dbcheck.cc,backends/dbfactory.cc,include/xapian/constants.h,
2750           include/xapian/database.h,include/xapian/dbfactory.h: Add flags
2751           which can be bitwise OR-ed into the second argument when opening a
2752           writable datase: DB_NO_SYNC (to disable use of fsync, etc) and
2753           DB_DANGEROUS (to enable in-place updates).  WritableDatabase
2754           can now be constructed from just a filename (defaulting to opening
2755           the database with DB_CREATE_OR_OPEN).
2757 Thu Dec 19 00:11:26 GMT 2013  Olly Betts <olly@survex.com>
2759         * tests/harness/backendmanager_multi.cc: Fix comment typo.
2761 Wed Dec 18 23:52:49 GMT 2013  Olly Betts <olly@survex.com>
2763         * backends/brass/brass_table.cc,backends/chert/chert_table.cc,
2764           tests/api_backend.cc: Fix handling of invalid block sizes - the
2765           size gets fixed as documented, but the uncorrected size was passed
2766           to the base file.  Also, abort() was called on 0.
2768 Wed Dec 18 22:48:18 GMT 2013  Olly Betts <olly@survex.com>
2770         * api/replication.cc,backends/brass/brass_check.cc,
2771           backends/brass/brass_database.cc,backends/chert/chert_check.cc,
2772           backends/chert/chert_database.cc,backends/database.h,
2773           backends/dbcheck.cc,bin/xapian-tcpsrv.cc,include/Makefile.mk,
2774           include/xapian.h,include/xapian/database.h,net/remoteserver.cc:
2775           Move Xapian::DB_* and Xapian:DBCHECK_* constants into
2776           xapian/constants.h.
2778 Wed Dec 18 22:30:23 GMT 2013  Olly Betts <olly@survex.com>
2780         * backends/brass/brass_database.cc,backends/chert/chert_database.cc:
2781           Include xapian/*.h with "" not <> inside the library.
2783 Wed Dec 18 22:17:15 GMT 2013  Olly Betts <olly@survex.com>
2785         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
2786           Include only the needed xapian/*.h headers (rather than xapian.h) to
2787           reduce inter-file dependencies within the library.
2789 Wed Dec 18 03:24:22 GMT 2013  Olly Betts <olly@survex.com>
2791         * tests/runtest.in: Report if a test is being run under eatmydata,
2792           like we do for running under valgrind.
2794 Wed Dec 18 02:43:47 GMT 2013  Olly Betts <olly@survex.com>
2796         * backends/brass/brass_version.h,backends/chert/chert_version.h:
2797           Comment out unused set_uuid() and set_uuid_string() methods - they
2798           may be useful in future, but we aren't currently using them.  Also
2799           make set_uuid() take a const pointer.
2801 Wed Dec 18 02:40:18 GMT 2013  Olly Betts <olly@survex.com>
2803         * HACKING,configure.ac,tests/runtest.in: Automatically probe for and
2804           hook in eatmydata to the testsuite using the wrapper script it now
2805           includes.
2807 Wed Dec 18 01:21:07 GMT 2013  Olly Betts <olly@survex.com>
2809         * HACKING: Update website update info.
2811 Sat Dec 14 06:01:33 GMT 2013  Olly Betts <olly@survex.com>
2813         * weight/dlhweight.cc,weight/dphweight.cc: Whitespace tweak.
2815 Fri Dec 13 21:06:28 GMT 2013  Olly Betts <olly@survex.com>
2817         * backends/brass/brass_cursor.cc,backends/brass/brass_cursor.h,
2818           backends/brass/brass_table.cc: Reference count blocks in the
2819           btree cursor, so cursors can cheaply share blocks.  This can
2820           significantly reduce the amount of memory used for cursors
2821           for queries which contain a lot of terms (e.g. wildcards which
2822           expand to a lot of terms).
2824 Thu Dec 12 22:37:22 GMT 2013  Olly Betts <olly@survex.com>
2826         * backends/brass/brass_btreebase.cc: Add assertions that we don't read
2827           beyond the end of the freespace bitmap.
2829 Thu Dec 12 22:25:04 GMT 2013  Olly Betts <olly@survex.com>
2831         * matcher/msetcmp.cc: Fix sense of reverse parameter to
2832           Enquire::set_sort_by_relevance_then_value.  Reported by "boomboo" on
2833           IRC.
2834         * tests/api_db.cc: Fix testcase sortrel1.
2836 Thu Dec 12 19:47:46 GMT 2013  Olly Betts <olly@survex.com>
2838         * backends/brass/: Make Brass::Cursor members n and p private.
2840 Thu Dec 12 19:46:23 GMT 2013  Olly Betts <olly@survex.com>
2842         * backends/brass/brass_check.cc,backends/brass/brass_table.cc: Add
2843           const to a few pointers we only read through.
2845 Thu Dec 12 09:04:13 GMT 2013  Olly Betts <olly@survex.com>
2847         * configure.ac: Improve reporting of GCC version.
2849 Thu Dec 12 09:01:26 GMT 2013  Olly Betts <olly@survex.com>
2851         * tests/api_query.cc,unicode/description_append.cc: Escape \x7f in
2852           object descriptions.
2854 Wed Dec 11 23:40:37 GMT 2013  Olly Betts <olly@survex.com>
2856         * api/leafpostlist.cc,api/leafpostlist.h,backends/brass/,
2857           matcher/localsubmatch.cc,matcher/localsubmatch.h,
2858           matcher/queryoptimiser.h: Under brass, optimise the turning of a
2859           query into a postlist to copy the cursor blocks for the previous
2860           term's postlist.  This is particularly effective for wildcard
2861           queries which expand to a lot of terms.
2863 Wed Dec 11 22:05:34 GMT 2013  Olly Betts <olly@survex.com>
2865         * backends/brass/brass_postlist.h: We don't have a
2866           BrassModifiedPostList class, so we don't need protected members in
2867           BrassPostList for it to use.
2869 Wed Dec 11 04:46:58 GMT 2013  Olly Betts <olly@survex.com>
2871         * weight/bm25weight.cc: Fix case where (k1 == 0 || b == 0) but k2 != 0.
2872           Reported by "boomboo" on IRC.
2873         * tests/api_weight.cc: Add regression test bm25weight5.
2875 Wed Dec 04 05:44:29 GMT 2013  Olly Betts <olly@survex.com>
2877         * NEWS: Update from 1.2.16 and ChangeLog.
2879 Mon Dec 02 02:34:43 GMT 2013  Olly Betts <olly@survex.com>
2881         * configure.ac: Clarify version of MSVCRT which we require for mingw.
2883 Fri Nov 29 04:21:46 GMT 2013  Olly Betts <olly@survex.com>
2885         * configure.ac: Fix typo in previous commit.
2887 Fri Nov 29 03:48:24 GMT 2013  Olly Betts <olly@survex.com>
2889         * configure.ac: Report GCC version.
2891 Wed Nov 27 04:06:32 GMT 2013  Olly Betts <olly@survex.com>
2893         * Backport change from brass:
2894         * backends/chert/chert_table.cc: Check if the block we want is in the
2895           internal cursor for a read-only table too - it isn't needed for
2896           correctness in this case, but it is more efficient not to reload a
2897           block which we already have.
2899 Sun Nov 24 23:05:37 GMT 2013  Olly Betts <olly@survex.com>
2901         * NEWS: Update from ChangeLog.
2903 Fri Nov 22 20:18:43 GMT 2013  Olly Betts <olly@survex.com>
2905         * backends/brass/brass_databasereplicator.cc,
2906           backends/brass/brass_databasereplicator.h: compression_stream.h
2907           isn't used in brass_databasereplicator.h, so move include to
2908           brass_databasereplicator.cc.
2910 Fri Nov 22 01:22:32 GMT 2013  Olly Betts <olly@survex.com>
2912         * queryparser/queryparser.lemony: Minor tweak to structuring of tests
2913           in check_infix().
2915 Sat Nov 09 08:51:27 GMT 2013  Olly Betts <olly@survex.com>
2917         * backends/brass/brass_table.cc: Check if the block we want is in the
2918           internal cursor for a read-only table too - it isn't needed for
2919           correctness in this case, but it is more efficient not to reload a
2920           block which we already have.
2922 Sat Nov 09 08:48:02 GMT 2013  Olly Betts <olly@survex.com>
2924         * backends/brass/: Use a separate cursor for each position list - now
2925           we're ordering the position B-tree by term first, phrase matching was
2926           causing the cursor to cycle between disparate areas of the B-tree,
2927           and it would have to reread the same blocks over and over.
2929 Fri Nov 08 09:57:52 GMT 2013  Olly Betts <olly@survex.com>
2931         * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Add
2932           check for the database being closed in read_block(), which fixes
2933           pythontest.py testcase valuemods.
2935 Fri Nov 08 08:58:48 GMT 2013  Olly Betts <olly@survex.com>
2937         * api/maptermlist.h,api/termlist.cc,api/termlist.h,backends/brass/:
2938           Avoid two vector copies when storing term positions in most common
2939           cases.
2941 Fri Nov 08 08:57:07 GMT 2013  Olly Betts <olly@survex.com>
2943         * configure.ac: Bump LIBRARY_VERSION_INFO.
2945 Thu Nov 07 16:14:23 GMT 2013  Olly Betts <olly@survex.com>
2947         * backends/brass/brass_database.cc,
2948           backends/brass/brass_positionlist.cc,
2949           backends/brass/brass_positionlist.h: There's no need to pass around
2950           an end PositionIterator, and it's actually slightly more efficient
2951           not to.
2953 Thu Nov 07 16:11:27 GMT 2013  Olly Betts <olly@survex.com>
2955         * backends/brass/: Batch up positionlist changes in memory and write
2956           them out in key order.
2958 Thu Nov 07 15:30:48 GMT 2013  Olly Betts <olly@survex.com>
2960         * backends/brass/brass_positionlist.h,backends/brass/brass_version.cc:
2961           Change positionlist keys to be ordered by term first rather than
2962           docid first, which helps phrase searching significantly.
2964 Wed Nov 06 17:12:29 GMT 2013  Olly Betts <olly@survex.com>
2966         * backends/brass/brass_values.cc,backends/brass/brass_values.h,
2967           backends/chert/chert_values.cc,backends/chert/chert_values.h: Reuse
2968           a cursor for reading values from valuestreams rather than creating
2969           a new one each time.  This can dramatically reduce the number of
2970           blocks redundantly reread when sorting by value.  The rereads will
2971           generally get served from VM cache, but there's still an overhead
2972           to that.
2974 Tue Nov 05 16:28:08 GMT 2013  Olly Betts <olly@survex.com>
2976         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
2977           include/xapian/query.h,tests/api_query.cc: Having a separate 'type'
2978           enum seems to just make for clumsier code, so merged the LEAF_*
2979           values into the 'op' enum, add LEAF_MATCH_ALL and LEAF_MATCH_NOTHING
2980           and return when appropriate, and add test coverage.
2982 Tue Nov 05 15:20:15 GMT 2013  Olly Betts <olly@survex.com>
2984         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
2985           include/xapian/query.h: Add methods to allow introspection on
2986           Query objects - currently you can read the type/operator, how many
2987           subqueries there are, and get a particular subquery.  For a
2988           query which is a term, Query::get_terms_begin() allows you to
2989           get read the term.  (see #159)
2991 Mon Nov 04 19:06:38 GMT 2013  Olly Betts <olly@survex.com>
2993         * examples/quest.cc: Add --check-at-least option to quest.
2995 Thu Oct 24 04:38:52 GMT 2013  Olly Betts <olly@survex.com>
2997         * configure.ac,tests/soaktest/soaktest.cc: If srandom() and random()
2998           aren't available, use srand() and rand() instead.
3000 Thu Oct 24 02:34:06 GMT 2013  Olly Betts <olly@survex.com>
3002         * common/safewindows.h: Define WINVER to 0x0500 if not otherwise set,
3003           so we get new interfaces like MEMORYSTATUSEX under mingw.
3005 Thu Oct 24 02:11:36 GMT 2013  Olly Betts <olly@survex.com>
3007         * tests/harness/backendmanager_remotetcp.cc: Need cstdlib for free
3008           under mingw.
3010 Thu Oct 24 02:11:05 GMT 2013  Olly Betts <olly@survex.com>
3012         * configure.ac,tests/api_replicate.cc,tests/queryparsertest.cc,
3013           tests/termgentest.cc: Probe for _putenv_s() in configure as mingw
3014           doesn't provide it.
3016 Thu Oct 24 01:23:14 GMT 2013  Olly Betts <olly@survex.com>
3018         * configure.ac: Don't unset CC as it's used by libtool under mingw.
3020 Thu Oct 24 01:17:07 GMT 2013  Olly Betts <olly@survex.com>
3022         * net/tcpserver.cc: Fix mingw build error.
3024 Thu Oct 24 01:00:18 GMT 2013  Olly Betts <olly@survex.com>
3026         * common/omassert.h: Suppress "unused local typedef" warnings from
3027           GCC 4.8.
3029 Wed Oct 23 20:00:05 GMT 2013  Olly Betts <olly@survex.com>
3031         * common/realtime.h: Rework RealTime::to_timeval() under __WIN32__ to
3032           avoid having to pull in safewinsock2.h,
3034 Wed Oct 23 12:39:53 GMT 2013  Olly Betts <olly@survex.com>
3036         * common/realtime.h: Under __WIN32__, we need safewinsock2.h for
3037           struct timeval.
3039 Wed Oct 23 10:21:02 GMT 2013  Olly Betts <olly@survex.com>
3041         * common/omassert.h: If the compiler supports C++11, use
3042           static_assert to implement CompileTimeAssert.
3044 Wed Oct 23 10:02:50 GMT 2013  Olly Betts <olly@survex.com>
3046         * common/realtime.h,net/tcpclient.cc: Fix mingw build errors.
3048 Wed Oct 23 09:50:00 GMT 2013  Olly Betts <olly@survex.com>
3050         * common/win32_uuid.cc: Fix mingw compiler warning.
3052 Wed Oct 23 04:19:05 GMT 2013  jiangwen jiang <jiangwen127@gmail.com>
3054         * api/omdocument.cc,api/query.cc: Add more LOGCALL annotations.
3056 Tue Oct 22 03:09:48 GMT 2013  Olly Betts <olly@survex.com>
3058         * HACKING: Note we now use doxygen 1.8.5 for 1.3.x snapshots and
3059           releases.
3061 Mon Oct 21 01:55:48 GMT 2013  Olly Betts <olly@survex.com>
3063         * queryparser/lemon.c: Sync change from upstream: "Fix a harmless
3064           compiler warning in lemon.c."  Generated code is identical, at least
3065           on x86-64 Debian wheezy.
3067 Mon Oct 21 01:52:12 GMT 2013  Olly Betts <olly@survex.com>
3069         * queryparser/lemon.c: Sync change from upstream: "In the lemon parser
3070           generator, change all hashes to unsigned to avoid potential problems
3071           with signed integer overflow."  Generated code is identical, at
3072           least on x86-64 Debian wheezy.
3074 Sat Oct 19 06:38:48 GMT 2013  Olly Betts <olly@survex.com>
3076         * backends/flint_lock.cc: Under cygwin, use cygwin_conv_path() if
3077           using a new enough cygwin version, rather than the now deprecated
3078           cygwin_conv_to_win32_path().  Reported by "Haroogan" on the
3079           xapian-devel mailing list.
3081 Sat Oct 19 00:36:06 GMT 2013  Olly Betts <olly@survex.com>
3083         * configure.ac: Simplify test for uuid_unparse_lower().  (see #626)
3085 Sat Oct 19 00:21:37 GMT 2013  Olly Betts <olly@survex.com>
3087         * Makefile.am,configure.ac: Split XAPIAN_LIBS out of XAPIAN_LDFLAGS.
3088           (fixes#626)
3090 Fri Oct 18 11:51:40 GMT 2013  Olly Betts <olly@survex.com>
3092         * geospatial/geoencode.cc: Use lround() instead of round(), since we
3093           want the result as an int.  GCC 4.4.3 seems to optimise to use
3094           lround() anyway, but other compilers may not.
3096 Fri Oct 18 11:44:10 GMT 2013  Olly Betts <olly@survex.com>
3098         * geospatial/geoencode.cc: Include <math.h> for round() (fixes #628).
3100 Tue Oct 15 03:16:04 GMT 2013  Olly Betts <olly@survex.com>
3102         * include/xapian/enquire.h,include/xapian/unicode.h: Mark internal
3103           methods which are public for implementation convenience as
3104           "@private" for doxygen where they weren't already.
3106 Mon Oct 14 09:45:13 GMT 2013  Olly Betts <olly@survex.com>
3108         * include/xapian.h: Mark vinfo struct and get_vinfo_() function as
3109           @private for doxygen.
3111 Thu Oct 10 10:36:45 GMT 2013  Olly Betts <olly@survex.com>
3113         * include/xapian/: Methods and functions which take a string to
3114           unserialise now consistently call that parameter "serialised".
3116 Mon Oct 07 04:08:14 GMT 2013  Olly Betts <olly@survex.com>
3118         * tests/zlib-vg.c: Fix two warnings when compiled with clang.
3120 Fri Oct 04 19:46:16 GMT 2013  Olly Betts <olly@survex.com>
3122         * backends/brass/brass_check.cc,backends/chert/chert_check.cc: Correct
3123           failure message which talks above the root block when it's actually
3124           testing a leaf key.
3126 Fri Oct 04 04:51:39 GMT 2013  Olly Betts <olly@survex.com>
3128         * backends/brass/brass_check.cc,backends/chert/chert_check.cc: Escape
3129           invalid UTF-8 data in keys and tags reported by xapian-check, using
3130           the same code we use to clean up string in object descriptions.
3132 Fri Oct 04 04:50:52 GMT 2013  Olly Betts <olly@survex.com>
3134         * backends/brass/brass_check.cc,backends/chert/chert_check.cc: Fix
3135           xapian-check to report block numbers correctly for links within the
3136           B-tree.
3138 Thu Oct 03 07:35:44 GMT 2013  Olly Betts <olly@survex.com>
3140         * backends/brass/brass_dbcheck.cc,backends/chert/chert_dbcheck.cc: If
3141           the METAINFO key is missing, only report it once per table.
3143 Sat Sep 28 09:27:51 GMT 2013  Olly Betts <olly@survex.com>
3145         * include/xapian.h: Hide struct vinfo and get_vinfo_() from SWIG and
3146           doxygen.
3148 Sat Sep 28 06:25:44 GMT 2013  Olly Betts <olly@survex.com>
3150         * api/version.cc,include/xapian.h: Reimplement version functions to
3151           use a single function in libxapian which returns a pointer to a
3152           static const struct containing the version information, with inline
3153           wrappers in the API header which call this.  This means we only need
3154           one relocation instead of 4.
3155         * tests/api_none.cc: New testcase version1 to provide coverage for the
3156           version API functions.
3158 Fri Sep 27 22:53:15 GMT 2013  Olly Betts <olly@survex.com>
3160         * api/omenquire.cc,include/xapian/enquire.h,tests/api_anydb.cc: Fix
3161           backwards compatibility get_eset() wrapper to allow for the optional
3162           parameters which were supported before.  Also, just inline it from
3163           the API header.
3165 Fri Sep 27 11:19:50 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3167         * api/omenquire.cc,api/omenquireinternal.h,expand/,
3168           include/xapian/enquire.h,tests/api_anydb.cc: Add support for the Bo1
3169           query expansion scheme.
3171 Thu Sep 26 04:11:49 GMT 2013  Olly Betts <olly@survex.com>
3173         * tests/api_weight.cc: Don't pass integer arguments to log() to avoid
3174           ambiguity errors with some compilers.  (fixes #627)
3176 Thu Sep 26 02:02:24 GMT 2013  Olly Betts <olly@survex.com>
3178         * backends/brass/,backends/chert/,backends/dbcheck.cc: Fix database
3179           consistency checking to always open all the tables at the same
3180           revision, which could lead to false errors being reported after
3181           a commit interrupted by the process being killed or the machine
3182           crashing.  Reported by Joey Hess in https://bugs.debian.org/724610
3184 Wed Sep 25 02:21:29 GMT 2013  Olly Betts <olly@survex.com>
3186         * tests/queryparsertest.cc: Add testcase for FieldProcessor on boolean
3187           prefix with quoted contents.
3189 Wed Sep 25 02:16:55 GMT 2013  Olly Betts <olly@survex.com>
3191         * queryparser/queryparser.lemony: Fix comment typo.
3193 Wed Sep 25 02:13:20 GMT 2013  Olly Betts <olly@survex.com>
3195         * api/: Split QueryVector into a template SmallVector class and then
3196           'typedef SmallVector<Query> QueryVector;', as it would be good to
3197           use the same approach for Database internals.
3199 Tue Sep 24 09:59:05 GMT 2013  Olly Betts <olly@survex.com>
3201         * .gitignore,xapian-core.spec.in: Update two references to .tar.gz
3202           files.
3204 Tue Sep 24 09:54:42 GMT 2013  Olly Betts <olly@survex.com>
3206         * docs/install.rst: Fix typo (bogus extra 'and');
3208 Tue Sep 24 09:54:01 GMT 2013  Olly Betts <olly@survex.com>
3210         * configure.ac,docs/install.rst: Compress source tarballs with xz
3211           instead of gzip.
3213 Mon Sep 23 12:58:23 GMT 2013  Olly Betts <olly@survex.com>
3215         * common/realtime.h,configure.ac,matcher/multimatch.cc: Implement
3216           RealTime::sleep() using nanosleep() where it's available, since
3217           it has a simpler API and a finer granularity than select().
3219 Mon Sep 23 12:27:37 GMT 2013  Olly Betts <olly@survex.com>
3221         * common/realtime.h,net/remoteconnection.cc,net/tcpclient.cc: Add
3222           RealTime::to_timeval() helper function to break a time interval
3223           as a double into a struct timeval.  This uses modf() which gives
3224           more compact and faster code than using fmod() as we previously
3225           did.
3227 Mon Sep 23 08:20:03 GMT 2013  Olly Betts <olly@survex.com>
3229         * common/realtime.h,configure.ac: Use clock_gettime() to implement
3230           RealTime::now() where it's available.
3232 Mon Sep 16 11:53:28 GMT 2013  Olly Betts <olly@survex.com>
3234         * api/,backends/brass/brass_postlist.cc,
3235           backends/remote/net_postlist.cc,backends/slowvaluelist.cc,
3236           expand/esetinternal.cc,include/xapian/unicode.h,
3237           matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc,
3238           tests/api_query.cc,tests/queryparsertest.cc,unicode/: Fix all
3239           get_description() methods to always return UTF-8 text.  (fixes #620)
3241 Mon Sep 16 11:47:16 GMT 2013  Olly Betts <olly@survex.com>
3243         * include/xapian/unicode.h: Document how Utf8Iterator handles invalid
3244           UTF-8.
3246 Mon Sep 16 11:19:48 GMT 2013  Olly Betts <olly@survex.com>
3248         * tests/queryparsertest.cc: Add test coverage for explicit synonym of
3249           a term with a prefix (e.g. ~foo:search).
3251 Fri Sep 06 07:11:29 GMT 2013  Olly Betts <olly@survex.com>
3253         * api/valueiterator.cc,tests/api_backend.cc: Don't segfault is
3254           skip_to() or check() are called on a ValueIterator which is already
3255           at_end().
3257 Fri Sep 06 06:52:49 GMT 2013  Olly Betts <olly@survex.com>
3259         * api/positioniterator.cc,api/postingiterator.cc,api/termiterator.cc,
3260           tests/api_backend.cc: Don't segfault if skip_to() is called on an
3261           iterator which is already at_end().  Reported by David Bremner.
3263 Wed Sep 04 04:52:50 GMT 2013  Olly Betts <olly@survex.com>
3265         * weight/weightinternal.cc: TermFreqs now tracks collection frequency,
3266           so make TermFreqs::get_description() report it.
3268 Thu Aug 29 01:30:45 GMT 2013  Olly Betts <olly@survex.com>
3270         * matcher/andmaybepostlist.cc,matcher/multiandpostlist.h: Fix
3271           assertion failure for when an OrPostList decays to an AndPostList
3272           - the ordering of the subqueries by estimated termfreq may not be
3273           the same as it was when the OrPostList was constructed, as the
3274           subqueries may themselves have decayed.  Reported by Michel
3275           Pelletier.
3277 Fri Aug 23 03:17:33 GMT 2013  Olly Betts <olly@survex.com>
3279         * m4-macros/xapian-1.3.m4: Handle empty or unset XAPIAN_CONFIG
3280           correctly.
3282 Mon Jul 15 12:01:17 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3284         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3285           tests/api_weight.cc,weight/Makefile.mk,weight/dphweight.cc: Add an
3286           implementation of DfR weighting scheme DPH.
3288 Sun Jul 14 07:39:37 GMT 2013  Olly Betts <olly@survex.com>
3290         * include/xapian/weight.h,weight/pl2weight.cc: Optimise PL2Weight to
3291           only calculate 2 logs per call to get_sumpart() instead of 4 by
3292           precalculating three document-independent values in init().
3294 Sun Jul 14 07:04:52 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3296         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3297           tests/api_weight.cc,weight/Makefile.mk,weight/pl2weight.cc: Add an
3298           implementation of DfR weighting scheme PL2.
3300 Sat Jul 13 11:24:20 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3302         * weight/tfidfweight.cc: Explicitly cast argument of log() to double,
3303           as xlC doesn't manage to chose an overloaded form to call otherwise.
3305 Sat Jul 13 07:29:25 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3307         * include/xapian/weight.h,tests/api_weight.cc,
3308           tests/generate-api_generated,weight/: Fix new weighting schemes to
3309           work with OP_SCALE_WEIGHT.
3311 Wed Jul 10 12:57:01 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3313         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3314           tests/api_weight.cc,weight/Makefile.mk,weight/dlhweight.cc: Add an
3315           implementation of DfR weighting scheme DLH.
3317 Wed Jul 10 07:38:15 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3319         * expand/expandweight.h: Track collection_freq and totlen restricted
3320           to the RSet in preparation for supporting DfR query expansion
3321           schemes.
3323 Mon Jul 08 06:27:05 GMT 2013  Olly Betts <olly@survex.com>
3325         * weight/Makefile.mk: Normalise whitespace in BB2 change.
3327 Sun Jul 07 12:29:48 GMT 2013  Olly Betts <olly@survex.com>
3329         * weight/bb2weight.cc: New file for BB2Weight which I failed to
3330           commit.
3332 Sun Jul 07 11:51:45 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3334         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3335           tests/api_weight.cc,weight/Makefile.mk: Add implementation of DfR
3336           weighting scheme BB2.
3338 Sat Jul 06 02:07:13 GMT 2013  Olly Betts <olly@survex.com>
3340         * api/omdatabase.cc: Fix add_document() to always use exactly the next
3341           docid after get_lastdocid() in the multidatabase case.
3343 Fri Jul 05 06:19:55 GMT 2013  Olly Betts <olly@survex.com>
3345         * backends/dbfactory.cc: Allow open a stub database containing
3346           multiple subdatabases as a WritableDatabase.
3348 Thu Jul 04 06:29:56 GMT 2013  Olly Betts <olly@survex.com>
3350         * tests/harness/backendmanager.cc,tests/harness/index_utils.cc,
3351           tests/harness/index_utils.h: Simplify the FileIndexer class.
3353 Thu Jul 04 06:09:06 GMT 2013  Olly Betts <olly@survex.com>
3355         * tests/harness/backendmanager_multi.cc,tests/harness/index_utils.cc,
3356           tests/harness/index_utils.h: Make use of the new writable
3357           multidatabase feature to simplify the multi-database handling in the
3358           test harness.
3360 Wed Jul 03 13:58:46 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3362         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3363           tests/api_weight.cc,weight/Makefile.mk,weight/ineb2weight.cc: Add
3364           implementation of DfR weighting scheme IneB2.
3366 Wed Jul 03 13:39:11 GMT 2013  Olly Betts <olly@survex.com>
3368         * include/xapian/weight.h: "please refer:" -> "please refer to:"
3370 Wed Jul 03 13:31:59 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3372         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3373           tests/api_weight.cc,weight/Makefile.mk,weight/ifb2weight.cc: Add
3374           implementation of DfR weighting scheme IfB2.
3376 Wed Jul 03 12:42:23 GMT 2013  Olly Betts <olly@survex.com>
3378         * common/safeuuid.h: Make a few tweaks to support AIX.
3380 Wed Jul 03 12:33:40 GMT 2013  Olly Betts <olly@survex.com>
3382         * common/safeuuid.h: Remove bogus take-address-of from uuid handling
3383           code for netbsd and openbsd.
3385 Wed Jul 03 11:56:05 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3387         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3388           tests/api_weight.cc,weight/Makefile.mk,weight/inl2weight.cc: Add
3389           implementation of DfR weighting scheme InL2.
3391 Wed Jul 03 08:20:26 GMT 2013  Olly Betts <olly@survex.com>
3393         * api/error.cc,common/Makefile.mk,common/safenetdb.h,net/tcpclient.cc,
3394           net/tcpserver.cc: AIX needs _USE_IRS defined for hstrerror, so
3395           create safenetdb.h to take care of that.
3397 Wed Jul 03 07:34:13 GMT 2013  Olly Betts <olly@survex.com>
3399         * common/safeuuid.h: Add missing '#include <cstdlib>' and qualify free
3400           with std.
3402 Tue Jul 02 23:44:48 GMT 2013  Olly Betts <olly@survex.com>
3404         * api/omdatabase.cc: Add support for WritableDatabase with multiple
3405           subdatabases.
3407 Tue Jul 02 23:40:08 GMT 2013  Olly Betts <olly@survex.com>
3409         * api/omdatabase.cc,tests/api_none.cc: Trying to perform operations on
3410           a database with no subdatabases now throws InvalidOperationError not
3411           DocNotFoundError.
3413 Tue Jul 02 13:22:31 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3415         * tests/api_weight.cc: Extend checkstatsweight1 to check that
3416           Weight::get_collection_freq() returns the same number as
3417           Database::get_collection_freq().
3419 Tue Jul 02 05:00:30 GMT 2013  Olly Betts <olly@survex.com>
3421         * api/omenquire.cc,api/omenquireinternal.h,
3422           backends/remote/remote-database.cc,backends/remote/remote-database.h,
3423           common/remoteprotocol.h,configure.ac,docs/remote_protocol.rst,
3424           include/xapian/enquire.h,matcher/multimatch.cc,matcher/multimatch.h,
3425           net/remoteserver.cc,tests/api_postingsource.cc: Add
3426           Enquire::set_time_limit() method which sets a timelimit after which
3427           check_at_least will be disabled.
3429 Mon Jul 01 23:42:33 GMT 2013  Olly Betts <olly@survex.com>
3431         * tests/Makefile.am: Fix to actually removed cached databases before
3432           "make check".
3434 Mon Jul 01 22:21:41 GMT 2013  Olly Betts <olly@survex.com>
3436         * NEWS,api/queryinternal.cc,matcher/valuestreamdocument.h: Revert
3437           changes accidentally included in r17373.
3439 Sat Jun 29 12:39:10 GMT 2013  Olly Betts <olly@survex.com>
3441         * include/xapian/unicode.h,unicode/tclUniData.cc: Change
3442           Xapian::Unicode::Internal::get_character_info() to simply return
3443           Xapian::Unicode::UNASSIGNED for character outside unicode (ch >=
3444           0x110000) which avoids a special check for such values before
3445           we call get_character_info().
3447 Sat Jun 29 09:31:12 GMT 2013  Olly Betts <olly@survex.com>
3449         * tests/api_serialise.cc: Remove code from registry* testcases which
3450           tries to test the consequences of throwing an exception from a
3451           destructor - it's complex to ensure we don't leak memory while doing
3452           this (it seems GCC doesn't release the object in this case, but
3453           clang does), and it's generally frowned upon, plus C++11 makes
3454           destructors noexcept by default.
3456 Thu Jun 27 02:36:02 GMT 2013  Olly Betts <olly@survex.com>
3458         * weight/weightinternal.h: Initialise total_term_count to zero.
3459           Fixes failure of qp_flag_wildcard3 under valgrind in buildbot.
3461 Wed Jun 26 05:48:21 GMT 2013  Olly Betts <olly@survex.com>
3463         * backends/dbfactory.cc: '# if defined' -> '#ifdef' to match
3464           surrounding code better.
3466 Wed Jun 26 05:47:38 GMT 2013  Olly Betts <olly@survex.com>
3468         * backends/dbfactory.cc: Fix 'unused label' warning when chert backend
3469           is disabled.
3471 Wed Jun 26 05:40:29 GMT 2013  Olly Betts <olly@survex.com>
3473         * tests/queryparsertest.cc: Fix previous change to compile.
3475 Wed Jun 26 05:34:25 GMT 2013  Olly Betts <olly@survex.com>
3477         * tests/queryparsertest.cc: Change qp_scale1 to time 5 repetitions of
3478           the large query to help average out variations.
3480 Wed Jun 26 04:52:33 GMT 2013  Olly Betts <olly@survex.com>
3482         * configure.ac: Tweak to simplify diff against similar code in
3483           xapian-omega.
3485 Wed Jun 26 03:56:14 GMT 2013  Olly Betts <olly@survex.com>
3487         * api/matchspy.cc: Fix get_description() to work on a
3488           ValueCountMatchSpy with NULL internals - fixes matchspy5 testcase
3489           with remote backends when configured with --enable-log.
3490         * api/matchspy.cc: Add assertions that internal is non-NULL before
3491           using it.
3492         * include/xapian/matchspy.h: If internal is NULL, make
3493           ValueCountMatchSpy::get_total() return 0 rather than dereferencing
3494           NULL.
3496 Wed Jun 26 03:10:58 GMT 2013  Olly Betts <olly@survex.com>
3498         * tests/harness/testsuite.cc,tests/harness/testsuite.h: If
3499           -v/--verbose is specified more than once, show the diagnostic output
3500           for passing tests as well as failing/skipped ones.
3502 Wed Jun 26 03:08:08 GMT 2013  Olly Betts <olly@survex.com>
3504         * tests/api_scalability.cc: Change querypairwise1_helper to repeat the
3505           query build 100 times, as with a fast modern machine we were
3506           sometimes trying to so many subqueries that we would run out of
3507           stack.
3509 Wed Jun 26 02:55:20 GMT 2013  Olly Betts <olly@survex.com>
3511         * weight/tfidfweight.cc: Wrap long lines.
3513 Wed Jun 26 02:00:12 GMT 2013  Olly Betts <olly@survex.com>
3515         * configure.ac,m4-macros/xapian-1.3.m4: Fix stripping of _git suffix
3516           from snapshot versions not to relying of sed having support for \|
3517           as it doesn't on OS X.
3519 Tue Jun 25 13:21:44 GMT 2013  Olly Betts <olly@survex.com>
3521         * weight/tfidfweight.cc: Merge "impossible" cases in switch statements
3522           into possible ones which contain the same code, adding assertions
3523           that the "impossible" hasn't happened.  More robust and improves
3524           test coverage.
3526 Tue Jun 25 06:28:00 GMT 2013  Olly Betts <olly@survex.com>
3528         * m4-macros/xapian-1.3.m4: XO_LIB_XAPIAN now handles the user
3529           specifying a relative path in XAPIAN_CONFIG, e.g.: "./configure
3530           XAPIAN_CONFIG=../xapian-core/xapian-config"
3532 Tue Jun 25 05:34:41 GMT 2013  Olly Betts <olly@survex.com>
3534         * m4-macros/xapian-1.3.m4: Fix comment typo.
3536 Tue Jun 25 05:33:54 GMT 2013  Olly Betts <olly@survex.com>
3538         * configure.ac: Use AC_PATH_PROG instead of AC_PATH_PROG when there's
3539           only one name for the program to look for.
3541 Sun Jun 23 13:12:54 GMT 2013  Olly Betts <olly@survex.com>
3543         * configure.ac: clang doesn't support -Wstrict-null-sentinel or
3544           -Wlogical-op, so don't pass it these options.
3546 Sat Jun 22 13:40:40 GMT 2013  Olly Betts <olly@survex.com>
3548         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
3549           Fix failure when built with -D_GLIBCXX_DEBUG - we were modifying
3550           the top() element of a heap before calling pop(), such that the
3551           heap comparison operation (which is called when -D_GLIBCXX_DEBUG
3552           is on to verify the heap is valid) would read off the end of the
3553           data.  In a normal build, this issue would likely never manifest.
3555 Sat Jun 22 11:21:22 GMT 2013  Olly Betts <olly@survex.com>
3557         * common/bitstream.cc: Fix assertion in BitReader::decode().
3559 Sat Jun 22 09:13:13 GMT 2013  Olly Betts <olly@survex.com>
3561         * matcher/localsubmatch.cc: Fix assertion failure when built with
3562           --enable-assertions.  The behaviour when built without assertions
3563           happened to be correct.
3565 Fri Jun 21 13:10:53 GMT 2013  Olly Betts <olly@survex.com>
3567         * tests/unittest.cc: Add simple test for log2().
3569 Fri Jun 21 13:09:09 GMT 2013  Olly Betts <olly@survex.com>
3571         * common/Makefile.mk,common/log2.h,configure.ac: Add log2.h header
3572           which provides an implementation of log2() if it isn't available in
3573           the standard libraries.
3575 Fri Jun 14 13:20:58 GMT 2013  Olly Betts <olly@survex.com>
3577         * common/fd.h: Add missing header include guards.
3579 Fri Jun 14 13:19:44 GMT 2013  Olly Betts <olly@survex.com>
3581         * common/append_filename_arg.h,geospatial/geoencode.h: Fix header
3582           include guard names which don't match our naming conventions.
3584 Fri Jun 14 13:18:40 GMT 2013  Olly Betts <olly@survex.com>
3586         * backends/brass/brass_dbcheck.h,backends/chert/chert_dbcheck.h,
3587           backends/multi/multi_alltermslist.h: Fix header include guard macro
3588           names which don't match the source file names.
3590 Fri Jun 14 12:48:14 GMT 2013  Olly Betts <olly@survex.com>
3592         * common/compression_stream.h: Whitespace tweak.
3594 Thu Jun 13 13:58:14 GMT 2013  Olly Betts <olly@survex.com>
3596         * backends/chert/chert_positionlist.cc: Remove 'Assert(rd);' since rd
3597           is no longer a pointer.
3599 Thu Jun 13 13:28:43 GMT 2013  Olly Betts <olly@survex.com>
3601         * tests/harness/utestsuite.cc: Add missing GPL boilerplate and
3602           copyright statements.
3604 Thu Jun 13 13:26:07 GMT 2013  Olly Betts <olly@survex.com>
3606         * common/compression_stream.cc,common/compression_stream.h: Add
3607           missing GPL boilerplate and copyright statements.
3609 Thu Jun 13 13:24:34 GMT 2013  Olly Betts <olly@survex.com>
3611         * common/compression_stream.cc,common/compression_stream.h: Remove
3612           unused header includes; don't use "using namespace std;" in a
3613           header.
3615 Thu Jun 13 08:30:26 GMT 2013  Olly Betts <olly@survex.com>
3617         * backends/brass/brass_positionlist.cc: Remove 'Assert(rd);' since rd
3618           is no longer a pointer.
3620 Thu Jun 13 05:07:27 GMT 2013  Olly Betts <olly@survex.com>
3622         * common/compression_stream.h: Update include guard to match source
3623           file name.
3625 Thu Jun 13 02:38:20 GMT 2013  Olly Betts <olly@survex.com>
3627         * common/,net/length.h,net/serialise.h: Fix @file markup which wasn't
3628           actually in a doxygen comment.
3630 Thu Jun 13 02:14:22 GMT 2013  Olly Betts <olly@survex.com>
3632         * preautoreconf: Remove needless use of perl prototype.
3634 Tue Jun 11 00:40:37 GMT 2013  Olly Betts <olly@survex.com>
3636         * common/remoteprotocol.h,docs/remote_protocol.rst: Bump
3637           remote protocol version to 38.o.
3639 Tue Jun 11 00:37:01 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3641         * api/leafpostlist.cc,matcher/,net/serialise.cc,weight/weight.cc,
3642           weight/weightinternal.cc,weight/weightinternal.h: Make collection
3643           frequency available to Xapian::Weight subclasses.  Extracted from
3644           Gaurav Arora's LM branch.
3646 Wed May 22 10:04:25 GMT 2013  Olly Betts <olly@survex.com>
3648         * configure.ac: When generating ABI compatibility checks in
3649           xapian/version.h, pass $CXXFLAGS and $CPPFLAGS to $CXXCPP as they
3650           could contain options which affect the ABI (such as -fabi-version
3651           for GCC).  (Fixes #622)
3653 Wed May 22 04:20:39 GMT 2013  Olly Betts <olly@survex.com>
3655         * common/win32_uuid.cc: Microsoft GUIDs in binary form have reversed
3656           byte order in the first three components compared to standard UUIDs,
3657           so the same database would report a different UUID on Windows to
3658           on other platforms.  With this fix, the UUIDs of existing databases
3659           will appear to change on Windows (except in rare "palindronic" cases).
3661 Fri May 17 05:52:43 GMT 2013  Olly Betts <olly@survex.com>
3663         * docs/overview.rst: Correct documentation for stub files specifying
3664           "prog" remote databases.
3666 Thu May 16 05:47:40 GMT 2013  Olly Betts <olly@survex.com>
3668         * backends/chert/chert_dbcheck.cc: Code tweak for clarity.
3670 Thu May 16 05:46:42 GMT 2013  Olly Betts <olly@survex.com>
3672         * backends/chert/chert_dbcheck.cc: Fix database check that first docid
3673           in each doclength chunk is more than the last docid in the previous
3674           chunk - previously this didn't actually work.
3676 Thu May 16 05:45:04 GMT 2013  Olly Betts <olly@survex.com>
3678         * common/bitstream.h: Fix database check not to falsely report
3679           "position table: Junk after position data" whenever there are 7
3680           unused bits (7 is OK, *more* than 7 isn't).
3682 Tue May 14 12:42:11 GMT 2013  Olly Betts <olly@survex.com>
3684         * m4-macros/xapian-1.3.m4: Adjust XO_LIB_XAPIAN to strip _gitNNN
3685           suffix from snapshot versions.
3687 Sun May 12 06:11:36 GMT 2013  Olly Betts <olly@survex.com>
3689         * configure.ac: Simplify previous change.
3691 Sun May 12 06:06:47 GMT 2013  Olly Betts <olly@survex.com>
3693         * configure.ac: Handle git snapshot naming when calculating REVISION.
3695 Wed May 08 11:56:27 GMT 2013  Olly Betts <olly@survex.com>
3697         * HACKING,INSTALL,Makefile.am,README,docs/Makefile.am,docs/install.rst,
3698           docs/stemming.rst,languages/Makefile.mk,queryparser/Makefile.mk,
3699           tests/Makefile.am,tests/perftest/perftest.cc: SVN -> git.
3701 Wed May 08 08:51:22 GMT 2013  Olly Betts <olly@survex.com>
3703         * backends/brass/brass_version.cc,backends/chert/chert_version.cc:
3704           Remove unused '#include <cstdio>'.
3706 Mon May 06 11:10:25 GMT 2013  Olly Betts <olly@survex.com>
3708         * api/omenquire.cc,configure.ac,include/xapian/enquire.h: Merge two
3709           Enquire::get_eset() overloaded forms into one with a default value
3710           for parameter min_wt.
3712 Thu May 02 12:05:28 GMT 2013  Olly Betts <olly@survex.com>
3714         * NEWS,configure.ac: Update for 1.3.1.
3716 Thu May 02 11:13:30 GMT 2013  Olly Betts <olly@survex.com>
3718         * include/xapian/weight.h,tests/api_nodb.cc,tests/api_weight.cc,
3719           weight/tfidfweight.cc: Use lowercase letters for the TfIdfWeight
3720           descriptions to match what SMART uses.
3722 Wed May 01 05:13:07 GMT 2013  Olly Betts <olly@survex.com>
3724         * include/xapian/database.h: Work around Apple's OS X SDK defining a
3725           check() macro.
3727 Tue Apr 30 13:51:53 GMT 2013  Olly Betts <olly@survex.com>
3729         * NEWS: Update from ChangeLog.
3731 Mon Apr 29 03:09:16 GMT 2013  Olly Betts <olly@survex.com>
3733         * backends/brass/brass_dbcheck.cc,backends/chert/chert_dbcheck.cc:
3734           Use decode_interpolative_next() when checking database consistency.
3735           We also now complain about any junk after the position data.
3736         * common/bitstream.cc,common/bitstream.h: Remove the old version of
3737           decode_interpolative() which unpacks into a std::vector.
3739 Mon Apr 29 02:16:54 GMT 2013  Olly Betts <olly@survex.com>
3741         * backends/chert/chert_positionlist.cc,
3742           backends/chert/chert_positionlist.h: Backport positionlist changes
3743           from brass.
3745 Mon Apr 29 01:58:59 GMT 2013  Olly Betts <olly@survex.com>
3747         * backends/brass/brass_positionlist.cc: No need to initialise the
3748           BitReader object in the single-entry position list case.
3750 Mon Apr 29 01:58:10 GMT 2013  Olly Betts <olly@survex.com>
3752         * backends/brass/brass_positionlist.cc: Fix bug when reaching the last
3753           positionlist entry in skip_to().
3755 Mon Apr 29 00:46:10 GMT 2013  Olly Betts <olly@survex.com>
3757         * tests/api_posdb.cc: Fix comment typos.
3759 Mon Apr 29 00:27:42 GMT 2013  Olly Betts <olly@survex.com>
3761         * backends/brass/brass_positionlist.cc: Fix handling of single-entry
3762           position lists.
3764 Sun Apr 28 23:45:02 GMT 2013  Olly Betts <olly@survex.com>
3766         * backends/brass/brass_positionlist.cc: Fix BrassPositionList for case
3767           when there's no positional information for a term.
3769 Sun Apr 28 10:29:59 GMT 2013  Olly Betts <olly@survex.com>
3771         * backends/brass/brass_positionlist.cc: Simplify setting of
3772           have_started in BrassPositionList::skip_to().
3774 Sun Apr 28 10:19:52 GMT 2013  Olly Betts <olly@survex.com>
3776         * backends/brass/brass_positionlist.cc,
3777           backends/brass/brass_positionlist.h,common/bitstream.h: Make the
3778           BitReader object a member of BrassPositionList rather than tracking
3779           a pointer to it.
3781 Sun Apr 28 07:22:07 GMT 2013  Olly Betts <olly@survex.com>
3783         * backends/brass/brass_positionlist.cc,common/bitstream.h: Reuse the
3784           same BitReader object for each document rather than deleting the old
3785           one and creating a new one.
3787 Sun Apr 28 07:06:12 GMT 2013  Olly Betts <olly@survex.com>
3789         * backends/brass/brass_positionlist.cc: Move check for reaching the
3790           end after the next() in the loop in skip_to(), as we know we aren't
3791           at the end on the first iteration, and we've now handled the case of
3792           termpos == last before we get here.
3794 Sun Apr 28 07:04:54 GMT 2013  Olly Betts <olly@survex.com>
3796         * backends/brass/brass_positionlist.cc: We know what the last entry in
3797           the position list is, so special case skip_to(last_entry) to just
3798           move there rather than calling next() a lot of times.
3800 Sun Apr 28 07:03:57 GMT 2013  Olly Betts <olly@survex.com>
3802         * common/bitstream.h: We don't need to stack pos_j when doing lazy
3803           interpolative decoding.
3805 Sun Apr 28 06:48:01 GMT 2013  Olly Betts <olly@survex.com>
3807         * common/bitstream.h: Store j and k before pos_j and pos_k as it's
3808           fractionally more efficient.
3810 Sun Apr 28 06:44:32 GMT 2013  Olly Betts <olly@survex.com>
3812         * backends/brass/brass_positionlist.cc,
3813           backends/brass/brass_positionlist.h,common/bitstream.cc,
3814           common/bitstream.h: Hook up BrassPositionList to the new lazy
3815           interpolative decoder.
3817 Fri Apr 26 02:09:38 GMT 2013  Marius Tibeica <mtibeica@gmail.com>
3819         * common/bitstream.cc,common/bitstream.h: Support reading entries from
3820           an interpolative coded list one by one.
3822 Thu Apr 25 10:57:02 GMT 2013  Olly Betts <olly@survex.com>
3824         * docs/remote_protocol.rst: Correct error in documentation of
3825           REPLY_DOCDATA message.
3827 Thu Apr 25 10:44:56 GMT 2013  Marius Tibeica <mtibeica@gmail.com>
3829         * common/bitstream.cc: renamed my_fls to highest_order_bit.
3831 Thu Apr 25 06:49:48 GMT 2013  Olly Betts <olly@survex.com>
3833         * backends/remote/remote-database.cc,common/remoteprotocol.h,
3834           docs/remote_protocol.rst,net/remoteserver.cc: Prefix compress
3835           list of terms and metadata keys in the remote protocol.
3836           This requires a remote protocol major version bump.
3838 Wed Apr 24 23:14:47 GMT 2013  Olly Betts <olly@survex.com>
3840         * queryparser/lemon.c,queryparser/queryparser.lt: Fix comment typos.
3842 Wed Apr 24 06:27:26 GMT 2013  Olly Betts <olly@survex.com>
3844         * include/xapian.h: Add catch for Wt defining a macro called slots,
3845           like we already do for Qt.
3847 Wed Apr 24 03:40:13 GMT 2013  Olly Betts <olly@survex.com>
3849         * NEWS: Update.
3851 Tue Apr 23 12:34:23 GMT 2013  Olly Betts <olly@survex.com>
3853         * backends/brass/brass_table.cc: Use a block's revision number to
3854           check if it was newly allocated in the current revision, and
3855           assert that the base file shows it block_free_at_start (previously
3856           the check and assertion were the other way around).
3858 Tue Apr 23 12:11:21 GMT 2013  Olly Betts <olly@survex.com>
3860         * HACKING: Note macports needed for development work.
3862 Tue Apr 23 11:41:17 GMT 2013  Olly Betts <olly@survex.com>
3864         * include/xapian/version_h.cc: Fix typo in doc comment.
3866 Tue Apr 23 11:39:30 GMT 2013  Olly Betts <olly@survex.com>
3868         * include/xapian/version_h.cc: Disable error for direct inclusion
3869           of xapian/version.h for now.
3871 Sun Apr 21 07:49:38 GMT 2013  Olly Betts <olly@survex.com>
3873         * include/xapian/version_h.cc: Fix quotes in new #error in version.h.
3875 Sun Apr 21 06:25:57 GMT 2013  Olly Betts <olly@survex.com>
3877         * configure.ac,generate-exceptions,include/xapian/: Give an error if
3878           user code tries to include API headers other than xapian.h directly.
3880 Sat Apr 20 10:12:23 GMT 2013  Olly Betts <olly@survex.com>
3882         * languages/compiler/generator.c: Generate '#include <config.h>' at
3883           the start of the stemmer code.
3885 Fri Apr 19 23:36:25 GMT 2013  Olly Betts <olly@survex.com>
3887         * configure.ac: Remove empty default cases.
3889 Wed Apr 17 03:06:57 GMT 2013  Olly Betts <olly@survex.com>
3891         * NEWS: Update from 1.2.15 and ChangeLog.
3893 Thu Apr 11 22:17:44 GMT 2013  Olly Betts <olly@survex.com>
3895         * backends/brass/brass_version.cc,backends/chert/chert_version.cc:
3896           Call io_sync() on the version file when we create it.
3898 Tue Apr 09 11:02:35 GMT 2013  Olly Betts <olly@survex.com>
3900         * bin/xapian-delve.cc: If -v is specified more than once, show even
3901           more info in some cases.
3903 Tue Apr 09 09:40:02 GMT 2013  Olly Betts <olly@survex.com>
3905         * tests/Makefile.am: Force automake to use the serial test driver,
3906           which requires automake 1.12 (to recognise the serial-tests driver).
3908 Mon Apr 08 06:30:40 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3910         * weight/: Added tfidfweight.cc containing the implementation of the
3911           TfIdfWeight class.
3913         * include/xapian/weight.h: Added TfIdfWeight class for the tf-idf
3914           weighting scheme.
3916         * tests/api_weight.cc: Added tests for TfIdfWeight.
3918         * tests/api_nodb.cc: Added simple tests for TfIdfWeight.
3920 Sat Apr 06 00:21:34 GMT 2013  Olly Betts <olly@survex.com>
3922         * m4-macros/xapian-1.3.m4: XO_LIB_XAPIAN now handles the user
3923           specifying XAPIAN_CONFIG without a path - e.g.: "./configure
3924           XAPIAN_CONFIG=xapian-config-1.3"
3926 Thu Apr 04 12:02:36 GMT 2013  Olly Betts <olly@survex.com>
3928         * common/Makefile.mk: Remove random comment.
3930 Thu Apr 04 10:06:53 GMT 2013  Olly Betts <olly@survex.com>
3932         * Makefile.am,configure.ac,tests/Makefile.am: Remove support for
3933           'configure --enable-quiet', 'make QUIET=' and 'make QUIET=y' -
3934           automake now supports 'configure --enable-silent-rules', 'make V=1'
3935           and 'make V=0' which are broadly equivalent and more standard.
3937 Thu Apr 04 09:58:35 GMT 2013  Olly Betts <olly@survex.com>
3939         * HACKING: Update to note that automake 1.12.2 is now a hard
3940           requirement.
3942 Tue Apr 02 10:22:44 GMT 2013  Olly Betts <olly@survex.com>
3944         * queryparser/lemon.c: Comment typo fixes.
3946 Tue Apr 02 09:47:14 GMT 2013  Olly Betts <olly@survex.com>
3948         * queryparser/lemon.c,queryparser/queryparser.lt: Sync with latest
3949           upstream version of lemon.  The only notable change is a bug fix for
3950           platforms where sizeof(long) < sizeof(void*) (LLP64 model).
3952 Tue Apr 02 05:51:12 GMT 2013  Olly Betts <olly@survex.com>
3954         * HACKING: Tell vim to syntax highlight as rst.
3956 Tue Apr 02 05:50:26 GMT 2013  Olly Betts <olly@survex.com>
3958         * HACKING: Update for recent changes to bootstrap.  In particular, we
3959           now bootstrap snapshots with automake 1.13.1.
3961 Fri Mar 29 05:18:11 GMT 2013  Olly Betts <olly@survex.com>
3963         * net/tcpclient.cc: Fix __WIN32__ conditional, accidentally broken in
3964           last change to this file.
3966 Thu Mar 28 04:19:26 GMT 2013  jiangwen jiang <jiangwen127@gmail.com>
3968         * api/expanddecider.cc,include/xapian/expanddecider.h,
3969           tests/api_anydb.cc,tests/api_nodb.cc: Add ExpandDeciderFilterPrefix
3970           class to only return terms with a particular prefix.  (fixes #467)
3972 Thu Mar 21 23:55:26 GMT 2013  Olly Betts <olly@survex.com>
3974         * tests/queryparsertest.cc: Add test coverage for change to
3975           QueryParser CJK handling in previous commit.
3977 Thu Mar 21 07:21:30 GMT 2013  Greg Banks <gnb@fastmail.fm>
3979         * queryparser/cjk-tokenizer.cc,queryparser/termgenerator_internal.cc,
3980           tests/termgentest.cc: Some CJK codepoints are also punctuation and
3981           hence not word characters, and should not really be used as fodder
3982           for generating N-grams.  Also fixes a pre-existing bug where every
3983           second sequence of N-grammable CJK characters in the text failed to
3984           generate the first 2-gram.
3986 Sun Mar 17 20:45:48 GMT 2013  Olly Betts <olly@survex.com>
3988         * common/pretty.h: Restore space after comma in output.
3990 Sun Mar 17 03:59:52 GMT 2013  Dan Colish <dcolish@gmail.com>
3992         * common/pretty.h: Correct recursion issue.
3994 Sun Mar 17 02:58:52 GMT 2013  Dan Colish <dcolish@gmail.com>
3996         * common/pretty.h: Resolve ambiguity by moving operator| to a member
3997           function of PrettyOStream
3999 Sat Mar 16 21:43:32 GMT 2013  Olly Betts <olly@survex.com>
4001         * queryparser/queryparser.lemony: std::less provides a total order over
4002           pointers, so we can just use that to implement
4003           filter_group_id::operator<() - we only need a consistent order so we
4004           can use it as the key to a std::map.
4006 Fri Mar 15 06:36:32 GMT 2013  Dan Colish <dcolish@gmail.com>
4008         * backends/brass/brass_table.cc,backends/chert/chert_table.cc,
4009           common/pretty.h: Avoid needlessly casting away const-ness in
4010           debug logging.
4012 Fri Mar 15 06:31:32 GMT 2013  Olly Betts <olly@survex.com>
4014         * matcher/multiandpostlist.cc,matcher/multixorpostlist.cc: Add a
4015           couple more LOGCALL annotations.
4017 Fri Mar 15 06:27:42 GMT 2013  Dan Colish <dcolish@gmail.com>
4019         * api/registry.cc,common/pretty.h: Fix incorrect LOGCALL return value.
4021 Fri Mar 15 06:24:11 GMT 2013  Olly Betts <olly@survex.com>
4023         * api/registry.cc,common/Makefile.mk,common/registryinternal.h:
4024           common/registryinternal.h is only included by api/registry.cc so
4025           just inline its contents.
4027 Fri Mar 15 06:11:14 GMT 2013  Olly Betts <olly@survex.com>
4029         * api/registry.cc: No need to explicitly default initialise std::map
4030           members or the base class.
4032 Fri Mar 08 04:05:31 GMT 2013  Olly Betts <olly@survex.com>
4034         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc: Fix
4035           multipass compaction not to damage document values, and to merge the
4036           database stats correctly.  (fixes #615)
4037         * tests/api_compact.cc: Add regression test compactmultipass1.
4039 Thu Mar 07 00:34:46 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
4041         * tests/api_anydb.cc: Added tradweight4 testcase to test TradWeight
4042           with an RSet for weighting documents.
4044 Wed Mar 06 08:55:12 GMT 2013  Olly Betts <olly@survex.com>
4046         * HACKING: gs package has been replaced by ghostscript package in
4047           current Debian and Ubuntu releases.
4049 Tue Feb 19 04:17:19 GMT 2013  Olly Betts <olly@survex.com>
4051         * common/Tokeniseise.pm: Add the ability to append lines to the
4052           header.
4054 Fri Feb 15 05:37:09 GMT 2013  Olly Betts <olly@survex.com>
4056         * common/realtime.h: Fix RealTime::sleep() to calculate the delta to
4057           the time we want to sleep to the right way round.  Previously we
4058           wouldn't sleep if we were before the deadline, but would sleep if
4059           the deadline had already passed (and by the amount the deadline had
4060           passed)!  And on Windows, fix the sleep to be for the delta rather
4061           than 43+ years (the time elapsed since the start of 1970).  (Fixes
4062           #472)
4064 Fri Feb 15 04:09:28 GMT 2013  Olly Betts <olly@survex.com>
4066         * api/queryinternal.cc: Need <functional> for mem_fun().
4068 Fri Feb 15 03:56:32 GMT 2013  Olly Betts <olly@survex.com>
4070         * tests/harness/testsuite.cc: Don't provide explicit template types to
4071           make_pair - it isn't useful, and breaks with C++11.  Fixes build
4072           error with MSVC2012.
4074 Thu Jan 31 23:39:08 GMT 2013  Olly Betts <olly@survex.com>
4076         * common/Tokeniseise.pm: Put the binary chop tables with the larger
4077           ones last, so the offsets to the start of them are more likely to
4078           fit into a byte.
4080 Wed Jan 30 04:17:07 GMT 2013  Olly Betts <olly@survex.com>
4082         * common/Makefile.mk,common/Tokeniseise.pm,languages/Makefile.mk,
4083           languages/collate-sbl: Factor out the generic code to create a
4084           string-to-enum mapping table into a perl module so we can reuse
4085           it elsewhere.
4087 Mon Jan 28 01:44:53 GMT 2013  Olly Betts <olly@survex.com>
4089         * examples/quest.cc: Fix to build with Sun Studio 12 compiler.
4090           (ticket#611)
4092 Thu Jan 24 22:40:12 GMT 2013  Olly Betts <olly@survex.com>
4094         * common/Makefile.mk,common/keyword.cc,common/keyword.h: Commit new
4095           keyword lookup function needed by previous commit.
4097 Thu Jan 24 22:26:19 GMT 2013  Olly Betts <olly@survex.com>
4099         * languages/: Generate a compact and efficient table to convert
4100           language names to enum codes, which we can then use a C switch
4101           statement to dispatch.  The table first checks the token length,
4102           and then does a binary chop on tokens of the same length.  This
4103           is both faster and smaller than the approach we were using, with
4104           the benefit that the table is auto-generated.
4106 Wed Jan 23 00:51:42 GMT 2013  Olly Betts <olly@survex.com>
4108         * matcher/selectpostlist.cc,matcher/selectpostlist.h: Check document
4109           matches weight threshold before checking positional information,
4110           which speeds up slow phrase searches (tweaked version of
4111           positional-query-weight-check-first.patch from #394).
4113 Thu Jan 17 06:48:41 GMT 2013  Olly Betts <olly@survex.com>
4115         * tests/api_stem.cc: Extend stem2 to ensure description of the stemmer
4116           isn't the same as the description of Stem("none").  Fix description
4117           of testcase stemlangs2.
4119 Thu Jan 17 02:32:31 GMT 2013  Olly Betts <olly@survex.com>
4121         * HACKING: Update link to new home of autotools tutorial.
4123 Wed Jan 16 02:40:20 GMT 2013  Olly Betts <olly@survex.com>
4125         * HACKING,Makefile.am: Rename CHK_SOURCES to check_sources - variables
4126           ending _SOURCES usually have a special meaning in automake, so it's
4127           confusing to have one which doesn't.
4129 Wed Jan 16 01:55:50 GMT 2013  Olly Betts <olly@survex.com>
4131         * api/omenquire.cc: Don't cache documents retrieved by
4132           MSet::get_document() unless they were requested with fetch().  This
4133           avoids using a lot of memory when many MSet entries are retrieved.
4134           (Fixes #604)
4136 Wed Jan 09 11:49:58 GMT 2013  Olly Betts <olly@survex.com>
4138         * NEWS: Update from ChangeLog and 1.2 branch.
4140 Fri Jan 04 23:14:33 GMT 2013  Olly Betts <olly@survex.com>
4142         * net/progclient.cc: Fix typo so we actually use SOCK_CLOEXEC.
4144 Fri Jan 04 23:14:01 GMT 2013  Olly Betts <olly@survex.com>
4146         * common/safesyssocket.h: We need the same workaround for socket() too.
4148 Fri Jan 04 04:41:17 GMT 2013  Olly Betts <olly@survex.com>
4150         * common/safesyssocket.h: On Linux at least, sometimes SOCK_CLOEXEC is
4151           defined but the kernel doesn't handle it in socketpair(), so add a
4152           wrapper which will retry without SOCK_CLOEXEC in this case.  Noticed
4153           on Ubuntu precise.
4155 Sat Dec 29 17:53:30 GMT 2012  Olly Betts <olly@survex.com>
4157         * docs/quickstart.rst: Fix seriously outdated statement that Xapian
4158           doesn't create the database directory - that changed in 0.7.2
4159           (release 2003-07-11), pointed out by aarsh on #xapian.
4161 Thu Dec 27 06:06:30 GMT 2012  Olly Betts <olly@survex.com>
4163         * queryparser/queryparser.lemony: Adjust handling of Unicode
4164           opening/closing double quotes - if a quoted boolean term was started
4165           with ASCII double quote, then only ASCII double quote can end it, as
4166           otherwise it's impossible to quote a term containing Unicode double
4167           quotes.
4168         * tests/queryparsertest.cc: Update testcases.
4170 Sun Dec 23 18:16:52 GMT 2012  Olly Betts <olly@survex.com>
4172         * configure.ac: Fix typo in previous commit.
4174 Sun Dec 23 18:06:45 GMT 2012  Olly Betts <olly@survex.com>
4176         * configure.ac: Use the new flock()-based flint-compatible locking
4177           under DJGPP, and remove special cases to disable chert and brass
4178           under DJGPP (untested, as I no longer have a DJGPP setup or
4179           cross-compiler).
4181 Sun Dec 23 17:51:36 GMT 2012  Olly Betts <olly@survex.com>
4183         * backends/flint_lock.cc,backends/flint_lock.h: Add flock() based
4184           locking implementation, which is much simpler than using fcntl() due
4185           to saner semantics around releasing locks when closing other
4186           descriptors on the same file (at least on platforms where flock()
4187           isn't just a compatibility wrapper around fcntl()).  We can't simply
4188           switch to this without breaking locking compatibility with previous
4189           releases, though it might be useful for porting to platforms without
4190           fcntl() locking.  Also, flock() apparently doesn't work over NFS -
4191           perhaps that's OK, but we should at least check the failure mode.
4193 Sat Dec 22 06:29:23 GMT 2012  Olly Betts <olly@survex.com>
4195         * backends/flint_lock.cc: Only set close-on-exec on the lockfile fd if
4196           we are able to clear it in the child process, and clear it in the
4197           child process if we set it when we opened it.
4199 Sat Dec 22 06:14:40 GMT 2012  Olly Betts <olly@survex.com>
4201         * backends/flint_lock.cc,net/progclient.cc: Use SOCK_CLOEXEC with
4202           socketpair(), and then clear the close-on-exec flag for child process
4203           end of the pair before we call exec.
4205 Sat Dec 22 06:13:44 GMT 2012  Olly Betts <olly@survex.com>
4207         * net/progclient.cc: Remove O_CLOEXEC where we open stderr on /dev/null
4208           before calling exec as we want that fd to survive the exec!
4210 Sat Dec 22 05:53:12 GMT 2012  Olly Betts <olly@survex.com>
4212         * HACKING,backends/flint_lock.cc,common/Makefile.mk,
4213           common/safesyssocket.h,net/progclient.cc,net/tcpclient.cc,
4214           net/tcpserver.cc,tests/harness/backendmanager_remotetcp.cc:
4215           Use SOCK_CLOEXEC where available, and try FD_CLOEXEC if SOCK_CLOEXEC
4216           isn't available.
4218 Sat Dec 22 04:09:23 GMT 2012  Olly Betts <olly@survex.com>
4220         * backends/brass/,backends/chert/,backends/flint_lock.cc,
4221           common/debuglog.cc,common/replicate_utils.cc,common/safefcntl.h,
4222           net/progclient.cc,net/remoteconnection.cc,
4223           tests/harness/testsuite.cc: If O_CLOEXEC is supported, pass it to
4224           open() so fds we open are closed if the application using us calls
4225           exec().
4227 Fri Dec 21 03:48:36 GMT 2012  Olly Betts <olly@survex.com>
4229         * configure.ac: Don't autodisable the remote backend if we fail to find
4230           a required function.  It's more likely the user needs to pass
4231           LIBS=-lfoo and it's more helpful to error out so they can do that, or
4232           pass --disable-backend-remote if they really don't want it, rather
4233           than having them not notice the automatic disabling until after
4234           they've built.  This also matches what we do for the disk based
4235           backends.
4237 Fri Dec 21 03:48:11 GMT 2012  Olly Betts <olly@survex.com>
4239         * configure.ac: Expand comment about DJGPP.
4241 Fri Dec 21 03:47:13 GMT 2012  Olly Betts <olly@survex.com>
4243         * configure.ac: Update comment - we've supported the prog backend on
4244           Windows for more than 5 years now!
4246 Fri Dec 21 03:32:13 GMT 2012  Olly Betts <olly@survex.com>
4248         * tests/api_replicate.cc: Use O_BINARY in replication tests.
4250 Fri Dec 21 03:24:37 GMT 2012  Olly Betts <olly@survex.com>
4252         * common/replicate_utils.cc: Make posixy_open() always use O_BINARY.
4253         * backends/brass/brass_btreebase.cc,backends/brass/brass_database.cc,
4254           backends/brass/brass_databasereplicator.cc,
4255           backends/chert/chert_btreebase.cc,
4256           backends/chert/chert_databasereplicator.cc,common/posixy_wrapper.cc:
4257           Don't pass O_BINARY to posixy_open() in the places where we were
4258           (which wasn't everywhere, probably causing replication bugs under
4259           __WIN32__).
4261 Fri Dec 21 02:57:56 GMT 2012  Olly Betts <olly@survex.com>
4263         * net/remoteconnection.cc,net/remoteconnection.h: Only "outline"
4264           RemoteConnection dtor under __WIN32__.
4266 Fri Dec 21 02:56:28 GMT 2012  Olly Betts <olly@survex.com>
4268         * backends/remote/remote-database.cc: Make the UnimplementedError for a
4269           MatchSpy which doesn't implement name() clearer that it's this
4270           particular subclass which can't be used remotely, not all MatchSpy
4271           objects.
4273 Thu Dec 20 22:27:40 GMT 2012  Olly Betts <olly@survex.com>
4275         * configure.ac: Use user-specified LIBS for configure tests, which is
4276           what's expected, and provides a way for the user to tell configure
4277           where to find library functions which configure can't find for
4278           itself.
4280 Thu Dec 20 22:07:19 GMT 2012  Olly Betts <olly@survex.com>
4282         * api/compactor.cc,api/replication.cc,backends/brass/,backends/chert/,
4283           common/,net/remoteconnection.cc: Rename msvc_posix_rename(), etc to
4284           posixy_rename() (avoid a posix_ prefix as that's used by some library
4285           functions, and these aren't necessarily 100% POSIX compatible), and
4286           provide macro versions on Unix, so we can avoid a #ifdef at every
4287           call site.
4289 Thu Dec 20 20:57:18 GMT 2012  Olly Betts <olly@survex.com>
4291         * configure.ac: socketpair() needs -lnetwork on Haiku.
4293 Thu Dec 20 02:30:12 GMT 2012  Olly Betts <olly@survex.com>
4295         * backends/brass/brass_databasereplicator.cc,
4296           backends/chert/chert_databasereplicator.cc: Simplify how we open the
4297           .DB file on the replication slave to just call open() once with
4298           O_CREAT, rather than once without, than stat() if that fails, and
4299           then again with O_CREAT|O_TRUNC if stat() doesn't show an ordinary
4300           file exists.
4302 Thu Dec 20 02:05:12 GMT 2012  Olly Betts <olly@survex.com>
4304         * api/compactor.cc,common/,languages/compiler/syswords2.h,
4305           tests/api_compact.cc: Remove extra blank lines at end of files.
4307 Thu Dec 20 01:54:47 GMT 2012  Olly Betts <olly@survex.com>
4309         * backends/brass/brass_database.cc,backends/chert/chert_database.cc:
4310           Fix "if (fd > 0)" tests to be "if (fd >= 0)" in code related to
4311           replication.  In practice this is unlikely to actually have caused
4312           problems in real world cases.
4314 Sun Dec 16 23:10:13 GMT 2012  Olly Betts <olly@survex.com>
4316         * bin/Makefile.mk: INCLUDES is always used, AM_CPPFLAGS isn't if there
4317           are per-executable CPPFLAGS, so add AM_CPPFLAGS explicitly when we
4318           use per-executable CPPFLAGS.
4320 Fri Dec 14 21:25:58 GMT 2012  Olly Betts <olly@survex.com>
4322         * Makefile.am,languages/Makefile.mk,queryparser/Makefile.mk,
4323           tests/Makefile.am: In automake, INCLUDES is now deprecated in favour
4324           of AM_CPPFLAGS so update to use the latter.
4326 Tue Nov 27 05:39:30 GMT 2012  Olly Betts <olly@survex.com>
4328         * examples/quest.cc: Need <algorithm> for lower_bound().
4330 Mon Nov 26 23:46:43 GMT 2012  Olly Betts <olly@survex.com>
4332         * examples/quest.cc: Align option descriptions in --help output, and
4333           make the initial letter of such descriptions consistently lowercase.
4335 Mon Nov 26 19:52:50 GMT 2012  Olly Betts <olly@survex.com>
4337         * examples/quest.cc: Add --flags command line option to allow setting
4338           arbitrary QueryParser flags.
4340 Mon Nov 26 03:02:03 GMT 2012  Olly Betts <olly@survex.com>
4342         * api/valuerangeproc.cc: Move 3 declarations to where we first use the
4343           variables.
4345 Mon Nov 26 02:59:41 GMT 2012  Olly Betts <olly@survex.com>
4347         * matcher/multimatch.cc: We no longer use the highest weighted
4348           MSet entry to calculate percentages, so stop searching for it.
4349           (Spotted by cppcheck)
4351 Mon Nov 26 02:59:02 GMT 2012  Olly Betts <olly@survex.com>
4353         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
4354           Remove unused variables (spotted by cppcheck).
4356 Mon Nov 26 02:12:19 GMT 2012  Olly Betts <olly@survex.com>
4358         * api/maptermlist.h,api/matchspy.cc,api/omdatabase.cc,
4359           backends/inmemory/inmemory_database.cc,
4360           backends/inmemory/inmemory_positionlist.cc,
4361           backends/multi/multi_postlist.cc,backends/remote/net_termlist.cc,
4362           bin/xapian-delve.cc,matcher/exactphrasepostlist.cc,
4363           matcher/mergepostlist.cc,matcher/phrasepostlist.cc,
4364           tests/harness/backendmanager.cc: Prefer ++i to i++.
4366 Fri Nov 23 03:38:39 GMT 2012  Olly Betts <olly@survex.com>
4368         * HACKING,Makefile.am: With lcov 1.10, we no longer need any of our
4369           hacky workarounds, so make this a requirement and simplify the rules
4370           in the makefile.
4372 Thu Nov 22 23:34:09 GMT 2012  Olly Betts <olly@survex.com>
4374         * Makefile.am: Pass -f to lcov, which should avoid the need for the
4375           patch we've been applying to lcov.
4377 Thu Nov 22 01:34:05 GMT 2012  Olly Betts <olly@survex.com>
4379         * backends/flint_lock.cc: Close excess file handles before we get the
4380           fcntl() lock, just in case one of those file handles is open on the
4381           lock file.
4382         * tests/api_backend.cc: Add regression test lockfilealreadyopen1.
4384 Thu Nov 22 00:35:51 GMT 2012  Olly Betts <olly@survex.com>
4386         * common/closefrom.cc,configure.ac: On platforms with the F_MAXFD
4387           fcntl but without closefrom(), we were failing to close the highest
4388           numbered open fd in our closefrom() replacement.  We now also work
4389           around valgrind not hiding some extra fds it has open, but then
4390           complaining if we try to close them.
4392 Wed Nov 21 22:50:21 GMT 2012  Olly Betts <olly@survex.com>
4394         * tests/harness/testsuite.cc: When reporting valgrind error, skip any
4395           warnings.
4397 Tue Nov 20 07:26:24 GMT 2012  Olly Betts <olly@survex.com>
4399         * tests/api_anydb.cc: msetweights1 makes multidb1 and multidb2
4400           redundant, so remove them.
4402 Tue Nov 20 07:21:46 GMT 2012  Olly Betts <olly@survex.com>
4404         * tests/api_backend.cc: Extend msetweights1 to test the case where
4405           only even docids match, so in the multi_* case, only docids from
4406           one subdatabase match.
4408 Tue Nov 20 07:04:55 GMT 2012  Olly Betts <olly@survex.com>
4410         * tests/api_backend.cc: Add testcase msetweights1 which checks we
4411           get the weights we expect for a two term query.
4413 Mon Nov 19 21:17:33 GMT 2012  Olly Betts <olly@survex.com>
4415         * queryparser/termgenerator.cc: TermGenerator internal member can
4416           never be NULL, so drop NULL test.
4418 Sat Nov 17 20:54:50 GMT 2012  Olly Betts <olly@survex.com>
4420         * tests/harness/testsuite.cc: Remove compatibility code for valgrind <
4421           3.3.0, since we reject such old versions at configure time.
4423 Sat Nov 17 00:05:36 GMT 2012  Olly Betts <olly@survex.com>
4425         * matcher/localsubmatch.cc: Optimise an unweighted query term which
4426           matches all the documents in a subdatabase to use the "MatchAll"
4427           postlist.  (ticket#387)
4429 Fri Nov 16 23:36:34 GMT 2012  Olly Betts <olly@survex.com>
4431         * tests/api_weight.cc: New testcase checkstatsweight1 which checks a
4432           weight subclass gets the correct values for all the stats.
4434 Fri Nov 16 07:30:18 GMT 2012  Olly Betts <olly@survex.com>
4436         * include/xapian/version_h.cc: Generate a check for compatible _DEBUG
4437           settings if built with MSVC.  (ticket#389)
4439 Fri Nov 16 01:28:55 GMT 2012  Olly Betts <olly@survex.com>
4441         * queryparser/queryparser.lemony: Improve a couple of comments.
4443 Fri Nov 16 01:25:28 GMT 2012  Olly Betts <olly@survex.com>
4445         * queryparser/queryparser.lemony: Implicitly close any unclosed brackets
4446           at the end of the query string.  Patch from Sehaj Singh Kalra.
4447         * tests/queryparsertest.cc: Adjust existing testcases and feature tests.
4449 Thu Nov 15 23:57:10 GMT 2012  Olly Betts <olly@survex.com>
4451         * tests/api_query.cc: Add testcase xor3 to ensure that XOR handles all
4452           remaining subqueries running out at the same time.
4454 Thu Nov 15 10:57:32 GMT 2012  Olly Betts <olly@survex.com>
4456         * tests/api_query.cc: One test here does need a backend, and it seems
4457           a more useful category, so drop the "don't need a backend" part from
4458           the @brief documentation comment.
4460 Thu Nov 15 09:29:47 GMT 2012  Olly Betts <olly@survex.com>
4462         * matcher/multimatch.cc: Fix calculation of 0.0/0.0 in some cases.
4463           This then got used as a minimum weight, but it seems this gives -nan
4464           (at least on x86-64 Linux) so it may have been harmless in practice.
4466 Thu Nov 15 05:39:47 GMT 2012  Olly Betts <olly@survex.com>
4468         * tests/api_anydb.cc: Eliminate workarounds for egcs 1.1.2 (certainly
4469           we no longer support a compiler that old, but maybe some newer
4470           compilers have the same issue, so I've rewritten the code to iterate
4471           backwards over one MSet, which is a useful feature to have coverage
4472           for).
4474 Thu Nov 15 05:28:40 GMT 2012  Olly Betts <olly@survex.com>
4476         * tests/api_anydb.cc: Fix reversebool1 and reversebool2 to actually
4477           use the result when they check an MSetIterator against end().
4479 Thu Nov 15 01:55:15 GMT 2012  Olly Betts <olly@survex.com>
4481         * bin/xapian-replicate.cc: Add --quiet option to xapian-replicate, and
4482           be a little more verbose by default.
4484 Thu Nov 15 01:54:14 GMT 2012  Olly Betts <olly@survex.com>
4486         * bin/xapian-replicate.cc: xapian-replicate --force-copy now only
4487           forces a single copy, and then attempts to replicate incrementally.
4489 Thu Nov 15 00:51:50 GMT 2012  Olly Betts <olly@survex.com>
4491         * bin/xapian-replicate.cc: Tweak code layout.
4493 Wed Nov 14 21:40:45 GMT 2012  Olly Betts <olly@survex.com>
4495         * net/remoteconnection.cc: Allow files > 32G to be be copied by
4496           replication.
4498 Tue Nov 13 03:44:03 GMT 2012  Olly Betts <olly@survex.com>
4500         * tests/api_replicate.cc: Pass 'true' or 'false' for 'bool' parameter,
4501           not '0' or '1' (especially confusing as the two previous parameters
4502           were integers which were often 0 or 1...)
4504 Tue Nov 13 03:34:42 GMT 2012  Olly Betts <olly@survex.com>
4506         * bin/xapian-replicate.cc,net/replicatetcpclient.cc,
4507           net/replicatetcpclient.h: Add --full-copy option to xapian-replicate.
4508         * tests/api_replicate.cc: New testcase replicate6 which tests the same
4509           code path used by 'xapian-replicate --full-copy'.
4511 Tue Nov 13 02:55:44 GMT 2012  Olly Betts <olly@survex.com>
4513         * tests/api_replicate.cc: Use '++' instead of '+= 1'.  Drop superfluous
4514           'return;' at end of function returning void.
4516 Tue Nov 13 01:12:33 GMT 2012  Olly Betts <olly@survex.com>
4518         * tests/harness/unixcmds.cc: Tweak to avoid default initialisation of
4519           string.
4521 Mon Nov 12 23:25:14 GMT 2012  Olly Betts <olly@survex.com>
4523         * include/xapian/unicode.h: GCC 4.6.3 doesn't optimise the asr idion
4524           either.  Add links to the PR I filed and the GCC documentation that
4525           signed right shift does sign extension.
4527 Mon Nov 12 10:21:19 GMT 2012  Olly Betts <olly@survex.com>
4529         * include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode
4530           character database to 6.2.0.
4531         * tests/api_unicode.cc: Add tests for U+20BA, added in 6.2.0.
4533 Sat Nov 10 05:39:16 GMT 2012  Olly Betts <olly@survex.com>
4535         * api/leafpostlist.cc,matcher/multiandpostlist.cc: Improved fix for
4536           #590 - count all matching LeafPostList objects with a Weight object
4537           rather than trying to prune at the MultiAndPostList level based on
4538           max_wt (if wdf is always zero for a term, BM25 gives max_wt of 0,
4539           which leads to us never counting that subquery.
4540         * tests/api_percentages.cc: Add regression test topercent7.
4542 Fri Nov 09 04:25:32 GMT 2012  Olly Betts <olly@survex.com>
4544         * tests/api_percentages.cc: Note bug number in regression test for
4545           #590.
4547 Tue Nov 06 22:42:31 GMT 2012  Olly Betts <olly@survex.com>
4549         * backends/brass/brass_table.cc: Restore two missing lines in database
4550           checking where we report a block with the wrong level.
4552 Tue Oct 16 11:19:42 GMT 2012  Olly Betts <olly@survex.com>
4554         * api/compactor.cc,backends/dbcheck.cc,backends/dbfactory.cc,
4555           common/Makefile.mk: Fix to build when configured with
4556           --disable-backend-brass --disable-backend-chert.  (ticket#586)
4558 Mon Oct 15 04:07:30 GMT 2012  Olly Betts <olly@survex.com>
4560         * HACKING: automake 1.12.4 is now used to generate snapshots and
4561           releases.
4563 Sat Oct 13 09:34:21 GMT 2012  Olly Betts <olly@survex.com>
4565         * weight/weightinternal.h: Revert addition of "#include <config.h>" in
4566           r16820.
4567         * HACKING: Document that we don't include <config.h> from header
4568           files, and the reason why.
4570 Sat Oct 13 09:00:23 GMT 2012  Olly Betts <olly@survex.com>
4572         * include/xapian/queryparser.h: Fix documentation comment typos:
4573           "covert" -> "convert".
4575 Thu Oct 11 12:28:30 GMT 2012  Olly Betts <olly@survex.com>
4577         * docs/valueranges.rst: Update documentation to reflect change in
4578           Xapian 1.1.2 - DateValueRangeProcessor and StringValueRangeProcessor
4579           now support a prefix or suffix.
4581 Mon Oct 01 05:05:54 GMT 2012  Olly Betts <olly@survex.com>
4583         * HACKING: Try to make it clearer we're looking for a dual-licence
4584           on submitted patches.
4586 Tue Sep 25 08:09:08 GMT 2012  Olly Betts <olly@survex.com>
4588         * common/Makefile.mk,common/append_filename_arg.h,
4589           tests/harness/unixcmds.cc: Split out append_filename_argument() into
4590           its own file so it can be used elsewhere.
4592 Tue Sep 25 06:46:03 GMT 2012  Olly Betts <olly@survex.com>
4594         * include/xapian/enquire.h: Mark MSetIterator::at_end() and
4595           ESetIterator::at_end() as @private @internal so that they don't
4596           appear in the API docs.
4598 Tue Sep 25 06:45:07 GMT 2012  Olly Betts <olly@survex.com>
4600         * include/xapian/enquire.h: Remove FIXMEs about converting MSetIterator
4601           and ESetIterator to use Internal classes - as HACKING notes, the
4602           current implementation is that way for performance reasons.
4604 Tue Sep 25 06:36:37 GMT 2012  Olly Betts <olly@survex.com>
4606         * tests/harness/unixcmds.cc: Escape filenames on POSIX platforms by
4607           wrapping in single quotes and specially handling single quotes in
4608           the filename - previously newlines in filenames got eaten by the
4609           shell.
4611 Tue Sep 25 06:32:36 GMT 2012  Olly Betts <olly@survex.com>
4613         * tests/harness/unixcmds.cc: Protect filenames which start with '-' on
4614           MS Windows like we already do on other platforms.  The built-in
4615           commands generally only interpret '/' as the character introducing a
4616           command line option (which we already convert to '\'), but many
4617           ported programs understand '-' too/instead.
4619 Sat Aug 25 16:09:50 GMT 2012  Dan Colish <dcolish@gmail.com>
4621         * include/xapian/enquire.h: Add function to test MSetIterator and
4622           ESetIterator exhaustion against the size of the underlying interee
4623           since comparison against an empty Itor is not suitable for an
4624           exhaustion test. Add FIXME that these Iterators should use an Internal
4625           class.
4627 Thu Aug 09 21:50:52 GMT 2012  Dan Colish <dcolish@gmail.com>
4629         * weight/weightinternal.h: Include config.h since macros are used
4630           from it.
4632 Wed Aug 08 15:40:38 GMT 2012  Dan Colish <dcolish@gmail.com>
4634         * api/queryvector.h: Backout previous fix. When compiling with -O0,
4635           increase the stack limit to > 8M when running scalability tests.
4637 Wed Aug 08 02:10:21 GMT 2012  Dan Colish <dcolish@gmail.com>
4639         * api/queryvector.h: Fix SIGBUS when clearing QueryVectors
4641 Wed Aug 01 15:25:25 GMT 2012  Dan Colish <dcolish@gmail.com>
4643         * HACKING,Makefile.am,tests/Makefile.am: Fix non-portable warnings
4644         from automake, add HACKING doc for check-syntax make target
4646 Wed Aug 01 04:54:18 GMT 2012  Dan Colish <dcolish@gmail.com>
4648         * Makefile.am,api/Makefile,backends/Makefile,backends/brass/Makefile,
4649           backends/chert/Makefile,backends/inmemory/Makefile,
4650           backends/multi/Makefile,backends/remote/Makefile,bin/Makefile,
4651           common/Makefile,examples/Makefile,expand/Makefile,
4652           geospatial/Makefile,include/Makefile,include/xapian/Makefile,
4653           languages/Makefile,matcher/Makefile,net/Makefile,
4654           queryparser/Makefile,tests/harness/Makefile,unicode/Makefile,
4655           weight/Makefile: Add check-syntax target to Makefiles to support
4656           editor syntax checks
4658 Sun Jul 29 15:32:00 GMT 2012  Olly Betts <olly@survex.com>
4660         * configure.ac: Bump LIBRARY_VERSION_INFO so I can package a snapshot
4661           cleanly.
4663 Tue Jul 24 01:35:17 GMT 2012  Olly Betts <olly@survex.com>
4665         * include/xapian/queryparser.h,queryparser/queryparser.cc,
4666           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
4667           tests/queryparsertest.cc: Add FieldProcessor class (ticket#128) -
4668           currently marked as an experimental API while we sort out how best
4669           to sort out exactly how it interacts with other QueryParser features.
4671 Tue Jul 24 01:19:03 GMT 2012  Olly Betts <olly@survex.com>
4673         * include/xapian/queryparser.h: Add extra DateValueRangeProcessor
4674           constructor overloaded form so that in DateValueRangeProcessor(1,
4675           "date:"), the const char * gets interpreted as std::string rather
4676           than bool.
4677         * tests/queryparsertest.cc: Add regression test.
4679 Thu Jul 19 05:32:04 GMT 2012  Olly Betts <olly@survex.com>
4681         * backends/brass/brass_dbcheck.h,
4682           backends/inmemory/inmemory_alltermslist.cc,bin/xapian-delve.cc: Fix
4683           filenames in comments which mismatch actual name of file.
4685 Thu Jul 19 05:27:38 GMT 2012  Olly Betts <olly@survex.com>
4687         * queryparser/termgenerator_internal.cc: Remove "FIXME: Add API to
4688           allow control of how stemming is used?", as we have now added such
4689           an API.
4691 Thu Jul 19 05:24:49 GMT 2012  Olly Betts <olly@survex.com>
4693         * include/xapian/termgenerator.h,queryparser/termgenerator.cc,
4694           queryparser/termgenerator_internal.cc,
4695           queryparser/termgenerator_internal.h,tests/termgentest.cc: Add new
4696           method TermGenerator::set_max_word_length() to allow this limit to
4697           be adjusted by the user.
4699 Mon Jul 16 03:34:27 GMT 2012  Olly Betts <olly@survex.com>
4701         * include/xapian/enquire.h: Clarify that the "reverse" parameter of
4702           set_sort_by_relevance_then_value() and
4703           set_sort_by_relevance_then_key() only affects the ordering of the
4704           value/key part of the sort.
4706 Fri Jul 13 04:55:26 GMT 2012  Dan Colish <dcolish@gmail.com>
4708         * matcher/multimatch.cc: Remove duplicate import
4710 Thu Jul 12 05:13:57 GMT 2012  Olly Betts <olly@survex.com>
4712         * common/debuglog.cc: Preserve errno over debug logging calls, so they
4713           can safely be added to code which expects errno not to change.
4715 Mon Jul 02 05:27:43 GMT 2012  Dan Colish <dcolish@gmail.com>
4717         * backends/brass/brass_databasereplicator.cc: Use new/delete to avoid
4718           variable length array gcc extension and comply with c++98
4720 Mon Jul 02 05:02:14 GMT 2012  Dan Colish <dcolish@gmail.com>
4722         * api/omdatabase.cc,tests/api_wrdb.cc: Prefer container.empty() to
4723           container.size() == 0.
4725 Sun Jul 01 10:46:19 GMT 2012  Olly Betts <olly@survex.com>
4727         * NEWS: Update from ChangeLog, 1.2.11 and 1.2.12.
4729 Fri Jun 29 15:32:11 GMT 2012  Dan Colish <dcolish@>
4731         * tests/harness/testsuite.cc: Add safeunistd.h unconditionally for
4732           isatty, required by GCC 4.7
4734 Wed Jun 27 10:45:13 GMT 2012  Olly Betts <olly@survex.com>
4736         * AUTHORS: Add GSoC students.
4738 Tue Jun 26 08:45:03 GMT 2012  Olly Betts <olly@survex.com>
4740         * include/xapian.h: Add check for Qt headers being included before us
4741           and defining 'slots' as a macro - if they are, give a clear error
4742           advising how to work around this.
4744 Thu Jun 14 23:48:15 GMT 2012  Olly Betts <olly@survex.com>
4746         * docs/admin_notes.rst: Correction - we don't "create a lock file", we
4747           "lock a file".
4749 Tue Jun 12 13:08:58 GMT 2012  Olly Betts <olly@survex.com>
4751         * tests/api_replicate.cc: Make sure XAPIAN_MAX_CHANGESETS gets unset
4752           after testcases which set it, so further testcases don't waste time
4753           generating changesets.
4755 Tue Jun 12 12:11:51 GMT 2012  Olly Betts <olly@survex.com>
4757         * docs/replication.rst: The value of XAPIAN_MAX_CHANGESETS does now
4758           actually determine how many changesets we keep.
4760 Tue Jun 12 01:20:59 GMT 2012  Olly Betts <olly@survex.com>
4762         * configure.ac: Force link_all_deplibs_CXX=no for Solaris.
4764 Tue Jun 12 01:08:17 GMT 2012  Olly Betts <olly@survex.com>
4766         * xapian-config.in: Don't interpret a missing .la file as meaning that
4767           we only have static libraries.
4769 Sun Jun 10 12:57:16 GMT 2012  Olly Betts <olly@survex.com>
4771         * backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h,
4772           backends/brass/brass_check.cc: Remove is_empty(), tweak
4773           calculate_last_block() to calculate the bit map size correctly in
4774           the case of an empty table, and use the bit map size instead of
4775           is_empty() in xapian-check.
4776         * backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h,
4777           backends/chert/chert_check.cc: Make equivalent changes for chert.
4779 Sun Jun 10 11:27:52 GMT 2012  Olly Betts <olly@survex.com>
4781         * backends/brass/brass_table.cc,backends/brass/brass_table.h: We don't
4782           need the workaround for existing tables which were built with a 32
4783           bit item count for brass, since that bug was fixed in 1.1.4, which
4784           is the same version which brass was added in.
4786 Sun Jun 10 11:20:58 GMT 2012  Olly Betts <olly@survex.com>
4788         * backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h,
4789           backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h:
4790           Remove unused copy constructors for BrassTable_base and
4791           ChertTable_base.
4793 Wed Jun 06 11:10:26 GMT 2012  Olly Betts <olly@survex.com>
4795         * include/xapian/queryparser.h: Note that STEM_ALL_Z was added in
4796           1.2.11.  Change already made on 1.2 branch.
4798 Tue Jun 05 06:51:12 GMT 2012  Olly Betts <olly@survex.com>
4800         * common/compression_stream.cc,common/compression_stream.h: Move the
4801           default argument to the CompressionStream constructor to the header
4802           and mark the constructor as explicit, since it has a single argument
4803           form.
4805 Tue Jun 05 06:41:22 GMT 2012  Olly Betts <olly@survex.com>
4807         * api/queryvector.h: Fix somewhat dubious warning from clang.
4809 Tue Jun 05 06:33:09 GMT 2012  Olly Betts <olly@survex.com>
4811         * configure.ac: Overhaul handling of compilers which pretend to be GCC,
4812           using a simple "case" on the preprocessed output of '__INTEL_COMPILER
4813           __clang__' to tell which is in use.  We now explicitly check for
4814           clang, and only pass it warning flags it actually understands.  GCC
4815           4.0 is now lumped in with 3.*, since we handle it exactly the same.
4816           Enable -Wdouble-promotion for GCC >= 4.6.  Check for symbol
4817           visibility support under any GCC-alike (which means we now run the
4818           test with Intel's compiler).  Move the check for -Bsymbolic-functions
4819           to be run for all compilers.
4821 Mon Jun 04 06:21:02 GMT 2012  Olly Betts <olly@survex.com>
4823         * backends/dbfactory.cc: Test if we fail to open a stub database file
4824           in Xapian::Auto::open_stub() and throw an exception if so.
4825         * tests/api_backend.cc: Add regression test stubdb7.
4827 Sun Jun 03 11:43:44 GMT 2012  Olly Betts <olly@survex.com>
4829         * include/xapian/query.h: Add second fake specialised form of the
4830           templated iterator Query constructor, for use in the Java bindings.
4832 Sat Jun 02 12:15:11 GMT 2012  Olly Betts <olly@survex.com>
4834         * docs/scalability.rst: Update gmane size, fix a typo, tweak wording.
4836 Sat Jun 02 12:10:55 GMT 2012  Olly Betts <olly@survex.com>
4838         * Makefile.am,api/omdocument.cc,api/omenquire.cc,backends/brass/,
4839           backends/chert/,bin/xapian-delve.cc,common/getopt.cc,configure.ac,
4840           docs/,m4-macros/xapian-1.3.m4,matcher/multimatch.cc,preautoreconf,
4841           tests/Makefile.am,tests/api_db.cc,tests/harness/testsuite.h,
4842           tests/harness/testutils.h: Change `...' quoting in prose to '...'.
4844 Fri Jun 01 07:40:48 GMT 2012  Olly Betts <olly@survex.com>
4846         * HACKING,Makefile.am: If you run "make coverage-check" by hand, the
4847           default of compressed HTML is unhelpful, so don't default to passing
4848           --html-gzip to genhtml, but instead add support for GENHTML_ARGS.
4850 Thu May 31 11:41:19 GMT 2012  Olly Betts <olly@survex.com>
4852         * tests/api_weight.cc: Add test that init() is now called for the
4853           term-independent weight contribution.
4855 Thu May 31 11:23:05 GMT 2012  Olly Betts <olly@survex.com>
4857         * weight/bm25weight.cc: Avoid use of undefined values when k1 or b are
4858           zero.
4860 Wed May 30 21:50:54 GMT 2012  Olly Betts <olly@survex.com>
4862         * tests/api_matchspy.cc: Use a cached generated database for matchspy2
4863           and matchspy4.
4865 Wed May 30 13:22:54 GMT 2012  Olly Betts <olly@survex.com>
4867         * include/xapian/weight.h,weight/weight.cc: We were failing to call
4868           init() for Weight objects providing the term-independent weight.
4869           These now get called with init(0.0).
4871 Wed May 30 13:13:03 GMT 2012  Olly Betts <olly@survex.com>
4873         * include/xapian/weight.h: Remove duplicate "need_stat(WDF);" calls,
4874           accidentally added by merge of opsynonym branch in r12609.
4876 Wed May 30 07:44:23 GMT 2012  Olly Betts <olly@survex.com>
4878         * weight/bm25weight.cc: Fix use of uninitialised value found by new
4879           bm25weight4 testcase.
4881 Wed May 30 05:38:58 GMT 2012  Olly Betts <olly@survex.com>
4883         * tests/api_weight.cc: Add tests for BM25 parameter combinations where
4884           doclen shouldn't affect the weights.
4886 Wed May 30 05:11:34 GMT 2012  Olly Betts <olly@survex.com>
4888         * tests/Makefile.am: Move api_geospatial.cc into alphabetical order.
4890 Wed May 30 05:07:51 GMT 2012  Olly Betts <olly@survex.com>
4892         * weight/bm25weight.cc,weight/tradweight.cc: Throw SerialisationError
4893           not NetworkError if unserialise() fails.
4894         * tests/.gitignore,tests/Makefile.am,tests/api_weight.cc: Add test
4895           coverage for this.
4897 Wed May 30 05:01:33 GMT 2012  Olly Betts <olly@survex.com>
4899         * weight/tradweight.cc: BM25Weight -> TradWeight in exception message.
4901 Wed May 30 04:28:43 GMT 2012  Olly Betts <olly@survex.com>
4903         * tests/queryparsertest.cc: Fix feature test added for STEM_ALL_Z.
4905 Tue May 29 07:29:01 GMT 2012  Olly Betts <olly@survex.com>
4907         * tests/harness/testutils.cc,tests/harness/testutils.h: Remove unused
4908           test helper mset_range_is_same_percents() (thanks, lcov!)
4910 Tue May 29 04:10:07 GMT 2012  Olly Betts <olly@survex.com>
4912         * tests/generate-api_generated: Test that the string returned by a
4913           get_description() method isn't empty.
4915 Tue May 29 03:54:15 GMT 2012  Olly Betts <olly@survex.com>
4917         * generate-exceptions: Use function attributes in generated error.h.
4919 Tue May 29 02:10:23 GMT 2012  Olly Betts <olly@survex.com>
4921         * configure.ac,tests/runsrv.in: In the testsuite, only run remote
4922           servers under valgrind if x87 FP instructions are in use.
4924 Tue May 29 00:24:42 GMT 2012  Olly Betts <olly@survex.com>
4926         * include/xapian/: Use the new function attributes on various API
4927           methods.
4928         * tests/api_wrdb.cc: get_termfreq() is now marked as pure, so the
4929           testsuite needs to actually use the return value to check its
4930           exception behaviour.
4932 Mon May 28 22:31:21 GMT 2012  Olly Betts <olly@survex.com>
4934         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
4935           include/xapian/query.h: Pass vector<pair<Xapian::termpos>, string> >&
4936           argument to Query::Internal::gather_terms() as a void* to avoid
4937           having to include <vector> in query.h.
4939 Mon May 28 05:07:02 GMT 2012  Olly Betts <olly@survex.com>
4941         * include/xapian/attributes.h: Remove unused XAPIAN_NOTHROW_API_METHOD
4942           as we're handling that a different way instead.
4944 Mon May 28 00:41:55 GMT 2012  Olly Betts <olly@survex.com>
4946         * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Hide new
4947           function attribute macros from doxygen.
4949 Sun May 27 14:04:34 GMT 2012  Olly Betts <olly@survex.com>
4951         * include/xapian/query.h: Use "Internal" instead of "Query::Internal"
4952           in constructor prototype argument list for consistency with other
4953           cosntructors, and so this constructor gets ignored by SWIG.
4955 Sun May 27 07:38:56 GMT 2012  Olly Betts <olly@survex.com>
4957         * exception_data.pm: Fix typo to fix warning and so that XAPIAN_NOTHROW
4958           on a method will work.
4960 Sun May 27 01:43:30 GMT 2012  Olly Betts <olly@survex.com>
4962         * exception_data.pm,include/Makefile.mk,include/xapian.h,
4963           include/xapian/attributes.h,include/xapian/unicode.h: Add
4964           XAPIAN_CONST_FUNCTION, XAPIAN_PURE_FUNCTION, and XAPIAN_NOTHROW
4965           macros for marking functions and methods with those attributes.
4966           (tickets #151, #454)
4968 Fri May 25 06:42:35 GMT 2012  Olly Betts <olly@survex.com>
4970         * include/xapian/weight.h: Fix documentation comment typo ("k1" ->
4971           "k").
4973 Fri May 25 05:44:05 GMT 2012  Olly Betts <olly@survex.com>
4975         * backends/flint_lock.h: Mark FlintLock::throw_databaselockerror() as
4976           XAPIAN_NORETURN.
4978 Thu May 24 12:28:35 GMT 2012  Olly Betts <olly@survex.com>
4980         * include/xapian/termgenerator.h,queryparser/termgenerator.cc,
4981           queryparser/termgenerator_internal.cc,
4982           queryparser/termgenerator_internal.h: Add
4983           TermGenerator::set_stemming_strategy() method, with strategies which
4984           correspond to those of QueryParser.  Based on patch from Sehaj Singh
4985           Kalra, with some tweaks for adding term positions in more cases.
4986           (Fixes ticket#563)
4987         * tests/termgentest.cc: Add test coverage for the new features.
4989 Thu May 24 01:37:31 GMT 2012  Olly Betts <olly@survex.com>
4991         * include/xapian/queryparser.h: Add doc comment for stem_strategy
4992           typedef.
4994 Wed May 23 11:33:08 GMT 2012  Olly Betts <olly@survex.com>
4996         * include/xapian/queryparser.h,queryparser/queryparser.lemony:
4997           Add new QueryParser::STEM_ALL_Z stemming strategy, which stems all
4998           terms and adds a Z prefix.  (Patch from Sehaj Singh Kalra, fixes
4999           ticket#562)
5000         * tests/queryparsertest.cc: Add test coverage for
5001           QueryParser::STEM_ALL_Z.
5003 Wed May 23 05:37:20 GMT 2012  Olly Betts <olly@survex.com>
5005         * api/valuesetmatchdecider.cc,include/xapian/valuesetmatchdecider.h:
5006           "Limited" to "Ltd" in (C) two statements, for consistency (and with
5007           Charlie's agreement on IRC).
5009 Wed May 23 02:25:53 GMT 2012  Olly Betts <olly@survex.com>
5011         * api/,include/xapian/query.h: Rework QueryBranch to use a special
5012           QueryVector class rather than std::vector<Xapian::Query>.  The
5013           special class is no bigger than std::vector<Xapian::Query>, and
5014           handles up to two entries by holding them within the object (at
5015           least GCC's std::vector doesn't currently do this space optimisation)
5016           which significantly reduces the memory used by a pairwise operator,
5017           which is very desirable as we no longer flatten a tree of the same
5018           pairwise operator as we build the query.
5020 Tue May 22 06:25:10 GMT 2012  Olly Betts <olly@survex.com>
5022         * api/queryinternal.cc: Handle the left side of AND_NOT and
5023           AND_MAYBE being MatchNothing in add_subquery() rather than
5024           in done().
5026 Tue May 22 02:40:45 GMT 2012  Olly Betts <olly@survex.com>
5028         * api/queryinternal.cc: Handle QueryAndLike with a MatchNothing
5029           subquery in add_subquery() rather than done().
5031 Tue May 22 02:01:00 GMT 2012  Olly Betts <olly@survex.com>
5033         * api/queryinternal.cc,api/queryinternal.h: Drop MatchNothing
5034           subqueries in OR-like situations in add_subquery() rather than
5035           adding them and then handling it later.
5037 Sat May 19 00:27:23 GMT 2012  Olly Betts <olly@survex.com>
5039         * tests/runsrv.in: Add explanation of why we have this script.
5041 Sat May 19 00:27:10 GMT 2012  Olly Betts <olly@survex.com>
5043         * tests/runtest.in: Fix comment typo.
5045 Fri May 18 12:50:08 GMT 2012  Olly Betts <olly@survex.com>
5047         * backends/inmemory/inmemory_database.cc: Check if the database is
5048           closed when asked to iterate metadata keys.  Fixes recently added
5049           testcase closedb10 for inmemory.
5051 Fri May 18 12:34:24 GMT 2012  Olly Betts <olly@survex.com>
5053         * tests/Makefile.am: Pass -ldl last when compiling zlib-vg.so, as that
5054           seems to be needed on Ubuntu 12.04.
5056 Fri May 18 04:54:09 GMT 2012  Olly Betts <olly@survex.com>
5058         * tests/api_closedb.cc: We now test almost all methods of Database
5059           and WritableDatabase after calling close().  (ticket#337)
5061 Thu May 17 14:26:11 GMT 2012  Olly Betts <olly@survex.com>
5063         * backends/brass/,backends/chert/: After closing the database, methods
5064           which try to use the termlist would throw FeatureUnavailableError
5065           with message "Database has no termlist", assuming that the termlist
5066           table not being open meant it wasn't present.  Fix to check if the
5067           postlist_table is open to determine which case we're in.
5068         * tests/api_closedb.cc: Improve test coverage for closed databases.
5069           (ticket#337)
5071 Tue May 15 11:24:34 GMT 2012  Olly Betts <olly@survex.com>
5073         * NEWS: Update from ChangeLog and 1.2.10.
5075 Tue May 15 11:12:42 GMT 2012  Olly Betts <olly@survex.com>
5077         * backends/chert/chert_cursor.cc: Fix incorrect use of "delete" to
5078           "delete []".  The type is POD, so I suspect this mistake didn't
5079           actually cause any problems, and it only happens when a cursor
5080           gets rebuilt because the B-tree has gained a level, so it's
5081           a rather rare occurrence.
5083 Tue May 15 11:09:44 GMT 2012  Olly Betts <olly@survex.com>
5085         * backends/brass/brass_cursor.cc: Fix incorrect use of "delete" to
5086           "delete []".  The type is POD, so I suspect this mistake didn't
5087           actually cause any problems, and it only happens when a cursor
5088           gets rebuilt because the B-tree has gained a level, so it's
5089           a rather rare occurrence.
5091 Thu May 10 02:16:21 GMT 2012  Olly Betts <olly@survex.com>
5093         * HACKING: Update Debian/Ubuntu packaging instructions.
5095 Thu May 10 02:14:48 GMT 2012  Olly Betts <olly@survex.com>
5097         * HACKING: freshmeat -> freecode.
5099 Wed May 09 02:54:40 GMT 2012  Olly Betts <olly@survex.com>
5101         * tests/api_wrdb.cc: Add "safeunistd.h", required for GCC 4.7.
5103 Wed May 09 00:09:17 GMT 2012  Olly Betts <olly@survex.com>
5105         * api/query.cc: Construct MatchAll using constructor rather than
5106           assignment syntax.
5108 Wed May 09 00:08:29 GMT 2012  Olly Betts <olly@survex.com>
5110         * backends/brass/brass_cursor.h: Whitespace tweaks.
5112 Tue May 08 23:51:01 GMT 2012  Olly Betts <olly@survex.com>
5114         * docs/admin_notes.rst: Document xapian-check for fixing corrupted
5115           databases.
5117 Tue May 08 11:30:06 GMT 2012  Olly Betts <olly@survex.com>
5119         * common/fileutils.cc: Add safeunistd.h for mkdir, required by GCC
5120           4.7 (reported by Gaurav Arora).
5122 Wed May 02 03:44:25 GMT 2012  Olly Betts <olly@survex.com>
5124         * weight/weightinternal.cc: Using AssertEq() on NULL doesn't compile,
5125           at least with recent GCC.
5127 Wed May 02 02:58:37 GMT 2012  Olly Betts <olly@survex.com>
5129         * common/omassert.cc: Fix warning with GCC in build with assertions
5130           enabled.
5132 Wed May 02 02:55:54 GMT 2012  Olly Betts <olly@survex.com>
5134         * HACKING: We're now using automake 1.12 to generate snapshots and
5135           releases.
5137 Mon Apr 23 13:16:36 GMT 2012  Olly Betts <olly@survex.com>
5139         * tests/api_anydb.cc: Fix tradweight1 to test that TradWeight(0)
5140           means that wdf and doc length don't affect the weight of a term.
5142 Mon Apr 23 03:44:02 GMT 2012  Olly Betts <olly@survex.com>
5144         * backends/chert/,backends/dbcheck.cc,bin/xapian-check.cc,
5145           include/xapian/database.h: Add "fix" option to xapian-check, which
5146           currently will regenerate iamchert if it isn't valid, and will
5147           regenerate base files from the .DB files (only really tested on
5148           databases which have just been compacted).
5150 Mon Apr 23 03:40:35 GMT 2012  Olly Betts <olly@survex.com>
5152         * common/filetests.h: Add new function file_size() to get the size
5153           of a file from a path or file descriptor.
5154         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc,
5155           net/remoteconnection.cc,tests/api_replicate.cc: Use this new
5156           function.
5158 Wed Apr 18 01:35:21 GMT 2012  Olly Betts <olly@survex.com>
5160         * weight/bm25weight.cc,weight/tradweight.cc: Fix comment typo.
5162 Wed Apr 11 08:26:42 GMT 2012  Olly Betts <olly@survex.com>
5164         * HACKING: Update section on patches to mention git (git diff and git
5165           format-patch), and using "-r" with normal diff, and also that
5166           ptardiff offers a nice way to diff against an unpacked tarball.
5168 Wed Apr 04 02:22:04 GMT 2012  Olly Betts <olly@survex.com>
5170         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
5171           If the output database is empty, don't write a metainfo tag out.
5172           Take care not to divide by zero when computing the percentage
5173           size change for a table.
5174         * tests/api_compact.cc: Add new testcase compactempty1 to provide
5175           regression tests.
5177 Wed Apr 04 01:48:34 GMT 2012  Olly Betts <olly@survex.com>
5179         * backends/dbcheck.cc: If the database couldn't be opened, don't try
5180           to reserve space for cross-checking doclens, as that just results in
5181           us reporting a confusing warning about there being too many documents
5182           to cross-check doclens.
5184 Fri Mar 30 22:23:53 GMT 2012  Olly Betts <olly@survex.com>
5186         * backends/document.h: "An string" -> "A string" in internal doc
5187           comment.
5189 Fri Mar 30 22:20:11 GMT 2012  Olly Betts <olly@survex.com>
5191         * include/xapian/weight.h: Fix switched lower and upper in doc comments
5192           for Weight methods get_doclength_lower_bound() and
5193           get_doclength_upper_bound().  Correct maximum to minimum in
5194           get_doclength_lower_bound() comment and note that this excludes zero
5195           length documents.  Fix "An lower" to "A lower".
5197 Wed Mar 28 09:54:33 GMT 2012  Olly Betts <olly@survex.com>
5199         * NEWS: Fix typos in another old entry.
5201 Wed Mar 28 09:53:00 GMT 2012  Olly Betts <olly@survex.com>
5203         * NEWS: DatabaseCoruptError -> DatabaseCorruptError in old entries.
5205 Wed Mar 28 08:05:13 GMT 2012  Olly Betts <olly@survex.com>
5207         * tests/termgentest.cc: Add test coverage for discarding of terms > 64
5208           bytes by TermGenerator.
5210 Tue Mar 27 21:07:07 GMT 2012  Olly Betts <olly@survex.com>
5212         * include/xapian/database.h: Note when Database::close() was added.
5214 Tue Mar 27 13:03:22 GMT 2012  Olly Betts <olly@survex.com>
5216         * api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h,
5217           include/xapian/errorhandler.h: Deprecate Xapian::ErrorHandler.
5218           (ticket#3)
5220 Tue Mar 27 13:01:53 GMT 2012  Olly Betts <olly@survex.com>
5222         * HACKING,docs/deprecation.rst,docs/doxygen_api.conf.in,
5223           docs/doxygen_source.conf.in: Updates for addition of
5224           XAPIAN_DEPRECATED_EX() and XAPIAN_DEPRECATED_CLASS_EX.
5226 Tue Mar 27 10:11:23 GMT 2012  Olly Betts <olly@survex.com>
5228         * HACKING,include/xapian.h,include/xapian/deprecated.h: Add
5229           XAPIAN_DEPRECATED_EX() and XAPIAN_DEPRECATED_CLASS_EX macros which
5230           mark a feature as deprecated externally but not when building the
5231           library.
5233 Tue Mar 27 08:46:29 GMT 2012  Olly Betts <olly@survex.com>
5235         * api/compactor.cc: Include the xapian sub-headers we actually use
5236           rather than xapian.h, to avoid needless rebuilds.
5238 Tue Mar 27 08:33:28 GMT 2012  Olly Betts <olly@survex.com>
5240         * HACKING: Add example of deprecating a pure virtual method.
5242 Tue Mar 27 08:30:17 GMT 2012  Olly Betts <olly@survex.com>
5244         * NEWS: Update from ChangeLog.
5246 Sat Mar 24 12:33:44 GMT 2012  Olly Betts <olly@survex.com>
5248         * backends/brass/brass_databasereplicator.cc: Fix signed vs unsigned
5249           comparison warning with GCC 4.4.3.
5251 Sat Mar 24 12:26:13 GMT 2012  Olly Betts <olly@survex.com>
5253         * include/xapian/queryparser.h,queryparser/queryparser_internal.h:
5254           Change the default stemming strategy to STEM_SOME, to eliminate
5255           the API gotcha that setting a stemmer is ignored until you also
5256           set a strategy.
5257         * tests/queryparsertest.cc: Add testcase qp_defaultstrategysome1 to
5258           check that the default is STEM_SOME.
5260 Fri Mar 23 04:29:32 GMT 2012  Olly Betts <olly@survex.com>
5262         * tests/perftest/perftest.cc: Fix comment cut-and-paste error.
5264 Fri Mar 23 04:28:24 GMT 2012  Olly Betts <olly@survex.com>
5266         * Makefile.am: Use git commit hash in the title of a coverage report
5267           generated from a git tree.
5269 Thu Mar 22 04:29:38 GMT 2012  Olly Betts <olly@survex.com>
5271         * xapian-core.spec.in: Remove xapian-chert-update.
5273 Mon Mar 19 05:42:50 GMT 2012  Olly Betts <olly@survex.com>
5275         * matcher/multiandpostlist.cc: Don't count unweighted subqueries of
5276           MultiAndPostList for percentage calculations, as OP_FILTER maps to
5277           MultiAndPostList now.  (ticket#590)
5278         * tests/api_percentages.cc: Regression test topercent6.
5280 Sun Mar 18 23:24:04 GMT 2012  Dan Colish <dcolish@>
5282         * backends/brass/brass_databasereplicator.cc: size out buffer to the
5283           incoming blocksize
5285 Sun Mar 18 17:02:14 GMT 2012  Dan Colish <dcolish@>
5287         * .gitignore: ignore /.deps as well
5289 Sun Mar 18 16:46:45 GMT 2012  Dan Colish <dcolish@>
5291         * .gitignore:Update gitignore for bump to libxapian-1.3
5293 Sun Mar 18 04:37:37 GMT 2012  Olly Betts <olly@survex.com>
5295         * configure.ac: Set LIBRARY_VERSION_SUFFIX to -1.3.
5297 Sun Mar 18 00:48:05 GMT 2012  Dan Colish <dcolish@gmail.com>
5299         * backends/brass/,common/Makefile.mk, common/compression_stream.h,
5300           common/compression_stream.cc: Compress changesets in brass
5301           replication. Increments the changeset version. Ticket #348
5303 Sun Mar 18 00:39:23 GMT 2012  Dan Colish <dcolish@gmail.com>
5305         * tests/.gitignore,tests/soaktest/.gitignore: Add additional ignores
5306           for test artifacts
5308 Fri Mar 16 05:23:54 GMT 2012  Olly Betts <olly@survex.com>
5310         * common/Makefile.mk: Missing part of previous change.
5312 Fri Mar 16 04:59:53 GMT 2012  Olly Betts <olly@survex.com>
5314         * Makefile.am,m4-macros/xapian.m4: Rename libxapian to libxapian-1.3
5315           and xapian.m4 to xapian-1.3.m4.
5317 Wed Mar 14 04:58:55 GMT 2012  Olly Betts <olly@survex.com>
5319         * NEWS,tests/api_unicode.cc,unicode/tclUniData.cc: Update
5320           Unicode character database to 6.1.0.
5322 Wed Mar 14 02:23:27 GMT 2012  Olly Betts <olly@survex.com>
5324         * NEWS: Update for 1.3.0.
5326 Tue Mar 13 07:44:32 GMT 2012  Olly Betts <olly@survex.com>
5328         * NEWS: Update from 1.2.9 and ChangeLog.
5330 Tue Mar 13 00:28:58 GMT 2012  Olly Betts <olly@survex.com>
5332         * docs/geospatial.rst: Fix typo - it's LatLongCoords::append() not
5333           LatLongCoords::insert().
5335 Mon Mar 12 23:14:20 GMT 2012  Olly Betts <olly@survex.com>
5337         * docs/admin_notes.rst: Fix typo - need "1.2.x" not "1.0.x" to get
5338           both flint and chert support.
5340 Mon Mar 12 11:54:19 GMT 2012  Olly Betts <olly@survex.com>
5342         * docs/Makefile.am: doxygen no longer generates any GIF files, so
5343           stop trying to ship or install them.
5345 Thu Mar 08 10:21:51 GMT 2012  Olly Betts <olly@survex.com>
5347         * docs/index.rst: Add link to new "getting started" guide.
5349 Mon Mar 05 06:05:28 GMT 2012  Olly Betts <olly@survex.com>
5351         * tests/queryparsertest.cc: Fix curly double quote testcase.
5353 Mon Mar 05 00:36:33 GMT 2012  Olly Betts <olly@survex.com>
5355         * matcher/: Fix issue with AND, OR, and XOR queries against a database
5356           with no documents in it - this was causing a divide by zero, which led
5357           to MSet::get_matches_estimated() reporting 2147483648 on i386.
5358         * tests/api_backend.cc: Add regression test emptydb1.
5360 Sun Mar 04 23:05:17 GMT 2012  Olly Betts <olly@survex.com>
5362         * matcher/multimatch.cc: Fix comment typo.
5364 Fri Mar 02 04:00:19 GMT 2012  Olly Betts <olly@survex.com>
5366         * tests/harness/testsuite.cc: Address new warnings from GCC 4.6.
5368 Wed Feb 29 22:36:26 GMT 2012  Olly Betts <olly@survex.com>
5370         * include/xapian/database.h: Improve documentation of Database::close()
5371           and ~WritableDatabase().
5373 Thu Jan 26 03:49:24 GMT 2012  Olly Betts <olly@survex.com>
5375         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow
5376           Unicode curly double quote characters to start and/or end phrases.
5378 Sun Jan 22 13:28:30 GMT 2012  Olly Betts <olly@survex.com>
5380         * bin/xapian-delve.cc: Send errors to stderr not stdout.
5382 Sun Jan 22 13:16:21 GMT 2012  Olly Betts <olly@survex.com>
5384         * HACKING: Update details of versions of doxygen, automake and libtool
5385           used to bootstrap snapshots and releases.
5387 Fri Jan 20 21:35:38 GMT 2012  Olly Betts <olly@survex.com>
5389         * tests/Makefile.am: unittest needs getopt for non-glibc platforms.
5391 Fri Jan 20 21:33:59 GMT 2012  Olly Betts <olly@survex.com>
5393         * include/xapian/query.h: GCC 4.2.1 on Mac OS X seems to need a copy
5394           ctor for InvertedQuery_ - unclear why, but it's easy to add one.
5396 Wed Jan 18 13:13:07 GMT 2012  Olly Betts <olly@survex.com>
5398         * include/xapian/matchspy.h,include/xapian/postingsource.h,
5399           include/xapian/weight.h: Document that you can define a static
5400           operator delete method in your subclass if deallocation needs to be
5401           handled specially.  (Closes ticket#554)
5403 Wed Jan 18 12:27:20 GMT 2012  Olly Betts <olly@survex.com>
5405         * include/xapian/geospatial.h: Mark as experimental for now.
5407 Wed Jan 18 12:22:39 GMT 2012  Olly Betts <olly@survex.com>
5409         * docs/geospatial.rst: Say "haversine" rather than "Haversine"
5410           consistently.
5412 Wed Jan 18 12:01:28 GMT 2012  Olly Betts <olly@survex.com>
5414         * include/xapian/geospatial.h: Change empty() to return bool not
5415           size_t.
5417 Wed Jan 18 10:44:16 GMT 2012  Olly Betts <olly@survex.com>
5419         * docs/geospatial.rst: Fix minor typos in geospatial docs.
5421 Wed Jan 18 10:39:53 GMT 2012  Olly Betts <olly@survex.com>
5423         * Makefile.am,api/postingsource.cc,api/queryinternal.cc,
5424           api/registry.cc,common/output.h,common/registryinternal.h,
5425           docs/geospatial.rst,geospatial/,include/Makefile.mk,include/xapian.h,
5426           include/xapian/geospatial.h,include/xapian/postingsource.h,
5427           include/xapian/registry.h,tests/.gitignore,tests/Makefile.am,
5428           tests/api_geospatial.cc: Merge geotomerge2 branch from github.
5429           Closes ticket#481.
5431 Tue Jan 17 22:29:10 GMT 2012  Olly Betts <olly@survex.com>
5433         * api/errorhandler.cc: Reorder header includes.
5435 Mon Jan 16 22:59:02 GMT 2012  Olly Betts <olly@survex.com>
5437         * include/xapian/queryparser.h,queryparser/queryparser.lemony: Fix
5438           FLAG_AUTO_SYNONYMS not to enable auto multi-word synonyms too.
5439         * tests/queryparsertest.cc: Extend testcase qp_synonym1 to include a
5440           regression test for this bug.
5442 Sun Jan 15 12:41:35 GMT 2012  Olly Betts <olly@survex.com>
5444         * .gitignore,backends/Makefile.mk,backends/brass/,backends/chert/,
5445           backends/dbcheck.cc,bin/,common/bitstream.h,
5446           include/xapian/database.h: Add a (currently experimental) API for
5447           checking the integrity of databases (partly addresses ticket#238).
5448           This means we can remove XAPIAN_VISIBILITY_DEFAULT from a number of
5449           functions which aren't in the public API (partly addresses
5450           ticket#63).
5452 Fri Jan 13 12:07:39 GMT 2012  Olly Betts <olly@survex.com>
5454         * tests/stemtest.cc: Include <xapian.h> rather than <xapian/stem.h> -
5455           we're trying to test the public API, so including the public API
5456           header is better.
5458 Thu Jan 12 13:15:27 GMT 2012  Olly Betts <olly@survex.com>
5460         * tests/unittest.cc: Add new testcases simple_exceptions_work1 and
5461           class_exceptions_work1 which perform sanity tests of exception
5462           handling.
5463         * tests/internaltest.cc: Remove testcase test_except1 which is now
5464           redundant.
5466 Thu Jan 12 13:09:25 GMT 2012  Olly Betts <olly@survex.com>
5468         * common/str.cc: Special cases for 0 in tostring() templates aren't
5469           actually needed, but special casing single digit numbers may be
5470           worthwhile anyway, so change comments to FIXME ones about checking
5471           this.
5472         * tests/internaltest.cc: Test str() on unsigned 0, and some negative,
5473           signed positive, and unsigned positive single digits values.
5475 Wed Jan 11 13:03:54 GMT 2012  Olly Betts <olly@survex.com>
5477         * backends/multi/multi_alltermslist.h: Fix filename in @file.
5479 Wed Jan 11 12:53:44 GMT 2012  Olly Betts <olly@survex.com>
5481         * api/documentterm.h,api/maptermlist.h,api/omenquireinternal.h,
5482           backends/brass/,backends/chert/,backends/database.h,
5483           backends/document.h,backends/inmemory/inmemory_alltermslist.h,
5484           backends/inmemory/inmemory_database.h,
5485           backends/inmemory/inmemory_positionlist.h,
5486           backends/multi/multi_postlist.h,backends/multi/multi_termlist.h,
5487           backends/positionlist.h,backends/remote/net_termlist.h,
5488           backends/valuestats.h,common/,include/xapian/query.h,matcher/,
5489           queryparser/queryparser_internal.h,tests/harness/,
5490           tests/perftest/freemem.h,tests/perftest/runprocess.h: Convert
5491           comments at the start of files to @file and @brief doxygen comments.
5493 Wed Jan 11 11:36:55 GMT 2012  Olly Betts <olly@survex.com>
5495         * matcher/phrasepostlist.h: Remove lone "----START-LICENCE----" -
5496           the rest got removed ages ago.
5498 Wed Jan 11 11:23:04 GMT 2012  Olly Betts <olly@survex.com>
5500         * common/replicate_utils.h: Fix "@raises" to "@exception".
5502 Wed Jan 11 11:21:31 GMT 2012  Olly Betts <olly@survex.com>
5504         * matcher/multiandpostlist.h: Fix "@parameter" to "@param".
5506 Wed Jan 11 11:20:11 GMT 2012  Olly Betts <olly@survex.com>
5508         * common/debuglog.h: Fix "@msg" to "@a msg" in doxygen comment.
5510 Wed Jan 11 11:18:50 GMT 2012  Olly Betts <olly@survex.com>
5512         * matcher/multiandpostlist.h: Correct @exceptions to @exception.
5514 Wed Jan 11 10:48:05 GMT 2012  Olly Betts <olly@survex.com>
5516         * HACKING: We no longer have any uses of \ to introduce doxygen
5517           directives, so update HACKING to reflect that.
5519 Wed Jan 11 10:46:01 GMT 2012  Olly Betts <olly@survex.com>
5521         * api/omdatabase.cc: Change \todo to @todo.
5523 Wed Jan 11 10:09:29 GMT 2012  Olly Betts <olly@survex.com>
5525         * api/replication.h,api/valuesetmatchdecider.cc,
5526           common/output-internal.h,common/output.h,include/xapian/,
5527           tests/harness/testrunner.cc,tests/harness/testrunner.h,
5528           tests/perftest/perftest.cc,tests/perftest/perftest.h: Change the
5529           instances of \file and \brief in doxygen comments to @file and
5530           @brief.
5532 Wed Jan 11 10:08:19 GMT 2012  Olly Betts <olly@survex.com>
5534         * tests/internaltest.cc: Remove serialisedoc1 from the list of
5535           testcases to run too.
5537 Wed Jan 11 09:50:22 GMT 2012  Olly Betts <olly@survex.com>
5539         * matcher/multixorpostlist.h: Remove "using namespace std;" which we
5540           don't need here.
5542 Wed Jan 11 09:38:27 GMT 2012  Olly Betts <olly@survex.com>
5544         * common/filetests.h: Remove "using namespace std;" which we don't
5545           need here.
5547 Wed Jan 11 09:36:27 GMT 2012  Olly Betts <olly@survex.com>
5549         * common/filetests.h: Add documentation comments.
5551 Wed Jan 11 09:28:26 GMT 2012  Olly Betts <olly@survex.com>
5553         * tests/api_serialise.cc: Extend serialise_document1 to test
5554           serialising and unserialising an empty document, which is an
5555           interesting edge case.
5556         * tests/internaltest.cc: Remove testcase serialisedoc1, which
5557           now doesn't add useful additional coverage over serialise_document1.
5559 Wed Jan 11 08:29:04 GMT 2012  Olly Betts <olly@survex.com>
5561         * tests/internaltest.cc: Test document serialisation via the public
5562           API (which was added after the tests were).
5563         * net/serialise.h: Remove XAPIAN_VISIBILITY_DEFAULT from
5564           serialise_document() and unserialise_document().
5566 Wed Jan 11 05:57:14 GMT 2012  Olly Betts <olly@survex.com>
5568         * api/replication.cc,common/,tests/unittest.cc: Move removedir() from
5569           utils.{cc,h} to fileutils.{cc,h}, and remove the now empty
5570           utils.{cc,h}.
5572 Wed Jan 11 05:44:38 GMT 2012  Olly Betts <olly@survex.com>
5574         * tests/harness/unixcmds.cc: Check return values from system() calls
5575           and throw a std::string exception if non-zero.
5577 Wed Jan 11 05:20:30 GMT 2012  Olly Betts <olly@survex.com>
5579         * common/Makefile.mk,common/omassert.cc,common/omassert.h,
5580           common/utils.cc: Change the sense of the bool returned by
5581           within_DBL_EPSILON() to match what the name suggests instead of being
5582           the opposite, and change the use of it too.  Move
5583           within_DBL_EPSILON() implementation from utils.cc to new file
5584           omassert.cc, only compile it when assertions are on, and prototype it
5585           in omassert.h rather than utils.h.
5587 Wed Jan 11 05:09:39 GMT 2012  Olly Betts <olly@survex.com>
5589         * api/compactor.cc,api/replication.cc,backends/brass/,backends/chert/,
5590           backends/dbfactory.cc,common/utils.cc,common/utils.h,
5591           tests/api_backend.cc,tests/api_wrdb.cc,
5592           tests/harness/backendmanager.cc,tests/harness/unixcmds.cc: Remove
5593           std::string wrappers for C library functions from utils.h and just
5594           explicitly call c_str() when we need to.  These wrappers are
5595           problematic as they suppress warnings from _FORTIFY_SOURCE about
5596           ignored return values, and I can't see an easy way to avoid that.
5598 Wed Jan 11 03:35:35 GMT 2012  Olly Betts <olly@survex.com>
5600         * api/replication.cc,backends/brass/brass_databasereplicator.cc,
5601           backends/brass/brass_table.cc,
5602           backends/chert/chert_databasereplicator.cc,
5603           backends/chert/chert_table.cc,backends/databasereplicator.cc,
5604           backends/dbfactory.cc,common/utils.cc,common/utils.h: Use
5605           file_exists() and dir_exists() from common/filetests.h everywhere and
5606           remove the old versions in common/utils.h and common/utils.cc.
5608 Wed Jan 11 02:20:45 GMT 2012  Olly Betts <olly@survex.com>
5610         * common/utils.h: Remove XAPIAN_VISIBILITY_DEFAULT from old
5611           file_exists() and dir_exists().
5613 Wed Jan 11 02:19:58 GMT 2012  Olly Betts <olly@survex.com>
5615         * tests/api_compact.cc: Convert to use filetests.h.
5617 Wed Jan 11 02:14:07 GMT 2012  Olly Betts <olly@survex.com>
5619         * bin/xapian-check.cc,bin/xapian-inspect.cc: Convert to use
5620           filetests.h.
5622 Wed Jan 11 02:13:02 GMT 2012  Olly Betts <olly@survex.com>
5624         * common/filetests.h: Rename directory_exists() to dir_exists().
5626 Wed Jan 11 02:10:06 GMT 2012  Olly Betts <olly@survex.com>
5628         * common/Makefile.mk,common/filetests.h,tests/api_replicate.cc,
5629           tests/harness/backendmanager_multi.cc,tests/harness/testsuite.cc:
5630           Add new inline versions of file_exists() and directory_exists() and
5631           use these from the testsuite, as a step towards making these internal
5632           to the library.
5634 Tue Jan 10 23:37:36 GMT 2012  Olly Betts <olly@survex.com>
5636         * tests/api_serialise.cc: Change the rather odd "operator delete(p);"
5637           to the more natural "delete p;".
5639 Tue Jan 10 22:45:01 GMT 2012  Olly Betts <olly@survex.com>
5641         * tests/unittest.cc: Fix message typo in recent unittest change.
5643 Tue Jan 10 13:48:38 GMT 2012  Olly Betts <olly@survex.com>
5645         * common/safesysstat.h: The S_ISDIR and S_ISREG macros for MSVC are
5646           unlikely to work on other platforms (_S_IFMT vs S_IFMT, etc) so
5647           split them.  Tweak a few comments.
5649 Tue Jan 10 13:10:25 GMT 2012  Olly Betts <olly@survex.com>
5651         * net/: Split encode_length() and decode_length() out of
5652           serialise.{cc,h} into new file length.{cc,h}, and remove
5653           XAPIAN_VISIBILITY_DEFAULT from decode_length().
5654         * api/,backends/brass/brass_database.cc,
5655           backends/chert/chert_database.cc,backends/remote/net_postlist.cc,
5656           backends/remote/remote-database.cc,net/: Update headers which need
5657           to be included.
5658         * tests/internaltest.cc,tests/unittest.cc: Move serialiselength1 and
5659           serialiselength2 from internaltest to unittest.
5661 Mon Jan 09 02:16:22 GMT 2012  Olly Betts <olly@survex.com>
5663         * tests/api_compact.cc: Actually add test coverage for
5664           ByteLengthPrefixedStringItor - the previous attempt didn't cause
5665           merging of synonym lists to happen.
5667 Mon Jan 09 00:21:25 GMT 2012  Olly Betts <olly@survex.com>
5669         * tests/api_replicate.cc: Fix comment typo.
5671 Sun Jan 08 14:47:19 GMT 2012  Olly Betts <olly@survex.com>
5673         * tests/api_compact.cc: Add test coverage for
5674           ByteLengthPrefixedStringItor.
5676 Sun Jan 08 14:05:19 GMT 2012  Olly Betts <olly@survex.com>
5678         * common/fd.h,tests/api_db.cc,tests/harness/backendmanager.cc: Add
5679           missing explicit header includes, uncovered by compiling with
5680           STLport.
5682 Sat Jan 07 11:45:00 GMT 2012  Olly Betts <olly@survex.com>
5684         * INSTALL,configure.ac,m4/rjb_find_stlport.m4,xapian-config.in: Remove
5685           configure's --with-stlport and --with-stlport-compiler options, as
5686           they don't allow you to actually specify what you need (at least to
5687           use the Debian STLport package), and instead document what to pass
5688           to configure to enable building with STLport (though it seems to no
5689           longer be actively maintained, and the debug mode (which is probably
5690           the most interesting feature now) doesn't seem to work on Debian
5691           stable).
5693 Sat Jan 07 10:24:25 GMT 2012  Olly Betts <olly@survex.com>
5695         * HACKING: Update STLPort URL to point to the more active fork on
5696           SourceForge.
5698 Fri Jan 06 20:07:06 GMT 2012  Olly Betts <olly@survex.com>
5700         * tests/api_sorting.cc: Add check that NeverUseMeKeyMaker::operator()
5701           would actually cause a test failure if called.
5703 Fri Jan 06 20:01:27 GMT 2012  Olly Betts <olly@survex.com>
5705         * tests/api_stem.cc: Test get_description() on a user-implemented
5706           stemmer.
5708 Fri Jan 06 14:34:16 GMT 2012  Olly Betts <olly@survex.com>
5710         * tests/Makefile.am,tests/harness/,tests/queryparsertest.cc,
5711           tests/termgentest.cc,tests/unittest.cc: Make unittest use the test
5712           harness, so it gets all the valgrind and fd leak checks, and other
5713           handy features all the other tests have.  Currently this is done in
5714           a bit of a hacky way, but it's a starting point for abstracting out
5715           the Xapian-specific parts of the test harness.
5717 Fri Jan 06 08:42:26 GMT 2012  Olly Betts <olly@survex.com>
5719         * Makefile.am: Delete generated lcov directory before running genhtml.
5720           Pass --demangle-cpp and --html-gzip to genhtml.
5722 Fri Jan 06 08:14:05 GMT 2012  Olly Betts <olly@survex.com>
5724         * Makefile.am: Trim `pwd` off all paths in coverage report.
5726 Fri Jan 06 02:29:04 GMT 2012  Olly Betts <olly@survex.com>
5728         * common/pretty.h: Add support for AndContext and OrContext.
5730 Fri Jan 06 02:28:07 GMT 2012  Olly Betts <olly@survex.com>
5732         * common/pretty.h: Use XAPIAN_PRETTY_AS_CLASSNAME for classes in
5733           namespace Xapian::Internal too.
5735 Thu Jan 05 12:23:10 GMT 2012  Olly Betts <olly@survex.com>
5737         * tests/internaltest.cc,tests/unittest.cc: Move tests of
5738           serialise_double() and unserialise_double() from internaltest to
5739           unittest.
5740         * common/serialise-double.h: This means serialise_double() and
5741           unserialise_double() no longer need external visibility, so make
5742           them internal only.
5744 Thu Jan 05 12:08:15 GMT 2012  Olly Betts <olly@survex.com>
5746         * common/bitstream.h: BitWriter doesn't need public visibility.
5748 Thu Jan 05 10:53:23 GMT 2012  Olly Betts <olly@survex.com>
5750         * common/output-internal.h,common/pretty.h: Fix include paths for two
5751           cases which are only used in a logging build.
5753 Fri Dec 30 09:17:50 GMT 2011  Olly Betts <olly@survex.com>
5755         * tests/queryparsertest.cc: Update expected results (mostly because we
5756           no longer flatten groups of the same operator at Query construction
5757           time).
5759 Thu Dec 29 13:47:04 GMT 2011  Olly Betts <olly@survex.com>
5761         * api/Makefile.mk: Add missing backslash so various headers actually
5762           get shipped.
5764 Thu Dec 29 11:29:04 GMT 2011  Olly Betts <olly@survex.com>
5766         * include/xapian/query.h: Add fake templated ctor for SWIG.
5768 Thu Dec 29 00:23:25 GMT 2011  Olly Betts <olly@survex.com>
5770         * tests/api_scalability.cc: Add regression test querypairwise1 for
5771           ticket#273.
5773 Thu Dec 29 00:03:17 GMT 2011  Olly Betts <olly@survex.com>
5775         * api/,backends/remote/remote-database.cc,
5776           backends/remote/remote-database.h,docs/deprecation.rst,
5777           include/xapian/query.h,matcher/,net/remoteserver.cc,
5778           queryparser/queryparser.lemony,tests/,weight/weightinternal.h: Merge
5779           query-internal-reimplementation git branch which reimplements
5780           Query::Internal. (ticket#280).  These are the most notable changes:
5781           + Query objects are smaller and should be faster.
5782           + More readable format for Query::get_description().
5783           + More compact serialisation format for Query objects.
5784           + Query operators are no longer flattened as you build up a tree (but
5785             the query optimiser still combines groups of the same operator).
5786             This means that Query objects are truly immutable, and so we don't
5787             need to copy Query objects when composing them.  This should also
5788             fix a few O(n*n) cases when building up an n-way query pair-wise.
5789             (ticket#273)
5790           + The Query optimiser can do a few extra optimisations.
5792 Mon Dec 26 12:13:36 GMT 2011  Olly Betts <olly@survex.com>
5794         * include/xapian/queryparser.h,queryparser/queryparser.cc: Change
5795           QueryParser::set_default_op() to reject operators which don't make
5796           sense to set, and explicitly document all the operators which are
5797           allowed.
5798         * tests/queryparsertest.cc: Check that bad operators are rejected in
5799           existing testcase qp_default_op2.  Add new testcase qp_default_op3 to
5800           check that good operators can be set and work in a simple testcase.
5802 Mon Dec 26 09:12:09 GMT 2011  Olly Betts <olly@survex.com>
5804         * tests/harness/backendmanager_brass.h,
5805           tests/harness/backendmanager_chert.h: Remove superfluous "private:"
5806           access specifiers.
5808 Sat Dec 24 12:34:19 GMT 2011  Olly Betts <olly@survex.com>
5810         * HACKING: Recommend installing valgrind, ccache, and eatmydata.
5812 Sat Dec 24 12:28:44 GMT 2011  Olly Betts <olly@survex.com>
5814         * HACKING: Make it clear "Building from SVN" applies to git too, and
5815           mention that git-svn is needed when building from git.
5817 Thu Dec 22 11:18:17 GMT 2011  Olly Betts <olly@survex.com>
5819         * languages/compiler/generator.c: Initialise variable which can
5820           be used uninitialised.
5822 Thu Dec 22 03:14:02 GMT 2011  Olly Betts <olly@survex.com>
5824         * bin/Makefile.mk: Link $(libxapian_la) after libbrasscheck.la and
5825           libchertcheck.la to fix mingw build.  Probably closes ticket#567.
5827 Thu Dec 22 02:45:45 GMT 2011  Olly Betts <olly@survex.com>
5829         * include/xapian/query.h: Document that OP_ELITE_SET with non-term
5830           subqueries might pick subqueries which don't match anything.
5831           Closes ticket#49.
5833 Thu Dec 22 02:37:10 GMT 2011  Olly Betts <olly@survex.com>
5835         * include/xapian/query.h: Improve documentation of OP_ELITE_SET.
5837 Wed Dec 21 12:26:00 GMT 2011  Olly Betts <olly@survex.com>
5839         * api/errorhandler.cc: Rearrange code in ErrorHandler::operator() to
5840           be clearer.
5842 Wed Dec 21 11:23:28 GMT 2011  Olly Betts <olly@survex.com>
5844         * include/xapian/errorhandler.h: Fix typo: 'APU' -> 'API'.
5846 Wed Dec 21 09:57:32 GMT 2011  Olly Betts <olly@survex.com>
5848         * api/,backends/brass/brass_postlist.cc,
5849           backends/brass/brass_postlist.h,backends/chert/,
5850           backends/contiguousalldocspostlist.cc,
5851           backends/contiguousalldocspostlist.h,
5852           backends/inmemory/inmemory_database.cc,
5853           backends/inmemory/inmemory_database.h,
5854           backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
5855           backends/remote/,docs/,expand/,include/xapian/,matcher/,
5856           net/remoteserver.cc,net/serialise.cc,tests/,weight/bm25weight.cc,
5857           weight/boolweight.cc,weight/tradweight.cc: Deprecate Xapian::weight
5858           typedef in favour of just using double, and make the replacement
5859           everywhere.  Closes ticket#560.
5861 Tue Dec 20 13:31:21 GMT 2011  Olly Betts <olly@survex.com>
5863         * net/remoteconnection.cc: Include "safesysstat.h" for fstat().
5865 Fri Dec 16 03:05:17 GMT 2011  Olly Betts <olly@survex.com>
5867         * backends/brass/brass_termlisttable.cc,
5868           backends/chert/chert_termlisttable.cc,
5869           backends/multi/multi_postlist.cc,net/replicatetcpclient.cc,
5870           net/serialise.cc,net/tcpserver.cc,tests/,
5871           tests/harness/backendmanager_remoteprog.cc,tests/queryparsertest.cc,
5872           tests/soaktest/soaktest_queries.cc,tests/termgentest.cc: Remove
5873           unnecessary includes on "utils.h".
5875 Fri Dec 16 02:57:49 GMT 2011  Olly Betts <olly@survex.com>
5877         * backends/brass/brass_btreebase.cc,backends/brass/brass_database.cc,
5878           backends/brass/brass_databasereplicator.cc,
5879           backends/chert/chert_btreebase.cc,backends/chert/chert_database.cc,
5880           backends/chert/chert_databasereplicator.cc,
5881           net/remoteconnection.cc,tests/api_replicate.cc: Replace uses of
5882           fdcloser class with new FD class.
5883         * common/utils.h: Remove fdcloser class.
5885 Fri Dec 16 00:56:45 GMT 2011  Olly Betts <olly@survex.com>
5887         * tests/api_replicate.cc: Use a const int rather than a #define for
5888           BUFSIZE.
5890 Fri Dec 16 00:50:57 GMT 2011  Olly Betts <olly@survex.com>
5892         * tests/api_replicate.cc: Avoid leaking fds on exceptions in
5893           truncated_copy().
5895 Fri Dec 16 00:42:11 GMT 2011  Olly Betts <olly@survex.com>
5897         * common/fd.h: Oops, fix to actually compile.
5899 Thu Dec 15 23:54:44 GMT 2011  Olly Betts <olly@survex.com>
5901         * common/Makefile.mk,common/fd.h: Add new FD class which wraps a file
5902           descriptor and ensures it gets released when we exit the scope.
5904 Thu Dec 15 22:44:16 GMT 2011  Olly Betts <olly@survex.com>
5906         * weight/Makefile: Add forwarding Makefile.
5908 Thu Dec 15 22:17:18 GMT 2011  Olly Betts <olly@survex.com>
5910         * weight/Makefile.mk: Ship dir_contents and Makefile.
5912 Tue Dec 13 10:33:21 GMT 2011  Olly Betts <olly@survex.com>
5914         * NEWS: Update from ChangeLog and branches/1.2.
5916 Fri Dec 09 10:33:25 GMT 2011  Olly Betts <olly@survex.com>
5918         * tests/soaktest/soaktest.cc,tests/soaktest/soaktest.h,
5919           tests/soaktest/soaktest_queries.cc: "boulton" -> "Boulton" in
5920           copyright statements.
5922 Fri Dec 09 10:31:18 GMT 2011  Olly Betts <olly@survex.com>
5924         * tests/soaktest/soaktest.cc: With Sun's compiler, random() and
5925           srandom() aren't in <cstdlib> so we need to use <stdlib.h> instead.
5927 Fri Dec 09 07:51:44 GMT 2011  Olly Betts <olly@survex.com>
5929         * include/xapian/types.h: Set BAD_VALUENO to 0xffffffff rather than
5930           static_cast<valueno>(-1) - it's the same value currently, but more
5931           robust to valueno being set a wider type.
5933 Fri Dec 09 07:49:07 GMT 2011  Olly Betts <olly@survex.com>
5935         * include/xapian/types.h: Explicitly document which value slot numbers
5936           are valid.  Fixes ticket#555.
5938 Sat Dec 03 09:32:55 GMT 2011  Olly Betts <olly@survex.com>
5940         * tests/api_opsynonym.cc: Fix typo in comment.
5942 Thu Dec 01 04:41:24 GMT 2011  Olly Betts <olly@survex.com>
5944         * include/xapian/database.h: Remove bogus paragraph in
5945           replace_document() documentation comment, cut and pasted from
5946           delete_document() documentation comment.  (Fixes bug#579)
5948 Tue Nov 08 01:50:25 GMT 2011  Olly Betts <olly@survex.com>
5950         * include/xapian/enquire.h: Add missing doxygen @param commands.
5952 Tue Nov 08 01:33:34 GMT 2011  Olly Betts <olly@survex.com>
5954         * include/xapian/database.h,include/xapian/document.h: Add missing
5955           doxygen @param commands.
5957 Mon Nov 07 10:31:04 GMT 2011  Olly Betts <olly@survex.com>
5959         * include/xapian/queryparser.h: Address doxygen warnings.
5961 Mon Nov 07 02:40:50 GMT 2011  Olly Betts <olly@survex.com>
5963         * include/xapian/postingsource.h: Document undocumented parameters,
5964           fixing doxygen warnings.
5965         * include/xapian/queryparser.h: Escape < and > in doxygen comments.
5967 Mon Nov 07 02:38:18 GMT 2011  Olly Betts <olly@survex.com>
5969         * include/xapian/enquire.h: Enquire::get_eset() doesn't take a min_wt
5970           parameter, so remove @param documentation for it.
5972 Mon Nov 07 01:59:54 GMT 2011  Olly Betts <olly@survex.com>
5974         * include/xapian/: Document lots of parameters, fixing doxygen
5975           warnings.
5977 Sun Nov 06 22:05:09 GMT 2011  Olly Betts <olly@survex.com>
5979         * generate-exceptions: Document all parameters to fix doxygen
5980           warnings.
5982 Sun Nov 06 22:03:50 GMT 2011  Olly Betts <olly@survex.com>
5984         * include/xapian/: Fix doxygen warnings.
5986 Sun Nov 06 21:00:08 GMT 2011  Olly Betts <olly@survex.com>
5988         * include/xapian/queryparser.h: Document value parameter of
5989           sortable_serialise() and sortable_unserialise().
5991 Sun Nov 06 17:53:31 GMT 2011  Olly Betts <olly@survex.com>
5993         * include/xapian/document.h: Improve Document get_data() and set_data()
5994           documentation comments.
5996 Sun Nov 06 17:14:39 GMT 2011  Olly Betts <olly@survex.com>
5998         * tests/Makefile.am: Add -I$(top_srcdir) so api/replication.h is found
5999           in a VPATH build.
6001 Sun Nov 06 16:06:52 GMT 2011  Olly Betts <olly@survex.com>
6003         * api/,backends/database.h,backends/document.h,
6004           backends/multi/multi_alltermslist.h,backends/positionlist.h,common/,
6005           tests/harness/: More more headers out of common.
6007 Sun Nov 06 14:55:25 GMT 2011  Olly Betts <olly@survex.com>
6009         * api/maptermlist.h,backends/inmemory/Makefile.mk,
6010           backends/inmemory/inmemory_positionlist.h,
6011           backends/remote/Makefile.mk,backends/remote/remote-database.cc,
6012           backends/remote/remote-database.h,common/Makefile.mk,
6013           common/inmemory_positionlist.h,common/remote-database.h,
6014           matcher/multimatch.cc,matcher/remotesubmatch.cc,
6015           matcher/remotesubmatch.h,net/progclient.h,net/remotetcpclient.h:
6016           Move two more headers out of common.
6018 Sun Nov 06 11:56:46 GMT 2011  Olly Betts <olly@survex.com>
6020         * tests/internaltest.cc: Fix for VPATH build.
6022 Sun Nov 06 11:26:18 GMT 2011  Olly Betts <olly@survex.com>
6024         * common/,tests/api_replicate.cc: Factor internal classes out of
6025           output.h into new output-internal.h to fix build failures in VPATH
6026           due to move of weightinternal.h out of common (since the test harness
6027           uses output.h).
6029 Sun Nov 06 00:49:45 GMT 2011  Olly Betts <olly@survex.com>
6031         * api/,backends/brass/,backends/chert/,backends/dbfactory_remote.cc,
6032           backends/inmemory/inmemory_database.cc,
6033           backends/multi/multi_termlist.cc,backends/remote/net_postlist.cc,
6034           backends/remote/net_termlist.h,backends/remote/remote-database.cc,
6035           bin/,common/,expand/,matcher/,net/,tests/internaltest.cc,
6036           weight/Makefile.mk,weight/weightinternal.h: Move even more headers
6037           out of common and next to their corresponding C++ file.
6039 Sat Nov 05 23:55:55 GMT 2011  Olly Betts <olly@survex.com>
6041         * api/replication.cc,backends/Makefile.mk,
6042           backends/brass/brass_databasereplicator.h,
6043           backends/chert/chert_databasereplicator.h,
6044           backends/databasereplicator.h,common/Makefile.mk,
6045           common/databasereplicator.h: Move databasereplicator.h from common to
6046           backends.
6048 Sat Nov 05 23:51:40 GMT 2011  Olly Betts <olly@survex.com>
6050         * backends/Makefile.mk: Fix sort order of noinst_HEADERS.
6052 Sat Nov 05 23:50:33 GMT 2011  Olly Betts <olly@survex.com>
6054         * api/documentvaluelist.h,api/omdatabase.cc,api/valueiterator.cc,
6055           backends/Makefile.mk,backends/brass/,backends/chert/,
6056           backends/inmemory/inmemory_database.cc,
6057           backends/multi/multi_valuelist.cc,backends/multivaluelist.h,
6058           backends/valuelist.h,backends/valuestats.h,bin/xapian-check-brass.cc,
6059           bin/xapian-check-chert.cc,common/,matcher/valuerangepostlist.h,
6060           matcher/valuestreamdocument.h: Move multivaluelist.h, valuelist.h and
6061           valuestats.h from common to backends.
6063 Sat Nov 05 23:40:49 GMT 2011  Olly Betts <olly@survex.com>
6065         * api/,backends/brass/brass_postlist.h,backends/chert/chert_postlist.h,
6066           backends/contiguousalldocspostlist.h,backends/database.cc,
6067           backends/inmemory/inmemory_database.h,
6068           backends/multi/multi_postlist.h,backends/remote/net_postlist.h,
6069           backends/remote/remote-database.cc,common/,matcher/: Move
6070           emptypostlist.h, leafpostlist.h and postlist.h from common to api.
6072 Sat Nov 05 23:31:14 GMT 2011  Olly Betts <olly@survex.com>
6074         * backends/Makefile.mk,backends/brass/brass_database.cc,
6075           backends/chert/chert_database.cc,
6076           backends/contiguousalldocspostlist.h,common/Makefile.mk,
6077           common/contiguousalldocspostlist.h: Move contiguousalldocspostlist.h
6078           from common to backends.
6080 Sat Nov 05 23:28:49 GMT 2011  Olly Betts <olly@survex.com>
6082         * api/omdatabase.cc,backends/Makefile.mk,backends/alltermslist.h,
6083           backends/brass/,backends/chert/,
6084           backends/inmemory/inmemory_alltermslist.h,common/Makefile.mk,
6085           common/alltermslist.h,common/multialltermslist.h: Move alltermslist.h
6086           from common to backends.
6088 Sat Nov 05 23:20:05 GMT 2011  Olly Betts <olly@survex.com>
6090         * common/safesysselect.h: Fix typo (FDSET -> FD_SET).
6092 Sat Nov 05 23:12:09 GMT 2011  Olly Betts <olly@survex.com>
6094         * common/safesysselect.h: Enhance to provide portability for __WIN32__
6095           too.
6096         * net/remoteconnection.cc,net/tcpclient.cc: Update to make use of this.
6098 Sat Nov 05 22:39:51 GMT 2011  Olly Betts <olly@survex.com>
6100         * common/safesysselect.h: Add wrapper around FD_SET() under __WIN32__
6101           which casts the fd parameter to unsigned to avoid a warning on mingw.
6102         * net/tcpclient.cc: Remove __WIN32__-specific case here which was
6103           working around this warning.
6105 Sat Nov 05 21:58:12 GMT 2011  Olly Betts <olly@survex.com>
6107         * bin/.gitignore,bin/Makefile.mk,bin/xapian-delve.cc,
6108           docs/admin_notes.rst,examples/,xapian-core.spec.in: Move delve from
6109           examples to bin and rename to xapian-delve.
6111 Sat Nov 05 15:18:37 GMT 2011  Olly Betts <olly@survex.com>
6113         * docs/overview.rst: Fix a few things which were out of date and
6114           improve wording in various places.
6116 Sat Nov 05 12:07:14 GMT 2011  Olly Betts <olly@survex.com>
6118         * docs/quickstart.rst: Fix some factual errors, and tweak .rst
6119           source layout a little (":\n::\n" -> "::\n").
6121 Thu Nov 03 20:53:49 GMT 2011  Richard Boulton <richard@tartarus.org>
6123         * common/msvc_posix_wrapper.cc,common/safe.cc,net/tcpclient.cc:
6124           Some fixes for warnings when cross-compiling with mingw; missing
6125           includes to get declarations of functions in windows support
6126           code, and change to use the windows SOCKET type to avoid a
6127           signed/unsigned comparison warning in tcpclient.
6129 Sun Oct 30 23:31:09 GMT 2011  Olly Betts <olly@survex.com>
6131         * NEWS: Update from ChangeLog.
6133 Sun Oct 30 13:16:12 GMT 2011  Olly Betts <olly@survex.com>
6135         * include/xapian/queryparser.h: List which flags FLAG_DEFAULT includes
6136           in the doxygen documentation comments.
6138 Sat Oct 29 14:47:04 GMT 2011  Olly Betts <olly@survex.com>
6140         * include/xapian/enquire.h: Add note to API docs to discourage use
6141           of percentage scores.
6143 Sat Oct 29 14:40:39 GMT 2011  Olly Betts <olly@survex.com>
6145         * docs/quickstart.rst,docs/quickstartexpand.cc.html,
6146           docs/quickstartsearch.cc.html,examples/quest.cc,
6147           examples/simpleexpand.cc,examples/simplesearch.cc: Use get_weight()
6148           instead of get_percent() in examples, since percentages are rather
6149           old fashioned and you probably don't want to use them in new
6150           applications.
6152 Sat Oct 29 13:29:37 GMT 2011  Olly Betts <olly@survex.com>
6154         * api/omenquire.cc,common/omenquireinternal.h,docs/deprecation.rst,
6155           include/xapian/enquire.h,include/xapian/types.h,tests/api_anydb.cc:
6156           Deprecate Xapian::percent and use int instead in the API and our
6157           own code.
6159 Sat Oct 29 12:30:05 GMT 2011  Olly Betts <olly@survex.com>
6161         * docs/quickstart.rst: Fix indentation of example code.
6163 Sat Oct 29 10:04:24 GMT 2011  Olly Betts <olly@survex.com>
6165         * docs/overview.rst: Fix typo in example code.
6167 Fri Oct 28 14:39:09 GMT 2011  Olly Betts <olly@survex.com>
6169         * include/xapian/database.h: Note that commit() was new in 1.1.0.
6171 Fri Oct 14 12:38:45 GMT 2011  Olly Betts <olly@survex.com>
6173         * common/realtime.h: Use safesysselect.h.
6175 Mon Oct 03 00:53:13 GMT 2011  Olly Betts <olly@survex.com>
6177         * queryparser/lemon.c: Incorporate changes from latest upstream
6178           version.  I'm failing to follow branch structure upstream to work
6179           out which changesets to merge so it's simpler to just compare the
6180           latest version with what we currently have.
6182 Sun Oct 02 23:31:52 GMT 2011  Olly Betts <olly@survex.com>
6184         * queryparser/lemon.c: Merge https://www.sqlite.org/src/info/d8bab8cf0b:
6185           'Added %expect directive, to consider a certain number of conflicts
6186           "correct." This has the side effect of changing the process exit
6187           code to never overflow.'
6189 Sun Oct 02 23:26:34 GMT 2011  Olly Betts <olly@survex.com>
6191         * queryparser/lemon.c: Merge https://www.sqlite.org/src/info/e6cbe1e5ee:
6192           "Added -T option, to specify a template filename on the command
6193           line.  The default is still "lempar.c", though."  Not currently
6194           useful to us, but trying to minimise differences with upstream
6195           lemon.
6197 Sun Oct 02 23:14:32 GMT 2011  Olly Betts <olly@survex.com>
6199         * queryparser/lemon.c: Merge https://www.sqlite.org/src/info/e22c090f35:
6200           "Another attempt at fixing the table generator in lemon. Again, this
6201           does not effect the SQLite grammar."  No change to generated grammar
6202           for QueryParser.
6204 Sun Oct 02 22:59:28 GMT 2011  Olly Betts <olly@survex.com>
6206         * queryparser/lemon.c: Merge https://www.sqlite.org/src/info/077a6bee2d:
6207           "Fix an issue with lemon generating incorrect grammars. This issue
6208           does not effect SQLite."  This means we now get the same tables
6209           generated as before the previous change.
6211 Sun Oct 02 22:25:54 GMT 2011  Olly Betts <olly@survex.com>
6213         * queryparser/lemon.c,queryparser/queryparser.lt: Merge
6214           https://www.sqlite.org/src/info/27d8e684db: Enhancements to lemon to
6215           generate more compact action tables and to avoid making array bounds
6216           tests that can never fail on action table calculations.  This
6217           reduces the size of QueryParser's tables a little.
6219 Sun Oct 02 21:47:36 GMT 2011  Olly Betts <olly@survex.com>
6221         * queryparser/lemon.c: Merge https://www.sqlite.org/src/info/d66a0f31eb:
6222           Adjust the lemon implementation so that it always computes the same
6223           PDA regardless of qsort() implementation on the host platform. In
6224           other words, make all sorts in lemon stable.
6226 Thu Sep 29 12:11:28 GMT 2011  Olly Betts <olly@survex.com>
6228         * tests/queryparsertest.cc: Add cases to ensure a quoted boolean
6229           prefix accepts an empty value or a single space.
6231 Wed Sep 14 04:48:57 GMT 2011  Olly Betts <olly@survex.com>
6233         * docs/quickstart.rst: Correct link which was to
6234           quickstartsearch.cc.html but should be to quickstartindex.cc.html.
6236 Tue Sep 13 08:51:34 GMT 2011  Olly Betts <olly@survex.com>
6238         * backends/flint_lock.cc: Fix comment typo.
6240 Thu Sep 01 12:50:43 GMT 2011  Olly Betts <olly@survex.com>
6242         * include/xapian/enquire.h: Clarify "sort by date" with BoolWeight
6243           example.
6245 Tue Aug 30 13:51:48 GMT 2011  Olly Betts <olly@survex.com>
6247         * docs/index.rst: Add link to apidoc.pdf.
6249 Wed Aug 24 14:12:05 GMT 2011  Olly Betts <olly@survex.com>
6251         * queryparser/queryparser.lemony: Fix memory leak (caught by existing
6252           testcase queryparser1 when run under valgrind).
6254 Wed Aug 24 12:47:49 GMT 2011  Olly Betts <olly@survex.com>
6256         * queryparser/,tests/queryparsertest.cc,tests/termgentest.cc: Add
6257           support for indexing and searching CJK text using n-grams.  Currently
6258           this is only enabled if environmental variable XAPIAN_CJK_NGRAM is
6259           set to a non-empty value.
6261 Tue Aug 23 03:49:27 GMT 2011  Olly Betts <olly@survex.com>
6263         * api/vectortermlist.cc,api/vectortermlist.h: Change so that p == NULL
6264           represents at_end, and p == data.data() means we've yet to start.
6266 Mon Aug 22 15:30:51 GMT 2011  Olly Betts <olly@survex.com>
6268         * api/vectortermlist.cc: Add new source file missed from last commit.
6270 Mon Aug 22 14:32:50 GMT 2011  Olly Betts <olly@survex.com>
6272         * api/,backends/brass/brass_synonym.cc,backends/chert/chert_synonym.cc,
6273           common/Makefile.mk,common/vectortermlist.h,
6274           queryparser/queryparser.cc: Reimplement VectorTermList to store the
6275           list of terms encoded into a single std::string, which is a lot more
6276           memory efficient that std::vector<std::string>.
6278 Mon Aug 22 12:22:49 GMT 2011  Olly Betts <olly@survex.com>
6280         * common/Makefile.mk,common/const_database_wrapper.cc,
6281           common/const_database_wrapper.h,matcher/Makefile.mk,
6282           matcher/const_database_wrapper.cc,matcher/const_database_wrapper.h:
6283           Move const_database_wrapper.h and const_database_wrapper.cc from
6284           common/ to matcher/.
6286 Sun Aug 21 12:43:38 GMT 2011  Olly Betts <olly@survex.com>
6288         * Makefile.am: Since we require GNU find for the coverage-check target,
6289           make use of its -delete option, so we no longer also need GNU xargs.
6291 Thu Aug 18 06:28:11 GMT 2011  Olly Betts <olly@survex.com>
6293         * queryparser/queryparser.lemony: Reorder header includes to be more
6294           standard.
6296 Thu Aug 18 01:06:00 GMT 2011  Olly Betts <olly@survex.com>
6298         * queryparser/queryparser.lemony: <cstring> not <string.h>.
6300 Tue Aug 16 04:56:20 GMT 2011  Olly Betts <olly@survex.com>
6302         * bin/xapian-check.cc: Throw Xapian::FeatureUnavailableError if
6303           backends are disabled, rather than const char *.
6305 Tue Aug 16 04:49:05 GMT 2011  Olly Betts <olly@survex.com>
6307         * backends/brass/brass_check.cc,backends/brass/brass_check.h,
6308           backends/chert/chert_check.cc,backends/chert/chert_check.h,
6309           bin/xapian-check.cc: Instead of giving cryptic numeric codes for
6310           B-tree errors and then throwing const char *, throw
6311           Xapian::DatabaseError() exceptions with string descriptions.
6313 Fri Aug 12 23:11:51 GMT 2011  Olly Betts <olly@survex.com>
6315         * NEWS: Update from 1.2.7 and ChangeLog.
6317 Fri Aug 12 06:38:45 GMT 2011  Olly Betts <olly@survex.com>
6319         * backends/remote/remote-database.cc: Factor out throw_bad_message().
6321 Fri Aug 12 06:22:14 GMT 2011  Olly Betts <olly@survex.com>
6323         * net/remoteconnection.cc: Factor out throw_database_closed().
6325 Fri Aug 12 06:17:43 GMT 2011  Olly Betts <olly@survex.com>
6327         * net/remoteserver.cc: Factor out throw_read_only() function.
6329 Fri Aug 12 06:17:01 GMT 2011  Olly Betts <olly@survex.com>
6331         * common/noreturn.h: Add comment showing how to use XAPIAN_NORETURN
6332           macro.
6334 Sat Aug 06 05:15:53 GMT 2011  Olly Betts <olly@survex.com>
6336         * api/positioniterator.cc,api/postingsource.cc,api/valueiterator.cc,
6337           common/serialise.h,include/xapian/positioniterator.h,
6338           include/xapian/postingsource.h: Fix new warnings from -Wshadow with
6339           GCC 4.6.  These warnings are when a variable name "shadows" a
6340           typename, which doesn't seem problematic in general, but the only
6341           alternative seems to be to disable -Wshadow entirely, and it is
6342           useful in other cases.
6344 Thu Aug 04 07:57:09 GMT 2011  Olly Betts <olly@survex.com>
6346         * backends/dbfactory_remote.cc,docs/deprecation.rst,
6347           include/xapian/dbfactory.h,include/xapian/types.h: Deprecate
6348           Xapian::timeout in favour of POSIX type useconds_t.
6350 Thu Aug 04 04:04:45 GMT 2011  Olly Betts <olly@survex.com>
6352         * include/xapian/termgenerator.h,
6353           queryparser/termgenerator_internal.cc: Rename weight parameter to
6354           wdf_inc, which much better describes what it does, and avoids a
6355           -Wshadow warning with GCC 4.6.
6357 Thu Aug 04 04:03:37 GMT 2011  Olly Betts <olly@survex.com>
6359         * api/registry.cc: Rename weight variable to weighting_scheme to avoid
6360           -Wshadow warning.
6362 Wed Aug 03 23:13:36 GMT 2011  Olly Betts <olly@survex.com>
6364         * configure.ac: -Wshadow gives bogus warnings with 4.0 (at least on Mac
6365           OS X), so disable it for GCC < 4.1 (like the comments suggest we
6366           already did!)
6368 Wed Aug 03 22:53:55 GMT 2011  Olly Betts <olly@survex.com>
6370         * configure.ac: Enable -fshow-column for GCC - things like vim's
6371           quickfix mode will then jump to the appropriate column for a
6372           compiler error or warning, not just the appropriate line.
6374 Wed Aug 03 22:13:26 GMT 2011  Olly Betts <olly@survex.com>
6376         * api/omdocument.cc,backends/brass/brass_database.cc,
6377           backends/chert/chert_database.cc,common/document.h: Document objects
6378           now track if term positions might have been modified, so we can avoid
6379           having to consider them at all if you take a document and add or
6380           remove a boolean filter term.  This gives an 18% speedup for adding
6381           tags in notmuch.
6383 Mon Aug 01 15:15:17 GMT 2011  Olly Betts <olly@survex.com>
6385         * api/Makefile.mk,api/ompostlistiterator.cc,api/postingiterator.cc,
6386           include/xapian/postingiterator.h,tests/api_db.cc: Redo
6387           PostingIterator based on TermIterator with efficient end iterator
6388           checks.
6390 Mon Aug 01 13:34:44 GMT 2011  Olly Betts <olly@survex.com>
6392         * api/,backends/brass/brass_database.cc,
6393           backends/chert/chert_database.cc,
6394           backends/inmemory/inmemory_database.cc,common/positionlist.h,
6395           examples/delve.cc,include/xapian/positioniterator.h,
6396           include/xapian/termiterator.h,include/xapian/valueiterator.h: Take
6397           the old SVN end-iterator-proxies branch and rework the TermIterator
6398           and PositionIterator reimplementations there to use the same
6399           approach as ValueIterator now uses.
6401 Sun Jul 31 15:24:55 GMT 2011  Olly Betts <olly@survex.com>
6403         * include/xapian/valueiterator.h: Fix comment typo.
6405 Sun Jul 31 14:45:46 GMT 2011  Olly Betts <olly@survex.com>
6407         * api/omenquire.cc,tests/api_anydb.cc: Previously,
6408           Enquire::get_matching_terms_begin() threw InvalidArgumentError if
6409           the query was empty.  Now we just return an end iterator, which is
6410           more consistent with how empty queries behave elsewhere.
6412 Sun Jul 31 13:44:06 GMT 2011  Olly Betts <olly@survex.com>
6414         * api/valueiterator.cc,include/xapian/valueiterator.h: Rename private
6415           ValueIterator::deref() method to decref() (since dereference has
6416           another meaning to the intended "remove a reference").
6418 Sun Jul 31 11:27:33 GMT 2011  Olly Betts <olly@survex.com>
6420         * api/valueiterator.cc,include/xapian/database.h,
6421           include/xapian/document.h,include/xapian/valueiterator.h: Don't use
6422           intrusive_ptr to reference count ValueIterator internals, but
6423           instead update the reference count in hand-written code.  This is
6424           less good in itself, but it means we can inline ValueIterator's
6425           default constructor and its destructor in the case where the
6426           internal is NULL, which should mean a comparison with the end
6427           iterator optimises to a NULL pointer check but without needing
6428           the ValueIteratorEnd_ class, which doesn't work as ValueIterator()
6429           would in templates or some cases of overload resolution.
6431 Sat Jul 30 12:07:52 GMT 2011  Olly Betts <olly@survex.com>
6433         * docs/doxygen_api.conf.in: Don't generate XML from doxygen for the
6434           bindings - the bindings now do this for themselves.  (ticket#262)
6436 Fri Jul 29 01:33:37 GMT 2011  Olly Betts <olly@survex.com>
6438         * include/xapian/enquire.h: Just forward declare "class KeyMaker"
6439           rather than including <xapian/keymaker.h>.
6441 Fri Jul 29 01:28:08 GMT 2011  Olly Betts <olly@survex.com>
6443         * api/omdatabase.cc,backends/slowvaluelist.cc,
6444           include/xapian/database.h,matcher/valuestreamdocument.cc: Change
6445           Database::get_document_lazily_() to return void* so we don't need
6446           to include xapian/document.h from xapian/database.h just to get
6447           Document::Internal declared.  This doesn't affect user code, but
6448           reduces the number of files which need to be rebuilt in the library
6449           when xapian/document.h changes.
6451 Wed Jul 27 05:59:32 GMT 2011  Olly Betts <olly@survex.com>
6453         * include/xapian/matchspy.h: Remove unnecessary header includes.
6455 Wed Jul 27 02:11:08 GMT 2011  Olly Betts <olly@survex.com>
6457         * docs/index.rst: Add links to Omega and bindings docs.
6459 Tue Jul 26 05:36:50 GMT 2011  Olly Betts <olly@survex.com>
6461         * docs/deprecation.rst: Add Omega's OLDP CGI parameter.
6463 Fri Jul 22 15:37:48 GMT 2011  Olly Betts <olly@survex.com>
6465         * include/xapian/queryparser.h: Reword documentation of
6466           add_boolean_prefix()'s exclusive parameter to talk about terms and
6467           prefixes rather than values and fields (which was confusing since
6468           "document value" has a particular meaning in Xapian).
6470 Thu Jul 21 03:37:49 GMT 2011  Olly Betts <olly@survex.com>
6472         * matcher/mergepostlist.cc: Another debug logging fix.
6474 Thu Jul 21 03:16:39 GMT 2011  Olly Betts <olly@survex.com>
6476         * api/omenquire.cc,api/ompostlistiterator.cc,
6477           backends/brass/brass_database.cc,
6478           backends/brass/brass_positionlist.cc,
6479           backends/brass/brass_postlist.cc,backends/chert/chert_database.cc,
6480           backends/chert/chert_positionlist.cc,
6481           backends/chert/chert_postlist.cc: More debug logging fixes.
6483 Thu Jul 21 02:55:00 GMT 2011  Olly Betts <olly@survex.com>
6485         * api/omdatabase.cc,api/omenquire.cc,api/replication.cc,
6486           backends/brass/brass_alldocspostlist.cc,
6487           backends/brass/brass_database.cc,
6488           backends/brass/brass_spellingwordslist.cc,backends/chert/,
6489           matcher/mergepostlist.cc,matcher/msetpostlist.cc,
6490           matcher/synonympostlist.cc: Fix various incorrect LOGCALL lines.
6492 Thu Jul 21 02:12:25 GMT 2011  Olly Betts <olly@survex.com>
6494         * backends/brass/brass_postlist.cc,backends/chert/chert_postlist.cc,
6495           common/documentterm.h,net/progclient.cc: Fix uses of LOGCALL_VOID
6496           which should be LOGCALL_CTOR.
6498 Wed Jul 20 07:00:48 GMT 2011  Olly Betts <olly@survex.com>
6500         * tests/api_matchspy.cc: Remove checks for remote dbtype in matchspy2
6501           and matchspy4 testcases - these were checking for values which would
6502           never match, and the testcases should and do work with remote
6503           backends.
6505 Wed Jul 20 01:19:46 GMT 2011  Olly Betts <olly@survex.com>
6507         * docs/facets.rst: Minor clarification.
6509 Wed Jul 20 00:22:38 GMT 2011  Olly Betts <olly@survex.com>
6511         * bin/xapian-check.cc: Document in --help that checking a whole
6512           database performs additional cross-checks between the tables.
6514 Tue Jul 19 18:29:51 GMT 2011  Richard Boulton <richard@tartarus.org>
6516         * docs/facets.rst: Expand descriptions for indexing and finding
6517           facets to hopefully be more helpful to newcomers.
6519 Tue Jul 19 17:52:25 GMT 2011  Richard Boulton <richard@tartarus.org>
6521         * docs/facets.rst: Fix example calls to add_matchspy() to be passed
6522           pointers, and example call to get_termfreq().
6524 Sat Jul 16 10:54:39 GMT 2011  Olly Betts <olly@survex.com>
6526         * tests/collate-test: Now understand use of "#if 0" to disable
6527           testcases.
6528         * tests/api_db.cc: Remove comment in front of
6529           "DEFINE_TESTCASE(multierrhandler1, [...]" which is no longer needed.
6531 Wed Jul 13 15:07:27 GMT 2011  Olly Betts <olly@survex.com>
6533         * include/xapian/database.h: Improve the documentation comment for
6534           Database::close().  (ticket#504)
6536 Sat Jul 09 14:00:08 GMT 2011  Olly Betts <olly@survex.com>
6538         * include/xapian/stem.h,languages/stem.cc: Stem::operator= now returns
6539           a reference to the assigned-to object.
6541 Sat Jul 09 07:08:03 GMT 2011  Olly Betts <olly@survex.com>
6543         * languages/compiler/analyser.c: Change reporting of line number for
6544           repeated string in among to use "FILE:LINE:" prefix.
6546 Sat Jul 09 01:04:18 GMT 2011  Olly Betts <olly@survex.com>
6548         * common/pretty.h: Don't dereference a NULL pointer.
6550 Fri Jul 08 14:28:42 GMT 2011  Olly Betts <olly@survex.com>
6552         * common/output.h,common/pretty.h: Fix invalid templates in pretty.h.
6554 Fri Jul 08 12:55:19 GMT 2011  Olly Betts <olly@survex.com>
6556         * common/pretty.h: Fix template for pretty printing a std::list.
6558 Thu Jul 07 10:40:53 GMT 2011  Olly Betts <olly@survex.com>
6560         * api/omenquire.cc: Add assertions that the index is in range when
6561           dereferencing MSetIterator and ESetIterator.
6563 Wed Jul 06 08:20:56 GMT 2011  Olly Betts <olly@survex.com>
6565         * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Trust
6566           new to throw std::bad_alloc rather than returning NULL.
6568 Wed Jul 06 05:50:38 GMT 2011  Olly Betts <olly@survex.com>
6570         * tests/internaltest.cc: Remove testcase serialisequery1.
6571         * tests/api_serialise.cc: Extend serialise_query1 to cover equivalent
6572           cases via the API.
6574 Tue Jul 05 01:20:59 GMT 2011  Olly Betts <olly@survex.com>
6576         * common/debuglog.h: Add QUERY category for debug logging.
6578 Fri Jul 01 04:55:02 GMT 2011  Olly Betts <olly@survex.com>
6580         * common/unordered_map.h: Add my <unordered_map> portability wrapper
6581           which was used by the JNI java bindings.  It's not currently used
6582           here, but is likely to be useful (two of the GSoC projects are
6583           using unordered_map).
6585 Wed Jun 29 12:16:59 GMT 2011  Richard Boulton <richard@tartarus.org>
6587         * languages/compiler/tokeniser.c: Fix memory leak (of file name) in
6588           snowball compiler introduced by last commit.
6590 Wed Jun 29 07:49:36 GMT 2011  Olly Betts <olly@survex.com>
6592         * languages/compiler/: Report "FILE:LINE:" before each error so tools
6593           like vim's quickfix mode can parse this and bring up the line with
6594           the error automatically.
6596 Wed Jun 29 07:49:10 GMT 2011  Olly Betts <olly@survex.com>
6598         * languages/compiler/header.h: Add comments to note that struct input
6599           must be a prefix of struct tokeniser.
6601 Wed Jun 29 07:47:30 GMT 2011  Olly Betts <olly@survex.com>
6603         * languages/basque.sbl: Use stringdef instead of literal accented
6604           characters in the code.
6606 Wed Jun 29 07:13:30 GMT 2011  Olly Betts <olly@survex.com>
6608         * docs/stemming.rst,include/xapian/stem.h,languages/: Add stemmers
6609           for Armenian (hy), Basque (eu), and Catalan (ca).
6611 Mon Jun 27 08:16:55 GMT 2011  Olly Betts <olly@survex.com>
6613         * include/xapian/query.h: Add a fake specialised form of the templated
6614           ctor for SWIG.
6616 Sat Jun 25 11:27:00 GMT 2011  Olly Betts <olly@survex.com>
6618         * include/xapian/enquire.h: Fix doc comment typo which reversed the
6619           intended sense.
6621 Sat Jun 25 06:20:34 GMT 2011  Olly Betts <olly@survex.com>
6623         * api/omenquire.cc,common/omenquireinternal.h: Remove unused method
6624           Enquire::Internal::register_match_decider().
6626 Sat Jun 25 06:05:22 GMT 2011  Olly Betts <olly@survex.com>
6628         * include/xapian/enquire.h: MSet(MSet::Internal *) -> MSet(Internal *)
6629           for consistency with other classes.
6631 Fri Jun 24 16:15:00 GMT 2011  Olly Betts <olly@survex.com>
6633         * api/omdatabase.cc,backends/slowvaluelist.cc,
6634           include/xapian/database.h,matcher/valuestreamdocument.cc: Rename
6635           Database::get_document_lazily() to get_document_lazily_() to conform
6636           to our convention for naming methods for internal use which have
6637           "public" visibility.
6639 Wed Jun 22 23:51:15 GMT 2011  Richard Boulton <richard@tartarus.org>
6641         * configure.ac: Correct tiny typo in error message when zlib isn't
6642           found.
6644 Tue Jun 21 04:08:29 GMT 2011  Olly Betts <olly@survex.com>
6646         * common/autoptr.h: Update comment about why we have this file.  It's
6647           no longer a concern that we might need our own AutoPtr implementation
6648           but we are likely to want to be able to migrate to unique_ptr easily
6649           as C++0x features become more widely available.
6651 Tue Jun 21 02:26:36 GMT 2011  Olly Betts <olly@survex.com>
6653         * HACKING,common/pretty.h,configure.ac,tests/internaltest.cc: Fix a
6654           few lingering references to RefCntPtr and RefCntBase.
6656 Tue Jun 21 02:01:25 GMT 2011  Olly Betts <olly@survex.com>
6658         * api/,backends/brass/,backends/chert/,backends/database.cc,
6659           backends/inmemory/inmemory_alltermslist.h,
6660           backends/inmemory/inmemory_database.cc,
6661           backends/inmemory/inmemory_database.h,
6662           backends/multi/multi_alltermslist.cc,
6663           backends/multi/multi_valuelist.cc,backends/remote/,common/,
6664           docs/doxygen_api.conf.in,include/Makefile.mk,include/xapian/,
6665           matcher/msetpostlist.h,matcher/multimatch.cc,
6666           queryparser/queryparser_internal.h,
6667           queryparser/termgenerator_internal.h,tests/internaltest.cc: Convert
6668           to use xapian/intrusive_ptr.h instead of xapian/base.h.
6670 Mon Jun 20 23:55:10 GMT 2011  Olly Betts <olly@survex.com>
6672         * include/xapian/intrusive_ptr.h: Unmodified version of
6673           boost/smart_ptr/intrusive_ptr.hpp as of Boost 1.42 (committed to aid
6674           merging changes in the future).
6676 Mon Jun 20 12:46:47 GMT 2011  Olly Betts <olly@survex.com>
6678         * common/databasereplicator.h,languages/steminternal.h,tests/harness/:
6679           Remove inclusions of xapian/base.h from files which don't use
6680           RefCntPtr or RefCntBase.
6682 Mon Jun 20 11:33:03 GMT 2011  Olly Betts <olly@survex.com>
6684         * include/xapian/base.h: Remove unnecessary check for self-assignment
6685           as it isn't a common case and the current code copes gracefully with
6686           it anyway.
6688 Mon Jun 20 05:25:05 GMT 2011  Olly Betts <olly@survex.com>
6690         * backends/brass/brass_postlist.cc,backends/brass/brass_postlist.h,
6691           backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h:
6692           Reduce size of BrassPostList/ChertPostList objects by moving bool
6693           members together (168->160 bytes for ChertPostList on x86-64 Linux).
6695 Sun Jun 19 13:44:32 GMT 2011  Olly Betts <olly@survex.com>
6697         * tests/internaltest.cc: Fix typo in comment and verbose output.
6699 Sun Jun 19 12:23:43 GMT 2011  Olly Betts <olly@survex.com>
6701         * api/error.cc,generate-exceptions: Rearrange members of Xapian::Error
6702           to reduce its size (from 48 to 40 bytes on x86-64 Linux).
6704 Sun Jun 19 12:22:53 GMT 2011  Olly Betts <olly@survex.com>
6706         * common/pretty.h: Fix comment typo.
6708 Sun Jun 19 04:45:26 GMT 2011  Olly Betts <olly@survex.com>
6710         * INSTALL: Update GCC details - we now recommend 4.3 or newer (was 4.1)
6711           and note that while 3.1 is the hard minimum requirement, the oldest
6712           we've tested with at all recently was 3.3.
6714 Sat Jun 18 14:27:14 GMT 2011  Olly Betts <olly@survex.com>
6716         * queryparser/queryparser.lemony,
6717           queryparser/termgenerator_internal.cc: Fix warning from GCC 3.3.
6719 Sat Jun 18 06:27:03 GMT 2011  Olly Betts <olly@survex.com>
6721         * api/,expand/ortermlist.cc,include/xapian/: Use TermIterator() instead
6722           of TermIterator(NULL), and similarly for other Xapian iterator
6723           classes.
6725 Sat Jun 18 05:16:23 GMT 2011  Olly Betts <olly@survex.com>
6727         * tests/zlib-vg.so: Remove file committed accidentally.
6729 Sat Jun 18 05:07:56 GMT 2011  Olly Betts <olly@survex.com>
6731         * api/,include/xapian/positioniterator.h,
6732           include/xapian/termiterator.h: Reimplementations of PositionIterator
6733           and TermIterator from the end-iterator-proxies branch.  Assignment
6734           operators for these classes now return *this rather than void.
6736 Sat Jun 18 01:49:02 GMT 2011  Olly Betts <olly@survex.com>
6738         * tests/perftest/Makefile.mk: Make sure that perftest isn't run with
6739           libeatmydata preloaded.
6741 Fri Jun 17 07:39:35 GMT 2011  Olly Betts <olly@survex.com>
6743         * docs/deprecation.rst: Tabs to spaces.
6745 Fri Jun 17 07:38:06 GMT 2011  Olly Betts <olly@survex.com>
6747         * docs/deprecation.rst: Add flush() -> commit().
6749 Thu Jun 16 14:40:35 GMT 2011  Olly Betts <olly@survex.com>
6751         * tests/: Add TEST( ) or TEST(! ) around existing reopen() calls to
6752           check that we get true or false returned as we would expect.
6753           (ticket#548)
6755 Thu Jun 16 05:15:28 GMT 2011  Olly Betts <olly@survex.com>
6757         * README: Note licence is GPL *2+*.  Say "SVN/git".  Use trac URL for
6758           wiki.
6760 Wed Jun 15 23:31:03 GMT 2011  Olly Betts <olly@survex.com>
6762         * xapian-core/api/error.cc: Don't include the magic code byte at the
6763           start of Error::get_description()'s return value.
6765 Wed Jun 15 15:51:42 GMT 2011  Olly Betts <olly@survex.com>
6767         * exception_data.pm,generate-exceptions,net/serialise.cc: When
6768           propagating exceptions from a remote backend server, use a numeric
6769           code to represent which exception is being transferred rather than
6770           the name of the type as that can be turned back into an exception
6771           with a simple switch statement.  It's also less data to transfer.
6772           (ticket#471)
6774 Wed Jun 15 14:03:49 GMT 2011  Olly Betts <olly@survex.com>
6776         * backends/remote/remote-database.cc,common/remote-database.h,
6777           common/remoteprotocol.h,docs/remote_protocol.rst,net/remoteserver.cc:
6778           Propagate the return value of Database::reopen() across the link.
6779           (ticket#548)
6781 Wed Jun 15 13:03:56 GMT 2011  Olly Betts <olly@survex.com>
6783         * backends/remote/remote-database.cc,common/remote-database.h,
6784           common/remoteprotocol.h,docs/remote_protocol.rst,net/remoteserver.cc:
6785           Unify REPLY_GREETING and REPLY_UPDATE; send (last_docid - doccount)
6786           instead of last_docid; send (doclen_ubound - doclen_lbound) instead
6787           of doclen_ubound.  This requires a remote protocol major version
6788           bump.  Fix out of date documentation for what's in a REPLY_UPDATE
6789           message.
6791 Wed Jun 15 12:24:07 GMT 2011  Olly Betts <olly@survex.com>
6793         * backends/remote/remote-database.cc: Remove special check which gives
6794           a more helpful error message when a modern client is used against a
6795           remote server running Xapian <= 0.9.6.
6797 Wed Jun 15 11:07:19 GMT 2011  Olly Betts <olly@survex.com>
6799         * net/remoteserver.cc: Remove unnecessary call to reopen() - either we
6800           just called it or we're a writable database and it doesn't do
6801           anything.
6803 Wed Jun 15 09:03:06 GMT 2011  Olly Betts <olly@survex.com>
6805         * xapian-core/backends/remote/remote-database.cc,
6806           xapian-core/common/remote-database.h: Factor out the code to decode
6807           the returned stats into a new apply_stats_update() method.
6809 Wed Jun 15 08:57:12 GMT 2011  Olly Betts <olly@survex.com>
6811         * xapian-core/Makefile.am: Remove check-* from .PHONY as that doesn't
6812           work with a pattern rule.  Fix check-% pattern rule to actually work.
6814 Tue Jun 14 15:11:38 GMT 2011  Olly Betts <olly@survex.com>
6816         * docs/remote_protocol.rst: Fixed typo which reversed the intended
6817           sense.
6819 Tue Jun 14 02:01:42 GMT 2011  Olly Betts <olly@survex.com>
6821         * Makefile.am,configure.ac: Avoid portability warning from automake
6822           about GNU make %-style pattern rules.
6824 Tue Jun 14 01:42:01 GMT 2011  Olly Betts <olly@survex.com>
6826         * configure.ac: Add unnecessary AC_LANG_SOURCE wrapper to shut up
6827           autoconf warning.
6829 Tue Jun 14 01:18:54 GMT 2011  Olly Betts <olly@survex.com>
6831         * configure.ac: Reset LIBRARY_VERSION_INFO to 0:0:0 for the
6832           development series, since the library name is different (it has a
6833           -1.3 suffix).
6835 Mon Jun 13 16:24:20 GMT 2011  Olly Betts <olly@survex.com>
6837         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
6838           docs/deprecation.rst,include/xapian/enquire.h,matcher/multimatch.cc,
6839           net/remoteserver.cc,tests/api_backend.cc: Remove the deprecated
6840           old-style match spy approach of using a MatchDecider.
6842 Mon Jun 13 15:47:57 GMT 2011  Olly Betts <olly@survex.com>
6844         * api/keymaker.cc,docs/deprecation.rst,include/xapian/keymaker.h,
6845           tests/Makefile.am,tests/api_sortingold.cc: Remove deprecated Sorter
6846           class and MultiValueSorter subclass.
6847         * tests/Makefile.mk,tests/perftest/Makefile.mk,
6848           tests/soaktest/Makefile.mk: Make the generated "*_all.h" depend on
6849           the Makefile.am or Makefile.mk which contains the list of files it
6850           is generated from so that it gets regenerated when a file is
6851           removed from that list.
6853 Mon Jun 13 13:18:29 GMT 2011  Olly Betts <olly@survex.com>
6855         * common/omenquireinternal.h: Remove a FIXME - caching the Document
6856           object in MSetItem isn't a replacement for storing the sort_key
6857           now that sort_keys can be computed.
6859 Mon Jun 13 13:07:31 GMT 2011  Olly Betts <olly@survex.com>
6861         * include/xapian/queryparser.h,queryparser/queryparser.cc: Fold the
6862           two forms of QueryParser::add_boolean_prefix() into one method
6863           with a default parameter now that changing the ABI isn't a worry.
6865 Mon Jun 13 12:00:36 GMT 2011  Olly Betts <olly@survex.com>
6867         * docs/deprecation.rst: Non-pythonic iterators have been removed.
6868           (ticket#255)
6870 Mon Jun 13 10:40:30 GMT 2011  Olly Betts <olly@survex.com>
6872         * docs/deprecation.rst: Python Stem_get_available_languages() has now
6873           been removed.
6875 Mon Jun 13 10:38:49 GMT 2011  Olly Betts <olly@survex.com>
6877         * docs/deprecation.rst,include/xapian/enquire.h: Remove deprecated
6878           default value for second parameter to Enquire::set_sort_by_value()
6879           and friends.
6881 Mon Jun 13 09:30:15 GMT 2011  Olly Betts <olly@survex.com>
6883         * api/omdatabase.cc,backends/brass/brass_database.cc,
6884           backends/brass/brass_database.h,backends/chert/chert_database.cc,
6885           backends/chert/chert_database.h,backends/database.cc,
6886           backends/inmemory/inmemory_database.cc,
6887           backends/inmemory/inmemory_database.h,
6888           backends/remote/remote-database.cc,common/,
6889           include/xapian/database.h: Database::reopen() now returns true if
6890           the database may have been reopened.  (ticket#548)
6892 Mon Jun 13 09:01:33 GMT 2011  Olly Betts <olly@survex.com>
6894         * docs/admin_notes.rst: Add note about xapian-chert-update.
6896 Mon Jun 13 08:47:06 GMT 2011  Olly Betts <olly@survex.com>
6898         * bin/xapian-check-flint.cc,bin/xapian-check-flint.h: Remove two
6899           flint-specific files I missed.
6901 Mon Jun 13 08:42:11 GMT 2011  Olly Betts <olly@survex.com>
6903         * HACKING,INSTALL,Makefile.am,api/compactor.cc,api/replication.cc,
6904           backends/Makefile.mk,backends/brass/brass_compact.cc,
6905           backends/chert/chert_compact.cc,backends/databasereplicator.cc,
6906           backends/dbfactory.cc,backends/dir_contents,backends/flint/,
6907           backends/slowvaluelist.h,bin/,common/database.h,common/pretty.h,
6908           common/unaligned.h,configure.ac,docs/,include/xapian/dbfactory.h,
6909           include/xapian/valueiterator.h,include/xapian/version_h.cc,tests/,
6910           tests/harness/,tests/queryparsertest.cc,tests/termgentest.cc,
6911           tests/testdata/flint-0.9.9/,tests/testdata/flint-1.0.1/,
6912           tests/testdata/flint-1.0.2/: Remove flint backend.
6914 Mon Jun 13 06:09:29 GMT 2011  Olly Betts <olly@survex.com>
6916         * bin/Makefile.mk: Remove lingering reference to quartz (rules to
6917           generate man pages for quartzdump, etc).
6919 Mon Jun 13 05:46:00 GMT 2011  Olly Betts <olly@survex.com>
6921         * Makefile.am,tests/Makefile.am: Just use a GNU-make-specific pattern
6922           rules to forward check-* targets from the top level to the tests
6923           subdirectory.  It's clear we aren't keeping the explicit list of
6924           target forwarding rules up to date, and this is just a convenience
6925           so not worth a lot of maintenance effort.
6927 Mon Jun 13 05:01:33 GMT 2011  Olly Betts <olly@survex.com>
6929         * configure.ac: Update version to 1.3.0 and add -1.3 suffix for
6930           library and /xapian-1.3 suffix to include file installation
6931           directory.
6933 Mon Jun 13 04:56:13 GMT 2011  Olly Betts <olly@survex.com>
6935         * unicode/tclUniData.cc: Upgrade to Unicode 6.0.0 (ticket#497).
6936         * tests/api_unicode.cc: Extend testcases to check for assorted changes
6937           and additions in Unicode 6.0.0.
6939 Sun Jun 12 11:54:45 GMT 2011  Olly Betts <olly@survex.com>
6941         * NEWS: Final update for 1.2.6.
6943 Sat Jun 11 10:11:23 GMT 2011  Olly Betts <olly@survex.com>
6945         * api/omdocument.cc: Update LOGCALL(MATCH, ...) to LOGCALL(DB, ...).
6946           Convert LOGLINE() at start of method to LOGCALL().
6948 Sat Jun 11 09:57:00 GMT 2011  Olly Betts <olly@survex.com>
6950         * api/omdatabase.cc: Remove self-assignment check from
6951           Database::operator= since this is an uncommon code path and
6952           RefCntPtr ensures that self-assignment of the internals is
6953           safe.
6955 Sat Jun 11 08:48:10 GMT 2011  Olly Betts <olly@survex.com>
6957         * api/omdatabase.cc,backends/brass/brass_cursor.h,
6958           backends/chert/chert_cursor.h,backends/flint/flint_cursor.h,
6959           backends/flint/flint_table.cc,backends/flint/flint_values.cc,
6960           backends/inmemory/inmemory_database.cc,bin/xapian-check-brass.cc,
6961           bin/xapian-check-chert.cc,bin/xapian-chert-update.cc,
6962           matcher/queryoptimiser.cc,matcher/valuegepostlist.h: Use string() or
6963           std::string() rather than "".
6964         * common/remoteconnection.h,net/tcpserver.cc: Use 2 parameter form of
6965           Error subclass ctors when the context is "".
6966         * api/replication.cc,backends/flint/flint_database.cc,
6967           common/remoteconnection.h,net/replicatetcpclient.cc,
6968           net/replicatetcpserver.cc: Make context parameter of
6969           RemoteConnection ctor optional.
6970         * common/leafpostlist.h: Say 'empty' rather than '""' in a
6971           documentation comment.
6972         * examples/simpleindex.cc: Use '.resize(0)' rather than '= ""'.
6974 Sat Jun 11 07:01:41 GMT 2011  Olly Betts <olly@survex.com>
6976         * api/,backends/brass/,backends/chert/,backends/flint/,
6977           backends/remote/remote-database.cc,common/,include/xapian/,matcher/,
6978           net/remoteserver.cc,net/serialise.cc: Consistently use "slot" in
6979           variable names for value slots, rather than valueno, valno, valueid
6980           or value.  The only exception remaining is a protected member of
6981           Xapian::StringValueRangeProcessor since that's really part of the
6982           public API.
6984 Fri Jun 10 11:55:45 GMT 2011  Olly Betts <olly@survex.com>
6986         * NEWS,configure.ac: Update in preparation for 1.2.6.
6988 Fri Jun 10 09:05:38 GMT 2011  Olly Betts <olly@survex.com>
6990         * examples/NEWS,examples/TODO: Remove files which are unused since the
6991           examples were merged into xapian-core.
6993 Fri Jun 10 09:03:33 GMT 2011  Olly Betts <olly@survex.com>
6995         * Makefile.am: Ship ChangeLog.0 in the tarball.
6997 Fri Jun 10 05:19:24 GMT 2011  Olly Betts <olly@survex.com>
6999         * tests/Makefile.am: Actually include soaktest/Makefile.mk.
7001 Thu Jun 09 23:26:52 GMT 2011  Olly Betts <olly@survex.com>
7003         * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Define
7004           XAPIAN_DEPRECATED_CLASS to empty for doxygen.
7006 Thu Jun 09 22:21:29 GMT 2011  Olly Betts <olly@survex.com>
7008         * docs/overview.rst: Document "remote" in stub databases.
7010 Thu Jun 09 15:23:12 GMT 2011  Olly Betts <olly@survex.com>
7012         * HACKING,docs/deprecation.rst,include/xapian/deprecated.h,
7013           include/xapian/keymaker.h: Add XAPIAN_DEPRECATED_CLASS macro
7014           for marking a class as deprecated, so we don't have to call
7015           XAPIAN_DEPRECATED() with no parameters.
7017 Thu Jun 09 14:03:17 GMT 2011  Olly Betts <olly@survex.com>
7019         * HACKING: Clarify wording about PATH.
7021 Thu Jun 09 13:04:53 GMT 2011  Olly Betts <olly@survex.com>
7023         * docs/queryparser.rst,include/xapian/queryparser.h,
7024           queryparser/queryparser.cc,queryparser/queryparser.lemony,
7025           queryparser/queryparser_internal.h,tests/queryparsertest.cc: Add
7026           QueryParser::set_max_wildcard_expansion() method to allow limiting
7027           the number of terms a wildcard can expand to.  Implementation mostly
7028           from a patch by Adam Sjøgren in ticket#350.
7030 Tue Jun 07 23:16:33 GMT 2011  Dan Colish <dcolish@gmail.com>
7032         * backends/brass/brass_changesetapplier.h,
7033           backends/chert/chert_changesetapplier.h,
7034           backends/flint/flint_changesetapplier.h: Remove dead code
7036 Thu Jun 02 13:21:28 GMT 2011  Olly Betts <olly@survex.com>
7038         * AUTHORS: Add recent bug reporters.
7040 Thu Jun 02 11:03:57 GMT 2011  Olly Betts <olly@survex.com>
7042         * queryparser/queryparser.lemony: If default_op is OP_NEAR or
7043           OP_PHRASE then disable stemming of the terms, since we don't index
7044           positional information for stemmed terms by default.
7045         * tests/queryparsertest.cc: Adjust near1 and phrase1 to act as
7046           regression tests for this fix.
7048 Thu Jun 02 02:58:58 GMT 2011  Olly Betts <olly@survex.com>
7050         * backends/brass/brass_spelling.cc,backends/brass/brass_spelling.h,
7051           backends/chert/chert_spelling.cc,backends/chert/chert_spelling.h,
7052           backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h:
7053           Fix bug Nikita Smetanin spotted with adding a word which has the
7054           same trigram in an even number of times.
7055         * tests/api_spelling.cc: Add regression test spell8.
7057 Wed Jun 01 14:11:38 GMT 2011  Olly Betts <olly@survex.com>
7059         * backends/flint_lock.cc: Kill the child process which holds the lock
7060           with SIGKILL as that can't be ignored, whereas SIGHUP can be in some
7061           cases it seems.
7063 Wed Jun 01 12:12:14 GMT 2011  Olly Betts <olly@survex.com>
7065         * docs/quickstartexpand.cc.html,docs/quickstartindex.cc.html,
7066           docs/quickstartsearch.cc.html: Reinstate the old HTML versions
7067           of these files.
7069 Wed Jun 01 12:09:55 GMT 2011  Olly Betts <olly@survex.com>
7071         * docs/queryparser.rst,docs/remote_protocol.rst: Fix literal hard
7072           spaces in input to just be spaces.
7074 Wed Jun 01 12:06:26 GMT 2011  Olly Betts <olly@survex.com>
7076         * docs/quickstart.rst: Fix sub-heading run in to previous paragraph.
7078 Wed Jun 01 12:04:52 GMT 2011  Olly Betts <olly@survex.com>
7080         * docs/remote.rst: Replace out-dated list of xapian-tcpsrv's command
7081           line options with a reference to --help and the man page.  Tweak
7082           wording in a few places.
7084 Wed Jun 01 11:54:37 GMT 2011  Olly Betts <olly@survex.com>
7086         * docs/overview.rst: Change omrset to rset.  Remove some bogus `` left
7087           over from fixing definition list formatting.
7089 Wed Jun 01 11:38:09 GMT 2011  Olly Betts <olly@survex.com>
7091         * docs/stemming.rst: Comment out bogus claim that there are stopword
7092           lists in xapian-data (the lack of stopword lists is already
7093           ticket#269).
7095 Wed Jun 01 11:29:58 GMT 2011  Olly Betts <olly@survex.com>
7097         * docs/matcherdesign.rst,docs/stemming.rst: Convert more arrows to
7098           Unicode.
7099         * docs/stemming.rst: Fix some missing paragraph breaks.
7101 Wed Jun 01 11:18:25 GMT 2011  Olly Betts <olly@survex.com>
7103         * docs/intro_ir.rst: Use Unicode right arrow.
7105 Wed Jun 01 10:38:27 GMT 2011  Olly Betts <olly@survex.com>
7107         * docs/: Revert quickstart*.cc.html to being HTML rather than .rst as
7108           the .rst version lose the syntax highlighting.  Update svn:ignore.
7110 Wed Jun 01 10:27:11 GMT 2011  Olly Betts <olly@survex.com>
7112         * docs/intro_ir.rst: Sort out the remaining formatting issues.
7114 Wed Jun 01 08:05:05 GMT 2011  Olly Betts <olly@survex.com>
7116         * docs/intro_ir.rst: More markup fixes.
7118 Wed Jun 01 06:16:56 GMT 2011  Olly Betts <olly@survex.com>
7120         * docs/tests.rst: Use generated contents list instead of manual one.
7122 Wed Jun 01 06:16:13 GMT 2011  Olly Betts <olly@survex.com>
7124         * docs/index.rst,docs/internals.rst: Centre links at top; Sort out
7125           <hr> to be full width.
7127 Wed Jun 01 03:23:20 GMT 2011  Olly Betts <olly@survex.com>
7129         * docs/bm25.rst: Sort out inline equations.
7131 Tue May 31 15:21:10 GMT 2011  Olly Betts <olly@survex.com>
7133         * docs/spelling.rst: Add link to Omega documentation.
7135 Tue May 31 07:52:19 GMT 2011  Olly Betts <olly@survex.com>
7137         * docs/overview.rst,docs/quickstart.rst,docs/remote_protocol.rst: More
7138           .rst formatting fixes.
7140 Tue May 31 05:02:48 GMT 2011  Olly Betts <olly@survex.com>
7142         * docs/overview.rst: More .rst fixes.
7144 Tue May 31 04:32:52 GMT 2011  Olly Betts <olly@survex.com>
7146         * docs/: More .rst fixes.
7148 Tue May 31 04:11:27 GMT 2011  Olly Betts <olly@survex.com>
7150         * docs/Makefile.am,docs/code_structure.rst: Revert code_structure.html
7151           conversion - this file is generated by a script.
7153 Tue May 31 03:56:39 GMT 2011  Olly Betts <olly@survex.com>
7155         * docs/install.rst,docs/stemming.rst,docs/tests.rst: Fix up some .rst
7156           conversion issues.
7158 Tue May 31 03:36:49 GMT 2011  Dan Colish <dcolish@gmail.com>
7160         * docs/remote_protocol.rst docs/quickstart.rst docs/remote.rst
7161         docs/internals.rst docs/scalability.rst
7162         docs/quickstartsearch.cc.rst
7163         docs/bm25.rst docs/install.rst docs/quickstartindex.cc.rst
7164         docs/index.rst docs/matcherdesign.rst docs/quickstartexpand.cc.rst
7165         docs/queryparser.rst docs/stemming.rst docs/intro_ir.rst
7166         docs/code_structure.rst docs/Makefile.am docs/tests.rst
7167         docs/overview.rst: Bulk port all remaining documentation to RST.
7169 Sun May 29 07:04:42 GMT 2011  Olly Betts <olly@survex.com>
7171         * docs/postingsource.rst: Add PostingSource example.  (ticket#503)
7173 Sun May 29 05:19:40 GMT 2011  Olly Betts <olly@survex.com>
7175         * include/xapian/database.h: Add @exception InvalidArgumentError for
7176           Database::get_document() (ticket#542).
7178 Fri May 27 05:36:28 GMT 2011  Olly Betts <olly@survex.com>
7180         * NEWS: Update from ChangeLog.
7182 Thu May 26 02:44:07 GMT 2011  Olly Betts <olly@survex.com>
7184         * include/xapian/queryparser.h: FIXME:1.1.3 -> FIXME:1.3.
7186 Wed May 25 14:58:37 GMT 2011  Olly Betts <olly@survex.com>
7188         * docs/queryparser.html: Document the precedence order of operators.
7190 Fri May 20 04:13:54 GMT 2011  Olly Betts <olly@survex.com>
7192         * examples/simpleindex.cc: Add short description to usage message.
7194 Tue May 17 21:44:55 GMT 2011  Olly Betts <olly@survex.com>
7196         * docs/scalability.html: Bring up-to-date.
7198 Wed May 11 01:34:34 GMT 2011  Olly Betts <olly@survex.com>
7200         * AUTHORS: Add Scott Zhang for mingw fixes.
7202 Wed May 11 01:30:54 GMT 2011  Olly Betts <olly@survex.com>
7204         * net/progclient.cc,net/tcpserver.cc: Need <cstdio> for sprintf on
7205           __WIN32__ and cygwin.
7207 Wed May 11 01:22:07 GMT 2011  Olly Betts <olly@survex.com>
7209         * configure.ac: Define __MSVCRT_VERSION__ to 0x0601 under mingw so
7210           we get _ftime64().
7212 Wed May 11 01:19:14 GMT 2011  Olly Betts <olly@survex.com>
7214         * common/closefrom.cc,common/closefrom.h: We don't need closefrom()
7215           under __WIN32__ currently, so disable it there as it doesn't
7216           compile under mingw.
7218 Mon May 09 20:13:17 GMT 2011  Olly Betts <olly@survex.com>
7220         * examples/delve.cc: Report has_positions().
7222 Thu Apr 07 05:38:36 GMT 2011  Dan Colish <dcolish@gmail.com>
7224         * matcher/phrasepostlist.cc, matcher/queryoptimiser.cc,
7225           matcher/exactphrasepostlist.cc, matcher/exactphrasepostlist.h,
7226           matcher/phrasepostlist.h: Remove temporary vector in queryoptimiser
7227           and replace with iterators.
7229 Wed Apr 06 10:27:41 GMT 2011  Richard Boulton <richard@tartarus.org>
7231         * docs/admin_notes.rst: Remove the word "also", which makes sense
7232           when read in context of the previous section, but is confusing if
7233           the paragraph is read standalone, and isn't necessary.
7235 Mon Apr 04 14:41:33 GMT 2011  Olly Betts <olly@survex.com>
7237         * NEWS: Final update for 1.2.5.
7239 Mon Apr 04 14:06:56 GMT 2011  Olly Betts <olly@survex.com>
7241         * backends/brass/brass_version.cc: Remove ? from comment - the brass
7242           version change is definitely going to be in 1.2.5.
7244 Mon Apr 04 13:57:23 GMT 2011  Olly Betts <olly@survex.com>
7246         * NEWS: Bump release date.
7248 Sat Mar 26 14:49:41 GMT 2011  Olly Betts <olly@survex.com>
7250         * INSTALL: Fix typo in previous commit.
7252 Sat Mar 26 14:03:15 GMT 2011  Olly Betts <olly@survex.com>
7254         * INSTALL: Note how to build for a non-default arch on a multi-arch
7255           platform.
7257 Sat Mar 26 13:22:49 GMT 2011  Olly Betts <olly@survex.com>
7259         * NEWS,configure.ac: Update for 1.2.5.
7261 Sat Mar 26 12:28:38 GMT 2011  Olly Betts <olly@survex.com>
7263         * AUTHORS: Update.
7265 Sat Mar 26 10:33:19 GMT 2011  Olly Betts <olly@survex.com>
7267         * backends/brass/brass_postlist.cc,backends/brass/brass_postlist.h,
7268           backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h,
7269           backends/inmemory/inmemory_database.h: Address issues highlighted
7270           by clang++ warnings.
7272 Fri Mar 25 05:36:41 GMT 2011  Olly Betts <olly@survex.com>
7274         * docs/tests.html: Slight tweak to improve up-to-date-ness, but more
7275           work would be useful.
7277 Fri Mar 25 05:30:56 GMT 2011  Olly Betts <olly@survex.com>
7279         * docs/matcherdesign.html: Update - quite a bit has changed in the
7280           matcher since this was last updated!
7282 Thu Mar 24 23:31:57 GMT 2011  Olly Betts <olly@survex.com>
7284         * api/replication.cc,common/replication.h: Pass reader_close_time as
7285           double everywhere, rather than truncating it to int.  Include
7286           reader_close_time parameters in debug logging.  Document
7287           reader_close_time in doxygen comments.
7289 Tue Mar 22 15:36:25 GMT 2011  Dan Colish <dcolish@gmail.com>
7291         * backends/brass/brass_database.h:
7292           Remove left over copyright.
7294 Tue Mar 22 04:54:12 GMT 2011  Dan Colish <dcolish@gmail.com>
7296         * backends/brass/brass_btreebase.cc,backends/chert/chert_btreebase.cc,
7297           backends/flint/flint_btreebase.cc:
7298           Correct comments for which revision is packed when writing base files
7300 Tue Mar 22 03:18:19 GMT 2011  Dan Colish <dcolish@gmail.com>
7302         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7303           backends/flint/flint_database.cc,include/xapian/database.h:
7304           Remove FIXME and comments for DB_OVERWRITE.
7306 Tue Mar 22 01:18:38 GMT 2011  Dan Colish <dcolish@gmail.com>
7308         * backends/brass/,backends/chert/chert_database.cc,
7309           backends/flint/flint_database.cc,tests/api_replicate.cc:
7310           Clean up changesets when replicating. Add test coverage for this
7311           feature. Allow XAPIAN_MAX_CHANGESETS to be altered without reopening
7312           the database. Closes Ticket #278.
7314 Mon Mar 21 01:50:41 GMT 2011  Olly Betts <olly@survex.com>
7316         * docs/bm25.html: Add a link to the 1976 Robertson/Sparck Jones paper.
7318 Wed Mar 16 05:56:58 GMT 2011  Dan Colish <dcolish@gmail.com>
7320         * bin/xapian-check-flint.cc: Initialize did and current_wdf to prevent
7321           uninitalized usage and compiler warnings.
7323 Mon Mar 14 03:20:18 GMT 2011  Olly Betts <olly@survex.com>
7325         * common/debuglog.cc,common/debuglog.h: Rename indent member to
7326           indent_level so it doesn't clash with indent() method.
7328 Mon Mar 14 02:44:24 GMT 2011  Olly Betts <olly@survex.com>
7330         * common/debuglog.cc,common/debuglog.h: Use an integer counter for the
7331           indent rather than a std::string which we add/remove spaces to/from.
7332           This is cleaner, but also there seems to be an issue with having a
7333           std::string member in a global static object on OS X.
7335 Fri Mar 11 01:12:04 GMT 2011  Olly Betts <olly@survex.com>
7337         * HACKING: Document using '{ }' rather than ';' for empty loop bodies.
7339 Fri Mar 11 01:02:47 GMT 2011  Olly Betts <olly@survex.com>
7341         * HACKING: Remove bogus ; after method definition in code example.
7343 Fri Mar 11 00:07:22 GMT 2011  Olly Betts <olly@survex.com>
7345         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7346           backends/flint/flint_database.cc: Factor out literal constant as
7347           MAX_OPEN_RETRIES.
7349 Wed Mar 09 14:54:06 GMT 2011  Olly Betts <olly@survex.com>
7351         * tests/api_anydb.cc: Improve the new testcases a bit.
7353 Wed Mar 09 14:11:59 GMT 2011  Olly Betts <olly@survex.com>
7355         * api/omenquire.cc,common/esetinternal.h,common/omenquireinternal.h,
7356           expand/esetinternal.cc,expand/expandweight.cc,
7357           include/xapian/enquire.h,tests/api_anydb.cc: Enquire::get_eset() now
7358           accepts a min_wt argument to allow the minimum wanted weight to be
7359           specified.  Default is 0, which gives the previous behaviour.
7361 Wed Mar 09 00:00:25 GMT 2011  Olly Betts <olly@survex.com>
7363         * include/xapian/termiterator.h: Fix misspelling in doc comment.
7365 Tue Mar 08 06:58:14 GMT 2011  Olly Betts <olly@survex.com>
7367         * backends/brass/brass_table.cc,backends/brass/brass_table.h,
7368           backends/chert/chert_table.cc,backends/chert/chert_table.h,
7369           backends/flint/flint_table.cc,backends/flint/flint_table.h: Use
7370           defined constant BLOCK_CAPACITY instead of hardcoded 4 (ticket#536).
7372 Tue Mar 08 05:56:42 GMT 2011  Olly Betts <olly@survex.com>
7374         * backends/brass/brass_table.cc,backends/chert/chert_table.cc,
7375           backends/flint/flint_table.cc: If we try to delete an old base file
7376           and it isn't there, just continue rather than throwing an exception.
7377           We wanted to get rid of it anyway, and it may be NFS issues telling
7378           us the wrong thing.  In particular, DatabaseCoruptError was rather
7379           a pessimistic assessment.
7381 Tue Mar 08 05:55:48 GMT 2011  Olly Betts <olly@survex.com>
7383         * common/io_utils.h: Note that io_unlink() may return false when it
7384           should have returned true on NFS.
7386 Sun Mar 06 23:25:47 GMT 2011  Olly Betts <olly@survex.com>
7388         * common/io_utils.cc,common/io_utils.h: Add io_unlink().
7389         * backends/brass/brass_database.cc,backends/brass/brass_table.cc,
7390           backends/chert/chert_database.cc,backends/chert/chert_table.cc,
7391           backends/flint/flint_database.cc,backends/flint/flint_table.cc:
7392           Use io_unlink() instead of sys_unlink_if_exists().
7394 Sun Mar 06 22:26:36 GMT 2011  Olly Betts <olly@survex.com>
7396         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7397           backends/flint/flint_database.cc: If DANGEROUS mode is turned on,
7398           then actually set the flag for this in replication changes files
7399           (the reader will currently throw an exception, but that's better
7400           than quietly handling them incorrectly).
7402 Sat Mar 05 12:58:31 GMT 2011  Olly Betts <olly@survex.com>
7404         * NEWS: Update from ChangeLog.
7406 Sat Mar 05 12:49:16 GMT 2011  Olly Betts <olly@survex.com>
7408         * NEWS: Fix a few typos.
7410 Sat Mar 05 06:19:25 GMT 2011  Olly Betts <olly@survex.com>
7412         * NEWS: Fix typo in old entry.
7414 Sat Mar 05 06:16:41 GMT 2011  Olly Betts <olly@survex.com>
7416         * common/remoteconnection.h: Internal doc comment improvements: Fix
7417           typo, finish truncated sentence, wrap lines to 80 columns.
7419 Sat Mar 05 02:59:35 GMT 2011  Olly Betts <olly@survex.com>
7421         * bin/xapian-replicate.cc: Make sure port number is specified.  Add
7422           "(required)" after --host and --port in help.
7424 Sat Mar 05 02:50:04 GMT 2011  Olly Betts <olly@survex.com>
7426         * docs/replication.rst: Mention new defaulting of -m.
7428 Sat Mar 05 02:44:37 GMT 2011  Olly Betts <olly@survex.com>
7430         * bin/xapian-replicate.cc: If --master isn't specified, default to
7431           DATABASE.
7433 Sat Mar 05 00:14:21 GMT 2011  Olly Betts <olly@survex.com>
7435         * bin/xapian-replicate.cc: Give an error if the host isn't set, rather
7436           than trying to connect to an empty hostname, which gives the error
7437           "Couldn't resolve host  (Unknown server error)", which might confuse
7438           if you fail to notice the double space and realise what it means.
7440 Fri Mar 04 17:20:13 GMT 2011  Richard Boulton <richard@tartarus.org>
7442         * docs/replication.rst: Update documentation to make it clear that
7443           users shouldn't try to create the destination directory for
7444           replication themselves.
7446 Thu Mar 03 11:10:10 GMT 2011  Olly Betts <olly@survex.com>
7448         * docs/intro_ir.html: Fix typo in author's name.
7450 Thu Mar 03 11:06:30 GMT 2011  Olly Betts <olly@survex.com>
7452         * docs/intro_ir.html: Update link to a paper.  Update text about book
7453           "to be published in 2008".
7455 Tue Mar 01 11:39:40 GMT 2011  Olly Betts <olly@survex.com>
7457         * NEWS: Update from ChangeLog.
7459 Mon Feb 28 12:40:24 GMT 2011  Olly Betts <olly@survex.com>
7461         * matcher/multimatch.cc: Avoid leaking postlist tree if an exception
7462           is thrown during the match.
7464 Wed Feb 23 15:26:56 GMT 2011  Olly Betts <olly@survex.com>
7466         * docs/Makefile.am,docs/index.html: Process collapsing.rst and link
7467           it into the documentation.
7469 Wed Feb 23 15:22:06 GMT 2011  Olly Betts <olly@survex.com>
7471         * docs/collapsing.rst: Add missing document (for some reason this file
7472           was empty in SVN, but present in my tree under a different name, and
7473           not checked in).
7475 Mon Feb 21 14:49:06 GMT 2011  Olly Betts <olly@survex.com>
7477         * docs/deprecation.rst: Deprecate MSet.items and ESet.items.
7479 Mon Feb 21 14:06:21 GMT 2011  Olly Betts <olly@survex.com>
7481         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7482           backends/flint/flint_database.cc,common/remoteconnection.h,
7483           net/remoteconnection.cc: Pass a file descriptor to
7484           RemoteConnection::send_file() to avoid a race between the caller
7485           checking if a file exists and send_file() trying to open it to send
7486           it.
7488 Mon Feb 21 13:50:06 GMT 2011  Olly Betts <olly@survex.com>
7490         * queryparser/lemon.c: Fix issues detected by DACA cppcheck run on the
7491           Debian archive.
7493 Mon Feb 21 13:30:55 GMT 2011  Olly Betts <olly@survex.com>
7495         * tests/api_anydb.cc: Fix spaceterms1 which was never running one part
7496           of the testcase (and had been that way for years).  Fix an
7497           off-by-one error in the enabled code.
7499 Mon Feb 21 13:05:36 GMT 2011  Olly Betts <olly@survex.com>
7501         * tests/api_backend.cc: Add some test coverage for
7502           DatabaseModifiedError in get_mset().
7504 Mon Feb 21 12:03:35 GMT 2011  Olly Betts <olly@survex.com>
7506         * NEWS: Fix typo in old entry.
7508 Mon Feb 21 11:36:07 GMT 2011  Olly Betts <olly@survex.com>
7510         * examples/quest.cc: Report any spelling correction (requires the
7511           database contains spelling data of course).
7513 Wed Feb 16 13:11:03 GMT 2011  Olly Betts <olly@survex.com>
7515         * include/xapian/enquire.h: Add doxygen markup so alternative
7516           overloaded forms of Enquire::get_mset() appear in the API
7517           documentation.
7519 Wed Feb 09 14:24:57 GMT 2011  Olly Betts <olly@survex.com>
7521         * docs/admin_notes.rst: Up to darte for 1.2.5.  Minor wording
7522           improvements.  Mention copydatabase --no-renumber.
7524 Wed Feb 09 14:06:55 GMT 2011  Olly Betts <olly@survex.com>
7526         * examples/copydatabase.cc: Add --no-renumber option.
7528 Tue Feb 01 11:17:58 GMT 2011  Olly Betts <olly@survex.com>
7530         * configure.ac: -Wstrict-null-sentinel was added in GCC 4.0.1 so
7531           doesn't work with GCC 4.0.0.  For simplicity, only enable it for
7532           GCC >= 4.1.
7534 Tue Feb  1 08:22:52 GMT 2011  Olly Betts <olly@survex.com>
7536         * docs/deprecation.rst: Add $set{spelling,true}.
7538 Thu Jan 20 14:52:53 GMT 2011  Olly Betts <olly@survex.com>
7540         * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h,
7541           backends/flint/flint_table.cc: Don't read the bitmaps from the base
7542           files when opening a database for reading (cross-port of equivalent
7543           change to chert).
7545 Thu Jan 20 14:37:10 GMT 2011  Olly Betts <olly@survex.com>
7547         * backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h,
7548           backends/brass/brass_table.cc: Don't read the bitmaps from the base
7549           files when opening a database for reading (cross-port of equivalent
7550           change to chert).
7552 Thu Jan 20 14:21:10 GMT 2011  Olly Betts <olly@survex.com>
7554         * backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h,
7555           backends/chert/chert_table.cc: Don't read the bitmaps from the base
7556           files when opening a database for reading.
7558 Thu Jan 20 01:57:02 GMT 2011  Olly Betts <olly@survex.com>
7560         * backends/brass/brass_database.cc: Optimise not to update doclength
7561           when it hasn't changed (cross-port of equivalent change to chert).
7563 Thu Jan 20 01:36:51 GMT 2011  Olly Betts <olly@survex.com>
7565         * backends/chert/chert_database.cc: Optimise not to update doclength
7566           when it hasn't changed.
7568 Wed Jan 19 03:50:18 GMT 2011  Olly Betts <olly@survex.com>
7570         * tests/api_compact.cc: Close ofstream objects used to write out stub
7571           files for testing before we run the actual compaction, to avoid
7572           issues on Microsoft Windows (ticket#525).
7574 Wed Jan 19 01:01:38 GMT 2011  Olly Betts <olly@survex.com>
7576         * HACKING: Snapshots and releases are now bootstrapped with autoconf
7577           2.68 and libtool 2.4.  Prune information about reasons for needing
7578           really old autotools versions when there's a reason to need a newer
7579           version anyway.
7581 Sat Jan 15 11:10:26 GMT 2011  Olly Betts <olly@survex.com>
7583         * NEWS: Update from ChangeLog and 1.0.23.
7585 Sat Jan 15 10:28:10 GMT 2011  Olly Betts <olly@survex.com>
7587         * bin/xapian-chert-update.cc: Fix to handle value slot entries in the
7588           termlist table.
7590 Wed Jan 12 23:49:21 GMT 2011  Olly Betts <olly@survex.com>
7592         * bin/xapian-chert-update.cc: Adjust keys for doclength chunks too.
7594 Wed Jan 12 13:37:30 GMT 2011  Olly Betts <olly@survex.com>
7596         * AUTHORS,bin/xapian-chert-update.cc: Fix to also rewrite docids in
7597           value chunk keys (reported by Luca Barbieri on xapian-discuss).
7599 Tue Jan 11 08:41:02 GMT 2011  Olly Betts <olly@survex.com>
7601         * docs/deprecation.rst: Note removal of if idx in mset.
7603 Tue Jan 11 08:30:29 GMT 2011  Olly Betts <olly@survex.com>
7605         * docs/deprecation.rst: PostingSource now offers a replacement for
7606           Enquire::set_bias().
7608 Mon Jan 10 09:40:24 GMT 2011  Olly Betts <olly@survex.com>
7610         * api/compactor.cc: Add missing header <ctime> for time() (ticket#530).
7612 Sun Jan 09 23:14:02 GMT 2011  Olly Betts <olly@survex.com>
7614         * api/compactor.cc: Use msvc_posix_rename() under __WIN32__ to
7615           atomically update stub file after compaction (ticket#525).
7617 Thu Dec 23 13:00:43 GMT 2010  Olly Betts <olly@survex.com>
7619         * queryparser/queryparser.lemony: Whitespace consistency tweak.
7621 Thu Dec 23 11:01:26 GMT 2010  Olly Betts <olly@survex.com>
7623         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Handle
7624           NEAR/<offset> and ADJ/<offset> where offset isn't an integer the same
7625           way at the end of the query as in the middle.
7627 Tue Dec 21 10:28:08 GMT 2010  Olly Betts <olly@survex.com>
7629         * net/tcpserver.cc: If we can't bind to the specified port because it
7630           is a privileged one, exit with code 77 (EX_NOPERM) to make it easier
7631           to automatically handle failure when starting the server from a
7632           script.
7634 Tue Dec 21 07:43:52 GMT 2010  Olly Betts <olly@survex.com>
7636         * docs/index.html: Add link to main website.
7638 Tue Dec 21 07:40:57 GMT 2010  Olly Betts <olly@survex.com>
7640         * docs/index.html,docs/overview.html: Update links to wiki.xapian.org
7641           to point to trac.xapian.org/wiki instead.
7643 Mon Dec 20 10:02:06 GMT 2010  Richard Boulton <richard@tartarus.org>
7645         * docs/deprecation.rst: Add note about botched removal of python's
7646           Enquire.get_matching_terms (now fully removed).
7648 Sun Dec 19 12:40:12 GMT 2010  Olly Betts <olly@survex.com>
7650         * NEWS: Update release date.
7652 Sat Dec 18 13:17:52 GMT 2010  Olly Betts <olly@survex.com>
7654         * NEWS,configure.ac: Update for 1.2.4.
7656 Wed Dec 15 11:56:22 GMT 2010  Olly Betts <olly@survex.com>
7658         * NEWS: Update.
7660 Tue Dec 14 12:46:36 GMT 2010  Olly Betts <olly@survex.com>
7662         * HACKING,tests/runtest.in: Add XAPIAN_TESTSUITE_LD_PRELOAD hook to
7663           allow libeatmydata to easily be used when running the testsuite.
7665 Mon Dec 13 14:28:19 GMT 2010  Olly Betts <olly@survex.com>
7667         * include/xapian/: Make it more explicitly clear that PostingIterator,
7668           PositionIterator, and TermIterator's skip_to methods advance (and
7669           hence shouldn't be expected to allow you to "rewind" the stream).
7671 Mon Dec 13 14:18:18 GMT 2010  Olly Betts <olly@survex.com>
7673         * include/xapian/database.h: "network databases" -> "remote databases".
7675 Mon Dec 13 14:10:08 GMT 2010  Olly Betts <olly@survex.com>
7677         * net/remoteserver.cc: If the message parameter only contains a
7678           string then we can just use it as is.
7680 Mon Dec 13 13:34:30 GMT 2010  Olly Betts <olly@survex.com>
7682         * backends/remote/remote-database.cc,common/remote-database.h,
7683           common/remoteprotocol.h,common/remoteserver.h,
7684           docs/remote_protocol.html,net/remoteserver.cc,tests/api_metadata.cc:
7685           Add support for iterating metadata keys with the remote backend.
7686           This change necessitated a minor version bump in the remote protocol.
7688 Sun Dec 12 12:24:48 GMT 2010  Olly Betts <olly@survex.com>
7690         * weight/tradweight.cc: Fix calculation order to avoid inconsistent
7691           weights due to rounding for TradWeight(0).
7692         * tests/api_backend.cc: Add regression test tradweight2.
7694 Sat Dec 11 11:38:32 GMT 2010  Olly Betts <olly@survex.com>
7696         * AUTHORS: Update thanks list with bug reporters and patch submitters.
7698 Thu Dec 09 03:59:42 GMT 2010  Olly Betts <olly@survex.com>
7700         * NEWS: Update from ChangeLog.
7702 Thu Dec 09 03:58:20 GMT 2010  Olly Betts <olly@survex.com>
7704         * net/remoteconnection.cc: Add FIXME note about using sendfile() or
7705           similar.
7707 Tue Dec 07 10:16:31 GMT 2010  Olly Betts <olly@survex.com>
7709         * tests/queryparsertest.cc: Note 1.0.x version #515 was fixed in.
7711 Mon Dec 06 05:26:01 GMT 2010  Olly Betts <olly@survex.com>
7713         * net/replicatetcpclient.cc: Rearrange loop to avoid duplicating code.
7715 Mon Dec 06 01:39:23 GMT 2010  Olly Betts <olly@survex.com>
7717         * queryparser/queryparser.lemony: Fix typo so we test for OP_NEAR or
7718           OP_PHRASE, not twice for OP_NEAR, which fixes a bug with not setting
7719           the correct window size for default_op of OP_PHRASE in some cases.
7720           Factor out the "is_positional(op)" test into an inlined function to
7721           help avoid repeating this error.
7722         * tests/queryparsertest.cc: Add regression test coverage.
7724 Mon Dec 06 01:01:03 GMT 2010  Olly Betts <olly@survex.com>
7726         * tests/queryparsertest.cc: Add coverage for OP_PHRASE as default_op.
7728 Sun Dec 05 12:35:32 GMT 2010  Olly Betts <olly@survex.com>
7730         * weight/bm25weight.cc: Fix calculation order to avoid inconsistent
7731           weights due to rounding when BM25Weight is used with certain
7732           non-default parameter combinations.
7733         * tests/api_backend.cc: Add regression test bm25weight2.
7735 Sun Dec 05 12:10:36 GMT 2010  Olly Betts <olly@survex.com>
7737         * backends/chert/chert_compact.cc: Add FIXME comment regarding
7738           resolve_duplicate_metadata() getting called multiple times for the
7739           same key in multipass mode.
7741 Sun Dec 05 12:09:32 GMT 2010  Olly Betts <olly@survex.com>
7743         * include/xapian/compactor.h: Add documentation comments.
7745 Sun Dec 05 04:54:03 GMT 2010  Olly Betts <olly@survex.com>
7747         * HACKING: Omega now wants libmagic-dev (though it's optional
7748           currently).
7750 Wed Nov 17 10:56:10 GMT 2010  Olly Betts <olly@survex.com>
7752         * examples/quest.cc: Add command line options to allow prefixes to
7753           be specified for the QueryParser.
7755 Tue Nov 09 23:18:36 GMT 2010  Olly Betts <olly@survex.com>
7757         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc,
7758           backends/flint/flint_compact.cc: Fix access to empty priority_queue
7759           while merging synonyms (found with _GLIBCXX_DEBUG).
7761 Tue Nov 09 03:23:49 GMT 2010  Olly Betts <olly@survex.com>
7763         * HACKING: Drop list of platforms valgrind supports, as it takes
7764           effort to keep up to date.  People can check valgrind.org for an
7765           accurate list of currently supported platforms.
7767 Sun Nov 07 14:13:44 GMT 2010  Olly Betts <olly@survex.com>
7769         * api/compactor.cc,backends/brass/brass_compact.cc,
7770           backends/chert/chert_compact.cc,backends/flint/flint_compact.cc,
7771           bin/xapian-compact.cc,include/xapian/compactor.h:
7772           Compactor::resolve_duplicate_metadata() callback method is now passed
7773           an array of std::string plus the array length, which allows for more
7774           efficient merging that the series of pairwise merges which was
7775           required before.
7777 Mon Nov 01 14:47:37 GMT 2010  Richard Boulton <richard@tartarus.org>
7779         * matcher/multimatch.cc,matcher/multixorpostlist.cc,
7780           matcher/multixorpostlist.h: Add debugging to print out the
7781           postlist description after recalculation of maxweight, and to
7782           MultiXorPostList methods.  Fix problem shown by soaktest where
7783           the matcher was not told to recalculate the maxweight after a
7784           MultiXorPostList child reached end, which was causing an
7785           assertion failure in debug builds.  (This could also have been
7786           causing some performance problems, but I have not measurements.)
7788 Mon Nov 01 10:34:30 GMT 2010  Richard Boulton <richard@tartarus.org>
7790         * tests/soaktest/soaktest_queries.cc: Fix compilation: call c_str()
7791           on argument to atoi, now that util.h no longer defines a string
7792           wrapper.
7794 Sun Oct 31 10:51:12 GMT 2010  Olly Betts <olly@survex.com>
7796         * queryparser/queryparser.lemony: Don't delete this in TermGroup, etc
7797           until after we have successfully constructed the Query object to
7798           return to avoid a double free in the Query construction throws an
7799           exception.  Fixes ticket#515.
7801 Fri Oct 29 12:46:15 GMT 2010  Olly Betts <olly@survex.com>
7803         * tests/api_backend.cc: Fix comment typo in previous commit.
7805 Fri Oct 29 12:32:47 GMT 2010  Olly Betts <olly@survex.com>
7807         * matcher/multimatch.cc: Empty query now return MSet with firstitem
7808           set correctly.
7809         * tests/api_backend.cc: Extend msetfirst2 to be a regression test for
7810           this issue too.
7812 Fri Oct 29 12:13:51 GMT 2010  Olly Betts <olly@survex.com>
7814         * api/omenquire.cc: If first is larger than get_doccount() then clamp
7815           it to avid pointlessly trying to allocate far too much memory.
7816         * tests/api_backend.cc: Regression test msetfirst2.
7818 Thu Oct 21 09:38:44 GMT 2010  Richard Boulton <richard@tartarus.org>
7820         * tests/Makefile.am: Add zlib-vg.c to distribution tarballs.
7822 Wed Oct 20 11:38:13 GMT 2010  Olly Betts <olly@survex.com>
7824         * examples/delve.cc: Add '-z' option to count zero-length documents.
7826 Mon Oct 18 10:35:46 GMT 2010  Olly Betts <olly@survex.com>
7828         * bin/xapian-compact.cc: Add --quiet/-q option to suppress progress
7829           output.
7831 Thu Oct 14 03:51:02 GMT 2010  Olly Betts <olly@survex.com>
7833         * tests/api_unicode.cc: Fix typo in previous change.
7835 Thu Oct 14 01:16:31 GMT 2010  Olly Betts <olly@survex.com>
7837         * tests/api_unicode.cc: Expand tested cases to (hopefully) cover all
7838           conditional combinations in unicode/utf8itor.cc.
7840 Mon Oct 11 11:46:30 GMT 2010  Olly Betts <olly@survex.com>
7842         * Makefile.am: Remove xapian-config on "make distclean" rather than
7843           "make clean", since configure builds it.  Never remove man pages
7844           under "make clean".
7846 Mon Oct 11 11:41:32 GMT 2010  Olly Betts <olly@survex.com>
7848         * tests/Makefile.am: Fix typo - CLEAN_FILES should be CLEANFILES.
7849           This means that where zlib-vg.so is used, it now gets cleaned up.
7851 Sun Oct 10 11:00:31 GMT 2010  Olly Betts <olly@survex.com>
7853         * Makefile.am: Fix so coverage-reconfigure-maintainer-mode adds
7854           --enable-maintainer-mode rather than coverage-reconfigure!
7856 Sun Oct 10 10:45:38 GMT 2010  Olly Betts <olly@survex.com>
7858         * Makefile.am: Factor out COVERAGE_CONFIGURE to make future changes
7859           easier.
7861 Sun Oct 10 09:59:01 GMT 2010  Olly Betts <olly@survex.com>
7863         * Makefile.am: Add coverage-reconfigure-maintainer-mode target which
7864           is just like coverage-reconfigure except it also passes
7865           --enable-maintainer-mode.
7867 Sun Oct 10 07:29:23 GMT 2010  Olly Betts <olly@survex.com>
7869         * tests/api_nodb.cc: Check Stem("none") too.  Check
7870           Stem("").get_description().  No need to check a bogus language name
7871           here as stemlangs2 now does that.
7873 Sun Oct 10 07:22:41 GMT 2010  Olly Betts <olly@survex.com>
7875         * tests/api_stem.cc: Test an invalid languages name with each possible
7876           byte value at the start to improve coverage of the switch in
7877           api/stem.cc.
7879 Sun Oct 10 06:14:42 GMT 2010  Olly Betts <olly@survex.com>
7881         * unicode/utf8itor.cc: Correct comments and use bad_cont() in another
7882           place (no change to code once inlining is taken into account).
7884 Sun Oct 10 06:11:05 GMT 2010  Olly Betts <olly@survex.com>
7886         * tests/api_unicode.cc: Improve test coverage for
7887           Utf8Iterator::calculate_sequence_length().
7889 Sun Oct 10 00:33:49 GMT 2010  Olly Betts <olly@survex.com>
7891         * tests/api_unicode.cc: Tweak testcase utf8iterator2 to add coverage
7892           for Utf8Iterator(const char *).
7894 Fri Oct 08 13:10:08 GMT 2010  Olly Betts <olly@survex.com>
7896         * matcher/selectpostlist.cc,matcher/selectpostlist.h: Implement
7897           SelectPostList::check() so that check() on OP_NEAR and OP_PHRASE
7898           subqueries won't end up checking potentially huge numbers of
7899           documents.
7901 Fri Oct 08 12:29:50 GMT 2010  Olly Betts <olly@survex.com>
7903         * tests/api_backend.cc: Add testcase phrase3 to provide coverage for
7904           SelectPostList::skip_to().
7906 Fri Oct 08 10:36:18 GMT 2010  Olly Betts <olly@survex.com>
7908         * matcher/orpostlist.cc,matcher/orpostlist.h: Fix performance
7909           regression in some cases caused by the introduction of
7910           OrPostList::check().
7912 Thu Oct 07 03:53:11 GMT 2010  Olly Betts <olly@survex.com>
7914         * tests/api_anydb.cc: Clear tout before each iteration in scaleweight1.
7916 Wed Oct 06 14:30:34 GMT 2010  Olly Betts <olly@survex.com>
7918         * NEWS: Update from 1.0.22 and ChangeLog.
7920 Wed Oct 06 12:39:36 GMT 2010  Olly Betts <olly@survex.com>
7922         * tests/queryparsertest.cc: Add two more testcases for having a phrase
7923           generator between prefix and term.
7925 Wed Oct 06 12:37:32 GMT 2010  Olly Betts <olly@survex.com>
7927         * include/xapian/matchspy.h,include/xapian/postingsource.h: Remove
7928           "experimental" marker from PostingSource and ValueCountMatchSpy.
7930 Wed Oct 06 12:31:01 GMT 2010  Olly Betts <olly@survex.com>
7932         * docs/index.html: Add links to replication and facets documents, and
7933           fix typo in serialistion document link.
7935 Wed Oct 06 12:12:51 GMT 2010  Olly Betts <olly@survex.com>
7937         * docs/Makefile.am,docs/categorisation.rst,docs/facets.rst: Change the
7938           categorisation document to talk about facets, since that's the
7939           terminology that seems to be most widely used these days, and
7940           "categorisation" can also mean automatically assigning categories to
7941           documents.  Fix up references to features which were removed or
7942           changed during development.
7944 Wed Oct 06 12:11:21 GMT 2010  Olly Betts <olly@survex.com>
7946         * docs/internals.html: Add link to replication protocol.
7948 Wed Oct 06 08:36:50 GMT 2010  Olly Betts <olly@survex.com>
7950         * examples/simplesearch.cc: Fix cut and paste error in usage message.
7952 Wed Oct 06 00:12:40 GMT 2010  Olly Betts <olly@survex.com>
7954         * api/emptypostlist.cc,matcher/queryoptimiser.cc: In the query
7955           optimiser, use value range bounds to check for value ranges which
7956           must be empty.
7957         * tests/api_opvalue.cc: Add testcase valuerange5 to check this
7958           optimisation actually fires.
7960 Tue Oct 05 03:43:02 GMT 2010  Olly Betts <olly@survex.com>
7962         * examples/simplesearch.cc: Fix cut-and-paste error - --version now
7963           reports simplesearch not simpleexpand.
7965 Tue Oct 05 03:41:48 GMT 2010  Olly Betts <olly@survex.com>
7967         * docs/categorisation.rst: Update to use the current ValueCountMatchSpy
7968           API.
7970 Fri Oct 01 09:53:50 GMT 2010  Olly Betts <olly@survex.com>
7972         * configure.ac: Simplify defaulting enable_documentation a little.
7974 Fri Oct 01 09:29:03 GMT 2010  Olly Betts <olly@survex.com>
7976         * configure.ac: Default enable_sse to yes to fix build on x86.
7978 Fri Oct 01 09:10:34 GMT 2010  Olly Betts <olly@survex.com>
7980         * configure.ac: Fix typo in SSE handling code which stopped it
7981           defaulting as intended.
7983 Fri Oct 01 02:00:49 GMT 2010  Olly Betts <olly@survex.com>
7985         * NEWS: Update from ChangeLog.
7987 Fri Oct 01 01:54:41 GMT 2010  Olly Betts <olly@survex.com>
7989         * backends/Makefile.mk,backends/brass/brass_compact.cc,
7990           backends/byte_length_strings.h,backends/chert/chert_compact.cc,
7991           backends/flint/flint_compact.cc: Factor out 3 copies of
7992           ByteLengthPrefixedStringItor and ByteLengthPrefixedStringItorGt into
7993           their own file.
7995 Fri Oct 01 01:28:57 GMT 2010  Olly Betts <olly@survex.com>
7997         * backends/Makefile.mk,backends/brass/brass_compact.cc,
7998           backends/brass/brass_spelling.cc,backends/chert/chert_compact.cc,
7999           backends/chert/chert_spelling.cc,backends/flint/flint_compact.cc,
8000           backends/flint/flint_spelling.cc,
8001           backends/prefix_compressed_strings.h: Factor out 6 copies of
8002           PrefixCompressedStringItor and PrefixCompressedStringWriter and 3
8003           copies of PrefixCompressedStringItorGt into their own file.
8005 Thu Sep 30 15:28:49 GMT 2010  Olly Betts <olly@survex.com>
8007         * NEWS: Update from ChangeLog.
8009 Thu Sep 30 15:26:52 GMT 2010  Olly Betts <olly@survex.com>
8011         * api/compactor.cc: Need utils.h for stat with a std::string argument.
8013 Thu Sep 30 15:23:50 GMT 2010  Olly Betts <olly@survex.com>
8015         * tests/api_compact.cc: Remove unwanted check left over from cut and
8016           pasting code from a previous testcase.
8018 Thu Sep 30 15:21:02 GMT 2010  Olly Betts <olly@survex.com>
8020         * tests/api_compact.cc: Convert compaction tests to use the new API.
8022 Thu Sep 30 14:54:27 GMT 2010  Olly Betts <olly@survex.com>
8024         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc,
8025           backends/flint/flint_compact.cc: Correct filenames in @file doxygen
8026           comments.
8028 Thu Sep 30 14:46:02 GMT 2010  Olly Betts <olly@survex.com>
8030         * api/compactor.cc: Use the ChertVersion, etc classes to make sure that
8031           the new database has a new UUID rather than creating a "donor"
8032           database and then stealing its version/uuid file.
8034 Thu Sep 30 14:33:46 GMT 2010  Olly Betts <olly@survex.com>
8036         * api/Makefile.mk,api/compactor.cc,backends/brass/Makefile.mk,
8037           backends/brass/brass_compact.cc,backends/brass/brass_compact.h,
8038           backends/chert/Makefile.mk,backends/chert/chert_compact.cc,
8039           backends/chert/chert_compact.h,backends/flint/Makefile.mk,
8040           backends/flint/flint_compact.cc,backends/flint/flint_compact.h,bin/,
8041           include/Makefile.mk,include/xapian.h,include/xapian/compactor.h:
8042           Convert compaction code into a Xapian::Compactor class, and make
8043           xapian-compact a simple wrapper around this new class.  (ticket#175)
8045 Thu Sep 30 06:16:11 GMT 2010  Olly Betts <olly@survex.com>
8047         * bin/: Eliminate uses of <iostream> in bin/xapian-compact-*.cc.
8049 Thu Sep 30 05:44:06 GMT 2010  Olly Betts <olly@survex.com>
8051         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc,
8052           bin/xapian-compact-flint.cc: Fix indentation of table data
8053           arrays.
8055 Thu Sep 30 05:32:44 GMT 2010  Olly Betts <olly@survex.com>
8057         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Only
8058           skip producing an output table when there are only some inputs
8059           for the termlist - for spellings and synonyms, we want to produce
8060           an output in this case.
8061         * tests/api_compact.cc: Add regression test compactmissingtables1.
8063 Wed Sep 29 11:13:18 GMT 2010  Olly Betts <olly@survex.com>
8065         * common/document.h: Initialise docid to 0 when creating a document
8066           from scratch, as documented.
8067         * tests/api_none.cc: Add regression test document2.
8068         * include/xapian/document.h: Document that return value is unreliable
8069           in this case prior to the next 1.0 and 1.2 releases.
8071 Wed Sep 29 07:06:10 GMT 2010  Olly Betts <olly@survex.com>
8073         * configure.ac: FreeBSD and OpenBSD don't need explicit dependency
8074           libraries, so set link_all_deplibs_CXX=no there.
8076 Wed Sep 29 07:04:20 GMT 2010  Olly Betts <olly@survex.com>
8078         * xapian-config.in: Just check @link_all_deplibs_CXX@ which we adjust
8079           in configure rather than duplicating configure's list of platforms
8080           where explicit dependencies aren't required.
8082 Mon Sep 27 04:28:46 GMT 2010  Olly Betts <olly@survex.com>
8084         * bin/xapian-compact.cc: Convert error messages to stdout/stderr to
8085           exceptions, in preparation for turning this into an API class.
8087 Mon Sep 27 03:50:54 GMT 2010  Olly Betts <olly@survex.com>
8089         * bin/xapian-compact.cc: Add support for compacting to a stub database,
8090           which can be one of the inputs (for atomic update).
8091         * tests/api_compact.cc: Add testcases compactstub3 and compactstub4 as
8092           feature tests for this.
8094 Mon Sep 27 03:50:00 GMT 2010  Olly Betts <olly@survex.com>
8096         * tests/api_compact.cc: Suppress output from xapian-compact in
8097           compactstub2 (which I'd disabled for debugging).
8099 Sun Sep 26 13:59:20 GMT 2010  Olly Betts <olly@survex.com>
8101         * bin/xapian-compact.cc: Extend to work on stub database files too.
8102         * tests/api_compact.cc: Add feature test compactstub2.
8104 Sun Sep 26 13:28:45 GMT 2010  Olly Betts <olly@survex.com>
8106         * bin/xapian-compact.cc: Inputs can now be stub database directories,
8107           in which case the databases in the stub are used as inputs.
8108         * tests/api_compact.cc: Add feature test compactstub1.
8110 Sun Sep 26 11:11:49 GMT 2010  Olly Betts <olly@survex.com>
8112         * xapian-config.in: Add --static option which makes other options
8113           report values for static linking.
8115 Tue Sep 21 10:43:17 GMT 2010  Olly Betts <olly@survex.com>
8117         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow phrase
8118           generators between a probabilistic prefix and the term itself.
8120 Thu Sep 09 11:18:47 GMT 2010  Olly Betts <olly@survex.com>
8122         * INSTALL: Raise recommended GCC version from 3.3 to 4.1, since that's
8123           the oldest we regularly test with.
8125 Thu Sep 09 11:14:03 GMT 2010  Olly Betts <olly@survex.com>
8127         * HACKING: Debian etch was discontinued 6 months ago, so it's no longer
8128           useful to document packages for developing Xapian on it.
8130 Thu Sep 09 03:15:00 GMT 2010  Olly Betts <olly@survex.com>
8132         * docs/deprecation.rst: Actually write down our guidelines for
8133           supporting other software.
8135 Thu Sep 09 00:20:16 GMT 2010  Olly Betts <olly@survex.com>
8137         * docs/replication.rst: Adjust text to reflect conclusions about the
8138           issues in ticket#434.
8140 Thu Sep 09 00:10:03 GMT 2010  Olly Betts <olly@survex.com>
8142         * docs/replication.rst: Don't suggest using a symlink to switch between
8143           databases - a stub database is much better.
8145 Thu Sep 09 00:07:02 GMT 2010  Olly Betts <olly@survex.com>
8147         * docs/replication.rst: Assume xapian tools are installed on PATH not
8148           in the current directory for example commands.
8150 Thu Sep 09 00:05:22 GMT 2010  Olly Betts <olly@survex.com>
8152         * docs/replication.rst: Fix a typo.
8154 Mon Sep 06 07:10:02 GMT 2010  Olly Betts <olly@survex.com>
8156         * configure.ac: Add support for --enable-sse=sse and --enable-sse=sse2
8157           to allow control of which SSE instructions to use.
8159 Fri Sep 03 13:08:53 GMT 2010  Richard Boulton <richard@tartarus.org>
8161         * bin/xapian-replicate.cc: If a fullcopy was attempted, but was not
8162           put live, display an explanatory message (if verbose is true).
8164 Fri Sep 03 05:54:09 GMT 2010  Olly Betts <olly@survex.com>
8166         * backends/chert/chert_modifiedpostlist.h,
8167           backends/flint/flint_modifiedpostlist.h,tests/: Fixes required to
8168           build on OpenBSD 4.5 with GCC 3.3.5.
8170 Tue Aug 31 14:37:44 GMT 2010  Olly Betts <olly@survex.com>
8172         * include/xapian/queryparser.h: Document cases where FLAG_WILDCARD and
8173           FLAG_PARTIAL aren't currently supported.
8175 Mon Aug 30 06:27:46 GMT 2010  Olly Betts <olly@survex.com>
8177         * configure.ac: Actaully make autoconf 2.64 a hard minimum requirement
8178           (as HACKING already documented).
8179         * HACKING,NEWS,configure.ac: autoconf 2.67 is now used to bootstrap.
8181 Mon Aug 30 06:26:03 GMT 2010  Olly Betts <olly@survex.com>
8183         * NEWS: Update from ChangeLog.
8185 Mon Aug 30 06:04:13 GMT 2010  Olly Betts <olly@survex.com>
8187         * configure.ac: Enable use of SSE maths on x86 by default with Sun's
8188           compiler.
8190 Sat Aug 28 16:04:45 GMT 2010  Olly Betts <olly@survex.com>
8192         * api/omdatabase.cc,include/xapian/queryparser.h,
8193           tests/harness/backendmanager.h: None of the workarounds we have
8194           which are conditional on __SUNPRO_CC are needed with Sun C++
8195           version 5.8, so only enable them for older versions (which will
8196           mean we can drop these workarounds with confidence once older
8197           versions are dropped by Sun/Oracle, or once we can find out that
8198           they have been - currently all I've managed to discover is that
8199           version 5.0 reached "end of service life" in 6/2006).
8201 Sat Aug 28 15:33:14 GMT 2010  Olly Betts <olly@survex.com>
8203         * configure.ac,tests/api_replicate.cc: Solaris < 10 doesn't have
8204           setenv() so we have to use putenv() there.  And the value we set
8205           XAPIAN_MAX_CHANGESETS to is always constant currently, so set it
8206           using constant strings generated by a macro.
8208 Sat Aug 28 12:35:25 GMT 2010  Olly Betts <olly@survex.com>
8210         * configure.ac: Beef up the test for whether -lm is required and add
8211           a special case to force it to be for Sun's C++ compiler - there's
8212           some interaction with libtool and/or shared objects which means
8213           that the configure test doesn't think -lm is needed here when it
8214           is.
8216 Sat Aug 28 10:59:11 GMT 2010  Olly Betts <olly@survex.com>
8218         * api/matchspy.cc,common/const_database_wrapper.cc,net/tcpclient.cc,
8219           tests/api_replicate.cc,tests/harness/backendmanager_remotetcp.cc,
8220           tests/harness/testsuite.cc,tests/perftest/runprocess.cc,
8221           unicode/utf8itor.cc: Fix to compile with Sun C++.
8223 Sat Aug 28 10:30:08 GMT 2010  Olly Betts <olly@survex.com>
8225         * HACKING,PLATFORMS: Move PLATFORMS information to the wiki and replace
8226           with a pointer.
8228 Sat Aug 28 03:15:47 GMT 2010  Olly Betts <olly@survex.com>
8230         * matcher/queryoptimiser.cc: Need to avoid excess precision on m68k
8231           when targeting models 68010, 68020, 68030 as well as 68000.
8233 Tue Aug 24 05:54:27 GMT 2010  Olly Betts <olly@survex.com>
8235         * configure.ac: Update for 1.2.3.
8237 Tue Aug 24 05:52:47 GMT 2010  Olly Betts <olly@survex.com>
8239         * NEWS: Update from ChangeLog.
8241 Mon Aug 16 16:46:19 GMT 2010  Olly Betts <olly@survex.com>
8243         * common/closefrom.cc: Use /dev/fd on Mac OS X.
8245 Mon Aug 16 16:18:26 GMT 2010  Olly Betts <olly@survex.com>
8247         * common/closefrom.cc: Need safeerrno.h and safeunistd.h on non-Linux
8248           platforms too.
8250 Mon Aug 16 15:47:48 GMT 2010  Olly Betts <olly@survex.com>
8252         * backends/flint_lock.cc,common/Makefile.mk,common/closefrom.cc,
8253           common/closefrom.h,configure.ac,net/progclient.cc: Use closefrom()
8254           if available, otherwise provide our own implementation (optimised
8255           to some extent for many platforms).
8257 Sun Aug 15 12:43:04 GMT 2010  Olly Betts <olly@survex.com>
8259         * AUTHORS: Update.
8261 Sun Aug 15 12:11:26 GMT 2010  Olly Betts <olly@survex.com>
8263         * xapian-core.spec.in: Update BuildRequires to specify libuuid-devel
8264           instead of e2fsprogs-devel.
8266 Sun Aug 15 11:30:05 GMT 2010  Olly Betts <olly@survex.com>
8268         * HACKING,INSTALL,common/safeuuid.h,common/win32_uuid.cc,
8269           common/win32_uuid.h,configure.ac: libuuid moved from e2fsprogs to
8270           util-linux-ng about a year ago, so update documentation, comments,
8271           and configure error messages to reflect this.  Issue reported by
8272           David Jeske on xapian-devel list.
8274 Sun Aug 15 07:58:51 GMT 2010  Olly Betts <olly@survex.com>
8276         * tests/harness/backendmanager_remotetcp.cc: Under __WIN32__, we need
8277           <io.h> for _open_osfhandle() (ticket#495).
8279 Sun Aug 15 07:10:25 GMT 2010  Olly Betts <olly@survex.com>
8281         * common/realtime.h: MSVC doesn't cope with a prototype at function
8282           scope with a global namespace qualification (ticket#495).
8284 Wed Aug 04 10:44:08 GMT 2010  Olly Betts <olly@survex.com>
8286         * backends/flint_lock.cc,backends/multi/multi_alltermslist.cc,
8287           bin/xapian-chert-update.cc,queryparser/termgenerator.cc,
8288           queryparser/termgenerator_internal.cc: Fix more incorrect @file
8289           directives.
8291 Wed Aug 04 09:19:10 GMT 2010  Olly Betts <olly@survex.com>
8293         * matcher/localsubmatch.h,queryparser/termgenerator_internal.h: Fix
8294           incorrect @file doxygen directives.
8296 Tue Aug 03 14:42:56 GMT 2010  Olly Betts <olly@survex.com>
8298         * tests/harness/fdtracker.h: Fix filename in @file.
8300 Tue Aug 03 14:32:45 GMT 2010  Olly Betts <olly@survex.com>
8302         * common/contiguousalldocspostlist.h,common/unaligned.h: Fix include
8303           guards to match header filename (cosmetic issues only).
8305 Mon Aug 02 12:38:59 GMT 2010  Olly Betts <olly@survex.com>
8307         * backends/brass/brass_table.cc,backends/brass/brass_values.cc,
8308           backends/chert/chert_table.cc,backends/chert/chert_values.cc,
8309           backends/flint/flint_alldocspostlist.cc,
8310           backends/remote/remote-document.cc,matcher/multimatch.cc,
8311           matcher/remotesubmatch.cc,net/progclient.cc: Use new Literal()
8312           feature in debug logging of function calls.
8314 Mon Aug 02 12:08:42 GMT 2010  Olly Betts <olly@survex.com>
8316         * common/pretty.h: Add Literal() class to allow bypassing the pretty
8317           printer for interspersing literal strings.
8319 Sun Aug 01 10:19:38 GMT 2010  Olly Betts <olly@survex.com>
8321         * api/omdatabase.cc: Database::get_spelling_suggestion() will now
8322           suggest a correction even if the passed word is in the dictionary,
8323           provided the correction has at least the same frequency.  Partly
8324           addresses #225.
8325         * queryparser/queryparser.lemony: Check spelling even if term is in
8326           the database.
8327         * docs/spelling.rst: Update to reflect these changes.
8328         * tests/api_spelling.cc,tests/queryparsertest.cc: Add test coverage for
8329           these changes.
8331 Tue Jul 27 15:24:56 GMT 2010  Tim Brody <tdb2@ecs.soton.ac.uk>
8333         * xapian-core.spec.in: Add xapian-metadata and cmake related files to
8334           RPM packaging.
8336 Thu Jul 22 07:13:12 GMT 2010  Olly Betts <olly@survex.com>
8338         * net/remoteconnection.cc: Wrap line.
8340 Thu Jul 22 07:11:23 GMT 2010  Olly Betts <olly@survex.com>
8342         * common/remoteserver.h,net/remoteserver.cc: Pass 1.0 for the end time
8343           when relaying a NetworkTimeoutError, not RealTime::now() - any time
8344           in the past will do, we just want the operation to time out if it
8345           would block.  Removed related FIXME which is already resolved.
8347 Wed Jul 21 18:00:08 GMT 2010  Olly Betts <olly@survex.com>
8349         * unicode/tclUniData.cc: Fix comment - this is Unicode 5.2 data, not
8350           5.1.
8352 Thu Jul 15 13:45:05 GMT 2010  Olly Betts <olly@survex.com>
8354         * common/realtime.h:Explicitly specify global namespace for
8355           xapian_sleep_milliseconds prototype as MSVC seems to need this.
8357 Thu Jul 15 13:03:13 GMT 2010  Olly Betts <olly@survex.com>
8359         * queryparser/queryparser.lemony: Fix handling of groups of terms which
8360           are all stopwords - in situations where this causes a problem we now
8361           disable stopword checks for such groups.  (ticket#245)
8362         * tests/queryparsertest.cc: Add regression testcases.
8364 Thu Jul 15 08:13:03 GMT 2010  Olly Betts <olly@survex.com>
8366         * common/fileutils.cc: Fix reversed memcmp() test.
8368 Sun Jul 11 14:59:06 GMT 2010  Olly Betts <olly@survex.com>
8370         * common/fileutils.cc: Factor out UNCW path check into a helper
8371           function.
8373 Sun Jul 11 14:56:27 GMT 2010  Olly Betts <olly@survex.com>
8375         * common/fileutils.cc,tests/Makefile.am,tests/unittest.cc: Move the
8376           tests of resolve_relative_path() into a new "unittest" program so
8377           they actually are run by "make check".  (ticket#243)
8379 Sun Jul 11 13:14:24 GMT 2010  Olly Betts <olly@survex.com>
8381         * common/fileutils.cc: Support the \\?\ path syntax.
8383 Sat Jul 10 15:49:08 GMT 2010  Olly Betts <olly@survex.com>
8385         * common/fileutils.cc,common/fileutils.h: Fix resolve_relative_path()
8386           to handle UNC paths.
8388 Sat Jul 10 15:27:48 GMT 2010  Olly Betts <olly@survex.com>
8390         * common/fileutils.cc: -D__WIN32__ on the g++ command line works for
8391           testing on Linux, so no need to have that in the code.  Add a couple
8392           of UNC path test cases which pass, and a commented-out one which
8393           fails.
8395 Sat Jul 10 14:58:35 GMT 2010  Olly Betts <olly@survex.com>
8397         * common/fileutils.cc,common/fileutils.h: We use these routines to
8398           resolve a relative path (in a stub database file) in terms of a
8399           second path (the filename of that file), so just instead a
8400           routine to do exactly that, which is easier to code and more
8401           efficient.  The new implementation fixes several bugs with
8402           Microsoft Windows paths.  Some testcases (currently not used)
8403           are now present in fileutils.cc (ticket#243).
8404         * backends/dbfactory.cc: Use the new API.
8406 Fri Jul 09 07:42:31 GMT 2010  Olly Betts <olly@survex.com>
8408         * tests/perftest/perftest.cc: I missed a use of atoi() on std::string
8409           but just call .cstr() on the string instead of dragging in utils.h.
8411 Fri Jul 09 04:39:40 GMT 2010  Olly Betts <olly@survex.com>
8413         * common/utils.cc,common/utils.h: Remove unused std::string to const
8414           char * wrappers for standard functions, and remove the only use of
8415           rmdir()'s wrapper.
8417 Thu Jul 08 15:18:04 GMT 2010  Olly Betts <olly@survex.com>
8419         * api/omenquire.cc: Xapian::ESet is a reference counted handle, so it
8420           is efficient to return by value - remove FIXME which suggests we
8421           should avoid doing so.
8423 Thu Jul 08 15:17:20 GMT 2010  Olly Betts <olly@survex.com>
8425         * api/omqueryinternal.cc: Update FIXMEs - it's too late to fix stuff
8426           in 1.1.x!
8428 Thu Jul 08 15:13:47 GMT 2010  Olly Betts <olly@survex.com>
8430         * api/omenquire.cc: Remove FIXMEs about debug logging which have been
8431           addressed by the fairly recent debug logging improvements.
8433 Thu Jul 08 15:07:07 GMT 2010  Olly Betts <olly@survex.com>
8435         * api/keymaker.cc: Fix comment typos.
8437 Thu Jul 08 14:50:59 GMT 2010  Olly Betts <olly@survex.com>
8439         * api/replication.cc,backends/brass/,backends/chert/,
8440           backends/dbfactory_remote.cc,backends/flint/,
8441           backends/remote/remote-database.cc,bin/xapian-progsrv.cc,
8442           bin/xapian-tcpsrv.cc,common/,net/,tests/perftest/perftest.cc,
8443           tests/perftest/perftest.h: Replace use of OmTime with a double
8444           holding a count in seconds since the epoch.
8446 Thu Jul 08 12:35:40 GMT 2010  Olly Betts <olly@survex.com>
8448         * net/tcpclient.cc: Retry select() if it fails with EINTR while waiting
8449           for connect(), and discriminate cases with same failure message to
8450           aid debugging.
8452 Thu Jul 08 05:09:18 GMT 2010  Olly Betts <olly@survex.com>
8454         * queryparser/queryparser.lemony: Remove comment left over from the
8455           "boolean exclusive" work.
8457 Wed Jul 07 13:18:17 GMT 2010  Olly Betts <olly@survex.com>
8459         * include/xapian/types.h: Fix documentation comment for Xapian::timeout
8460           type - it holds a time interval in milliseconds not microseconds
8461           (the API docs for the methods which use it explicitly document this
8462           correctly).
8464 Tue Jul 06 15:17:09 GMT 2010  Olly Betts <olly@survex.com>
8466         * tests/queryparsertest.cc: Fix formatting.
8468 Tue Jul 06 14:13:03 GMT 2010  Olly Betts <olly@survex.com>
8470         * tests/perftest/perftest.cc: Use str(OmTime::as_double()) rather than
8471           trying to assemble a string of a floating point number from strings
8472           of the sec and usec values.
8474 Tue Jul 06 14:03:30 GMT 2010  Olly Betts <olly@survex.com>
8476         * common/debuglog.h,common/remote-database.h: Remove unused '#include
8477           "omtime.h"'.
8478         * backends/remote/remote-database.cc: Add explicit '#include
8479           "omtime.h"'.
8481 Mon Jul 05 11:40:42 GMT 2010  Olly Betts <olly@survex.com>
8483         * queryparser/queryparser.lemony: Restore iterator to start of
8484           where we tried to parse a range if we decide it might be a filter
8485           term instead.  Clear the error if we decide it is a filter.
8486         * tests/queryparsertest.cc: Fix expected test output from
8487           qp_value_range4 testcase.
8489 Mon Jul 05 06:46:16 GMT 2010  Olly Betts <olly@survex.com>
8491         * queryparser/queryparser.lemony: Fix to be smarter about handling a
8492           boolean filter term containing ".." in the presence of
8493           valuerangeprocessors.
8494         * tests/queryparsertest.cc: Add regression test qp_value_range4.
8496 Mon Jul 05 04:10:08 GMT 2010  Olly Betts <olly@survex.com>
8498         * queryparser/queryparser.lemony,queryparser/queryparser.lt: Clean up
8499           how value ranges are handled to do the checking of the range in the
8500           lexer, which then passes a single token (RANGE) to the parser
8501           (instead of a RANGE_START token which is always followed by a
8502           RANGE_END token).
8504 Fri Jul 02 12:32:37 GMT 2010  Olly Betts <olly@survex.com>
8506         * configure.ac: Don't pass -mtune=generic unless GCC >= 4.2 is in use
8507           (ticket#492).
8509 Wed Jun 30 10:54:15 GMT 2010  Olly Betts <olly@survex.com>
8511         * backends/brass/brass_postlist.cc: Remove unnecessary NULL check.
8512           Identified by Coverity's Scan.
8513         * backends/chert/chert_postlist.cc: Same change for chert.
8515 Tue Jun 29 12:17:16 GMT 2010  Olly Betts <olly@survex.com>
8517         * backends/brass/brass_chunkedlisttable.h,
8518           backends/chert/chert_chunkedlisttable.h: Remove unused files.
8520 Sun Jun 27 04:31:06 GMT 2010  Olly Betts <olly@survex.com>
8522         * NEWS: Update for 1.2.2.
8524 Sun Jun 27 04:22:28 GMT 2010  Olly Betts <olly@survex.com>
8526         * examples/delve.cc: Show the database's UUID.
8528 Sun Jun 27 03:30:16 GMT 2010  Olly Betts <olly@survex.com>
8530         * NEWS.SKELETON: Add "tools" section.
8532 Sun Jun 27 03:03:57 GMT 2010  Olly Betts <olly@survex.com>
8534         * configure.ac: Update for 1.2.2.
8536 Sat Jun 26 15:55:45 GMT 2010  Olly Betts <olly@survex.com>
8538         * NEWS: Create from ChangeLog.
8540 Sat Jun 26 15:36:37 GMT 2010  Olly Betts <olly@survex.com>
8542         * NEWS.SKELETON: Add template for NEWS entry.
8544 Sat Jun 26 11:09:03 GMT 2010  Olly Betts <olly@survex.com>
8546         * backends/brass/brass_table.cc: Sync the table right after the base
8547           file, which allows more time for the table changes to be written,
8548           and doing the sync together may be more efficient with some Linux
8549           kernel versions.
8550         * backends/chert/chert_table.cc: Same change for chert.
8552 Sat Jun 26 06:46:39 GMT 2010  Olly Betts <olly@survex.com>
8554         * HACKING: Reorder the release checklist.
8556 Thu Jun 24 08:03:18 GMT 2010  Olly Betts <olly@survex.com>
8558           bin/xapian-check.cc: Don't try to check doclengths are consistent
8559           between the postlist and termlist tables if it would use more than
8560           1GB of memory, and handle std::bad_alloc or std::length_error.  This
8561           issue affects sup users, as sup allocates docids such that they are
8562           sparse and large docids can easily occur.
8564 Wed Jun 23 15:38:25 GMT 2010  Olly Betts <olly@survex.com>
8566         * include/xapian/weight.h: Revert Xapian::Weight's copy ctor back
8567           to protected as GCC 4.1 fails to compile subclasses when it is
8568           private (this appears to be a compiler bug).
8570 Wed Jun 23 07:31:19 GMT 2010  Olly Betts <olly@survex.com>
8572         * AUTHORS: Thank people who reported bugs fixed in 1.2.1.
8574 Wed Jun 23 06:52:54 GMT 2010  Olly Betts <olly@survex.com>
8576         * xapian-core.spec.in: Update for 1.2.x - add e2fsprogs-devel to
8577           BuildRequires and add new files.
8579 Wed Jun 23 05:00:34 GMT 2010  Olly Betts <olly@survex.com>
8581         * HACKING: Wording tweak.
8583 Wed Jun 23 04:11:30 GMT 2010  Olly Betts <olly@survex.com>
8585         * tests/harness/testsuite.cc: Need <cstdio> for sprintf().  Fixes
8586           compilation error for some platforms and/or compilers (my guess would
8587           be GCC 4.5 - it builds OK with GCC 4.4).  (ticket#489)
8589 Tue Jun 22 14:45:37 GMT 2010  Olly Betts <olly@survex.com>
8591         * NEWS,configure.ac: Update for 1.2.1.
8593 Mon Jun 21 16:00:22 GMT 2010  Olly Betts <olly@survex.com>
8595         * NEWS: Sync with 1.0.21 and update from ChangeLog.
8597 Mon Jun 21 15:15:50 GMT 2010  Olly Betts <olly@survex.com>
8599         * tests/api_replicate.cc: Unix putenv() requires the buffer passed to
8600           remain valid, as it stores it directly in the environment.  It's
8601           unclear from MSDN if _putenv() does the same, but _putenv_s() must
8602           allocate a copy since it needs to have an '=' in, so use that
8603           instead.  It also has an interface much like setenv(), so the code
8604           looks more similar.
8606 Mon Jun 21 06:07:42 GMT 2010  Olly Betts <olly@survex.com>
8608         * queryparser/queryparser.cc: Add missing const.
8610 Mon Jun 21 05:21:32 GMT 2010  Olly Betts <olly@survex.com>
8612         * queryparser/queryparser.cc: Update to match header ABI fix.
8614 Mon Jun 21 03:52:41 GMT 2010  Olly Betts <olly@survex.com>
8616         * include/xapian/queryparser.h: QueryParser::add_boolean_prefix() now
8617           uses two overloaded forms instead of a default parameter so that we
8618           don't break the ABI.
8620 Fri Jun 18 16:56:59 GMT 2010  Olly Betts <olly@survex.com>
8622         * AUTHORS: Add 1.0.21 bug reporters.
8624 Fri Jun 18 05:52:00 GMT 2010  Olly Betts <olly@survex.com>
8626         * include/xapian/queryparser.h,queryparser/queryparser.cc,
8627           queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
8628           Add new optional parameter to QueryParser::add_boolean_prefix() to
8629           allow the user to indicate a prefix isn't "exclusive" and that
8630           OP_AND should be used to combine multiple instances.  Fixes
8631           ticket#402.  This change should also improve efficiency as it
8632           avoids copying the lists of prefixes and compares them more
8633           efficiently.
8635 Fri Jun 18 02:51:11 GMT 2010  Olly Betts <olly@survex.com>
8637         * include/xapian/queryparser.h: Fix doccomment typo.
8639 Thu Jun 17 14:04:35 GMT 2010  Olly Betts <olly@survex.com>
8641         * include/xapian/weight.h: Xapian::Weight's copy ctor is now
8642           private rather than protected.  This is an API and ABI compatible
8643           change since there's no definition so a subclass which tried to
8644           access it before would fail to link.
8646 Thu Jun 17 13:00:47 GMT 2010  Olly Betts <olly@survex.com>
8648         * queryparser/queryparser.lemony: Missing changes from previous commit.
8650 Thu Jun 17 11:37:30 GMT 2010  Olly Betts <olly@survex.com>
8652         * api/valuerangeproc.cc: Add support for open-ended ranges
8653           (ticket#480).
8654         * docs/queryparser.html,docs/valueranges.rst: Document.
8655         * tests/queryparsertest.cc: Add feature tests.
8657 Thu Jun 17 06:15:24 GMT 2010  Olly Betts <olly@survex.com>
8659         * queryparser/queryparser.lemony: Switch out of IN_GROUP mode when we
8660           emit a WILDCARD.  Fixeds bug#484.
8661         * tests/queryparsertest.cc: Add regression testcase to wildcard1.
8663 Thu Jun 17 02:42:16 GMT 2010  Olly Betts <olly@survex.com>
8665         * tests/api_backend.cc: Rename failedadd1 to failedreplace1 as it's the
8666           replace which fails really.  Add failedreplace2 which adds explicit
8667           coverage for the case of a failed replace when the database isn't
8668           empty to start with.
8670 Tue Jun 15 12:45:36 GMT 2010  Olly Betts <olly@survex.com>
8672         * include/xapian/queryparser.h: Note in the description of
8673           set_database() what the database is used for.
8675 Tue Jun 15 12:26:12 GMT 2010  Olly Betts <olly@survex.com>
8677         * include/xapian/queryparser.h: Fix formatting of bullet list.
8679 Mon Jun 14 17:02:10 GMT 2010  Olly Betts <olly@survex.com>
8681         * backends/brass/brass_table.cc,backends/chert/chert_table.cc,
8682           backends/flint/flint_table.cc: cancel() now marks the Btree as
8683           unmodified.
8684         * tests/api_backend.cc: Add regression test failedadd1.
8686 Sun Jun 13 16:07:49 GMT 2010  Olly Betts <olly@survex.com>
8688         * common/Makefile.mk,common/safeuuid.h,configure.ac: Fix mingw build to
8689           use __WIN32__ UUID API.
8691 Sun Jun 13 12:25:24 GMT 2010  Olly Betts <olly@survex.com>
8693         * tests/perftest/freemem.cc: Fix whitespace to match Omega's version.
8695 Sun Jun 13 11:52:24 GMT 2010  Olly Betts <olly@survex.com>
8697         * tests/perftest/freemem.cc: Merge in changes from omega's version.
8698           Clean up whitespace issues.  Put the __WIN32__ case last, as we
8699           tend to elsewhere (since most people reading the code probably
8700           want to see the other version).
8702 Sun Jun 13 11:32:30 GMT 2010  Olly Betts <olly@survex.com>
8704         * tests/perftest/perftest.cc: "MSWin32" isn't the OS name.  Also,
8705           prefer += to build up a string.
8707 Sat Jun 12 09:31:28 GMT 2010  Olly Betts <olly@survex.com>
8709         * tests/api_percentages.cc: Note that 1.0.x returned 4% for the top hit
8710           in topercent5, so checking it gets at least 50% is a regression test
8711           for that issue.
8713 Fri Jun 11 15:38:26 GMT 2010  Olly Betts <olly@survex.com>
8715         * configure.ac: -march=pentium4 doesn't seem to give a measurable
8716           speed-up or size reduction (from Richard's tests) and it carries a
8717           small risk of introducing instructions which don't work on some
8718           obscure CPU which implements SSE2, so drop it.
8720 Fri Jun 11 15:25:16 GMT 2010  Olly Betts <olly@survex.com>
8722         * weight/bm25weight.cc: Stop forcing the wdf_max value to be at least
8723           one in BM25Weight::get_maxpart() - this is no longer needed now we
8724           calculate percentages based on the number of matching subqueries, and
8725           it is more natural for a non-existent term to get zero weight (ditto
8726           for a term which always has wdf = 0.
8727         * tests/api_anydb.cc: Change qterminfo1 to check that a non-existent
8728           term gets zero weight (previously we checked that it got a non-zero
8729           weight, but really we want to ensure that it contributes to
8730           percentage calculations, which new test topercent5 now does).
8732 Fri Jun 11 15:19:29 GMT 2010  Olly Betts <olly@survex.com>
8734         * tests/api_percentages.cc: Add topercent5 testcase which checks that
8735           an OR search including an non-existent term doesn't get 100%, and
8736           that the non-existent term doesn't score more than terms which do
8737           exist.
8739 Fri Jun 11 14:15:07 GMT 2010  Olly Betts <olly@survex.com>
8741         * matcher/queryoptimiser.cc: When using SSE FP instructions on x86 we
8742           can disable the use of volatile since there are no excess precision
8743           issues to work around.
8745 Fri Jun 11 08:21:04 GMT 2010  Olly Betts <olly@survex.com>
8747         * configure.ac: Put SSE flags in AM_CXXFLAGS not CXXFLAGS.
8749 Fri Jun 11 07:08:01 GMT 2010  Olly Betts <olly@survex.com>
8751         * configure.ac: Default to building with SSE FP instructions for x86.
8752           This avoids issues with excess precision and it a bit faster too.
8753           Should fix ticket#487.
8755 Thu Jun 10 15:15:33 GMT 2010  Olly Betts <olly@survex.com>
8757         * NEWS: Update from ChangeLog.
8759 Thu Jun 10 15:00:12 GMT 2010  Olly Betts <olly@survex.com>
8761         * HACKING: Capitalise "Fedora".
8763 Thu Jun 10 11:27:18 GMT 2010  Olly Betts <olly@survex.com>
8765         * INSTALL: Reword UUID section - list platforms where we make use of
8766           built-in APIs first, give the URL for e2fsprogs home page, and
8767           give the package name for Debian and Ubuntu.
8769 Thu Jun 10 01:08:21 GMT 2010  Olly Betts <olly@survex.com>
8771         * HACKING: libtool 2.2.10 used for snapshots and releases now.
8773 Thu Jun 10 00:21:49 GMT 2010  Olly Betts <olly@survex.com>
8775         * configure.ac,include/xapian/version_h.cc,
8776           include/xapian/visibility.h: We do need to have the visibility
8777           annotations on for code compiling against the library, so substitute
8778           the probed value of XAPIAN_ENABLE_VISIBILITY into <xapian/version.h>
8779           so it is available.
8781 Wed Jun 09 11:31:14 GMT 2010  Olly Betts <olly@survex.com>
8783         * INSTALL,configure.ac,include/xapian/visibility.h: Control use of
8784           GCC's visibility support with defined(XAPIAN_ENABLE_VISIBILITY)
8785           instead of !defined(XAPIAN_DISABLE_VISIBILITY), so it is only used
8786           when building the library, not when building code which uses it.
8787           Add check to configure that GCC actually supports visibility for
8788           the platform being built for, which fixes compiler warnings with
8789           platforms which don't (such as Mac OS X and mingw).
8791 Wed Jun 09 11:17:58 GMT 2010  Olly Betts <olly@survex.com>
8793         * HACKING: "private", etc as "access specifiers", not "visibility
8794           specifiers".
8796 Wed Jun 09 11:04:55 GMT 2010  Olly Betts <olly@survex.com>
8798         * HACKING: Note flex and bison needed to build doxygen.
8800 Wed Jun 09 05:25:10 GMT 2010  Olly Betts <olly@survex.com>
8802         * common/win32_uuid.cc: Fix signed/unsigned comparison warning on
8803           mingw.
8805 Tue Jun 08 16:56:26 GMT 2010  Olly Betts <olly@survex.com>
8807         * common/safewinsock2.h: Reword #error to avoid single quote which
8808           gives compilation warning with some GCC 4.2.1 on mingw.
8810 Tue Jun 08 14:32:28 GMT 2010  Olly Betts <olly@survex.com>
8812         * backends/brass/brass_check.h,backends/chert/chert_check.h,
8813           backends/flint/flint_check.h: Remove mutable from std::ostream &
8814           member - mutable doesn't make sense for a reference.
8816 Tue Jun 08 13:03:56 GMT 2010  Olly Betts <olly@survex.com>
8818         * common/,matcher/,weight/weightinternal.cc: Replace the still rather
8819           contorted mechanism for accumulating rel termfreqs for local
8820           databases with a simpler mechanism which is more efficient in both
8821           space and time.
8823 Mon Jun 07 16:31:24 GMT 2010  Olly Betts <olly@survex.com>
8825         * api/maptermlist.h,api/matchspy.cc,api/termlist.cc,backends/brass/,
8826           backends/chert/,backends/flint/,
8827           backends/inmemory/inmemory_database.cc,
8828           backends/inmemory/inmemory_database.h,
8829           backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
8830           backends/remote/net_termlist.cc,backends/remote/net_termlist.h,
8831           common/ortermlist.h,common/termlist.h,expand/ortermlist.cc: Remove
8832           default OrTermList::skip_to() implementation and implement skip_to()
8833           in each class instead, as this allows a slightly more efficient
8834           implementation, and also avoids problems with calling skip_to() as
8835           the first operation for the many subclasses which have a "started"
8836           flag, which OrTermList::skip_to() won't set.
8838 Mon Jun 07 06:08:53 GMT 2010  Olly Betts <olly@survex.com>
8840         * queryparser/queryparser.lemony: Rename TermList class to Terms to
8841           avoid confusion with the TermList typedef used elsewhere.  Add
8842           documentation comments for Terms and TermGroup classes.
8844 Mon Jun 07 02:18:05 GMT 2010  Olly Betts <olly@survex.com>
8846         * backends/brass/: Switch to using io_utils instead of brass_io.
8848 Mon Jun 07 02:16:30 GMT 2010  Olly Betts <olly@survex.com>
8850         * AUTHORS: Add Arvid Ephraim Picciani for help fixing bootstrap for
8851           BusyBox sha1sum.
8853 Mon Jun 07 01:16:57 GMT 2010  Olly Betts <olly@survex.com>
8855         * common/io_utils.cc: Whitespace tweak.
8857 Mon Jun 07 00:58:26 GMT 2010  Olly Betts <olly@survex.com>
8859         * common/io_utils.h: Fix header guard macro name to follow convention.
8861 Sun Jun 06 15:07:55 GMT 2010  Olly Betts <olly@survex.com>
8863         * HACKING,configure.ac: Upgrade to using libtool 2.2.8.
8865 Sun Jun 06 04:34:13 GMT 2010  Olly Betts <olly@survex.com>
8867         * bin/Makefile.mk,configure.ac: Fix build failures with some
8868           combinations of backends disabled (partially addresses ticket#361).
8870 Sat Jun 05 16:30:57 GMT 2010  Olly Betts <olly@survex.com>
8872         * matcher/remotesubmatch.cc: Add missing parameter of
8873           RemoteSubMatch::start_match() to debug logging.
8875 Sat Jun 05 15:03:56 GMT 2010  Olly Betts <olly@survex.com>
8877         * matcher/queryoptimiser.h: Make QueryOptimiser::optimise_query()'s
8878           argument const pointer, since we only pass it to do_subquery() which
8879           takes a const pointer.
8881 Fri Jun 04 16:05:01 GMT 2010  Olly Betts <olly@survex.com>
8883         * common/rset.h: Just keep a reference to the set<docid> from the
8884           Xapian::RSet object rather than copying it (since we now only
8885           create the RSetI object transiently, so the Xapian::RSet object
8886           is definitely valid for its whole lifetime).
8888 Fri Jun 04 15:57:50 GMT 2010  Olly Betts <olly@survex.com>
8890         * api/omenquire.cc,matcher/localmatch.cc,matcher/localmatch.h: Keep
8891           a Xapian::RSet handle in the LocalSubMatch object and only create
8892           an RSetI object briefly in LocalSubMatch::prepare_match().
8894 Fri Jun 04 15:36:45 GMT 2010  Olly Betts <olly@survex.com>
8896         * common/pretty.h: RSetI objects are no longer passed as parameters
8897           or return values, so we no longer need to handle them.
8899 Fri Jun 04 15:28:21 GMT 2010  Olly Betts <olly@survex.com>
8901         * api/omenquire.cc,common/esetinternal.h,common/omenquireinternal.h,
8902           common/rset.h,expand/esetinternal.cc,matcher/rset.cc: RSetI is used
8903           when collating statistics prior to performing the match, and when
8904           generating an ESet.  The second use is entirely unnecessary and just
8905           ends up with us copying the std::set<Xapian::docid> from inside the
8906           Xapian::RSet object, so eliminate it and just use the Xapian::RSet
8907           object directly.  This allows RSetI to be simplified somewhat too.
8909 Fri Jun 04 14:22:38 GMT 2010  Olly Betts <olly@survex.com>
8911         * tests/api_backend.cc: Make arrays static const.
8913 Fri Jun 04 13:25:20 GMT 2010  Olly Betts <olly@survex.com>
8915         * backends/Makefile.mk: Note need to update include/xapian/version_h.cc
8916           when adding a new backend.
8917         * AUTHORS: Thanks to Conrad Hoffmann for pointing this omission out.
8919 Thu Jun 03 15:01:44 GMT 2010  Richard Boulton <richard@tartarus.org>
8921         * tests/soaktest/soaktest_queries.cc: Add missing include of str.h
8923 Thu Jun 03 12:09:35 GMT 2010  Richard Boulton <richard@tartarus.org>
8925         * tests/Makefile.am: Fix building of zlib-vg.so in VPATH builds.
8927 Thu Jun 03 11:49:31 GMT 2010  Richard Boulton <richard@tartarus.org>
8929         * matcher/orpostlist.cc,tests/api_backend.cc: Fix several bugs in
8930           OrPostList::check() (introduced since 1.2.0).  Fixes ticket #485.
8931           Specifically, we have to check a sub-postlist even if head=did,
8932           because we need to know if that sub-postlist is valid.  Also, if
8933           a sub-postlist is not valid, set its head to did+1, since we know
8934           that we're no longer interested in matches before did, and this
8935           allows the OrPostList to assume that the minimum docid of its
8936           children is the current docid.
8938 Thu Jun 03 07:15:24 GMT 2010  Olly Betts <olly@survex.com>
8940         * matcher/: Implement MultiXorPostList which returns correct weights
8941           for XOR of more than 2 subqueries, and drop XorPostList completely.
8942           (ticket#475)
8943         * tests/api_anydb.cc: Add regression test xor2.
8945 Thu Jun 03 04:38:56 GMT 2010  Olly Betts <olly@survex.com>
8947         * tests/api_replicate.cc: Tweak loop end test to be a normal while.
8949 Thu Jun 03 01:22:20 GMT 2010  Olly Betts <olly@survex.com>
8951         * tests/api_stem.cc: Note stem2's feature was backported to 1.0.21.
8953 Tue Jun 01 13:49:44 GMT 2010  Olly Betts <olly@survex.com>
8955         * backends/brass/brass_database.cc,backends/brass/brass_termlist.cc,
8956           backends/chert/chert_database.cc,backends/chert/chert_termlist.cc,
8957           backends/flint/flint_database.cc,backends/flint/flint_document.cc,
8958           backends/flint/flint_termlist.cc,matcher/: Fix LOGCALL_VOID uses
8959           for ctors and dtors to be LOGCALL_CTOR and LOGCALL_DTOR respectively.
8961 Tue Jun 01 13:33:07 GMT 2010  Olly Betts <olly@survex.com>
8963         * api/omdocument.cc: Use LOGCALL_VOID instead of LOGCALL with a void
8964           return type.
8966 Tue Jun 01 13:08:02 GMT 2010  Olly Betts <olly@survex.com>
8968         * matcher/multimatch.cc: The debug logging now copes with being passed
8969           RSet* so remove special casing with ?:.
8971 Tue Jun 01 10:17:27 GMT 2010  Olly Betts <olly@survex.com>
8973         * HACKING,configure.ac: Drop support for --enable-log=profile -
8974           dedicated profiling tools are likely to return more useful results.
8975         * common/debuglog.cc,common/debuglog.h: Rename xapian_debuglogger__
8976           global to xapian_debuglogger_ to avoid reserved __ in the name.
8977         * common/omdebug.cc,common/omdebug.h: Remove in favour of debuglog.h.
8978         * common/pretty.h: New PrettyOStream<> template class for pretty
8979           printing types in debug logs (and eventually the testsuite).
8980         * api/,backends/brass/,backends/chert/,
8981           backends/dbfactory_remote.cc,backends/flint/,
8982           backends/inmemory/inmemory_database.cc,
8983           backends/inmemory/inmemory_document.cc,
8984           backends/inmemory/inmemory_positionlist.cc,
8985           backends/multi/multi_postlist.cc,backends/multi/multi_termlist.cc,
8986           common/,expand/esetinternal.cc,expand/expandweight.cc,
8987           expand/ortermlist.cc,matcher/,net/progclient.cc,
8988           net/remoteconnection.cc: Migrate all remaining uses of omdebug.h to
8989           debuglog.h.  Write more parameters to the debug log.  Retire the
8990           barely used APICALL category and use API instead (reflecting actual
8991           current use).  Add new REPLICA category.  Fix names logged for ctors
8992           and dtors which have "::" in the class name.
8994 Sun May 30 13:45:12 GMT 2010  Olly Betts <olly@survex.com>
8996         * api/omenquire.cc: Remove bogus "Data::" from debug logging for two
8997           methods.
8999 Sun May 30 08:49:22 GMT 2010  Olly Betts <olly@survex.com>
9001         * include/xapian/stem.h,languages/stem.cc: Xapian::Stem now recognises
9002           "nb" and "nn" as codes for the Norwegian stemmer.
9003         * tests/api_stem.cc: Add feature test stem2 to check that these new
9004           codes work.
9006 Sat May 29 10:12:40 GMT 2010  Olly Betts <olly@survex.com>
9008         * common/debuglog.h: Add overload of operator| which writes ", " and
9009           then a value to std::ostream.
9010         * api/omdatabase.cc,api/replication.cc,
9011           backends/brass/brass_alldocspostlist.cc,
9012           backends/brass/brass_metadata.cc,backends/brass/brass_table.cc,
9013           backends/chert/,backends/dbfactory.cc,
9014           backends/flint/flint_alldocspostlist.cc,expand/esetinternal.cc,
9015           expand/expandweight.cc,matcher/,net/remoteconnection.cc,
9016           weight/bm25weight.cc,weight/weight.cc: Use this in LOGCALL uses to
9017           make them shorter and more readable.
9019 Fri May 28 06:47:57 GMT 2010  Olly Betts <olly@survex.com>
9021         * api/leafpostlist.cc,api/omdatabase.cc,backends/brass/brass_table.cc,
9022           backends/chert/chert_table.cc,backends/dbfactory.cc,
9023           backends/flint/flint_alldocspostlist.cc: Put LOGCALL macro use all on
9024           one line so we can more easily mechanise use and update.
9026 Fri May 28 04:22:35 GMT 2010  Olly Betts <olly@survex.com>
9028         * api/replication.cc,api/valueiterator.cc,
9029           backends/brass/brass_alltermslist.cc,
9030           backends/chert/chert_alltermslist.cc,backends/dbfactory.cc,
9031           backends/inmemory/inmemory_document.cc,
9032           backends/remote/remote-document.cc,matcher/synonympostlist.cc,
9033           net/remoteconnection.cc,weight/bm25weight.cc: Use NO_ARGS instead of
9034           "" and LOGCALL_VOID instead of LOGCALL with void return type.
9036 Fri May 28 04:12:35 GMT 2010  Olly Betts <olly@survex.com>
9038         * matcher/valuerangepostlist.cc: Add missing inclusions of
9039           "debuglog.h".
9040         * backends/brass/brass_metadata.h,backends/brass/brass_postlist.h,
9041           backends/brass/brass_synonym.h,backends/chert/chert_metadata.h,
9042           backends/chert/chert_postlist.h,backends/chert/chert_synonym.h,
9043           backends/dbfactory_remote.cc,backends/flint/flint_metadata.h,
9044           backends/flint/flint_synonym.h,common/database.h,common/rset.h:
9045           Remove unused inclusions of "omassert.h" and "omdebug.h".
9046         * common/rset.h: Remove unused inclusion of "weightinternal.h".
9047         * api/omdatabase.cc,api/registry.cc,api/replication.cc,backends/brass/,
9048           backends/chert/,backends/dbfactory.cc,backends/flint/: Add missing
9049           explicit inclusions of "debuglog.h". Fix LOGCALL markup of ctors and
9050           dtors.  Use LOGCALL instead of DEBUGCALL.
9052 Fri May 28 04:06:08 GMT 2010  Olly Betts <olly@survex.com>
9054         * backends/flint/flint_alldocspostlist.h: Add missing explicit
9055           inclusions of "autoptr.h", "flint_database.h", and forward
9056           declaration of class FlintCursor.
9058 Fri May 28 03:52:40 GMT 2010  Olly Betts <olly@survex.com>
9060         * common/const_database_wrapper.h,common/databasereplicator.h,
9061           common/gnu_getopt.h: Add "(C)" to copyright statements for
9062           consistency with other files.
9064 Fri May 28 03:45:26 GMT 2010  Olly Betts <olly@survex.com>
9066         * queryparser/queryparser.lt: Include "debuglog.h" instead of
9067           "omdebug.h".
9069 Fri May 28 03:45:03 GMT 2010  Olly Betts <olly@survex.com>
9071         * queryparser/queryparser.cc: Remove unused inclusion of "omdebug.h".
9073 Fri May 28 03:40:50 GMT 2010  Olly Betts <olly@survex.com>
9075         * expand/esetinternal.cc,matcher/localmatch.cc,matcher/multimatch.cc,
9076           matcher/rset.cc: Add missing explicit inclusions of "omassert.h".
9078 Thu May 27 23:39:57 GMT 2010  Olly Betts <olly@survex.com>
9080         * common/Makefile.mk,common/expand.h: Remove unused header.
9082 Thu May 27 06:45:27 GMT 2010  Olly Betts <olly@survex.com>
9084         * include/xapian/stem.h: Update the list of languages that the
9085           Xapian::Stem constructor recognises.
9087 Thu May 27 05:20:42 GMT 2010  Olly Betts <olly@survex.com>
9089         * include/xapian/stem.h,languages/Makefile.mk,
9090           languages/compiler/generator.c,languages/stem.cc,
9091           languages/steminternal.cc,languages/steminternal.h,tests/Makefile.am,
9092           tests/api_stem.cc: Add the ability to specify your own stemming
9093           algorithm by subclassing Xapian::StemImplementation, mostly based on
9094           patch from Evgeny Sizikov in ticket#448.
9096 Thu May 27 04:50:31 GMT 2010  Olly Betts <olly@survex.com>
9098         * tests/api_opvalue.cc: Use TEST_REL() instead of tout and TEST() with
9099           an inequality.
9101 Thu May 27 04:28:07 GMT 2010  Olly Betts <olly@survex.com>
9103         * api/replication.cc,backends/databasereplicator.cc,common/debuglog.h,
9104           common/omdebug.h,expand/esetinternal.cc,expand/ortermlist.cc,
9105           matcher/,net/remoteconnection.cc: Partial mass conversion of files
9106           from omdebug.h to debuglog.h (this takes care off all the files
9107           without BSN copyright).
9109 Thu May 27 04:24:36 GMT 2010  Olly Betts <olly@survex.com>
9111         * common/output.h: Use <ostream> not <fstream>.
9113 Thu May 27 04:09:25 GMT 2010  Olly Betts <olly@survex.com>
9115         * matcher/orpostlist.cc: Prefer ++x to x += 1 for consistency.
9117 Wed May 26 13:32:20 GMT 2010  Olly Betts <olly@survex.com>
9119         * matcher/exactphrasepostlist.cc: Separate (C) notice from @file
9120           doccomment.
9122 Wed May 26 13:11:57 GMT 2010  Olly Betts <olly@survex.com>
9124         * backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h:
9125           Move virtual method FlintPostList::get_doclength() definition out
9126           of header, which also means the header no longer needs omdebug.h.
9128 Wed May 26 13:03:22 GMT 2010  Olly Betts <olly@survex.com>
9130         * common/debuglog.h: Strip out commented out RETURN_VOID machinery.
9131           This case is automatically handled provided LOGCALL_VOID is used.
9133 Wed May 26 12:33:04 GMT 2010  Olly Betts <olly@survex.com>
9135         * common/debuglog.h: Don't check the category more than once in ctors
9136           and dtors.  Don't convert the return value to a string in RETURN()
9137           unless we want to log it.
9139 Wed May 26 02:33:00 GMT 2010  Olly Betts <olly@survex.com>
9141         * tests/api_opvalue.cc: Convert file description to doccomment.
9142           Remove unused headers and reorder remainder more standardly.
9144 Tue May 25 10:17:42 GMT 2010  Olly Betts <olly@survex.com>
9146         * tests/api_backend.cc: Note ordecay1 and ordecay2 fixes now also in
9147           1.0.21.  Whitespace tweak.
9149 Tue May 25 04:11:53 GMT 2010  Olly Betts <olly@survex.com>
9151         * tests/api_backend.cc: make_ordecay1_db and make_ordecay2_db end up
9152           looping over at least 4 billion values (or possibly infinitely) on
9153           platforms where sizeof(long) == 8.  The two databases are very
9154           similar and the latter one works for the former test, so use the
9155           same db for both tests, and rewrite the generator to work
9156           portably.
9158 Sun May 23 07:30:58 GMT 2010  Olly Betts <olly@survex.com>
9160         * tests/api_backend.cc: Note XOR decay bug also fixed in 1.0.21.
9162 Sat May 22 13:31:38 GMT 2010  Olly Betts <olly@survex.com>
9164         * configure.ac,tests/Makefile.am: Only try to build zlib-vg.so if we
9165           are found a suitable valgrind installed (otherwise it's a waste of
9166           effort to build it, and the build will fail without the valgrind
9167           headers).
9169 Sat May 22 13:18:33 GMT 2010  Olly Betts <olly@survex.com>
9171         * configure.ac,tests/Makefile.am,tests/runtest.in,tests/zlib-vg.c: zlib
9172           can produce "uninitialised" output from "initialised" input - the
9173           output does decode to the input, so this is presumably just some
9174           unused bits in the output, so we use an LD_PRELOAD hack to get
9175           valgrind to check the input is initialised and then tell it that the
9176           output is initialised.
9178 Wed May 19 14:34:52 GMT 2010  Richard Boulton <richard@tartarus.org>
9180         * matcher/andmaybepostlist.cc,matcher/andmaybepostlist.h,
9181           matcher/orpostlist.cc: Fix a bug causing documents to be skipped
9182           when OR decayed to AND_MAYBE, if the new RHS was behind the LHS
9183           at the time of the decay.  Fixes #476.
9184         * tests/api_backend.cc: Add test case ordecay2 as a regression test
9185           of this.  Also, remove some debug output in ordecay1, to speed it
9186           up quite a bit.
9188 Wed May 19 11:48:07 GMT 2010  Richard Boulton <richard@tartarus.org>
9190         * matcher/orpostlist.cc,tests/api_backend.cc: Fix a bug in the
9191           decay from OR to AND: if the decay happened when the two
9192           sub-postlists were on different docids, but the higher of those
9193           docids actually occurred in both postlists, the higher docid
9194           would be incorrectly skipped.  Add regression test ordecay1 to
9195           test this.
9197 Wed May 19 10:36:55 GMT 2010  Richard Boulton <richard@tartarus.org>
9199         * tests/api_backend.cc,tests/api_compact.cc,
9200           tests/harness/testrunner.cc,tests/harness/testrunner.h: Add new
9201           test backend selection flag "generated", to select only backends
9202           which support generated test databases.
9204 Wed May 19 03:14:15 GMT 2010  Olly Betts <olly@survex.com>
9206         * api/,backends/brass/,backends/chert/,
9207           backends/contiguousalldocspostlist.cc,backends/flint/,
9208           backends/inmemory/inmemory_database.cc,
9209           backends/remote/remote-database.cc,backends/slowvaluelist.cc,
9210           common/utils.h,expand/esetinternal.cc,matcher/phrasepostlist.cc,
9211           net/remoteserver.cc,net/remotetcpclient.cc,
9212           queryparser/termgenerator.cc,tests/,
9213           tests/harness/backendmanager_multi.cc,
9214           tests/harness/backendmanager_remote.cc,
9215           tests/harness/backendmanager_remotetcp.cc,tests/internaltest.cc,
9216           tests/perftest/perftest.cc,tests/perftest/perftest_matchdecider.cc,
9217           tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc,
9218           tests/termgentest.cc: Fully migrate from om_tostring() to str().
9220 Wed May 19 03:13:43 GMT 2010  Olly Betts <olly@survex.com>
9222         * cmake/xapian-config-version.cmake,cmake/xapian-config.cmake: Remove
9223           generated files from SVN.
9225 Wed May 19 02:59:47 GMT 2010  Olly Betts <olly@survex.com>
9227         * bin/xapian-inspect.cc: Add misisng explicit '#include <utils.h>'.
9229 Tue May 18 14:24:03 GMT 2010  Olly Betts <olly@survex.com>
9231         * bin/Makefile.mk,bin/xapian-check.cc,bin/xapian-compact.cc: Improve
9232           building with flint, chert and/or brass disabled (partially addresses
9233           ticket#361).
9235 Tue May 18 00:42:08 GMT 2010  Olly Betts <olly@survex.com>
9237         * matcher/multimatch.cc: Fix warnings with --disable-backend-remote
9238           (partially addresses ticket#361).
9240 Sat May 15 06:56:26 GMT 2010  Olly Betts <olly@survex.com>
9242         * net/progclient.cc: Read the max fd with sysconf() instead of using
9243           a hardcoded value of 256.  Work even if stdin and stdout have been
9244           closed.
9246 Thu May 13 10:53:24 GMT 2010  Richard Boulton <richard@tartarus.org>
9248         * matcher/orpostlist.cc: Correct some debugging lines.
9250 Thu May 13 09:57:12 GMT 2010  Richard Boulton <richard@tartarus.org>
9252         * matcher/xorpostlist.cc,matcher/xorpostlist.h: Pass a minweight
9253           value of 0 to children of XOR postlists, because we need to know
9254           about all matching documents from the children even if they have
9255           a low weight.
9256         * tests/api_backend.cc: Regression test for this: xordecay1.
9258 Thu May 13 08:47:22 GMT 2010  Richard Boulton <richard@tartarus.org>
9260         * tests/soaktest/soaktest_queries.cc: Add more code comments,
9261           increase the number of repetitions from 100 to 10000, remove
9262           accidentally added semicolons after some braces, remove "return
9263           false" at end of test which was added for debugging purposes,
9264           clear tout before testing each query, and display the query
9265           number, the query, and the msets in the event of failure.
9267 Tue May 11 10:16:05 GMT 2010  Richard Boulton <richard@tartarus.org>
9269         * tests/soaktest/soaktest_queries.cc: Don't fail for empty result
9270           sets.
9272 Tue May 11 10:13:08 GMT 2010  Richard Boulton <richard@tartarus.org>
9274         * tests/soaktest/: Add a "soaktest" testsuite, intended to contain
9275           long-running tests with random data.  Currently contains a single
9276           test which builds and runs random queries, checking that the
9277           results returned are consistent when asking for different result
9278           ranges.
9280 Mon May 10 16:57:29 GMT 2010  Richard Boulton <richard@tartarus.org>
9282         * tests/api_opvalue.cc: Add tests for OP_VALUE_RANGE to get
9283           coverage of the skip_to() and check() methods of
9284           ValueRangePostList.
9286 Mon May 10 16:51:14 GMT 2010  Richard Boulton <richard@tartarus.org>
9288         * tests/api_opvalue.cc: Add a test to get coverage of
9289           ValueGePostList::skip_to().
9291 Sun May 09 21:22:50 GMT 2010  Richard Boulton <richard@tartarus.org>
9293         * tests/api_nodb.cc,tests/api_opvalue.cc: Move test "opvaluege1"
9294           from api_nodb.cc to api_opvalue.cc, and rename to valuege3 for
9295           consistency with other tests of OP_VALUE_GE.
9297 Sun May 09 21:19:43 GMT 2010  Richard Boulton <richard@tartarus.org>
9299         * tests/Makefile.am,tests/api_anydb.cc,tests/api_opvalue.cc: Move
9300           the tests for OP_VALUE_* query operators from api_anydb.cc to
9301           api_opvalue.cc.  Remove copyright statements earlier than 2007,
9302           since OP_VALUE_* wasn't added until 2007.
9304 Sun May 09 21:04:06 GMT 2010  Richard Boulton <richard@tartarus.org>
9306         * matcher/valuegepostlist.cc: Initialise valuelist in check() if
9307           necessary.
9308         * tests/api_anydb.cc: Add regression test for this.
9310 Thu May 06 15:03:43 GMT 2010  Richard Boulton <richard@tartarus.org>
9312         * tests/api_replicate.cc: Add some extra debugging, to help
9313           identify the problem with ticket #472.
9315 Thu May 06 13:38:25 GMT 2010  Olly Betts <olly@survex.com>
9317         * common/safeuuid.h,configure.ac,INSTALL: Make use of built-in UUID API
9318           on FreeBSD and NetBSD.  (ticket#470)
9320 Thu May 06 13:10:30 GMT 2010  Olly Betts <olly@survex.com>
9322         * AUTHORS,Makefile.am,cmake/,configure.ac: Install files to make Xapian
9323           easier to use with cmake.  Thanks to Sune Vuorela for providing the
9324           desired output.
9326 Thu May 06 11:42:16 GMT 2010  Olly Betts <olly@survex.com>
9328         * tests/harness/fdtracker.cc: Don't pass NULL to closedir().
9330 Thu May 06 11:19:41 GMT 2010  Olly Betts <olly@survex.com
9332         * tests/api_anydb.cc: Test UUID is 36 characters long.
9334 Thu May 06 10:41:21 GMT 2010  Olly Betts <olly@survex.com>
9336         * matcher/valuegepostlist.cc: Use "str.h" and str().
9338 Thu May 06 10:01:48 GMT 2010  Olly Betts <olly@survex.com>
9340         * matcher/valuegepostlist.cc: Remove unused headers.
9342 Thu May 06 09:55:27 GMT 2010  Richard Boulton <richard@tartarus.org>
9344         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc:
9345           Keep return value from valuelist->get_value() as a const string &
9346           rather than a string - could be more efficient on some compilers,
9347           though testing with gcc 4.1 revealed no difference.
9349 Thu May 06 09:49:12 GMT 2010  Richard Boulton <richard@tartarus.org>
9351         * matcher/valuegepostlist.cc: "while(" -> "while (" in recent patch.
9353 Thu May 06 09:30:27 GMT 2010  Olly Betts <olly@survex.com>
9355         * docs/replication.rst: Remove experimental warning.
9357 Thu May 06 05:05:57 GMT 2010  Olly Betts <olly@survex.com>
9359         * matcher/valuerangepostlist.cc: Use "str.h" and str().
9361 Thu May 06 05:03:22 GMT 2010  Olly Betts <olly@survex.com>
9363         * matcher/valuerangepostlist.cc: Remove '#include "leafpostlist.h"'
9364           and '#include "document.h"' which are no longer used.
9366 Thu May 06 04:53:07 GMT 2010  Olly Betts <olly@survex.com>
9368         * matcher/valuerangepostlist.cc: Remove '#include "autoptr.h"' which is
9369           no longer required.
9371 Thu May 06 04:18:25 GMT 2010  Olly Betts <olly@survex.com>
9373         * matcher/valuerangepostlist.cc: "while(" -> "while (" in recent patch.
9375 Wed May 05 16:44:17 GMT 2010  Richard Boulton <richard@tartarus.org>
9377         * matcher/orpostlist.cc,matcher/orpostlist.h: Add
9378           OrPostList::check() method, which calls check() on the
9379           sub-postlists, rather than falling back to skip_to().  This is
9380           particularly helpful when a sub-postlist is one for which
9381           skip_to() can be significantly more expensive than check(), such
9382           as a ValueRangePostList.  I've observed a speedup of 10 times for
9383           such a subquery with this change.
9385 Wed May 05 16:34:30 GMT 2010  Richard Boulton <richard@tartarus.org>
9387         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc,
9388           matcher/valuerangepostlist.h: Implement ValueRangePostList and
9389           ValueGePostList using a ValueList streaming values for the value
9390           slot of interest, rather than using an AllDocsPostList to get all
9391           documents, using that to open temporary documents for each
9392           document being considered, and then using that to get the value.
9393           I've observed a speedup of more than 70 times for range queries
9394           in a real-world situation with this change (a 29 second search
9395           became a 0.4 second search). (ticket#432)
9397 Wed May 05 06:44:31 GMT 2010  Olly Betts <olly@survex.com>
9399         * NEWS: Update from ChangeLog.
9401 Wed May 05 05:42:56 GMT 2010  Olly Betts <olly@survex.com>
9403         * backends/brass/brass_cursor.cc,backends/chert/chert_cursor.cc,
9404           backends/flint/flint_cursor.cc: If we have to rebuild the cursor
9405           on next() because the table changed underneath us, we need to
9406           advance it because find_entry() will put the cursor on the entry
9407           we were already on, or the one before if the entry we were on
9408           has been removed.  Bug uncovered by notmuch testsuite, but I'm
9409           unable to reduce it to a sane testcase for our testsuite.
9410           (Debian#579951)
9412 Tue May 04 19:38:31 GMT 2010  Richard Boulton <richard@tartarus.org>
9414         * api/replication.cc,bin/xapian-replicate.cc,
9415           common/replicatetcpclient.h,common/replication.h,
9416           net/replicatetcpclient.cc,tests/api_replicate.cc: Fix a bug in
9417           replication, which triggered when multiple modifications were
9418           made to a database while a full copy of the database was in
9419           progress.  In this situation, the client would fail to apply more
9420           than one changeset before trying (and failing) to make the
9421           database live, due to an incorrect assignment of the new revision
9422           number to "offline_needed_revision" instead of
9423           "offline_revision".  Also, replication now only sleeps for a
9424           period (to allow reader to catch up) after a changeset has been
9425           applied to a live database - previously, it would sleep
9426           unnecessarily after a changeset had been applied to an offline
9427           database.  Also, make the period for which replication sleeps in
9428           this situation configurable with the "-r" command line option to
9429           xapian-replicate.
9430           A test for these changes will be committed to xapian-bindings
9431           shortly.
9433 Sat May 01 15:25:48 GMT 2010  Olly Betts <olly@survex.com>
9435         * Merge change accidentally committed to brass-btree branch:
9436         * tests/perftest/runprocess.cc: Use safesyswait.h, fixing build failure
9437           on "make check" on FreeBSD.
9439 Fri Apr 30 12:33:25 GMT 2010  Richard Boulton <richard@tartarus.org>
9441         * backends/brass/brass_databasereplicator.cc,
9442           backends/chert/chert_databasereplicator.cc,
9443           backends/flint/flint_databasereplicator.cc,tests/api_replicate.cc:
9444           If a DB file doesn't exist when applying a changeset, try
9445           creating it - this happens with lazy tables which aren't created
9446           in the initial revision copied.  Add replicate4 test to check
9447           that this works correctly with a lazily created position table.
9448           Fixes ticket #468.
9450 Fri Apr 30 07:09:31 GMT 2010  Olly Betts <olly@survex.com>
9452         * docs/deprecation.rst: Replication and PostingSource aren't
9453           experimental in 1.2.x.
9455 Fri Apr 30 00:52:22 GMT 2010  Olly Betts <olly@survex.com>
9457         * tests/harness/testsuite.cc: Fix typo in previous commit.
9459 Thu Apr 29 23:46:09 GMT 2010  Olly Betts <olly@survex.com>
9461         * tests/harness/testsuite.cc: Check is SA_SIGINFO is defined before
9462           using it as it isn't available everywhere.  Fixes FTBFS on GNU Hurd.
9464 Thu Apr 29 12:11:48 GMT 2010  Olly Betts <olly@survex.com>
9466         * configure.ac: Install headers under PREFIX/include not
9467           PREFIX/include/xapian.  This broke compiling code which didn't use
9468           XO_LIB_XAPIAN or xapian-config.
9470 Wed Apr 28 12:05:23 GMT 2010  Olly Betts <olly@survex.com>
9472         * Makefile.am,m4-macros/xapian-1.1.m4: Remove -1.1 suffix from
9473           xapian-1.1.m4 and libxapian-1.1.la.
9475 Wed Apr 28 06:15:45 GMT 2010  Olly Betts <olly@survex.com>
9477         * NEWS: Sync with 1.0.20.
9478         * NEWS,configure.ac: 1.2.0!
9480 Tue Apr 27 12:45:29 GMT 2010  Olly Betts <olly@survex.com>
9482         * AUTHORS: Add bug reporter.
9484 Mon Apr 26 08:26:26 GMT 2010  Olly Betts <olly@survex.com>
9486         * common/getopt.cc,common/gnu_getopt.h: On Cygwin, #include <getopt.h>
9487           for declarations of optind, etc rather than providing our own
9488           declarations.  Should fix warnings in Cygwin build reported by Reini
9489           Urban on xapian-devel list.
9491 Mon Apr 26 06:27:07 GMT 2010  Olly Betts <olly@survex.com>
9493         * common/getopt.cc,common/gnu_getopt.h: Revert previous 2
9494           getopt-related patches.  The latest state was breaking on Solaris
9495           which (contrary to what its man pages say) prototypes getopt() stuff
9496           in stdlib.h.  This seems to be a rabbit hole we don't want to head
9497           further down.
9499 Sat Apr 24 02:12:53 GMT 2010  Olly Betts <olly@survex.com>
9501         * examples/delve.cc: Update --help output for -v to cover all terms
9502           case.
9504 Sat Apr 24 01:58:00 GMT 2010  Olly Betts <olly@survex.com>
9506         * examples/delve.cc: Add -a option to list all terms in a database.
9508 Sat Apr 24 01:51:01 GMT 2010  Olly Betts <olly@survex.com>
9510         * examples/copydatabase.cc: Prefer string() to "" converted to string.
9512 Thu Apr 22 14:21:30 GMT 2010  Olly Betts <olly@survex.com>
9514         * matcher/multimatch.cc: Fix bug related to ticket#464 (the previous
9515           fix doesn't fix some similar cases).
9516         * tests/api_backend.cc: Add regression test msize2.
9518 Thu Apr 22 11:02:11 GMT 2010  Olly Betts <olly@survex.com>
9520         * tests/: Hook up --abort-on-error fix for termgentest, stemtest,
9521           queryparsertest, and internaltest.
9523 Thu Apr 22 06:06:53 GMT 2010  Olly Betts <olly@survex.com>
9525         * HACKING: Add a hyphen.
9527 Wed Apr 21 11:16:50 GMT 2010  Olly Betts <olly@survex.com>
9529         * tests/harness/testrunner.cc: Exit with status 1 not 0 if we caught an
9530           exception from the harness itself.
9532 Wed Apr 21 11:11:10 GMT 2010  Olly Betts <olly@survex.com>
9534         * tests/harness/testrunner.cc,tests/harness/testsuite.cc: Fix
9535           --abort-on-error to actually work.
9537 Tue Apr 20 12:53:29 GMT 2010  Olly Betts <olly@survex.com>
9539         * docs/deprecation.rst: Note how to disable deprecation warnings.
9541 Tue Apr 20 07:27:23 GMT 2010  Olly Betts <olly@survex.com>
9543         * api/omenquire.cc,matcher/multimatch.cc: Fix incorrect estimate and
9544           bounds on matches when sorting and collapsing in a particular case
9545           (ticket#464).
9546         * tests/api_backend.cc: Add regression test msize1.
9548 Mon Apr 19 01:59:59 GMT 2010  Olly Betts <olly@survex.com>
9550         * examples/delve.cc: Use strtoul() instead of atoi() to decode document
9551           id and value slot numbers passed on the command line.  Report out of
9552           range and invalid values.
9554 Sat Apr 17 09:17:25 GMT 2010  Olly Betts <olly@survex.com>
9556         * common/getopt.cc,common/gnu_getopt.h: Fix getopt code to work on
9557           platforms without GNU getopt but with getopt().
9559 Fri Apr 16 14:23:49 GMT 2010  Olly Betts <olly@survex.com>
9561         * NEWS,configure.ac: Update for 1.1.5.
9562         * NEWS: Sync changes from 1.0.19.
9564 Fri Apr 16 12:29:14 GMT 2010  Olly Betts <olly@survex.com>
9566         * tests/harness/testsuite.cc: Handle NULL in the const char * catch.
9568 Fri Apr 16 05:47:43 GMT 2010  Olly Betts <olly@survex.com>
9570         * api/postingsource.cc: Fix wrapping.
9572 Thu Apr 15 09:07:40 GMT 2010  Richard Boulton <richard@tartarus.org>
9574         * tests/api_replicate.cc: Use a fixed size buffer for copying a
9575           file, rather than a dynamically sized buffer; avoids using the
9576           GCC extension allowing dynamically sized arrays.
9578 Thu Apr 15 04:02:34 GMT 2010  Olly Betts <olly@survex.com>
9580         * AUTHORS: Update with bug reporters.
9582 Thu Apr 15 00:30:45 GMT 2010  Olly Betts <olly@survex.com>
9584         * include/xapian/termgenerator.h: Note how TermGenerator handles
9585           stopwords.
9587 Wed Apr 14 23:41:55 GMT 2010  Olly Betts <olly@survex.com>
9589         * common/getopt.cc,common/gnu_getopt.h: Put our optarg, etc in a
9590           namespace and then pull them in to avoid linking to versions in the C
9591           library.  Fixes warnings on Cygwin.
9593 Wed Apr 14 15:33:39 GMT 2010  Olly Betts <olly@survex.com>
9595         * tests/api_backend.cc: Remove already fixed FIXME comment.
9597 Wed Apr 14 14:13:10 GMT 2010  Olly Betts <olly@survex.com>
9599         * queryparser/queryparser.lemony: Use const reference to avoid a
9600           needless handle copy.
9602 Wed Apr 14 14:00:21 GMT 2010  Olly Betts <olly@survex.com>
9604         * backends/brass/brass_alltermslist.cc,
9605           backends/brass/brass_alltermslist.h,
9606           backends/chert/chert_alltermslist.cc,
9607           backends/chert/chert_alltermslist.h,
9608           backends/flint/flint_alltermslist.cc,
9609           backends/flint/flint_alltermslist.h: Fix memory leak if Database
9610           throws an exception in XXXAllTermsList constructor.  Fixes bug#462.
9611         * tests/api_backend.cc: Enable qpmemoryleak1 for non-remote backends as
9612           a regression test for this fix.
9614 Tue Apr 13 12:38:08 GMT 2010  Olly Betts <olly@survex.com>
9616         * backends/flint/flint_table.cc: Don't memcpy() a block to itself -
9617           it's a waste of effort, and (probably) undefined behaviour (as a
9618           block overlaps itself).
9620 Tue Apr 13 12:36:53 GMT 2010  Olly Betts <olly@survex.com>
9622         * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Don't
9623           memcpy() a block to itself - it's a waste of effort, and (probably)
9624           undefined behaviour (as a block overlaps itself).
9626 Tue Apr 13 08:38:40 GMT 2010  Olly Betts <olly@survex.com>
9628         * queryparser/queryparser.lemony: Add a ParserHandler class to take
9629           care of releasing the yyParser object.
9631 Tue Apr 13 07:49:33 GMT 2010  Olly Betts <olly@survex.com>
9633         * common/autoptr.h: Fix comment typo.
9635 Tue Apr 13 07:47:40 GMT 2010  Olly Betts <olly@survex.com>
9637         * api/replication.cc: "autoptr.h" not <autoptr.h> (it's an in-tree
9638           header).
9640 Tue Apr 13 07:25:11 GMT 2010  Olly Betts <olly@survex.com>
9642         * queryparser/queryparser.lemony: Fix leak of yyParser if an exception
9643           is thrown during parsing.   Partly fixes ticket#462.
9644         * tests/api_backend.cc: Add regression test qpmemoryleak1.
9646 Tue Apr 13 01:37:08 GMT 2010  Olly Betts <olly@survex.com>
9648         * common/utils.cc,common/utils.h: Revert change to make removedir()
9649           recurse into subdirectories - it doesn't fix a bug, so isn't
9650           appropriate when we're trying to get 1.2.0 out (backends don't
9651           currently put files in subdirectories, which was the justification
9652           in the commit message).
9654 Mon Apr 12 11:50:37 GMT 2010  Olly Betts <olly@survex.com>
9656         * Backport change from brass:
9657         * backends/flint/: Fix to rebuild cursors if the table gains or loses a
9658           level.  Fixes ticket#455.
9660 Mon Apr 12 09:29:39 GMT 2010  Olly Betts <olly@survex.com>
9662         * Backport change from brass:
9663         * backends/chert/: Fix to rebuild cursors if the table gains or loses a
9664           level.  Fixes ticket#455.
9666 Mon Apr 12 09:26:53 GMT 2010  Olly Betts <olly@survex.com>
9668         * backends/brass/: Fix to rebuild cursors if the table gains or loses a
9669           level.  Fixes ticket#455.
9671 Mon Apr 12 08:27:29 GMT 2010  Olly Betts <olly@survex.com>
9673         * tests/api_none.cc: Work around compilation failure on OpenBSD.  Fixes
9674           ticket#458.
9676 Fri Apr 02 04:03:04 GMT 2010  Olly Betts <olly@survex.com>
9678         * m4-macros/xapian-1.1.m4: Give a more specific error message for the
9679           cases where XAPIAN_CONFIG isn't found, is a directory, or isn't
9680           executable.
9682 Thu Mar 25 14:43:57 GMT 2010  Olly Betts <olly@survex.com>
9684         * tests/api_backend.cc: Add databasemodified1 testcase to provide some
9685           test coverage for DatabaseModifiedError.
9687 Thu Mar 25 06:32:44 GMT 2010  Olly Betts <olly@survex.com>
9689         * bin/xapian-check-flint.cc: Report docid for doclength mismatch.
9691 Thu Mar 25 06:23:26 GMT 2010  Olly Betts <olly@survex.com>
9693         * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Report docid for
9694           doclength mismatch.
9696 Sat Mar 20 15:04:18 GMT 2010  Olly Betts <olly@survex.com>
9698         * docs/spelling.rst: Add a note about removing automatically added
9699           spelling dictionary entries.
9701 Sat Mar 20 09:30:44 GMT 2010  Olly Betts <olly@survex.com>
9703         * docs/spelling.rst: Add section on indexing.  Move the "algorithm"
9704           section to the end, as it is really just background information for
9705           the curious.
9707 Wed Mar 17 01:33:39 GMT 2010  Olly Betts <olly@survex.com>
9709         * INSTALL: Add a hyphen.
9711 Wed Mar 17 01:30:34 GMT 2010  Olly Betts <olly@survex.com>
9713         * INSTALL: Correct description of --enable-assertions.  It does NOT
9714           enable debugging symbols, and shouldn't control checks on bad data
9715           passed to API calls (if it does anywhere, that's a bug).  Note that
9716           Xapian will run more slowly with assertions on.
9718 Wed Mar 17 01:10:13 GMT 2010  Olly Betts <olly@survex.com>
9720         * backends/brass/brass_values.cc: Put ValueUpdater in Brass namespace
9721           to avoid cross-linking issues with ValueUpdater class in chert
9722           (change taken from brass-btree branch).
9724 Sun Mar 14 10:05:36 GMT 2010  Olly Betts <olly@survex.com>
9726         * Backport change from chert:
9727         * backends/flint/flint_database.cc,
9728           backends/flint/flint_positionlist.cc,
9729           backends/flint/flint_positionlist.h: When updating a document, rather
9730           than decoding the old positions, comparing with the new, and then
9731           encoding the new if different, we now just encode the new and then
9732           compare the encoded forms.  (ticket#428)  This change also avoids
9733           calling FlintPositionListTable::del() when we know the entry doesn't
9734           already exist.
9735         * backends/flint/flint_positionlist.cc: Minor refactor to improve
9736           code clarity and to only create std::string variable when it
9737           is needed.
9739 Sun Mar 14 09:45:34 GMT 2010  Olly Betts <olly@survex.com>
9741         * Backport change from brass:
9742         * backends/chert/chert_positionlist.cc: Minor refactor to improve
9743           code clarity and to only create std::string variable when it
9744           is needed.
9746 Sun Mar 14 09:29:54 GMT 2010  Olly Betts <olly@survex.com>
9748         * backends/brass/brass_positionlist.cc: Minor refactor to improve
9749           code clarity and to only create std::string variable when it
9750           is needed.
9752 Sun Mar 14 07:37:03 GMT 2010  Olly Betts <olly@survex.com>
9754         * api/replication.cc,tests/api_closedb.cc,tests/api_metadata.cc,
9755           tests/internaltest.cc: Catch by const reference rather than just
9756           reference, unless we actually need to modify the caught object.
9758 Sun Mar 14 06:45:11 GMT 2010  Olly Betts <olly@survex.com>
9760         * api/replication.cc: Check live_db only has a single sub-database even
9761           if we just lazily opened it.
9763 Sun Mar 14 05:00:21 GMT 2010  Olly Betts <olly@survex.com>
9765         * backends/flint/flint_database.cc,
9766           backends/flint/flint_databasereplicator.cc: Add missing explicit
9767           '#include "str.h"'.
9769 Sat Mar 13 09:22:24 GMT 2010  Richard Boulton <richard@tartarus.org>
9771         * tests/api_replicate.cc: Always use off_t to refer to the size of a
9772           file: fixes warnings about comparting a signed value to an unsigned
9773           value.
9775 Thu Mar 11 16:07:10 GMT 2010  Richard Boulton <richard@tartarus.org>
9777         * api/replication.cc: Open the livedb lazily if it gets left in a
9778           closed state (due to an exception when applying a changeset),
9779           rather than reopening it straight away in an exception handler.
9780           This requires the livedb to become a mutable member, but is safer
9781           in the event that an exception is thrown by the WritableDatabase
9782           constructor.
9784 Thu Mar 11 15:17:12 GMT 2010  Richard Boulton <richard@tartarus.org>
9786         * tests/api_replicate.cc: Uncomment the rmtmpdir() at the end of
9787           replicate3; it was accidentally committed debugging code.
9789 Thu Mar 11 13:03:57 GMT 2010  Richard Boulton <richard@tartarus.org>
9791         * api/replication.cc: If an exception is thrown, mark that the
9792           offline revision needed is unknown (represented by being empty);
9793           ensures that a database isn't put live incorrectly in this case.
9794           Also, actually read the message for REPL_REPLY_END_OF_CHANGES, so
9795           that we get an error if the message is truncated.  Also, if an
9796           attempt to apply a changeset to the live database fails with an
9797           exception while the live database is closed, reopen the live
9798           database before allowing the exception to propagate.
9799         * tests/api_replicate.cc: Split replicate() helper function into
9800           two parts, to separate getting the changeset messages, and
9801           applying them. Add replicate3 test, which checks that
9802           replications which are provided with truncated messages raise
9803           appropriate errors.
9805 Thu Mar 11 00:46:39 GMT 2010  Olly Betts <olly@survex.com>
9807         * common/replicate_utils.cc: Avoid creating temporary string objects
9808           to reduce bloat in compiled code.  Remove explicit std:: qualifiers.
9810 Thu Mar 11 00:38:00 GMT 2010  Olly Betts <olly@survex.com>
9812         * common/replicate_utils.cc: The directory we're writing changesets
9813           to will always exist, so no need to ensure it does.
9815 Thu Mar 11 00:10:19 GMT 2010  Olly Betts <olly@survex.com>
9817         * backends/chert/chert_databasereplicator.cc,
9818           backends/flint/flint_databasereplicator.cc: Fix calculation of end
9819           pointer for changes file.  Since the merge, it has been off by
9820           CONST_STRLEN(CHANGES_MAGIC_STRING).
9822 Wed Mar 10 23:59:38 GMT 2010  Olly Betts <olly@survex.com>
9824         * backends/chert/chert_database.cc,
9825           backends/chert/chert_databasereplicator.cc: Add missing explicit
9826           '#include "str.h"'.
9828 Wed Mar 10 13:07:41 GMT 2010  Richard Boulton <richard@tartarus.org>
9830         * common/Makefile.mk,common/replicate_utils.cc,
9831           common/replicate_utils.h: Add some utility functions for
9832           replication to create changeset files, and append content to
9833           them, to avoid duplicating the code in each backend.
9834         * backends/chert/chert_database.cc,
9835           backends/chert/chert_databasereplicator.cc,
9836           backends/chert/chert_databasereplicator.h,
9837           backends/flint/flint_database.cc,
9838           backends/flint/flint_databasereplicator.cc,
9839           backends/flint/flint_databasereplicator.h: Make the
9840           DatabaseReplicator subclasses respect the XAPIAN_MAX_CHANGESETS
9841           environment variable, such that they write the changesets they're
9842           applying to disk if the value is non-zero.  Enables replication
9843           from a replicated copy.
9844         * tests/api_replicate.cc: Refactor some common code, and add
9845           replicate2, which tests replication from a replicated copy.  Skip
9846           this test for brass, since brass doesn't support this.
9848 Wed Mar 10 12:11:41 GMT 2010  Richard Boulton <richard@tartarus.org>
9850         * common/utils.cc,common/utils.h: Make removedir() recurse into
9851           subdirectories; this ensures that replication works if backends
9852           put some files in subdirectories of their replicas (eg, if the
9853           replica is itself a replicated database).
9855 Wed Mar 10 12:07:40 GMT 2010  Richard Boulton <richard@tartarus.org>
9857         * backends/chert/,backends/flint/,common/Makefile.mk,
9858           common/io_utils.cc,common/io_utils.h: Refactor duplicated code
9859           from {flint,chert}_io.{cc,h} into common/io_utils.{cc,h}.  Rename
9860           flint_io_read() to io_read(); do similar for flint_io_write()
9861           and flint_io_sync(), and for the chert versions.  Leave brass
9862           alone to avoid conflicting with the new brass backend development
9863           branch.
9865 Mon Mar 08 02:32:35 GMT 2010  Olly Betts <olly@survex.com>
9867         * bin/xapian-check-chert.cc: Check that the doclen initial chunk
9868           exists.
9870 Tue Mar 02 13:28:50 GMT 2010  Olly Betts <olly@survex.com>
9872         * Backport change from brass:
9873         * backends/chert/chert_database.cc,
9874           backends/chert/chert_positionlist.cc,
9875           backends/chert/chert_positionlist.h: When updating a document, rather
9876           than decoding the old positions, comparing with the new, and then
9877           encoding the new if different, we now just encode the new and then
9878           compare the encoded forms.  (ticket#428)  This change also avoids
9879           calling ChertPositionListTable::del() when we know the entry doesn't
9880           already exist.
9882 Tue Mar 02 04:00:22 GMT 2010  Olly Betts <olly@survex.com>
9884         * tests/harness/testsuite.cc: Harness now catches const char *
9885           exceptions explicitly so it can show their contents.
9887 Tue Mar 02 03:59:27 GMT 2010  Olly Betts <olly@survex.com>
9889         * include/xapian/valueiterator.h: Comment tweak.
9891 Tue Mar 02 03:57:55 GMT 2010  Olly Betts <olly@survex.com>
9893         * include/xapian/queryparser.h: Add missing forward declaration of
9894           "class Database".
9896 Tue Mar 02 01:51:33 GMT 2010  Olly Betts <olly@survex.com>
9898         * NEWS: Update partially from ChangeLog.
9900 Mon Mar 01 05:38:41 GMT 2010  Olly Betts <olly@survex.com>
9902         * backends/brass/brass_database.cc,
9903           backends/brass/brass_positionlist.cc,
9904           backends/brass/brass_positionlist.h: When updating a document, rather
9905           than decoding the old positions, comparing with the new, and then
9906           encoding the new if different, we now just encode the new and then
9907           compare the encoded forms.  (ticket#428)  This change also avoids
9908           calling BrassPositionListTable::del() when we know the entry doesn't
9909           already exist.
9911 Mon Mar 01 02:09:40 GMT 2010  Olly Betts <olly@survex.com>
9913         * net/serialise.cc: Don't call Document::values_count() twice when we
9914           can trivially avoid doing so.  Ditto for termlist_count() and
9915           positionlist_count().
9917 Mon Mar 01 01:53:58 GMT 2010  Olly Betts <olly@survex.com>
9919         * bin/: Rename tot_off to last_docid when it is actually holding the
9920           last_docid value.
9922 Sun Feb 28 23:47:49 GMT 2010  Olly Betts <olly@survex.com>
9924         * backends/flint/flint_table.cc: Whitespace tweak.
9926 Sun Feb 28 23:44:58 GMT 2010  Olly Betts <olly@survex.com>
9928         * tests/dbcheck.cc: Tweak whitespace to match standard usage.  Catch
9929           exceptions by const reference.
9930         * HACKING: Discuss why exceptions should be caught by const reference.
9931           Tweak markup of blockquotes.
9933 Sun Feb 28 22:50:50 GMT 2010  Olly Betts <olly@survex.com>
9935         * HACKING: Add note about "new SomePODType()" not being the same as
9936           "new SomePODType".
9938 Sun Feb 28 22:29:31 GMT 2010  Olly Betts <olly@survex.com>
9940         * HACKING: Quote ``cat`` and ``more``.
9942 Sun Feb 28 14:00:39 GMT 2010  Richard Boulton <richard@tartarus.org>
9944         * tests/api_compact.cc: Clarify comment about regression test for
9945           1.1.4, and remove a test line which is implicit in the following
9946           dbcheck() line anyway.
9948 Sun Feb 28 11:07:33 GMT 2010  Olly Betts <olly@survex.com>
9950         * tests/harness/fdtracker.cc,tests/harness/fdtracker.h: Add GPL
9951           boilerplate and copyright notices which I failed to do before
9952           committing these new files.
9954 Thu Feb 25 10:34:15 GMT 2010  Olly Betts <olly@survex.com>
9956         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
9957           Initialise z_stream members zalloc, zfree, and opaque with Z_NUL
9958           rather than 0 cast to the appropriate type, as that's what the zlib
9959           documentation says to do.  Add missing initialisation of opaque for
9960           the inflate z_stream which the docs say is needed, though reading
9961           the zlib code, isn't actually for current versions.
9963 Wed Feb 24 14:24:05 GMT 2010  Olly Betts <olly@survex.com>
9965         * backends/remote/remote-database.cc: Fix indentation.
9967 Wed Feb 24 14:18:25 GMT 2010  Olly Betts <olly@survex.com>
9969         * backends/remote/remote-database.cc,common/remote-database.h,
9970           common/remoteprotocol.h,common/remoteserver.h,
9971           docs/remote_protocol.html,net/remoteserver.cc,tests/api_spelling.cc:
9972           Add remote backend support for WritableDatabase::add_spelling() and
9973           WritableDatabase::remove_spelling().  This bumps the remote protocol
9974           to version 35.0 (so both client and servers will need updating).
9975           Suggesting spelling corrections isn't yet supported.  (ticket#178)
9977 Wed Feb 24 09:09:27 GMT 2010  Olly Betts <olly@survex.com>
9979         * examples/delve.cc: "lastdocid" -> "highest document id ever used"
9980           in output so it's clearer what this number means.
9982 Tue Feb 23 14:03:47 GMT 2010  Olly Betts <olly@survex.com>
9984         * api/postingsource.cc: Fix incorrect classname in error message.
9986 Tue Feb 23 13:16:11 GMT 2010  Olly Betts <olly@survex.com>
9988         * configure.ac: For -fno-strict-aliasing for GCC 4.2 to avoid bad code
9989           being generated due to a bug in that compiler version.  Fixes
9990           ticket#449.
9992 Tue Feb 23 03:08:02 GMT 2010  Olly Betts <olly@survex.com>
9994         * configure.ac,tests/harness/testsuite.cc: Use sigsetjmp() and
9995           siglongjmp() where available so that the set of blocked signals
9996           get restored and the test harness can catch a second incidence
9997           of a particular signal in a run.  Use sigaction() instead of
9998           signal() where available, which allows us to report the address
9999           associated with SIGSEGV, SIGFPE, SIGILL, and SIGBUS.
10001 Mon Feb 22 14:29:50 GMT 2010  Olly Betts <olly@survex.com>
10003         * backends/brass/brass_databasereplicator.cc,
10004           backends/chert/chert_databasereplicator.cc,
10005           backends/flint/flint_databasereplicator.cc: Fix exception message
10006           if we get an unsupported changeset type.
10008 Mon Feb 22 01:49:03 GMT 2010  Richard Boulton <richard@tartarus.org>
10010         * tests/dbcheck.cc: Check the wdf, doclen, and value bounds
10011           reported by the database against correct (tight) bounds
10012           calculated by iterating through the database contents.
10014 Mon Feb 22 01:47:20 GMT 2010  Richard Boulton <richard@tartarus.org>
10016         * backends/brass/brass_database.cc,backends/chert/chert_database.cc:
10017           Ensure that wdfs are reported to the stats object correctly when
10018           replacing documents.  These checks were absent entirely in chert,
10019           and incorrectly skipped in some cases in brass.
10021 Mon Feb 22 00:59:57 GMT 2010  Olly Betts <olly@survex.com>
10023         * tests/api_valuestream.cc: Reset tout before testing each interval.
10024           Prefer string() to "".
10026 Mon Feb 22 00:57:59 GMT 2010  Olly Betts <olly@survex.com>
10028         * docs/deprecation.rst,examples/delve.cc: Remove delve's -k option,
10029           accepted as an undocumented alias for -V since 0.9.10 for
10030           compatibility with 0.9.9 and earlier.  Just use -V instead.
10032 Mon Feb 22 00:45:37 GMT 2010  Olly Betts <olly@survex.com>
10034         * examples/delve.cc: If documents are specified, change "-V<valueno>"
10035           to only show calues for those documents.
10037 Sun Feb 21 14:11:58 GMT 2010  Olly Betts <olly@survex.com>
10039         * common/stringutils.h: Factor out looking up a character in the table
10040           into a separate inlined function.  Add C_islcxdigit() to check for
10041           an lower case hex digit.
10043 Sun Feb 21 11:10:10 GMT 2010  Olly Betts <olly@survex.com>
10045         * examples/Makefile.mk,examples/xapian-metadata.cc: Add new example
10046           "xapian-metadata" which allows you to get and set individual user
10047           metadata entries.
10049 Sun Feb 21 10:31:56 GMT 2010  Olly Betts <olly@survex.com>
10051         * configure.ac: Belatedly update version number to 1.1.4.
10053 Sat Feb 20 01:09:45 GMT 2010  Olly Betts <olly@survex.com>
10055         * tests/runtest.in: Now we have fd leak checking in the test harness,
10056           remove the ulimit as it doesn't add anything, and has caused problems
10057           on some Debian buildds.
10059 Fri Feb 19 02:08:25 GMT 2010  Olly Betts <olly@survex.com>
10061         * tests/harness/backendmanager.h,tests/harness/testsuite.cc:
10062           Call backendmanager->clean_up() before checking for fd leaks
10063           to avoid finding the sockets/pipes as leaks.  This means that
10064           clean_up() needs to handle being called more than once for
10065           a test sometimes (which the current versions do) so document
10066           that.
10068 Thu Feb 18 02:31:17 GMT 2010  Olly Betts <olly@survex.com>
10070         * examples/simpleindex.cc: Explicitly call commit() on the database,
10071           as that is good practice (since you see any exceptions).
10073 Thu Feb 18 01:52:10 GMT 2010  Olly Betts <olly@survex.com>
10075         * tests/api_wrdb.cc: Clear tout on each pass of the loop to avoid a
10076           lot of irrelevant output under --verbose if the test fails.
10078 Thu Feb 18 01:33:53 GMT 2010  Olly Betts <olly@survex.com>
10080         * tests/harness/testsuite.cc: Fix fd tracking change to work when
10081           HAVE_VALGRIND isn't defined.
10083 Thu Feb 18 00:46:20 GMT 2010  Olly Betts <olly@survex.com>
10085         * include/xapian/queryparser.h: Document the possible exception
10086           messages from QueryParser::parse_query().
10088 Thu Feb 18 00:20:18 GMT 2010  Olly Betts <olly@survex.com>
10090         * tests/harness/backendmanager.cc: Also explicitly commit after
10091           indexing for flint and chert.
10093 Wed Feb 17 15:58:04 GMT 2010  Olly Betts <olly@survex.com>
10095         * tests/harness/: Add machinery to check for leaked FDs.  Currently
10096           requires /proc/self/fd to work (so it works on at least Linux), but
10097           should do nothing on platforms without this directory.
10099 Wed Feb 17 15:53:30 GMT 2010  Olly Betts <olly@survex.com>
10101         * tests/harness/backendmanager.cc: Explicitly commit after indexing
10102           for brass, so we see any exceptions from the commit (commit from
10103           the dtor swallows any exceptions).
10105 Tue Feb 16 16:23:30 GMT 2010  Richard Boulton <richard@tartarus.org>
10107         * bin/xapian-compact.cc: Fix failure to set lastdocid to an
10108           appropriate value when using --no-renumber.
10109         * tests/api_compact.cc: Add regression test for this.
10111 Tue Feb 16 16:10:49 GMT 2010  Richard Boulton <richard@tartarus.org>
10113         * examples/delve.cc: Display the lastdocid value when displaying
10114           general database statistics.
10116 Tue Feb 16 15:39:50 GMT 2010  Richard Boulton <richard@tartarus.org>
10118         * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Correct typo
10119           in error message.
10121 Mon Feb 15 13:59:45 GMT 2010  Olly Betts <olly@survex.com>
10123         * configure.ac: Update for 1.1.4.
10125 Mon Feb 15 13:58:44 GMT 2010  Olly Betts <olly@survex.com>
10127         * PLATFORMS: We don't support GCC < 3.1, so remove discussion of
10128           issues with GCC 2.95.
10130 Mon Feb 15 13:55:10 GMT 2010  Olly Betts <olly@survex.com>
10132         * PLATFORMS: Update from 1.0.18.
10134 Mon Feb 15 11:51:15 GMT 2010  Olly Betts <olly@survex.com>
10136         * NEWS: Update from ChangeLog.  Update from 1.0.18.
10138 Sun Feb 14 05:47:30 GMT 2010  Olly Betts <olly@survex.com>
10140         * queryparser/queryparser.lemony: Fix QueryParser to handle an explicit
10141           AND before a hated term (foo AND -bar).  (ticket#447)
10142         * tests/queryparsertest.cc: Add regression test cases.
10144 Fri Feb 12 01:27:32 GMT 2010  Olly Betts <olly@survex.com>
10146         * queryparser/termgenerator_internal.cc: Only include trailing '+' or
10147           '#' on a term if it isn't followed by a word character (makes more
10148           sense and matches QueryParser's behaviour).  (ticket#446)
10149         * tests/termgentest.cc: Add regression test.
10151 Thu Feb 11 04:30:56 GMT 2010  Olly Betts <olly@survex.com>
10153         * bin/xapian-inspect.cc: Add new "open" command to allow easy switching
10154           between tables.
10156 Wed Feb 10 02:40:36 GMT 2010  Olly Betts <olly@survex.com>
10158         * include/xapian/document.h: Rewrite the note about Document being a
10159           lazy handle to fix a few details and avoid nailing down the
10160           exact implementation.
10162 Wed Feb 10 00:37:54 GMT 2010  Olly Betts <olly@survex.com>
10164         * docs/admin_notes.rst: Update for chert and other recent changes.
10166 Wed Feb 10 00:37:04 GMT 2010  Olly Betts <olly@survex.com>
10168         * docs/replication_protocol.rst: Update.
10170 Mon Feb 08 12:05:05 GMT 2010  Olly Betts <olly@survex.com>
10172         * backends/brass/brass_version.cc: Fix comments about BRASS_VERSION
10173           which were previously just cut-and-pasted from those about
10174           CHERT_VERSION.
10176 Mon Feb 08 11:54:04 GMT 2010  Olly Betts <olly@survex.com>
10178         * backends/brass/brass_metadata.cc: Include missing headers.
10180 Mon Feb 08 09:23:00 GMT 2010  Olly Betts <olly@survex.com>
10182         * backends/brass/brass_document.h,backends/chert/chert_document.h:
10183           Fix typos in documentation comments.
10185 Mon Feb 08 08:27:09 GMT 2010  Olly Betts <olly@survex.com>
10187         * tests/harness/testsuite.cc: Remove unused headers <streambuf> and
10188           "omdebug.h".
10190 Mon Feb 08 01:28:48 GMT 2010  Olly Betts <olly@survex.com>
10192         * common/debuglog.h: Use std::boolalpha so bool is logged as "true"
10193           or "false" (instead of "1" or "0").
10195 Sat Feb 06 10:04:42 GMT 2010  Olly Betts <olly@survex.com>
10197         * AUTHORS: Sync with 1.0 branch.
10199 Sat Feb 06 08:20:31 GMT 2010  Olly Betts <olly@survex.com>
10201         * tests/api_closedb.cc: Avoid trying to create a database where
10202           an already open one exists (which fails on Microsoft Windows).
10203           (ticket#443).
10205 Fri Feb 05 13:28:08 GMT 2010  Olly Betts <olly@survex.com>
10207         * examples/simpleexpand.cc,examples/simpleindex.cc,
10208           examples/simplesearch.cc: Handle --help and --version.
10210 Fri Feb 05 13:25:37 GMT 2010  Olly Betts <olly@survex.com>
10212         * bin/xapian-compact.cc: Fix not to assign elements off the end of a
10213           vector (ticket#440).
10215 Fri Feb 05 11:41:05 GMT 2010  Richard Boulton <richard@tartarus.org>
10217         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
10218           Remove ValueCountMatchSpy::get_values().  values_begin() should
10219           be used instead to iterate over the values.
10221 Fri Feb 05 07:39:46 GMT 2010  Olly Betts <olly@survex.com>
10223         * configure.ac: Enable automake's std-options feature to check all
10224           installed programs support --help and --version.
10226 Fri Feb 05 01:45:49 GMT 2010  Olly Betts <olly@survex.com>
10228         * include/xapian/document.h: Add Document::add_boolean_term().
10229         * tests/api_none.cc: Add testcase document1 as a feature test.
10231 Fri Feb 05 00:27:52 GMT 2010  Olly Betts <olly@survex.com>
10233         * backends/chert/chert_btreebase.cc,backends/flint/flint_btreebase.cc:
10234           Add missing SEQUENTIAL entry to documentation of base file format.
10236 Thu Feb 04 03:06:26 GMT 2010  Olly Betts <olly@survex.com>
10238         * tests/api_compact.cc: Fix to work with MSVC makefiles (ticket#440).
10240 Thu Feb 04 03:04:43 GMT 2010  Olly Betts <olly@survex.com>
10242         * HACKING,common/Makefile.mk,common/safesyswait.h: Add wrapper
10243           for <sys/wait.h> which defines macros for WEXITSTATUS and
10244           WIFEXITED when required.
10246 Wed Feb 03 15:01:36 GMT 2010  Richard Boulton <richard@tartarus.org>
10248         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
10249           Add ValueCountMatchSpy::values_begin() and values_end() to allow
10250           iteration over all the values in a ValueCountMatchSpy without
10251           needing to handle the dict.  Move the contents of
10252           ValueCountMatchSpy into a reference counted internal object, so
10253           that the iterator can ensure that the contents aren't deleted
10254           before it finishes.
10256 Wed Feb 03 15:01:02 GMT 2010  Richard Boulton <richard@tartarus.org>
10258         * tests/generate-api_generated: Add ValueCountMatchSpy to the list
10259           of non-copyable API classes.
10261 Wed Feb 03 13:18:03 GMT 2010  Richard Boulton <richard@tartarus.org>
10263         * include/xapian/matchspy.h,tests/api_matchspy.cc: Provide an
10264           iterator for accessing the top values found by a matchspy, rather
10265           than using a method which takes a vector reference as a
10266           parameter.  Should be wrappable much more nicely (and get wrapped
10267           automatically), and be easier to use: the testcase for this is
10268           significantly shorter than for the old API.  Remove
10269           StringAndFrequency from API - it's now just an internal class.
10270         * api/matchspy.cc: Test new access method for top_values.
10272 Wed Feb 03 06:46:37 GMT 2010  Olly Betts <olly@survex.com>
10274         * AUTHORS: Add Emmanuel Engelhart for reporting problems indexing
10275           Burmese text.
10277 Wed Feb 03 06:32:03 GMT 2010  Olly Betts <olly@survex.com>
10279         * include/xapian/unicode.h,queryparser/queryparser.lemony,
10280           queryparser/termgenerator_internal.cc: Add ENCLOSING_MARK and
10281           COMBINING_SPACING_MARK categories to is_wordchar().  Make
10282           TermGenerator and QueryParser ignore several zero-width space
10283           characters.
10284         * tests/queryparsertest.cc,tests/termgentest.cc: Add test coverage for
10285           the changes.
10287 Wed Feb 03 03:14:30 GMT 2010  Olly Betts <olly@survex.com>
10289         * queryparser/queryparser.lemony: Fix apostrophe abuse in comment.
10291 Wed Feb 03 01:23:04 GMT 2010  Olly Betts <olly@survex.com>
10293         * queryparser/queryparser.lemony: Make TermList::as_opwindow_query()
10294           private.
10296 Wed Feb 03 01:19:19 GMT 2010  Olly Betts <olly@survex.com>
10298         * common/replication.h: Use "" not <> for including API headers.
10300 Wed Feb 03 01:08:58 GMT 2010  Olly Betts <olly@survex.com>
10302         * common/replication.h: Remove warnings about this being an
10303           experimental API, which no longer make sense now it is internal.
10305 Tue Feb 02 21:59:59 GMT 2010  Olly Betts <olly@survex.com>
10307         * tests/generate-api_generated: Remove DatabaseReplica.
10309 Tue Feb 02 17:01:23 GMT 2010  Richard Boulton <richard@tartarus.org>
10311         * include/xapian/document.h: Add a note to the API documentation
10312           for the Document class about the potential issues involved in
10313           lazy loading.  Fixes ticket #421.
10315 Tue Feb 02 16:21:39 GMT 2010  Richard Boulton <richard@tartarus.org>
10317         * docs/categorisation.rst: Remove documentation of NumericRanges
10318           stuff for now, since the NumericRanges is no longer on trunk.
10320 Tue Feb 02 15:59:14 GMT 2010  Richard Boulton <richard@tartarus.org>
10322         * common/replication.h: Put the ReplicationInfo, DatabaseMaster and
10323           DatabaseReplica symbols back into public visibility - they're
10324           needed for the tests, and for the command line scripts.
10326 Tue Feb 02 15:06:44 GMT 2010  Richard Boulton <richard@tartarus.org>
10328         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
10329           Remove NumericRanges from trunk - their API is still uncertain,
10330           so I want to do a bit more development work on them on the
10331           matchspy branch before committing to support them for several
10332           years.
10334 Tue Feb 02 13:45:24 GMT 2010  Richard Boulton <richard@tartarus.org>
10336         * api/replication.cc,backends/brass/brass_database.cc,
10337           backends/chert/chert_database.cc,backends/flint/flint_database.cc,
10338           common/,include/Makefile.mk,include/xapian/replication.h,
10339           net/replicatetcpclient.cc,net/replicatetcpserver.cc,
10340           tests/generate-api_generated: Move replication support out of the
10341           public API headers and public symbol visibility.  Access to
10342           replication, for now, is via the command-line scripts: this is
10343           similar to the access to running a remote database server, and
10344           the access to database compaction and checking.  See ticket #347
10345           for some commentary.
10347 Tue Feb 02 07:22:28 GMT 2010  Olly Betts <olly@survex.com>
10349         * Backport change from chert:
10350         * backends/flint/flint_alltermslist.h,backends/flint/flint_spelling.h,
10351           backends/flint/flint_spellingwordslist.h: Add missing std::
10352           qualifiers.
10354 Tue Feb 02 07:12:51 GMT 2010  Olly Betts <olly@survex.com>
10356         * docs/doxygen_api.conf.in: Add generated include/xapian/error.h so
10357           that Xapian::Error and subclass API docs are collated for a VPATH
10358           build.
10359         * docs/Makefile.am: Add regression test to make sure doxygen collated
10360           API docs for Xapian::RuntimeError.
10362 Tue Feb 02 06:52:55 GMT 2010  Olly Betts <olly@survex.com>
10364         * Backport change from brass:
10365         * backends/chert/chert_alltermslist.h,backends/chert/chert_spelling.h,
10366           backends/chert/chert_spellingwordslist.h: Add missing std::
10367           qualifiers.
10369 Tue Feb 02 01:34:52 GMT 2010  Richard Boulton <richard@tartarus.org>
10371         * docs/replication.rst: Add note about not using reopen() with
10372           databases being updated by the replication client.
10374 Tue Feb 02 01:17:34 GMT 2010  Richard Boulton <richard@tartarus.org>
10376         * api/matchspy.cc,docs/categorisation.rst,include/xapian/matchspy.h,
10377           tests/api_matchspy.cc: Remove score_evenness(), since it turned
10378           out to be of little or no use in practical situations.  See
10379           ticket #435 for more details.
10381 Mon Feb 01 21:53:41 GMT 2010  Olly Betts <olly@survex.com>
10383         * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Use
10384           LOGCALL_VOID for add() methods which now return void.
10386 Mon Feb 01 21:50:05 GMT 2010  Olly Betts <olly@survex.com>
10388         * Backport change from brass:
10389         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
10390           Fix documentation comments for FlintTable::add() and
10391           FlintTable::del() - errors actually cause exceptions, not a false
10392           return value, and del() returns true if it actually removed an entry.
10393           Fix FlintTable::add() to throw an exception for the (hopefully never
10394           hit) case when the tag value is too insanely large to handle.  With
10395           that FlintTable::add() always returns true, and we never check the
10396           return value anyway, so just make it return void.
10398 Mon Feb 01 21:37:33 GMT 2010  Olly Betts <olly@survex.com>
10400         * Backport change from brass:
10401         * backends/chert/chert_table.cc,backends/chert/chert_table.h:
10402           Fix documentation comments for ChertTable::add() and
10403           ChertTable::del() - errors actually cause exceptions, not a false
10404           return value, and del() returns true if it actually removed an entry.
10405           Fix ChertTable::add() to throw an exception for the (hopefully never
10406           hit) case when the tag value is too insanely large to handle.  With
10407           that ChertTable::add() always returns true, and we never check the
10408           return value anyway, so just make it return void.
10410 Mon Feb 01 16:02:27 GMT 2010  Richard Boulton <richard@tartarus.org>
10412         * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Fix checking
10413           of the METAINFO key in chert and brass.  For small databases, the
10414           statistics fit in few enough bytes that the trailing
10415           unpack_uint_last() moved to end, so errors weren't being
10416           reported, but for large databases the check was incorrectly
10417           reporting an error.
10419 Mon Feb 01 09:24:14 GMT 2010  Olly Betts <olly@survex.com>
10421         * backends/brass/brass_table.cc,backends/brass/brass_table.h:
10422           Fix documentation comments for BrassTable::add() and
10423           BrassTable::del() - errors actually cause exceptions, not a false
10424           return value, and del() returns true if it actually removed an entry.
10425           Fix BrassTable::add() to throw an exception for the (hopefully never
10426           hit) case when the tag value is too insanely large to handle.  With
10427           that BrassTable::add() always returns true, and we never check the
10428           return value anyway, so just make it return void.
10430 Mon Feb 01 01:45:09 GMT 2010  Olly Betts <olly@survex.com>
10432         * backends/brass/brass_alltermslist.h,backends/brass/brass_spelling.h,
10433           backends/brass/brass_spellingwordslist.h: Add missing std::
10434           qualifiers.
10436 Mon Feb 01 00:57:21 GMT 2010  Olly Betts <olly@survex.com>
10438         * backends/flint/flint_spelling.h: Add missing std:: qualifier.
10440 Mon Feb 01 00:52:27 GMT 2010  Olly Betts <olly@survex.com>
10442         * backends/brass/brass_spelling.h,backends/chert/chert_spelling.h:
10443           Add missing std:: qualifier.
10445 Sun Jan 31 23:35:52 GMT 2010  Olly Betts <olly@survex.com>
10447         * backends/chert/chert_termlisttable.cc,
10448           backends/chert/chert_termlisttable.h: Remove
10449           ChertTermListTable::get_doclength() as it is no longer used.
10451 Sun Jan 31 23:19:50 GMT 2010  Olly Betts <olly@survex.com>
10453         * backends/brass/brass_termlisttable.cc,
10454           backends/brass/brass_termlisttable.h: Remove
10455           BrassTermListTable::get_doclength() as it is no longer used.
10457 Sun Jan 31 09:19:39 GMT 2010  Olly Betts <olly@survex.com>
10459         * bin/xapian-inspect.cc: "until" improvements:
10460           + No longer reports the current key and tag.
10461           + If passed a key before the current one, no longer silently advances
10462             to the next key.
10463           + Explicitly says if the specified key doesn't exist, including where
10464             we ended up.
10466 Sun Jan 31 00:19:41 GMT 2010  Olly Betts <olly@survex.com>
10468         * tests/api_compact.cc: Use a single Document object rather than
10469           creating the same one 10000 times.
10471 Sun Jan 31 00:08:38 GMT 2010  Olly Betts <olly@survex.com>
10473         * tests/api_compact.cc: Move make_multichunk_db() before the testcase
10474           which uses it, rather than between two helper functions for another
10475           testcase.
10477 Sun Jan 31 00:07:03 GMT 2010  Olly Betts <olly@survex.com>
10479         * tests/api_compact.cc: Remove confusing comment, cut-and-pasted from
10480           elsewhere and not relevant here.
10482 Fri Jan 29 06:13:18 GMT 2010  Olly Betts <olly@survex.com>
10484         * backends/brass/brass_metadata.cc,backends/chert/chert_metadata.cc,
10485           backends/flint/flint_metadata.cc: Correct filenames in @file.
10487 Thu Jan 28 22:34:03 GMT 2010  Richard Boulton <richard@tartarus.org>
10489         * tests/api_compact.cc: Add check that xapian-compact works
10490           correctly on a database with multiple chunks for a single term;
10491           this is a regression test for ticket #427
10493 Thu Jan 28 22:33:16 GMT 2010  Richard Boulton <richard@tartarus.org>
10495         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Don't
10496           cut the extra byte of doclen chunk keys.
10498 Thu Jan 28 21:23:48 GMT 2010  Richard Boulton <richard@tartarus.org>
10500         * bin/xapian-compact-flint.cc: Revert previous patch for flint - it
10501           only applies to new key format used by chert and brass.
10503 Thu Jan 28 21:13:38 GMT 2010  Richard Boulton <richard@tartarus.org>
10505         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc,
10506           bin/xapian-compact-flint.cc: Partial fix for #427: truncate
10507           follow-on keys for postlist chunks fully (was leaving the
10508           trailing 0-byte, causing the code for chert and brass to
10509           incorrectly think a new chunk had started, resulting in a
10510           truncated posting list.
10512 Thu Jan 28 20:42:47 GMT 2010  Richard Boulton <richard@tartarus.org>
10514         * bin/xapian-inspect.cc: Add "until" command to display keys until
10515           a specified one.  Useful for seeing all keys for a particular
10516           posting list, etc.
10518 Thu Jan 28 01:31:54 GMT 2010  Olly Betts <olly@survex.com>
10520         * tests/dbcheck.cc: Whitespace tweak.
10522 Wed Jan 27 06:29:21 GMT 2010  Olly Betts <olly@survex.com>
10524         * tests/dbcheck.cc: <config.h> not "config.h".
10526 Wed Jan 27 04:20:42 GMT 2010  Olly Betts <olly@survex.com>
10528         * backends/brass/brass_inverter.h: Make two getters const.
10530 Wed Jan 27 04:01:17 GMT 2010  Olly Betts <olly@survex.com>
10532         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
10533           backends/flint/flint_database.cc,backends/flint/flint_database.h:
10534           Add ChertWritableDatabase::insert_mod_plist() to handle the simpler
10535           case where we know the document doesn't already exist, to avoid
10536           adding extra code to that common path over the code we had before
10537           the #250-related changes.
10539 Tue Jan 26 03:25:59 GMT 2010  Olly Betts <olly@survex.com>
10541         * tests/internaltest.cc: In testcase pack_uint_preserving_sort1, use
10542           data() not c_str(), calculate the end position just once, and use
10543           swap to copy the current packed to prev_packed.
10545 Fri Jan 15 12:51:38 GMT 2010  Olly Betts <olly@survex.com>
10547         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
10548           Fix to use 'M' as the flag character for modified entries in
10549           modplists (not 'U').  We never explicitly check for 'M' (we check for
10550           'A' vs 'D' vs something else), so this isn't a functional change,
10551           but rather making the values consistent (as they were before the
10552           fix for #250).
10554 Fri Jan 15 08:25:14 GMT 2010  Olly Betts <olly@survex.com>
10556         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
10557           backends/flint/flint_database.cc,backends/flint/flint_database.h:
10558           Use Xapian::termcount_diff instead of Xapian::termcount for
10559           parameters of add_freq_delta() which can be signed.  Fix parameter
10560           docs to say "change" instead of "increase".
10562 Fri Jan 15 06:05:28 GMT 2010  Olly Betts <olly@survex.com>
10564         * tests/api_replacedoc.cc: Just test that begin == end when we expect
10565           no positions rather than generating a string representation and
10566           then testing if it is empty.
10568 Thu Jan 14 11:17:36 GMT 2010  Olly Betts <olly@survex.com>
10570         * HACKING: Auto-enabling of -Werror is now done for GCC 4.1 or newer.
10572 Thu Jan 14 05:06:42 GMT 2010  Olly Betts <olly@survex.com>
10574         * HACKING: Include the MIT licence text in HACKING itself.
10575         * COPYING_MIT: Remove external copy of text - it could mislead users
10576           into thinking that this is the current licence of Xapian.
10578 Sun Jan 10 07:36:16 GMT 2010  Olly Betts <olly@survex.com>
10580         * configure.ac:With --enable-maintainer-mode, enable -Werror for GCC
10581           >= 4.1 rather than >= 4.0 as Apple's GCC 4.0 gives bogus
10582           uninitialised variable warnings for pack.h.
10584 Sat Jan 09 00:56:06 GMT 2010  Olly Betts <olly@survex.com>
10586         * queryparser/queryparser.lemony: Add support for quoting boolean terms
10587           so they can contain arbitrary characters (partly addresses
10588           ticket#128).
10589         * tests/queryparsertest.cc: Add test coverage.
10591 Fri Jan 08 13:25:25 GMT 2010  Richard Boulton <richard@tartarus.org>
10593         * tests/api_compact.cc: Add copyright note for my changes committed
10594           earlier today.
10596 Fri Jan 08 12:19:07 GMT 2010  Olly Betts <olly@survex.com>
10598         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Fix merging
10599           of databases by xapian-compact for brass and chert.
10600         * tests/api_compact.cc: Enable test compactmerge1 for brass and chert
10601           as a regression test.
10603 Fri Jan 08 11:26:41 GMT 2010  Olly Betts <olly@survex.com>
10605         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
10606           backends/flint/flint_database.cc: Rearrange comparison between old
10607           and new termlists to avoid double check of termlist.at_end().
10609 Fri Jan 08 11:22:30 GMT 2010  Richard Boulton <richard@tartarus.org>
10611         * tests/api_compact.cc: Add test of xapian-compact when merging
10612           databases.  Currently, the generated databases are broken for
10613           chert and brass, so skipping the test for those to avoid breaking
10614           the snapshotter.
10616 Fri Jan 08 11:13:13 GMT 2010  Richard Boulton <richard@tartarus.org>
10618         * tests/: Move routines for helping to check database contents and
10619           consistency into dbcheck.cc, with headers in dbcheck.h.
10621 Fri Jan 08 10:07:09 GMT 2010  Richard Boulton <richard@tartarus.org>
10623         * tests/internaltest.cc: Add test_pack_uint_preserving_sort1()
10624           which I wrote when suspicious of that function - passes fine, but
10625           probably worth keeping the test coverage.
10627 Fri Jan 08 00:23:06 GMT 2010  Olly Betts <olly@survex.com>
10629         * AUTHORS: Add Henry Combrinck for Search::Xapian patches.
10631 Thu Jan 07 15:51:57 GMT 2010  Richard Boulton <richard@tartarus.org>
10633         * api/postingsource.cc: For ValueWeightPostingSources for which
10634           there are no entries, the upper bound returned will be an empty
10635           string, which translated to -inf when passed to
10636           sortable_unserialise().  This was causing the matcher to get
10637           confused and return no results in some queries involving such a
10638           posting source.  This commit fixes this.
10639         * tests/api_postingsource.cc: Add emptyvalwtsource1 as a regression
10640           test for this, and a general test of this area of code.
10642 Thu Jan 07 09:17:58 GMT 2010  Olly Betts <olly@survex.com>
10644         * backends/brass/brass_inverter.h: Fix comment typo.
10646 Wed Dec 30 11:46:45 GMT 2009  Richard Boulton <richard@tartarus.org>
10648         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
10649           backends/flint/flint_database.cc: When updating documents, don't
10650           update posting entries which havn't changed.  Largely fixes
10651           ticket #250.
10652         * AUTHORS: Add Kan-Ru Chen, since his patch attached to ticket #250
10653           was the basis of this fix.
10655 Wed Dec 30 11:44:18 GMT 2009  Richard Boulton <richard@tartarus.org>
10657         * backends/brass/brass_inverter.h: Add methods for updating an
10658           existing posting, so we don't have to remove then re-add it.
10660 Wed Dec 30 11:41:57 GMT 2009  Richard Boulton <richard@tartarus.org>
10662         * backends/brass/brass_database.h: Remove old unused members:
10663           total_length and lastdocid.
10665 Wed Dec 30 01:07:04 GMT 2009  Richard Boulton <richard@tartarus.org>
10667         * backends/chert/chert_database.h: Remove old unused members:
10668           total_length and lastdocid.
10670 Wed Dec 30 00:21:03 GMT 2009  Richard Boulton <richard@tartarus.org>
10672         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
10673           backends/flint/flint_database.cc,backends/flint/flint_database.h:
10674           Move frequently repeated code for updating the freq_deltas and
10675           mod_plists items into separate functions.  Makes the code
10676           considerably clearer, and prepares the way for applying the patch
10677           to fix ticket #250.
10679 Wed Dec 30 00:07:33 GMT 2009  Richard Boulton <richard@tartarus.org>
10681         * tests/api_replacedoc.cc: Add a few more sequences of operations
10682           which look worth testing, after looking at the code implementing
10683           replace_document().
10685 Tue Dec 29 22:29:08 GMT 2009  Richard Boulton <richard@tartarus.org>
10687         * tests/api_replacedoc.cc: Check consistency of the posting lists
10688           with the termlists, and consistency of the statistics, at each
10689           step of modtermwdf1.  Also, add some other terms to the document,
10690           so we can check the stored doclength for terms which haven't been
10691           modified.
10693 Sun Dec 27 14:56:16 GMT 2009  Richard Boulton <richard@tartarus.org>
10695         * backends/chert/chert_modifiedpostlist.cc,
10696           backends/flint/flint_modifiedpostlist.cc: Report the wdf from the
10697           modifications, rather the sum of the wdf from the modifications
10698           and the old wdf.  The old behaviour was just wrong, but we had no
10699           test coverage for this until the last commit.
10701 Sun Dec 27 13:34:06 GMT 2009  Richard Boulton <richard@tartarus.org>
10703         * tests/api_replacedoc.cc: Add test of the contents of the
10704           postlist of a term which is being modified.  Also, tidy up the
10705           output of docterms_to_string() to skip any empty position lists.
10707 Sat Dec 26 19:21:19 GMT 2009  Richard Boulton <richard@tartarus.org>
10709         * tests/api_replacedoc.cc: Extend test to cover removing a term but
10710           not deleting it, and finally deleting the document.
10712 Thu Dec 24 19:18:41 GMT 2009  Richard Boulton <richard@tartarus.org>
10714         * tests/api_replacedoc.cc: Expand test to cover some modification
10715           to the positional information.
10717 Thu Dec 24 19:06:32 GMT 2009  Richard Boulton <richard@tartarus.org>
10719         * tests/api_replacedoc.cc: Add some more sets of modification
10720           operations to the tests.
10722 Thu Dec 24 18:55:37 GMT 2009  Richard Boulton <richard@tartarus.org>
10724         * tests/api_replacedoc.cc: Add test modtermwdf1, which tests a lot
10725           more cases where documents are modified.
10727 Thu Dec 24 14:36:38 GMT 2009  Olly Betts <olly@survex.com>
10729         * tests/: Canonicalise the conditions on testcases.
10731 Thu Dec 24 14:08:59 GMT 2009  Olly Betts <olly@survex.com>
10733         * tests/api_closedb.cc: Fix typo in last commit.
10735 Thu Dec 24 13:39:28 GMT 2009  Olly Betts <olly@survex.com>
10737         * tests/api_closedb.cc: Check WritableDatabase::close() during a
10738           transaction does *NOT* implicitly call commit().
10740 Thu Dec 24 13:07:09 GMT 2009  Olly Betts <olly@survex.com>
10742         * backends/brass/brass_database.cc,backends/brass/brass_database.h,
10743           backends/chert/chert_database.cc,backends/chert/chert_database.h,
10744           backends/flint/flint_database.cc,backends/flint/flint_database.h:
10745           Fix WritableDatabase::close() to commit() changes (unless a
10746           transaction is in progress).
10747         * tests/api_closedb.cc: Add regression test closedb4.
10749 Wed Dec 23 00:26:34 GMT 2009  Olly Betts <olly@survex.com>
10751         * backends/brass/brass_database.cc,backends/brass/brass_inverter.cc,
10752           backends/brass/brass_inverter.h: For allterms iteration of a
10753           WritableDatabase, if a prefix is specified only flush changes for
10754           terms with that prefix.  Also, don't flush document lengths for
10755           allterms iteration.
10757 Tue Dec 22 22:48:55 GMT 2009  Olly Betts <olly@survex.com>
10759         * bin/xapian-check.cc: Fixed reversed checks for chert and flint being
10760           enabled in r13781.
10762 Tue Dec 22 14:20:24 GMT 2009  Olly Betts <olly@survex.com>
10764         * tests/harness/testrunner.cc: Add brass variants of multi and remote
10765           backends.
10767 Tue Dec 22 14:15:43 GMT 2009  Olly Betts <olly@survex.com>
10769         * bin/: Implement xapian-check and xapian-compact support for brass.
10771 Tue Dec 22 13:41:08 GMT 2009  Olly Betts <olly@survex.com>
10773         * bin/: Split the chert-specific checking code into a separate file
10774           so xapian-check.cc is just the driver code.
10776 Tue Dec 22 12:47:59 GMT 2009  Olly Betts <olly@survex.com>
10778         * backends/brass/: Add new Inverter class to encapsulate the inversion
10779           data structures and associated code.  Instead of carefully iterating
10780           modified posting lists and document length lists, just flush the
10781           particular list needed to disk and iterate that.  This is much
10782           simpler and more obviously free of subtle bugs, and means we don't
10783           need to use data structures which allow such iteration.
10785 Tue Dec 22 12:25:04 GMT 2009  Olly Betts <olly@survex.com>
10787         * backends/brass/,backends/dbfactory.cc,include/xapian/dbfactory.h,
10788           include/xapian/valueiterator.h,include/xapian/version_h.cc,
10789           tests/harness/Makefile.mk: Fix to actually build brass.  Testsuite
10790           doesn't currently all pass.
10792 Tue Dec 22 04:26:17 GMT 2009  Olly Betts <olly@survex.com>
10794         * HACKING,INSTALL,backends/Makefile.mk,backends/brass/,
10795           backends/chert/dir_contents,backends/databasereplicator.cc,
10796           backends/dbfactory.cc,common/pack.h,configure.ac,docs/,tests/,
10797           tests/harness/: Add new development backend called "brass" and
10798           promote "chert" to being the stable backend.
10800 Mon Dec 21 09:41:57 GMT 2009  Olly Betts <olly@survex.com>
10802         * backends/chert/chert_database.cc: Update comment about
10803           MAX_SAFE_TERM_LENGTH to reflect the key format changes.
10805 Mon Dec 21 08:12:55 GMT 2009  Olly Betts <olly@survex.com>
10807         * backends/chert/chert_alldocsmodifiedpostlist.cc,
10808           backends/chert/chert_alldocsmodifiedpostlist.h: Change reference
10809           parameter to const reference.
10811 Mon Dec 21 03:19:09 GMT 2009  Olly Betts <olly@survex.com>
10813         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
10814           Replacing a document deleted since the last flush failed to update
10815           the collection frequency and wdf, and caused an assertion failure
10816           when assertions were enabled.
10817         * tests/api_backend.cc: Add regression test replacedoc8.
10819 Sun Dec 20 07:26:30 GMT 2009  Olly Betts <olly@survex.com>
10821         * configure.ac: Divert to AS_MESSAGE_LOG_FD rather than literal fd 5.
10822           Divert more output to AS_MESSAGE_LOG_FD rather than /dev/null.
10824 Thu Dec 17 13:53:31 GMT 2009  Olly Betts <olly@survex.com>
10826         * NEWS: Update from ChangeLog.
10828 Thu Dec 17 13:36:54 GMT 2009  Olly Betts <olly@survex.com>
10830         * Backport change from chert:
10831         * backends/flint/flint_alltermslist.cc: Tweak to not apply the
10832           prefix test in the "at end" case.
10833         * backends/flint/flint_alltermslist.cc: There's no point checking
10834           follow-on chunks match the prefix - the first chunk we'll hit
10835           which doesn't match has to be an initial chunk for a term.
10837 Thu Dec 17 11:57:31 GMT 2009  Olly Betts <olly@survex.com>
10839         * tests/api_replacedoc.cc: Fix to test the right variable.
10841 Thu Dec 17 11:16:51 GMT 2009  Olly Betts <olly@survex.com>
10843         * tests/api_wrdb.cc: The regression test replacedoc5 no longer actually
10844           checks for the situation it was written for, due to the shortcutting
10845           we now do in flint and chert when replacing a document with itself,
10846           so extend it with a check with that behaviour suppressed (fortunately
10847           it still passes).
10849 Wed Dec 16 12:03:13 GMT 2009  Olly Betts <olly@survex.com>
10851         * backends/chert/,bin/Makefile.mk,common/pack.h: Change the packing
10852           of uints and strings into sortable keys in chert databases, which
10853           reduces database size by 2.5% in tests.  This means an incompatible
10854           change in the chert format.
10855         * bin/xapian-chert-update.cc: Utility to update a chert database from
10856           the old format to the new format.  It works much like xapian-compact
10857           so should take a similar amount of time (and results in a compact
10858           database).
10859         * tests/api_wrdb.cc: Adjust the test which checks a string of zero
10860           bytes fails in the correct way - 126 zero bytes is now handled, so
10861           we need 127 to check the failure mode.
10863 Wed Dec 16 11:52:27 GMT 2009  Olly Betts <olly@survex.com>
10865         * bin/xapian-compact.cc: Ensure that the resultant database has a
10866           fresh UUID (previously chert copied the UUID from the first input,
10867           while flint didn't set a UUID so one was generated on demand when
10868           next requested, if the database is writable.
10869         * tests/api_compact.cc: Add tests that a UUID is set and that it is
10870           different from that of the input.
10872 Wed Dec 16 09:57:27 GMT 2009  Olly Betts <olly@survex.com>
10874         * examples/quest.cc: If no database is specified, still parse the query
10875           and report get_description() on it as this provides a useful way to
10876           see how a query parses.
10878 Wed Dec 16 00:40:51 GMT 2009  Olly Betts <olly@survex.com>
10880         * languages/german.sbl,languages/german2.sbl: Update the german and
10881           german2 stemming algorithms to the latest versions from Snowball.
10882           These add an extra rule for the "-nisse" ending.
10884 Tue Dec 15 13:08:33 GMT 2009  Olly Betts <olly@survex.com>
10886         * bin/: Split apart the flint and chert compaction code.  Should be
10887           no change in functionality.
10889 Tue Dec 15 10:11:10 GMT 2009  Olly Betts <olly@survex.com>
10891         * backends/chert/chert_alltermslist.cc: Tweak to not apply the
10892           prefix test in the "at end" case.
10894 Tue Dec 15 09:40:19 GMT 2009  Olly Betts <olly@survex.com>
10896         * backends/chert/chert_alltermslist.cc: There's no point checking
10897           follow-on chunks match the prefix - the first chunk we'll hit
10898           which doesn't match has to be an initial chunk for a term.
10900 Tue Dec 15 08:24:04 GMT 2009  Olly Betts <olly@survex.com>
10902         * include/xapian/: Convert DerefStringWrapper_ to a templated
10903           DerefWrapper_ and use it instead of DocIDWrapper and TermPosWrapper.
10905 Tue Dec 15 08:23:08 GMT 2009  Olly Betts <olly@survex.com>
10907         * include/xapian/query.h: Mark Query::Internal as @private for doxygen.
10909 Tue Dec 15 03:59:44 GMT 2009  Olly Betts <olly@survex.com>
10911         * common/pack.h: Return false not true if
10912           unpack_string_preserving_sort() fails.  Add assertions that the
10913           source pointer isn't NULL to all the functions.
10915 Tue Dec 15 02:30:24 GMT 2009  Olly Betts <olly@survex.com>
10917         * examples/delve.cc: Improve phrasing ("unique terms" -> "distinct
10918           terms").
10920 Sat Dec 12 13:07:51 GMT 2009  Richard Boulton <richard@tartarus.org>
10922         * tests/Makefile.am,tests/api_posdb.cc,tests/api_replacedoc.cc:
10923           Split my recently added replacedoc test out into a new file.
10925 Sat Dec 12 12:58:22 GMT 2009  Richard Boulton <richard@tartarus.org>
10927         * tests/api_posdb.cc: Extend test of document modification to cover
10928           removing the last term in the document, too.
10930 Sat Dec 12 12:57:43 GMT 2009  Richard Boulton <richard@tartarus.org>
10932         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
10933           Fix comparison of old term with new.
10935 Sat Dec 12 11:30:23 GMT 2009  Richard Boulton <richard@tartarus.org>
10937         * backends/chert/chert_database.cc,backends/flint/flint_database.cc,
10938           tests/api_posdb.cc: Delete old positionlist chunks in
10939           replace_document().  Uncomment part of test which tested this.
10941 Sat Dec 12 04:24:42 GMT 2009  Olly Betts <olly@survex.com>
10943         * backends/chert/chert_database.cc,backends/flint/flint_database.cc,
10944           common/document.h: If a document is replaced with itself unmodified,
10945           we no longer increase the automatic flush counter.
10946         * tests/api_backend.cc: Add regression test replacedoc7.
10948 Fri Dec 11 19:39:34 GMT 2009  Richard Boulton <richard@tartarus.org>
10950         * tests/api_posdb.cc: Add a basic test of adding a document, and
10951           modifying its positions.  Found one bug already, but the line
10952           which triggers this is commented out for now so that we don't
10953           break the snapshotters until it's fixed.
10955 Fri Dec 11 16:51:22 GMT 2009  Richard Boulton <richard@tartarus.org>
10957         * common/documentterm.h: Fix some documentation comments which were
10958           trivially incorrect or incomplete.
10960 Fri Dec 11 11:05:19 GMT 2009  Richard Boulton <richard@tartarus.org>
10962         * COPYING_MIT,HACKING: Add details of our policy for accepting
10963           patches.  This has informally been true for a while, but it
10964           probably helps to tell people about it!
10966 Tue Dec 08 13:15:28 GMT 2009  Olly Betts <olly@survex.com>
10968         * backends/chert/chert_cursor.h: Fix to build with --enable-assertions.
10970 Tue Dec 08 13:05:36 GMT 2009  Olly Betts <olly@survex.com>
10972         * backends/chert/chert_cursor.cc,backends/chert/chert_cursor.h,
10973           backends/chert/chert_postlist.cc: Add MutableChertCursor subclass of
10974           ChertCursor and implement del() there rather than in ChertCursor.
10975           This means we can use the C++ type system to track whether we got
10976           a const or non-const ChertTable * and so whether it is safe to
10977           cast away that const and delete the entry the cursor points to.
10979 Tue Dec 08 12:03:08 GMT 2009  Olly Betts <olly@survex.com>
10981         * backends/chert/chert_database.cc,backends/chert/chert_table.cc,
10982           backends/chert/chert_table.h,backends/flint/flint_database.cc,
10983           backends/flint/flint_table.cc,backends/flint/flint_table.h,
10984           bin/xapian-compact.cc,bin/xapian-inspect.cc: Add empty() method to
10985           FlintTable and ChertTable which works completely reliably even if
10986           the item count has wrapped.
10987         * tests/api_closedb.cc: Add closedb3 for coverage of get_doccount() and
10988           has_positions().
10990 Tue Dec 08 08:23:12 GMT 2009  Olly Betts <olly@survex.com>
10992         * backends/chert/chert_cursor.h: Tweak whitespace in comment.
10994 Mon Dec 07 04:56:42 GMT 2009  Olly Betts <olly@survex.com>
10996         * backends/flint/flint_database.cc,backends/flint/flint_synonym.h:
10997           Eliminate "size" private member of FlintSynonymTermList which is set
10998           but never used.
11000 Mon Dec 07 04:49:54 GMT 2009  Olly Betts <olly@survex.com>
11002         * backends/chert/chert_database.cc,backends/chert/chert_synonym.h:
11003           Eliminate "size" private member of ChertSynonymTermList which is set
11004           but never used.
11006 Mon Dec 07 04:32:46 GMT 2009  Olly Betts <olly@survex.com>
11008         * backends/chert/: Use > 32 bit type to keep count of items in a
11009           table.  This fixes misreporting by xapian-check, and in the very
11010           unlikely case where the counter has just wrapped to 0, makes
11011           xapian-compact not mistakenly think tables are empty and the
11012           matcher ignore positional information.
11014 Thu Dec 03 10:08:28 GMT 2009  Richard Boulton <richard@tartarus.org>
11016         * tests/api_compact.cc: Cast character value in string constructor
11017           to a char; without this we were getting a stack overflow and
11018           general nastiness on i386, which we hypothesise was due to the
11019           wrong overload for string() being picked.
11021 Wed Dec 02 23:10:50 GMT 2009  Olly Betts <olly@survex.com>
11023         * backends/flint_lock.cc: Add missing include of xapian/error.h.
11024           This was causing the snapshot builder to fail, but worked OK
11025           in my tree for reasons I don't understand.
11027 Wed Dec 02 14:30:40 GMT 2009  Olly Betts <olly@survex.com>
11029         * backends/chert/chert_database.cc,
11030           backends/chert/chert_databasereplicator.cc,
11031           backends/flint/flint_database.cc,
11032           backends/flint/flint_databasereplicator.cc,backends/flint_lock.cc,
11033           backends/flint_lock.h: Factor out 4 copies of the same code to
11034           report why Xapian failed to get a lock.
11036 Wed Dec 02 10:05:27 GMT 2009  Olly Betts <olly@survex.com>
11038         * backends/Makefile.mk,backends/chert/,backends/flint/,
11039           backends/flint_lock.cc,backends/flint_lock.h: Factor out a single
11040           version of the "flint-compatible locking code" and use it from both
11041           flint and chert.
11043 Wed Dec 02 02:49:14 GMT 2009  Olly Betts <olly@survex.com>
11045         * tests/api_compact.cc,tests/apitest.cc,tests/apitest.h,
11046           tests/harness/backendmanager.cc,tests/harness/backendmanager.h: Add
11047           get_database_path() variant which takes a generator function and use
11048           it so that the right database names are used in compactnorenumber1.
11050 Tue Dec 01 12:37:24 GMT 2009  Olly Betts <olly@survex.com>
11052         * tests/apitest.cc,tests/harness/backendmanager.cc,
11053           tests/harness/backendmanager.h: Move generator function variant of
11054           get_database() to BackendManager, and tweak it to build the database
11055           under a temporary path and rename it once built, to avoid leaving a
11056           partial database in place if interrupted.
11057         * tests/perftest/perftest_matchdecider.cc: Use this mechanism to lazily
11058           generate test databases.
11059         * tests/harness/: Remove the optional name parameter from various
11060           BackendManager methods as it was only used by perftest and is no
11061           longer needed.
11063 Tue Dec 01 11:00:35 GMT 2009  Olly Betts <olly@survex.com>
11065         * tests/apitest.cc,tests/apitest.h: Add mechanism for caching databases
11066           generated by a function.
11067         * tests/api_compact.cc: Use it for compactnorenumber1.
11069 Tue Dec 01 10:59:50 GMT 2009  Olly Betts <olly@survex.com>
11071         * tests/api_db.cc: Rename matchfunctor<n> to matchdecider<n> to match
11072           current terminology.
11074 Tue Dec 01 10:51:23 GMT 2009  Olly Betts <olly@survex.com>
11076         * tests/api_db.cc: Don't run matchfunctor3 under remote backends as
11077           MatchDecider isn't actually supported there (uncovered by recent
11078           change to throw UnimplementedError in this case).
11080 Tue Dec 01 09:35:53 GMT 2009  Richard Boulton <richard@tartarus.org>
11082         * include/xapian/matchspy.h: Remove out-of-date reference to
11083           add_slot(), which no longer exists: users are expected to use
11084           multiple ValueCountMatchSpies if they need to monitor more than
11085           one slot.
11087 Tue Dec 01 08:04:17 GMT 2009  Olly Betts <olly@survex.com>
11089         * tests/Makefile.am,tests/api_compact.cc: Add test coverage for
11090           xapian-compact --no-renumber with multiple databases.
11092 Tue Dec 01 06:25:47 GMT 2009  Olly Betts <olly@survex.com>
11094         * tests/api_backend.cc: Clean up matchdecider4.
11096 Tue Dec 01 06:12:29 GMT 2009  Olly Betts <olly@survex.com>
11098         * HACKING: A couple more std::string efficiency tips.
11100 Tue Dec 01 05:51:52 GMT 2009  Olly Betts <olly@survex.com>
11102         * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
11103           net/remoteserver.cc: Throw UnimplementedError if a matchdecider or
11104           "legacy" matchspy is used with the remote backend.
11105         * tests/api_backend.cc: Add regression test matchdecider4.
11107 Mon Nov 30 05:42:43 GMT 2009  Olly Betts <olly@survex.com>
11109         * backends/remote/remote-database.cc,common/remote-database.h,
11110           common/remoteprotocol.h,common/remoteserver.h,
11111           docs/remote_protocol.html,net/remoteserver.cc,tests/api_metadata.cc,
11112           tests/harness/testrunner.cc: Add support for
11113           WritableDatabase::set_metadata() and Database::get_metadata() to the
11114           remote backend (based largely on patch in #178).
11115         * AUTHORS: Thanks to Paul Rudin for patch.
11117 Thu Nov 26 07:25:15 GMT 2009  Olly Betts <olly@survex.com>
11119         * NEWS: Start to update from ChangeLog.
11121 Thu Nov 26 02:26:43 GMT 2009  Olly Betts <olly@survex.com>
11123         * common/str.cc: Tweak the length calculation for the buffer used by
11124           str() when converting integers to strings so that the buffer is
11125           exactly the minimum required size for integers of size 1, 2, 4,
11126           and 8 bytes, and only a byte extra for 16 byte integers.
11128 Wed Nov 25 05:59:13 GMT 2009  Olly Betts <olly@survex.com>
11130         * bin/xapian-compact.cc: In the --no-renumber case, just set offset[]
11131           entries to zero to start with rather than fixing them up later.
11133 Wed Nov 25 05:49:37 GMT 2009  Olly Betts <olly@survex.com>
11135         * bin/xapian-compact.cc: Extend --no-renumber to support merging
11136           databases, but only if they have disjoint ranges of used document
11137           ids.
11139 Wed Nov 25 04:37:38 GMT 2009  Olly Betts <olly@survex.com>
11141         * bin/xapian-compact.cc: Fix typos in --help output.
11143 Wed Nov 25 04:22:26 GMT 2009  Olly Betts <olly@survex.com>
11145         * bin/xapian-compact.cc: Prune unused docids off the end of database
11146           when merging multiple databases with renumbering.
11148 Wed Nov 25 03:12:24 GMT 2009  Olly Betts <olly@survex.com>
11150         * bin/xapian-compact.cc: Use string() instead of "" and string(1, '\0')
11151           instead of string("", 1).
11153 Wed Nov 25 02:34:10 GMT 2009  Olly Betts <olly@survex.com>
11155         * backends/chert/chert_lock.cc: Fix locking code to work if stdin
11156           and/or stdout have been closed.
11157         * backends/flint/flint_lock.cc: Backport fix to flint.
11158         * tests/api_backend.cc: Add regression test lockfilefd0or1.
11160 Wed Nov 25 00:59:05 GMT 2009  Olly Betts <olly@survex.com>
11162         * backends/chert/chert_database.cc,backends/chert/chert_lock.cc,
11163           backends/chert/chert_lock.h: Add "FDLIMIT" reason code for why
11164           locking failing.
11166 Tue Nov 24 12:44:56 GMT 2009  Olly Betts <olly@survex.com>
11168         * api/omdatabase.cc: Factor out throwing an exception for docid 0 not
11169           being valid.
11171 Tue Nov 24 12:39:10 GMT 2009  Olly Betts <olly@survex.com>
11173         * tests/api_none.cc: Note previous fix was ticket#415.
11175 Tue Nov 24 12:33:12 GMT 2009  Olly Betts <olly@survex.com>
11177         * api/omdatabase.cc: Fix many Xapian::Database methods to behave better
11178           on a database with no subdatabases, such as is constructed by
11179           Database().
11180         * tests/Makefile.am,tests/api_nodb.cc,tests/api_none.cc: Expand
11181           emptydb_metadata1 to also regression test these other cases, and
11182           rename to nosubdatabases1.
11184 Mon Nov 23 14:01:51 GMT 2009  Olly Betts <olly@survex.com>
11186         * common/debuglog.h: Add "NO_ARGS" which can be used for debug logging
11187           when a function or method takes no arguments.  The main advantage
11188           over "" is that no extra code is generated for it.
11189         * api/omdatabase.cc: Convert to use debuglog.h fully.
11190         * api/matchspy.cc,api/omdatabase.cc: Make use of NO_ARGS.
11192 Mon Nov 23 09:10:55 GMT 2009  Olly Betts <olly@survex.com>
11194         * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc,
11195           common/debuglog.cc,common/debuglog.h,common/omdebug.h,configure.ac,
11196           matcher/multimatch.cc,queryparser/queryparser.lt: Rename
11197           XAPIAN_DEBUG_VERBOSE macro to XAPIAN_DEBUG_LOG to better match the
11198           user-visible "--enable-log" configure option which controls it.
11200 Mon Nov 23 08:08:45 GMT 2009  Olly Betts <olly@survex.com>
11202         * backends/chert/chert_database.cc,backends/chert/chert_lock.cc,
11203           backends/chert/chert_table.cc,backends/flint/: Use string() or
11204           s.resize(0) instead of "".  Use string(1, '\0') instead of
11205           string("", 1).
11207 Sun Nov 22 14:20:51 GMT 2009  Olly Betts <olly@survex.com>
11209         * backends/chert/chert_postlist.cc: When skipping through a chunk of
11210           postings to find the one we want, don't bother to unpack the wdf
11211           values we're skipping over, which should save a significant amount
11212           of time in certain cases where the profile data shows we spend
11213           something like 1/3 of the time in the function where this happens.
11215 Sun Nov 22 13:12:39 GMT 2009  Olly Betts <olly@survex.com>
11217         * api/matchspy.cc,backends/chert/chert_values.cc,
11218           languages/steminternal.cc: Tweak whitespace after while to be
11219           consistent.
11221 Sat Nov 21 17:39:23 GMT 2009  Richard Boulton <richard@tartarus.org>
11223         * backends/chert/chert_values.cc,backends/chert/chert_values.h:
11224           Make ValueChunkReader::skip_to() assign the value to a string
11225           only when the target has been reached.  Saves a lot of
11226           unnecessary string copying - on a benchmark of mydeco data,
11227           improves time for 100 queries from 3.66s to 3.10s.
11229 Sat Nov 21 01:13:26 GMT 2009  Olly Betts <olly@survex.com>
11231         * tests/: Make arrays which don't need to be modified const.
11233 Sat Nov 21 00:01:04 GMT 2009  Olly Betts <olly@survex.com>
11235         * tests/api_matchspy.cc: The default parameter for
11236           get_writable_database() is string(), so don't explicitly pass "".
11238 Fri Nov 20 16:19:13 GMT 2009  Richard Boulton <richard@tartarus.org>
11240         * tests/api_matchspy.cc: Add regression test for underflow in
11241           numeric ranges (based on python version in ticket #321).
11243 Fri Nov 20 10:54:08 GMT 2009  Olly Betts <olly@survex.com>
11245         * matcher/valuestreamdocument.cc: Use check() instead of skip_to() in
11246           ValueStreamDocument.
11248 Fri Nov 20 09:57:12 GMT 2009  Olly Betts <olly@survex.com>
11250         * common/document.h,matcher/: Implement ValueStreamDocument subclass
11251           of Xapian::Document::Internal which provides a way to connect up
11252           valuestreams to uses of values during the match.  Other
11253           (non-recommended) uses of the Document passed to MatchDecider, etc
11254           are passed through to a lazily created backend Document::Internal
11255           subclass.  This should be a lot more efficient for chert.  It's
11256           unclear how it will affect performance for backends which don't store
11257           values in streams - profiling is required.
11259 Fri Nov 20 02:35:14 GMT 2009  Olly Betts <olly@survex.com>
11261         * backends/inmemory/inmemory_document.cc: Fix closedb1 on InMemory
11262           backend, broken by recent commit.
11264 Thu Nov 19 12:03:52 GMT 2009  Olly Betts <olly@survex.com>
11266         * backends/multi/multi_valuelist.cc: Fix to handle the case where all
11267           the sublists turn out to be empty when we first call next().
11269 Thu Nov 19 11:12:53 GMT 2009  Olly Betts <olly@survex.com>
11271         * backends/inmemory/: Set the document data and values lazily for the
11272           inmemory backend too.  They're much less costly to fetch than if
11273           a disk access may be needed, but it avoids a copy of the respective
11274           data if they aren't needed, and either could potentially be large.
11275           Consistency here also makes things easier to understand.
11277 Thu Nov 19 08:47:24 GMT 2009  Olly Betts <olly@survex.com>
11279         * api/omdocument.cc: Prefer string() to "".
11281 Thu Nov 19 07:38:29 GMT 2009  Olly Betts <olly@survex.com>
11283         * api/omdatabase.cc,backends/multi/Makefile.mk,
11284           backends/multi/multi_valuelist.cc,common/Makefile.mk,
11285           common/multivaluelist.h,tests/api_valuestream.cc: Implement support
11286           for iterating valuestreams for multidatabases.
11288 Thu Nov 19 06:19:05 GMT 2009  Olly Betts <olly@survex.com>
11290         * bin/xapian-check.cc: Rework the checking of postlist chunks into
11291           a cleaner approach which should report errors better, and
11292           eliminate the (probably) impossible "did might not be initialised"
11293           path which GCC 4.2 spotted.
11295 Thu Nov 19 01:15:03 GMT 2009  Olly Betts <olly@survex.com>
11297         * common/pack.h: Remove incorrect assertion and document what NULL
11298           parameter value means in this case.
11300 Wed Nov 18 16:33:01 GMT 2009  Richard Boulton <richard@tartarus.org>
11302         * bin/xapian-check.cc: Fix compiler warning (with gcc-4.2) that did
11303           could be used uninitialised: it couldn't be, but it's hard for a
11304           compiler to see that.
11306 Wed Nov 18 12:48:17 GMT 2009  Richard Boulton <richard@tartarus.org>
11308         * AUTHORS: Update my email address.
11310 Wed Nov 18 12:21:09 GMT 2009  Olly Betts <olly@survex.com>
11312         * common/valuelist.h: Fix internal documentation comment.
11314 Wed Nov 18 10:40:54 GMT 2009  Olly Betts <olly@survex.com>
11316         * configure.ac: Use <cstdlib>, <cmath>, <cstdio>, <cstring> for
11317           configure tests since we use these forms in the code and want
11318           consistency between what configure tests and what the code
11319           uses.
11320         * NEWS,configure.ac: Update for 1.1.3.
11322 Wed Nov 18 10:39:59 GMT 2009  Olly Betts <olly@survex.com>
11324         * PLATFORMS: Update from 1.0.17.
11326 Wed Nov 18 10:31:49 GMT 2009  Olly Betts <olly@survex.com>
11328         * INSTALL: Improve text about zlib dependency.
11330 Wed Nov 18 10:13:59 GMT 2009  Olly Betts <olly@survex.com>
11332         * INSTALL: Note the package to install for building against libuuid on
11333           Fedora, and note that libuuid isn't required on Microsoft Windows.
11335 Wed Nov 18 02:34:30 GMT 2009  Olly Betts <olly@survex.com>
11337         * NEWS: Update from 1.0.17 and ChangeLog.
11339 Mon Nov 16 08:35:52 GMT 2009  Olly Betts <olly@survex.com>
11341         * queryparser/queryparser.lemony: Fix interaction of FLAG_PARTIAL and
11342           FLAG_SYNONYM.  (ticket#407)
11343         * tests/Makefile.am,tests/api_qpbackend.cc: Add regression test
11344           qpsynonympartial1.
11346 Mon Nov 16 02:15:14 GMT 2009  Olly Betts <olly@survex.com>
11348         * backends/flint/flint_version.cc: Add "using namespace std;" and drop
11349           the explicit std:: qualifiers.
11351 Fri Nov 13 02:27:48 GMT 2009  Olly Betts <olly@survex.com>
11353         * backends/chert/chert_spelling.h,backends/chert/chert_table.h,
11354           backends/flint/flint_spelling.h,backends/flint/flint_table.h,
11355           common/getopt.cc,common/stringutils.h,languages/steminternal.h:
11356           Add missing std:: qualifiers for functions in <cstring>, <cstdlib>,
11357           etc.
11359 Fri Nov 13 02:25:50 GMT 2009  Olly Betts <olly@survex.com>
11361         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Add
11362           "using namespace std;" and drop the explicit std:: qualifiers.
11364 Fri Nov 13 02:11:18 GMT 2009  Olly Betts <olly@survex.com>
11366         * common/str.cc: Use assignment to initialise a size_t - the current
11367           code was turning a missing snprintf() prototype into a confusing
11368           error message with Sun's C++, and is less clear anyway.
11370 Fri Nov 13 02:03:28 GMT 2009  Olly Betts <olly@survex.com>
11372         * HACKING,backends/chert/chert_lock.cc,backends/flint/flint_lock.cc,
11373           backends/remote/remote-database.cc,net/remoteserver.cc,
11374           net/tcpserver.cc,tests/harness/backendmanager_remotetcp.cc,
11375           tests/harness/testsuite.cc: Sun C++'s <csignal> (not unreasonably)
11376           excludes non-ISO-C functions which are in <signal.h> - for example,
11377           kill() (which POSIX specifies).  So revert <csignal> to <signal.h>
11378           and document this as a global exception.
11380 Thu Nov 12 08:30:07 GMT 2009  Olly Betts <olly@survex.com>
11382         * matcher/collapser.h: Remove spurious comma after last entry in enum,
11383           which Sun's C++ compiler warns about.
11385 Thu Nov 12 00:24:55 GMT 2009  Olly Betts <olly@survex.com>
11387         * matcher/multimatch.cc: Sorter -> KeyMaker in an exception message.
11389 Thu Nov 12 00:01:55 GMT 2009  Olly Betts <olly@survex.com>
11391         * include/xapian/database.h: Tweak documentation comments about
11392           committing changes.
11394 Wed Nov 11 12:23:48 GMT 2009  Olly Betts <olly@survex.com>
11396         * queryparser/queryparser.lemony: Fix handling of a group of stopwords
11397           which notably caused issues when default_op was OP_AND, but could
11398           probably manifest in other cases too.  Fixes ticket#406.
11399         * tests/queryparsertest.cc: Add regression test qp_stopword_group1.
11401 Wed Nov 11 10:54:58 GMT 2009  Olly Betts <olly@survex.com>
11403         * backends/chert/chert_version.h,common/safeuuid.h: Fix workaround for
11404           uuid.h headers which lack const to actually work on Solaris.
11406 Wed Nov 11 10:53:50 GMT 2009  Olly Betts <olly@survex.com>
11408         * common/Makefile.mk: Need to ship new pack.h header.
11410 Tue Nov 10 22:27:47 GMT 2009  Olly Betts <olly@survex.com>
11412         * bin/xapian-check.cc: Fix compiler warning introduced by previous
11413           change.
11415 Tue Nov 10 12:24:34 GMT 2009  Olly Betts <olly@survex.com>
11417         * backends/chert/,bin/xapian-check.cc,common/pack.h: Rewrite the
11418           packing and unpacking functions more efficiently.  As well as being
11419           generally faster, the pack functions now take a reference to a string
11420           to append to, which avoids creating a lot of temporary string
11421           objects.  Indexing HTML files with omindex is 5-10% faster.
11422           Searching for "The" on gmane (which results in a lot of unpacking of
11423           postings and document lengths) is about 35% faster.  (ticket#326)
11425 Thu Nov 05 03:55:37 GMT 2009  Olly Betts <olly@survex.com>
11427         * common/safeuuid.h: Fix to work with uuid libraries which lack const
11428           qualifiers.  Fixes build failure on Solaris.
11430 Thu Nov 05 00:15:24 GMT 2009  Olly Betts <olly@survex.com>
11432         * HACKING: Update details of debian packaging.
11434 Wed Nov 04 04:11:38 GMT 2009  Olly Betts <olly@survex.com>
11436         * common/output.h: Use C++ syntax for NULL with a type in log output.
11438 Wed Nov 04 04:02:09 GMT 2009  Olly Betts <olly@survex.com>
11440         * queryparser/lemon.c: Avoid trivial memory leak.
11442 Wed Nov 04 00:13:00 GMT 2009  Olly Betts <olly@survex.com>
11444         * include/xapian/database.h: Reword to avoid somewhat ambiguous "this
11445           method".
11447 Tue Nov 03 12:12:09 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11449         * include/xapian/database.h: Make it more clear that you need to
11450           add the unique term to the document if you want to use
11451           replace_document() to use external unique IDs for documents.
11453 Tue Nov 03 06:08:43 GMT 2009  Olly Betts <olly@survex.com>
11455         * tests/generate-api_generated: Update MultiValueSorter to
11456           MultiValueKeyMaker.
11458 Tue Nov 03 05:51:23 GMT 2009  Olly Betts <olly@survex.com>
11460         * tests/api_sorting.cc,tests/api_sortingold.cc: Fix changesorter1 and
11461           oldchangesorter1 to not be run for the remote backend where they will
11462           now fail with UnimplementedError.
11464 Tue Nov 03 02:43:12 GMT 2009  Olly Betts <olly@survex.com>
11466         * matcher/multimatch.cc: Xapian::Sorter isn't supported with the remote
11467           backend so throw UnimplementedError rather than giving incorrect
11468           results.  (ticket#384)
11469         * tests/api_sorting.cc: Add sortfunctorremote1 test this exception is
11470           actually thrown.
11472 Tue Nov 03 01:26:57 GMT 2009  Olly Betts <olly@survex.com>
11474         * common/database.h: Fix vertical whitespace glitch.
11476 Mon Nov 02 08:10:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11478         * api/omdatabase.cc: Check that internal is not empty before
11479           referencing its first element, in get_metadata() and
11480           metadata_keys_begin(), to avoid a potential segfault.
11481         * tests/api_nodb.cc: Add emptydb_metadata1, a regression test for
11482           this bug.
11484 Sun Nov 01 22:10:54 GMT 2009  Olly Betts <olly@survex.com>
11486         * examples/delve.cc,examples/quest.cc: Extend exception handling to the
11487           whole of main.  Xapian::Stem("english") can't actually throw, but
11488           that's not obvious to static analysis tools, and it is more robust
11489           to wrap the whole of main, and reduces indentation.
11491 Sun Nov 01 21:27:05 GMT 2009  Olly Betts <olly@survex.com>
11493         * bin/xapian-compact.cc: Add missing exception catch for const char *.
11494           The only case which currently throws this is an "impossible"
11495           situation, but if we're going to check for it, the reporting of
11496           failure should actually work.  Identified by Coverity's Scan.
11498 Sun Nov 01 07:56:38 GMT 2009  Olly Betts <olly@survex.com>
11500         * examples/quest.cc: Tighten up the type of the error we catch to
11501           detect an unknown stemming language.
11503 Sat Oct 31 07:16:11 GMT 2009  Olly Betts <olly@survex.com>
11505         * NEWS: Update from ChangeLog.
11507 Sat Oct 31 06:59:19 GMT 2009  Olly Betts <olly@survex.com>
11509         * include/xapian/enquire.h: Fix deprecation warnings when building with
11510           recent GCC.
11512 Sat Oct 31 02:46:04 GMT 2009  Olly Betts <olly@survex.com>
11514         * tests/queryparsertest.cc: Add another test query string to cover a
11515           case we didn't previously check.
11517 Tue Oct 27 00:42:59 GMT 2009  Olly Betts <olly@survex.com>
11519         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Don't
11520           try to close the fd one more than the maximum allowable.
11521           (ticket#408)
11522         * AUTHORS: Add Carl Worth for the patch.
11524 Mon Oct 05 09:00:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11526         * configure.ac: Mention e2fsprogs-devel in the message thrown up by
11527           configure, too.
11529 Mon Oct 05 08:53:05 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11531         * HACKING: Note the command needed to get the uuid library
11532           installed on fedora, since it's rather non-obvious.
11534 Sat Oct 03 20:11:48 GMT 2009  Olly Betts <olly@survex.com>
11536         * unicode/tclUniData.cc: Update Unicode character database to Unicode
11537           5.2.  (ticket#351)
11538         * tests/api_unicode.cc: Add tests for some characters added in Unicode
11539           5.2.
11541 Thu Oct 01 21:19:34 GMT 2009  Olly Betts <olly@survex.com>
11543         * xapian-config.in: Need to quote ^ for Solaris /bin/sh.
11545 Fri Sep 18 13:23:00 GMT 2009  Olly Betts <olly@survex.com>
11547         * configure.ac: Actually use any flags we determine are needed to
11548           switch the compiler to proper ANSI C++ mode, when building
11549           xapian-core - this stopped working in 1.0.12, breaking support for
11550           HP's aCC, Compaq's cxx, Sun's CC, and SGI's CC.
11552 Fri Sep 18 12:40:37 GMT 2009  Olly Betts <olly@survex.com>
11554         * include/xapian/matchspy.h: Mark ValueCountMatchSpy, NumericRange,
11555           NumericRanges, and score_evenness() as experimental.
11557 Fri Sep 18 08:36:34 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11559         * include/xapian/weight.h,weight/weight.cc: Remove default
11560           implementation of Weight::clone() which returns NULL - we always
11561           need clone() to be implemented because it's called for every term
11562           in the query, not just used for the remote backend.
11564 Fri Sep 18 08:02:08 GMT 2009  Olly Betts <olly@survex.com>
11566         * api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h: Mark
11567           and document the matchspy parameter of Enquire::get_mset() as
11568           deprecated in favour of the new MatchSpy class and
11569           Enquire::add_matchspy().
11571 Fri Sep 18 07:58:11 GMT 2009  Olly Betts <olly@survex.com>
11573         * tests/perftest/perftest_matchdecider.cc: Don't pass default values
11574           for optional parameters to Enquire::get_mset().
11576 Fri Sep 18 02:36:43 GMT 2009  Olly Betts <olly@survex.com>
11578         * queryparser/queryparser.lemony: If FLAG_PARTIAL is specified, don't
11579           try to spell correct a term at the end of the query which we attempt
11580           to expand as partial.
11581         * tests/queryparsertest.cc: Add regression test qp_spellpartial1.
11583 Fri Sep 18 02:33:55 GMT 2009  Olly Betts <olly@survex.com>
11585         * tests/queryparsertest.cc: For testcase qp_spellwild1: Fix the dbdir
11586           to qp_spellwild1 to match the testname;  Fix the ordering of
11587           TESTCASE macros to match the order of the test functions;  Note that
11588           this is a regression test and the versions the bug will be fixed in.
11590 Fri Sep 18 01:25:37 GMT 2009  Olly Betts <olly@survex.com>
11592         * tests/queryparsertest.cc: Fix to work with the old scoping rules for
11593           variables declared in for().
11595 Thu Sep 17 19:17:30 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11597         * queryparser/queryparser.lemony: Don't apply spelling correction
11598           to wildcard terms if FLAG_WILDCARD and FLAG_SPELLING_CORRECTION
11599           are both specified.
11600         * tests/queryparsertest.cc: Add qp_spellwild1 as a test for this.
11602 Thu Sep 17 12:08:17 GMT 2009  Olly Betts <olly@survex.com>
11604         * NEWS: Update from ChangeLog.
11606 Thu Sep 17 10:20:35 GMT 2009  Olly Betts <olly@survex.com>
11608         * api/keymaker.cc: Implement Richard's idea of not encoding any
11609           trailing, forward sorted, empty values which is a generalisation
11610           of encoding all forward sorted, empty values as an empty string.
11611         * tests/api_sorting.cc: Add new testcase multivaluekeymaker1 to
11612           check encodings are as expected.
11614 Thu Sep 17 07:15:10 GMT 2009  Olly Betts <olly@survex.com>
11616         * api/,common/multimatch.h,common/omenquireinternal.h,
11617           docs/deprecation.rst,docs/sorting.rst,include/Makefile.mk,
11618           include/xapian.h,include/xapian/enquire.h,include/xapian/keymaker.h,
11619           include/xapian/sorter.h,matcher/multimatch.cc,tests/Makefile.am,
11620           tests/api_sorting.cc,tests/api_sortingold.cc: Rename Sorter to
11621           KeyMaker, paving the way for using it to build collapse keys too.
11622           Resolve the inconsistency in MultiValueSorter::add()'s "forward"
11623           parameter by replacing it with MultiKeyMaker::add_value() with a
11624           "reverse" parameter.  (ticket#359)
11626 Thu Sep 17 07:13:25 GMT 2009  Olly Betts <olly@survex.com>
11628         * api/valuesetmatchdecider.cc,include/xapian/valuesetmatchdecider.h:
11629           Inline trivial constructor from header.  Add explicit '#include
11630           "xapian/document.h"'.
11632 Thu Sep 17 05:22:50 GMT 2009  Olly Betts <olly@survex.com>
11634         * HACKING: Document how to use the XAPIAN_DEPRECATED() macro to
11635           mark a class as deprecated.
11637 Wed Sep 16 02:40:13 GMT 2009  Olly Betts <olly@survex.com>
11639         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
11640           Eliminate a couple of assertions which can never fire.
11642 Sat Sep 12 04:05:35 GMT 2009  Olly Betts <olly@survex.com>
11644         * matcher/msetpostlist.cc: Fix MSetPostList not to read off the end of
11645           the MSet if get_maxweight() is called when at_end().  This can
11646           happen but the testcase was too large to send so sadly no
11647           regression test I'm afraid.
11649 Sat Sep 12 03:41:04 GMT 2009  Olly Betts <olly@survex.com>
11651         * backends/chert/chert_values.cc: Fix code to find the first docid in
11652           the net chunk (ticket#399).
11653         * tests/api_backend.cc: Add regression test from Rich Lane.
11655 Fri Sep 11 11:14:49 GMT 2009  Olly Betts <olly@survex.com>
11657         * backends/chert/,bin/xapian-check.cc,bin/xapian-compact.cc: Add
11658           support for chert databases without a termlist table (ticket#181).
11659           Currently the only way to create such a database is to create a
11660           chert database and do "rm termlist.*".
11662 Fri Sep 11 10:07:35 GMT 2009  Olly Betts <olly@survex.com>
11664         * bin/xapian-compact.cc: Don't report an absent lazy input table as 0
11665           size.
11667 Fri Sep 11 03:17:17 GMT 2009  Olly Betts <olly@survex.com>
11669         * backends/chert/chert_table.h: Improve documentation of "handle"
11670           member.
11672 Thu Sep 10 13:24:29 GMT 2009  Olly Betts <olly@survex.com>
11674         * m4-macros/xapian-1.1.m4: Report the default xapian-config
11675           basename in configure's --help output.
11677 Thu Sep 10 12:55:48 GMT 2009  Olly Betts <olly@survex.com>
11679         * m4-macros/xapian-1.1.m4: Add optional third parameter to
11680           XO_LIB_XAPIAN which specifies the basename for the "xapian-config"
11681           script (defaults to "xapian-config" to give the current behaviour).
11683 Thu Sep 10 06:39:17 GMT 2009  Olly Betts <olly@survex.com>
11685         * NEWS: Update with changes in 1.0.16 and from ChangeLog.
11687 Thu Sep 10 02:17:56 GMT 2009  Olly Betts <olly@survex.com>
11689         * include/xapian/queryparser.h: Clarify the documentation comments for
11690           QueryParser::set_default_op() and QueryParser::get_default_op().
11692 Wed Sep 09 13:36:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11694         * matcher/andmaybepostlist.cc,tests/Makefile.am,tests/api_queryopt.cc:
11695           Back out patch from r13440 which introduced a new optimisation
11696           for AND_MAYBE when the maximum weight of the RHS becomes zero,
11697           due to various undesirable side effects.  I've put the patch into
11698           ticket #400 with an explanation.
11700 Wed Sep 09 01:54:05 GMT 2009  Olly Betts <olly@survex.com>
11702         * backends/chert/chert_postlist.cc,tests/api_backend.cc: Fix
11703           WritableDatabase::get_doclength() to work properly after a call to
11704           commit for the chert backend (ticket#397).
11706 Wed Sep 09 00:28:09 GMT 2009  Olly Betts <olly@survex.com>
11708         * AUTHORS: Add Dmitry Liakh for fix for #398.
11710 Wed Sep 09 00:02:47 GMT 2009  Olly Betts <olly@survex.com>
11712         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Fix a
11713           typo which stopped this fix in 1.0.12 from working (ticket #398):
11715           If we fail to get the lock after we spawn the child lock process
11716           (the common case is because the database is already open for
11717           writing) then we now clean up the child process properly.
11719 Fri Sep 04 11:24:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11721         * docs/categorisation.rst: Remove out-of-date call to get_mset()
11722           which passed a MatchSpy in - spies are now set with
11723           add_matchspy() before get_mset() is called.
11725 Thu Sep 03 00:29:27 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11727         * matcher/andmaybepostlist.cc: For AndMaybe, if the RHS has a
11728           maximum possible weight of 0, we now decay to just the LHS.
11729         * tests/Makefile.am,tests/api_queryopt.cc: Test coverage that this
11730           optimisation doesn't break anything.
11732 Tue Sep 01 12:04:13 GMT 2009  Olly Betts <olly@survex.com>
11734         * configure.ac: Send stderr output from ldconfig to config.log.
11736 Tue Sep 01 10:35:51 GMT 2009  Olly Betts <olly@survex.com>
11738         * AUTHORS,common/safeuuid.h: Fix uuid_unparse_lower() replacement for
11739           older libuuid to actually compile (really fixes ticket#368).
11741 Mon Aug 31 05:58:55 GMT 2009  Olly Betts <olly@survex.com>
11743         * NEWS: Sync with 1.0.15.
11745 Mon Aug 31 05:48:13 GMT 2009  Olly Betts <olly@survex.com>
11747         * NEWS: Start to format entries for 1.1.3.
11749 Mon Aug 31 04:14:58 GMT 2009  Olly Betts <olly@survex.com>
11751         * PLATFORMS: Sync with 1.0.15.
11753 Mon Aug 31 01:30:01 GMT 2009  Olly Betts <olly@survex.com>
11755         * common/getopt.cc: Use USE_GLIBC_GNUGETOPT from gnu_getopt.h rather
11756           than repeating the conditionals used to determine it here.  Rename
11757           __getopt_initialized to getopt_initialized and make it static.
11758           Rename _getopt_initialize() to getopt_initialize().
11760 Mon Aug 31 01:24:29 GMT 2009  Olly Betts <olly@survex.com>
11762         * common/gnu_getopt.h: Update (C) dates.  Markup file description for
11763           doxygen.  Fix comment reference to ctype.h as we now use <cctype>.
11765 Sun Aug 30 23:28:25 GMT 2009  Olly Betts <olly@survex.com>
11767         * common/gnu_getopt.h: Make optarg, optind, opterr, and optopt extern
11768           "C" to avoid linkage clash with these symbols on Mac OS X 10.6.
11770 Thu Aug 27 03:05:33 GMT 2009  Olly Betts <olly@survex.com>
11772         * HACKING: Add note to document the reason for any exceptions to the
11773           rule to use C++ forms of ISO C headers.
11775 Wed Aug 26 13:07:07 GMT 2009  Olly Betts <olly@survex.com>
11777         * AUTHORS,INSTALL,docs/install.html: Drop .php from xapian.org URLs.
11779 Wed Aug 26 12:58:51 GMT 2009  Olly Betts <olly@survex.com>
11781         * HACKING: Update URLs.  Remove duplicated text about updating RoadMap
11782           from the release checklist.
11784 Wed Aug 26 10:56:07 GMT 2009  Olly Betts <olly@survex.com>
11786         * configure.ac: Update various URLs.
11788 Tue Aug 25 01:52:51 GMT 2009  Olly Betts <olly@survex.com>
11790         * tests/harness/testsuite.cc: Fix not to report heaps of bogus errors
11791           under valgrind 3.5.0.
11793 Mon Aug 24 02:19:06 GMT 2009  Olly Betts <olly@survex.com>
11795         * include/xapian/enquire.h: Also update the documentation comment for
11796           set_sort_by_relevance_then_value() to mention sortable_serialise().
11798 Fri Aug 21 14:35:35 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11800         * Makefile.am: Add generate-exceptions to EXTRA_DIST - was missing
11801           from tarballs.
11803 Fri Aug 21 12:21:59 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11805         * AUTHORS: Add Michael Vogt, who suggested adding a comment about
11806           sortable_serialise to set_sort_by_value().
11808 Fri Aug 21 12:14:13 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11810         * include/xapian/enquire.h: Update documentation comments for
11811           set_sort_by_value() and set_sort_by_value_then_relevance() to
11812           mention sortable_serialise() as a good way to store values if you
11813           want to sort by them.
11815 Mon Aug 17 16:51:10 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11817         * matcher/multimatch.cc: When sorting by non-pure-relevance, ensure
11818           that the document is shown to the matchspy even if it couldn't
11819           get in the mset.
11820         * tests/api_matchspy.cc: Extend matchspy4 to include a regression
11821           test for this.
11823 Mon Aug 17 11:51:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11825         * api/matchspy.cc,include/xapian/matchspy.h: Add overload for
11826           score_evenness to allow a NumericRanges object to be passed to
11827           it.
11829 Mon Aug 17 07:36:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11831         * api/matchspy.cc,include/xapian/matchspy.h: Replace
11832           build_numeric_ranges() function with a NumericRanges object,
11833           whose constructor is passed the values and which exposes the
11834           calculated ranges via a getter.
11835         * tests/api_matchspy.cc: Update tests to use new NumericRanges
11836           object instead of build_numeric_ranges().
11838 Wed Aug 12 17:33:53 GMT 2009  Olly Betts <olly@survex.com>
11840         * Makefile.am: Fix generate-exceptions change to work in a VPATH
11841           build.
11843 Wed Aug 12 15:57:44 GMT 2009  Olly Betts <olly@survex.com>
11845         * exception_data.pm: Add new SerialisationError.
11846         * common/serialise-double.cc: Throw SerialisationError or InternalError
11847           instead of NetworkError.
11849 Wed Aug 12 15:19:05 GMT 2009  Olly Betts <olly@survex.com>
11851         * Makefile.am,configure.ac,generate-exceptions,generate-exceptions.in:
11852           It's not very useful to be able to run generate-exceptions outside
11853           the build system, and it only gets the #! line substituted, so just
11854           move those runes into Makefile.am and reduce the number of files that
11855           configure needs to generate by one.
11857 Mon Aug 10 13:25:22 GMT 2009  Olly Betts <olly@survex.com>
11859         * api/matchspy.cc: Use <cfloat> and <cmath> rather than <float.h> and
11860           <math.h> (regression from merging the matchspy branch).
11862 Mon Aug 10 13:01:57 GMT 2009  Olly Betts <olly@survex.com>
11864         * api/,bin/xapian-tcpsrv.cc,common/,docs/postingsource.rst,
11865           docs/serialisation.rst,include/Makefile.mk,include/xapian.h,
11866           include/xapian/,net/remoteserver.cc,tests/: Rename
11867           SerialisationContext to Registry.
11869 Mon Aug 10 11:23:23 GMT 2009  Olly Betts <olly@survex.com>
11871         * NEWS: Start to update from ChangeLog.
11873 Mon Aug 10 10:29:13 GMT 2009  Olly Betts <olly@survex.com>
11875         * api/omenquire.cc,include/xapian/weight.h,matcher/localmatch.cc:
11876           Make Weight::clone() public, and remove Weight::clone_() as it is
11877           no longer required.
11879 Mon Aug 10 07:55:04 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11881         * HACKING: Add section on ordering of include files, and fix a few
11882           formatting issues to make this file into valid restructured text
11883           again.
11885 Mon Aug 10 06:55:45 GMT 2009  Olly Betts <olly@survex.com>
11887         * api/serialisationcontext.cc,common/serialisationcontextinternal.h:
11888           Refactor to use a template function to implement the exception safe
11889           approach I implemented for PostingSource, and use it for MatchSpy
11890           and Weight too.
11891         * tests/api_serialise.cc: Add tests for exception safety of MatchSpy
11892           and Weight with SerialisationContext.
11894 Mon Aug 10 06:15:23 GMT 2009  Olly Betts <olly@survex.com>
11896         * include/xapian/weight.h,weight/weight.cc: Add default implementations
11897           of Weight methods name(), serialise(), unserialise(), and clone() for
11898           consistency with PostingSource and MatchSpy.
11900 Mon Aug 10 03:29:12 GMT 2009  Olly Betts <olly@survex.com>
11902         * tests/api_postingsource.cc: Tweak header include order.
11904 Tue Aug 04 15:49:54 GMT 2009  Olly Betts <olly@survex.com>
11906         * include/xapian/queryparser.h: Explicitly document that an empty
11907           prefix argument to QueryParser::add_prefix() means "no prefix".
11909 Tue Aug 04 13:11:26 GMT 2009  Olly Betts <olly@survex.com>
11911         * api/postingsource.cc: Throw UnimplementedError rather than
11912           InvalidOperationError from PostingSource::serialise() and
11913           PostingSource::unserialise() for consistency with MatchSpy.
11914         * include/xapian/postingsource.h: Document this behaviour (previously
11915           we didn't say what the default implementation actually did).
11916         * tests/api_serialise.cc: Add test coverage.
11918 Mon Aug 03 11:40:31 GMT 2009  Olly Betts <olly@survex.com>
11920         * api/serialisationcontext.cc: Fix to handle the clone() method or dtor
11921           of a PostingSource subclass throwing exceptions.
11922         * tests/api_serialise.cc: Add new testcase serialisationcontext1 as a
11923           regression test for this.
11925 Mon Aug 03 06:40:28 GMT 2009  Olly Betts <olly@survex.com>
11927         * tests/api_serialise.cc: Fix copy-and-pasted @brief.
11929 Sun Aug 02 16:21:54 GMT 2009  Olly Betts <olly@survex.com>
11931         * common/remoteprotocol.h: Correction: protocol version 33 will debut
11932           in 1.1.3 not 1.1.4.
11934 Sun Aug 02 16:20:28 GMT 2009  Olly Betts <olly@survex.com>
11936         * docs/remote_protocol.html: Update to document protocol version 33.
11938 Sun Aug 02 16:17:24 GMT 2009  Olly Betts <olly@survex.com>
11940         * backends/remote/remote-database.cc,net/remoteserver.cc: We were
11941           ignoring any trailing junk after the matchspies in MSG_GETMSET, so
11942           change to not send a count of them and just unpack until we run out
11943           of data.
11945 Sun Aug 02 15:47:30 GMT 2009  Olly Betts <olly@survex.com>
11947         * common/remoteprotocol.h: Note the versions in which recent protocol
11948           versions were introduced.
11950 Sun Aug 02 15:09:13 GMT 2009  Olly Betts <olly@survex.com>
11952         * backends/remote/remote-database.cc,common/serialise.h,
11953           net/remoteserver.cc,net/serialise.cc: Put the serialised MSet last in
11954           REPLY_RESULTS as then it doesn't need to know its own length (so the
11955           encoding is the same size it used to be in the non-matchspy case),
11956           and we avoid having to check for there being "junk" data left over
11957           after unserialising.
11959 Sun Aug 02 14:39:18 GMT 2009  Olly Betts <olly@survex.com>
11961         * matcher/remotesubmatch.h: Fix to build with GCC 4.4.1.
11963 Sun Aug 02 14:27:44 GMT 2009  Olly Betts <olly@survex.com>
11965         * backends/remote/remote-database.cc: Don't assign a temporary string
11966           object.
11968 Sun Aug 02 13:50:14 GMT 2009  Olly Betts <olly@survex.com>
11970         * include/xapian/matchspy.h: Add missing documentation comments.
11972 Sun Aug 02 12:15:43 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11974         Merge from matchspy branch.
11975         * api/,backends/remote/remote-database.cc,common/,docs/Makefile.am,
11976           docs/categorisation.rst,include/Makefile.mk,include/xapian.h,
11977           include/xapian/enquire.h,include/xapian/matchspy.h,
11978           include/xapian/serialisationcontext.h,matcher/multimatch.cc,
11979           matcher/remotesubmatch.cc,matcher/remotesubmatch.h,
11980           net/remoteserver.cc,net/serialise.cc,tests/Makefile.am,
11981           tests/api_matchspy.cc: Add new-style Xapian::MatchSpy class,
11982           which is a pure "spy" class, rather than being able to take a
11983           decision on whether a spy is applied before or after a result.
11984           This class is also designed to work with remote databases,
11985           passing the results back in serialised form.  Also, add
11986           ValueCountMatchSpy, which counts the occurrences of each value in
11987           a slot in the search results seen (useful for faceted or
11988           categorisation systems).
11990 Fri Jul 31 12:50:57 GMT 2009  Olly Betts <olly@survex.com>
11992         * tests/api_backend.cc,tests/api_wrdb.cc: Move new test
11993           modifiedpostlist1 from api_wrdb.cc to api_backend.cc - we're trying
11994           not to make api-wrdb.cc any larger.  Also note the ticket number and
11995           the release this will be fixed in.
11997 Thu Jul 30 16:30:06 GMT 2009  Olly Betts <olly@survex.com>
11999         * backends/chert/chert_modifiedpostlist.cc: Fix ChertModifiedPostList
12000           to skip added-but-then-deleted-before-flush documents.  (ticket#392)
12001           backends/flint/flint_modifiedpostlist.cc: Same fix for flint.
12002         * tests/api_wrdb.cc: Add regression test modifiedpostlist1.
12003         * AUTHORS: Add Rich Lane for patch.
12005 Wed Jul 29 09:44:15 GMT 2009  Olly Betts <olly@survex.com>
12007         * NEWS: Update from ChangeLog.
12009 Wed Jul 29 09:29:45 GMT 2009  Olly Betts <olly@survex.com>
12011         * include/xapian/valueiterator.h: Fix typos ("again" -> "and").
12013 Wed Jul 29 06:18:41 GMT 2009  Olly Betts <olly@survex.com>
12015         * tests/Makefile.am: Actually distribute testdata/apitest_declen.txt
12016           - new test data from the postingsources branch merge.
12018 Tue Jul 28 16:38:55 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12020         Merge from postingsources branch:
12021         * tests/generate-api_generated: Test get_description() methods of
12022           Xapian::PostingSource subclasses.
12024 Tue Jul 28 16:35:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12026         Merge from postingsources branch:
12027         * api/Makefile.mk,api/decvalwtsource.cc,api/serialisationcontext.cc,
12028           include/xapian/postingsource.h: Add
12029           DecreasingValueWeightPostingSource class, which reads weights
12030           from a value slot in which a significant range of the values are
12031           in decreasing order.  This functions similarly to
12032           ValueWeightPostingSource, but can be much more efficient.
12033         * tests/api_valuestream.cc,tests/testdata/apitest_declen.txt:
12034           Tests, and some associated constructed test data, for
12035           DecreasingValueWeightPostingSource.
12037 Mon Jul 27 04:50:45 GMT 2009  Olly Betts <olly@survex.com>
12039         * HACKING: Now using autoconf 2.64.
12041 Mon Jul 27 04:46:17 GMT 2009  Olly Betts <olly@survex.com>
12043         * HACKING: Add note about preferring std::string::assign(), and also
12044           one about building up strings using +=.
12046 Mon Jul 27 04:45:15 GMT 2009  Olly Betts <olly@survex.com>
12048         * backends/chert/chert_lock.cc,backends/chert/chert_utils.h,
12049           backends/flint/flint_lock.cc,backends/flint/flint_utils.h,
12050           backends/remote/remote-database.cc: Use std::string::assign() rather
12051           than constructing a temporary string object to assign.
12053 Sun Jul 26 16:08:10 GMT 2009  Olly Betts <olly@survex.com>
12055         * AUTHORS: Update for bugs fixed in 1.0.14.
12057 Sun Jul 26 16:03:54 GMT 2009  Olly Betts <olly@survex.com>
12059         * HACKING: Update the release checklist.
12061 Sun Jul 26 14:28:25 GMT 2009  Olly Betts <olly@survex.com>
12063         * docs/doxygen_source.conf.in: Update roughly in-line with apidoc
12064           changes.  I've not looked at the output much though.
12066 Sun Jul 26 14:00:14 GMT 2009  Olly Betts <olly@survex.com>
12068         * include/xapian/database.h: Remove documentation comment for namespace
12069           Xapian - this is now documented in xapian.h.
12071 Sun Jul 26 13:59:42 GMT 2009  Olly Betts <olly@survex.com>
12073         * include/xapian/unicode.h: Add documentation comment for namespace
12074           Unicode.
12076 Sun Jul 26 13:58:44 GMT 2009  Olly Betts <olly@survex.com>
12078         * include/xapian/dbfactory.h: Add documentation comments for the
12079           backend namespaces (InMemory, etc).
12081 Sun Jul 26 13:57:29 GMT 2009  Olly Betts <olly@survex.com>
12083         * include/xapian/version_h.cc: Add documentation comments for the
12084           generated version.h, and all the preprocessor defines it contains.
12086 Sun Jul 26 13:56:15 GMT 2009  Olly Betts <olly@survex.com>
12088         * include/xapian.h: Consistently say "linked with" rather than "linked
12089           to" in some cases.  Put documentation comment for namespace Xapian
12090           in this file.
12092 Sun Jul 26 13:06:45 GMT 2009  Olly Betts <olly@survex.com>
12094         * docs/doxygen_api.conf.in: More fettling to try to get better output:
12095           + Wrap long comments.
12096           + Quote arguments containing @...@ substitutions as they could
12097             conceivably contain spaces.
12098           + ALWAYS_DETAILED_SEC = NO: since a detailed section with no extra
12099             information is pointless.
12100           + STRIP_FROM_PATH, INCLUDE_PATH: Add "@top_builddir@/include" for
12101             VPATH builds.
12102           + HIDE_UNDOC_MEMBERS = YES: otherwise @internal members show up
12103             (with no documentation).
12104           + HIDE_FRIEND_COMPOUNDS = YES: as friend declarations in the API
12105             headers are implementation details.
12106           + SHOW_INCLUDE_FILES = NO: users should just include <xapian.h>
12107             for all their API needs.
12108           + GENERATE_TODOLIST, GENERATE_TESTLIST, GENERATE_BUGLIST: all set to
12109             NO as we don't want these in the API documentation.
12110           + SHOW_NAMESPACES = YES: We have several sub-namespaces so these are
12111             useful to document.
12112           + INPUT: Prepend "@top_builddir@/include/xapian/version.h" so that
12113             XAPIAN_HAS_FLINT_BACKEND, etc are defined before parsing other
12114             headers.
12115           + EXCLUDE: remove all entries and use EXCLUDE_PATTERNS instead.
12116           + EXCLUDE_PATTERNS: Include entries corresponding to those in EXCLUDE
12117             and add */derefwrapper.h and */.* (the latter avoids trying to look
12118             in .svn or any other hidden files or directories).
12119           + REFERENCES_LINK_SOURCE = NO: Improves output.
12120           + VERBATIM_HEADERS = NO: The verbatim headers aren't very
12121             interesting.
12122           + PREDEFINED: Define XAPIAN_VISIBILITY_DEFAULT and
12123             XAPIAN_DEPRECATED(D)=D as doxygen seem reluctant to parse included
12124             files.
12125           + EXPAND_AS_DEFINED: Remove XAPIAN_VISIBILITY_DEFAULT and
12126             XAPIAN_DEPRECATED as these are now handled by PREDEFINED.
12127           + EXTERNAL_GROUPS = NO, GROUP_GRAPHS = NO: We don't use groups so
12128             disable these.
12130 Sun Jul 26 10:14:32 GMT 2009  Olly Betts <olly@survex.com>
12132         * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Change
12133           @PACKAGE@ to @PACKAGE_NAME@ and @VERSION@ to @PACKAGE_VERSION@ to
12134           reflect modern autotools usage.
12136 Fri Jul 24 16:23:31 GMT 2009  Olly Betts <olly@survex.com>
12138         * configure.ac,docs/: Rename doxygen configuration files from "_conf"
12139           to ".conf".  Rename doxygen_full.conf to doxygen_source.conf, etc.
12141 Fri Jul 24 16:02:39 GMT 2009  Olly Betts <olly@survex.com>
12143         * HACKING: Update to note that doxygen is now installed in-tree, and
12144           that we now use 1.5.9 for 1.1.x snapshots and releases, and that
12145           graphviz ">1.8.10" is now required.
12147 Fri Jul 24 16:01:31 GMT 2009  Olly Betts <olly@survex.com>
12149         * include/xapian/: Documentation comment tweaks.
12151 Fri Jul 24 15:34:03 GMT 2009  Olly Betts <olly@survex.com>
12153         * include/xapian/unicode.h: Fix @param names to match parameter names.
12155 Fri Jul 24 15:33:12 GMT 2009  Olly Betts <olly@survex.com>
12157         * docs/doxygen_api_conf.in: Major doxygen config overhaul:
12158           + STRIP_FROM_PATH: Strip include from header names.
12159           + JAVADOC_AUTOBRIEF: Re-enable as we have lost most of our brief
12160             descriptions - we can fix up the few cases where this caused
12161             problems with an explicit @brief.
12162           + BUILTIN_STL_SUPPORT: Enable for slightly STL-related stuff.
12163           + DISTRIBUTE_GROUP_DOC: Enable so group members get the group's
12164             comments.
12165           + EXTRACT_STATIC, EXTRACT_LOCAL_CLASSES: Disable since we don't
12166             need these.
12167           + SHOW_NAMESPACES: Disable to hide the "Xapian" namespace.
12168           + QUIET: Enable for less doxygen chatter.
12169           + WARN_LOGFILE: Unset so warnings go to stderr to encourage us to
12170             actually fix them!
12171           + EXCLUDE: Hide base.h, deprecated.h, errordispatch.h, visibility.h.
12172           + HTML_DYNAMIC_SECTIONS: Enable so the class diagrams are hidden by
12173             default but can be "expanded" to be viewed.
12174           + COLLABORATION_GRAPH: Disable as these don't ever seem useful in
12175             the API docs.
12176           + TEMPLATE_RELATIONS: Disable as we don't want to see template
12177             instantiations in inheritance diagrams.
12178           + DOT_MULTI_TARGETS: Enable for faster dot processsing.  Needs
12179             graphviz ">1.8.10", but that's really old now.
12181 Fri Jul 24 13:00:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12183         * bin/xapian-compact.cc: Fix to work with the metainfo key stored
12184           in the latest format of chert databases.
12186 Fri Jul 24 10:32:32 GMT 2009  Olly Betts <olly@survex.com>
12188         * backends/chert/chert_values.cc: Avoid doing pointless work by trying
12189           to delete non-existent lists of values when we're just adding
12190           documents.
12192 Fri Jul 24 05:32:34 GMT 2009  Olly Betts <olly@survex.com>
12194         * docs/doxygen_api_conf.in: Update with "doxygen -u" using doxygen
12195           1.5.9 and then trim trailing whitespace.
12197 Thu Jul 23 04:10:49 GMT 2009  Olly Betts <olly@survex.com>
12199         * NEWS,configure.ac: Update for 1.1.2.
12201 Wed Jul 22 13:58:13 GMT 2009  Olly Betts <olly@survex.com>
12203         * backends/chert/chert_databasereplicator.cc,
12204           backends/flint/flint_databasereplicator.cc: Prefer += to + for
12205           building up strings.
12207 Wed Jul 22 09:01:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12209         * backends/chert/chert_databasereplicator.cc,
12210           backends/flint/flint_databasereplicator.cc: Check result of
12211           ::open() for -1, and throw an error immediately if this happens,
12212           rather than leaving it to a later call to fail with EBADF.
12213           Should make it easier to diagnose problems, since we'll now see
12214           the reason that the open() failed.
12216 Tue Jul 21 17:08:41 GMT 2009  Olly Betts <olly@survex.com>
12218         * NEWS: Update from ChangeLog and sync with 1.0.14.
12220 Mon Jul 20 04:48:32 GMT 2009  Olly Betts <olly@survex.com>
12222         * matcher/queryoptimiser.cc: Fix build with assertions enabled.
12224 Mon Jul 20 04:47:33 GMT 2009  Olly Betts <olly@survex.com>
12226         * include/xapian/query.h: Update doc comment - OP_SYNONYM can take any
12227           number of subqueries too.
12229 Sun Jul 19 17:26:53 GMT 2009  Olly Betts <olly@survex.com>
12231         * api/omqueryinternal.cc,include/xapian/query.h,matcher/localmatch.cc:
12232           Remove wqf member of Xapian::Query::Internal and store the wqf in
12233           the parameter member instead.  (ticket#280)
12235 Sun Jul 19 17:24:02 GMT 2009  Olly Betts <olly@survex.com>
12237         * api/omqueryinternal.cc,include/xapian/query.h: Remove unused
12238           method Xapian::Query::Internal::swap().
12240 Sun Jul 19 16:22:01 GMT 2009  Olly Betts <olly@survex.com>
12242         * api/valuerangeproc.cc,include/xapian/queryparser.h: Move support for
12243           a prefix/suffix from NumberValueRangeProcessor to
12244           StringValueRangeProcessor, and change NumberValueRangeProcessor and
12245           DateValueRangeProcessor to inherit from StringValueRangeProcessor so
12246           all three now support a prefix/suffix.  (ticket#220)
12247         * tests/queryparsertest.cc: Add test coverage for new features.
12249 Sun Jul 19 16:05:04 GMT 2009  Olly Betts <olly@survex.com>
12251         * tests/queryparsertest.cc: Reenable tests which require the inmemory
12252           backend to be enabled by fixing typo XAPIAN_HAS_BACKEND_INMEMORY ->
12253           XAPIAN_HAS_INMEMORY_BACKEND.
12255 Sun Jul 19 14:56:16 GMT 2009  Olly Betts <olly@survex.com>
12257         * api/documentvaluelist.cc: Use str() instead of om_tostring().
12259 Sun Jul 19 14:42:15 GMT 2009  Olly Betts <olly@survex.com>
12261         * matcher/msetcmp.cc: Eliminate two more relocations.
12263 Sun Jul 19 13:46:08 GMT 2009  Olly Betts <olly@survex.com>
12265         * api/omqueryinternal.cc: Factor out "is_distributable()" function.
12267 Sun Jul 19 11:11:06 GMT 2009  Olly Betts <olly@survex.com>
12269         * include/xapian/version_h.cc: Fix "dummy" -> "dummy[]" so the code
12270           here is valid C - we only preprocess it, but since the reason for
12271           having the dummy stuff at all is to avoid problems with "smart"
12272           preprocessors which moan if the code isn't valid, this seems worth
12273           fixing.
12275 Sun Jul 19 10:21:41 GMT 2009  Olly Betts <olly@survex.com>
12277         * backends/flint/flint_database.cc: Backport the previous change to
12278           flint.
12280 Sun Jul 19 08:04:48 GMT 2009  Olly Betts <olly@survex.com>
12282         * backends/chert/chert_database.cc: Instead of dynamically building a
12283           std::list of the leafnames we need to replicate, just list them in a
12284           compact format in the source file.  Results in smaller code and
12285           should be faster and smaller at runtime.
12287 Sat Jul 18 17:12:58 GMT 2009  Olly Betts <olly@survex.com>
12289         * languages/compiler/generator.c: Merge among table entries which are
12290           substrings of others in the same among.  We could be much cleverer
12291           and merge between amongs, and allow overlaps, etc, but this get us
12292           a nice size reduction for a small amount of effort, so it'll do for
12293           now.
12295 Sat Jul 18 15:42:48 GMT 2009  Olly Betts <olly@survex.com>
12297         * languages/compiler/generator.c,languages/steminternal.cc,
12298           languages/steminternal.h: Change how snowball generates the data used
12299           by among - instead of using pointers to the strings in struct among,
12300           store an offset into a constant pool, as this reduces the number of
12301           relocations from 5001 to 2706, which should decrease the time taken
12302           by the dynamic linker when loading the library.  This also results
12303           in slightly smaller code.
12305 Fri Jul 17 16:32:02 GMT 2009  Olly Betts <olly@survex.com>
12307         * tests/api_nodb.cc: Check output of Stem::get_description() for each
12308           supported language.
12310 Thu Jul 16 04:34:57 GMT 2009  Olly Betts <olly@survex.com>
12312         * common/fileutils.h: Remove unnecessary XAPIAN_VISIBILITY_DEFAULT
12313           (ticket#63).
12314         * common/fileutils.cc,common/fileutils.h: Make isabspath() static
12315           since it is only used by other functions in the same file.
12317 Thu Jul 16 04:13:48 GMT 2009  Olly Betts <olly@survex.com>
12319         * queryparser/queryparser.lemony: Fix comment typo.
12321 Thu Jul 16 03:59:49 GMT 2009  Olly Betts <olly@survex.com>
12323         * api/sorter.cc,include/xapian/sorter.h: MultiValueSorter doesn't
12324           need an explicit dtor - it's enough that Sorter has a virtual dtor.
12326 Thu Jul 16 03:29:41 GMT 2009  Olly Betts <olly@survex.com>
12328         * AUTHORS: Add Andreas Flöter for the Solaris package howto.
12330 Wed Jul 15 14:37:19 GMT 2009  Olly Betts <olly@survex.com>
12332         * matcher/rset.cc: Just pass pointer as AutoPtr constructor parameter
12333           rather constructing a temporary AutoPtr and invoking the assignment
12334           operator.
12336 Wed Jul 15 03:43:35 GMT 2009  Olly Betts <olly@survex.com>
12338         * common/omenquireinternal.h: "class" -> "object" in doc comment.
12340 Wed Jul 15 03:38:55 GMT 2009  Olly Betts <olly@survex.com>
12342         * tests/runtest.in: Raise the fd limit from 32 to 64 - multi_flint
12343           tests need more than 32 fds.
12345 Tue Jul 14 20:32:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12347         * api/omenquire.cc,common/omenquireinternal.h: Revert r13052, which
12348           changed Enquire::Internal::weight not to be mutable.  Expand the
12349           comment explaining why it's mutable.
12351 Tue Jul 14 18:40:43 GMT 2009  Olly Betts <olly@survex.com>
12353         * tests/runtest.in: Use "ulimit -n" where available to limit the
12354           number of available file descriptors to 32 so we catch file
12355           descriptor leaks sooner.
12357 Tue Jul 14 16:53:48 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12359         * api/omenquire.cc,common/omenquireinternal.h: Tidy up mutable
12360           Weight member on Enquire::Internal class; make it non-mutable,
12361           and just make a temporary BM25Weight object if the weight member
12362           was NULL.
12364 Tue Jul 14 12:36:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12366         * common/output.h: Display a "<NULL $CLASSNAME>" message in debug
12367           output when a pointer being output is NULL.  Previously, NULL
12368           Query::Internal pointers were causing segfaults with debug
12369           logging for many tests (eg, emptyquery1).
12371 Sun Jul 12 14:56:18 GMT 2009  Olly Betts <olly@survex.com>
12373         * backends/chert/chert_database.cc: We no longer have a "value" table
12374           (values are now stored in the postlist and termlist tables) so fix
12375           comments not to refer to it.
12377 Sun Jul 12 14:47:17 GMT 2009  Olly Betts <olly@survex.com>
12379         * backends/chert/: Add new ChertLazyTable class and subclass lazy
12380           tables from it so that we only need to implement the common
12381           differences once.
12383 Sun Jul 12 13:41:27 GMT 2009  Olly Betts <olly@survex.com>
12385         * api/replication.cc: No point using join_paths() to append a literal
12386           leaf name, especially as we already don't elsewhere.
12388 Sun Jul 12 12:01:25 GMT 2009  Olly Betts <olly@survex.com>
12390         * queryparser/queryparser.lemony: Fix memory leak accidentally
12391           introduced in r13005.
12393 Sun Jul 12 11:40:26 GMT 2009  Olly Betts <olly@survex.com>
12395         * tests/api_opsynonym.cc: Remove debug "cout" calls.
12397 Sun Jul 12 09:43:06 GMT 2009  Olly Betts <olly@survex.com>
12399         * matcher/queryoptimiser.cc: Don't just skip counting subqueries which
12400           are the RHS of OP_AND_NOT - skip based on factor == 0.0, which means
12401           we get the RHS of OP_FILTER too.
12402         * tests/api_percentages.cc: Add topercent4 as a regression test for
12403           this.
12405 Sun Jul 12 09:32:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12407         * matcher/andmaybepostlist.cc: Add DEBUGCALL macro to
12408           count_matching_subqs() to fix build with assertions.
12410 Sun Jul 12 08:17:02 GMT 2009  Olly Betts <olly@survex.com>
12412         * matcher/remotesubmatch.cc: Percentage scaling for remote results is
12413           handled in a different way, so replace FIXME with comment noting
12414           this.
12416 Sun Jul 12 05:48:17 GMT 2009  Olly Betts <olly@survex.com>
12418         * matcher/multimatch.cc: Fix handling of percentage weights in various
12419           cases when we're searching multiple remote databases or a mix of
12420           local and remote databases.
12421         * tests/api_percentages.cc: Add regression test topercent3.
12423 Sat Jul 11 13:35:02 GMT 2009  Olly Betts <olly@survex.com>
12425         * matcher/mergepostlist.cc: Fix file description - MergePostList can
12426           merge any number of posting lists, not just two.
12428 Sat Jul 11 13:09:40 GMT 2009  Olly Betts <olly@survex.com>
12430         * matcher/extraweightpostlist.h:
12431           ExtraWeightPostList::read_position_list() and
12432           ExtraWeightPostList::open_position_list() aren't used, so remove
12433           them.
12435 Sat Jul 11 12:54:30 GMT 2009  Olly Betts <olly@survex.com>
12437         * api/leafpostlist.cc,api/postlist.cc,common/leafpostlist.h,
12438           common/postlist.h,common/submatch.h,matcher/,tests/api_anydb.cc,
12439           tests/api_opsynonym.cc: Count how many leaf subqueries match for the
12440           document with the highest weight when calculating the percentage
12441           weights, instead of using the termlist of that document (ticket#363).
12442           Also fixes XOR with a SYNONYM subquery which could achieve 100%
12443           weight before.
12445 Fri Jul 10 08:02:18 GMT 2009  Olly Betts <olly@survex.com>
12447         * api/omdatabase.cc,backends/chert/chert_spelling.cc,
12448           backends/flint/flint_spelling.cc,common/database.h: Deal with the
12449           case of get_spelling_suggestion() with an empty or single character
12450           word up front.
12452 Thu Jul 09 16:20:47 GMT 2009  Olly Betts <olly@survex.com>
12454         * tests/harness/backendmanager_remotetcp.cc: In clean_up(), only scan
12455           through the pid_to_fd array once, and disable the signal handler
12456           and call waitpid() for any remaining pids ourselves, rather than
12457           calling sleep(1) and rechecking.  This should avoid pointless delays
12458           when the child hasn't exited when we first check.
12460 Thu Jul 09 12:40:52 GMT 2009  Olly Betts <olly@survex.com>
12462         * tests/harness/: BackendManager has a virtual dtor, so we don't need
12463           empty virtual dtors in its subclasses.
12465 Thu Jul 09 11:40:20 GMT 2009  Olly Betts <olly@survex.com>
12467         * tests/harness/backendmanager_remotetcp.cc,
12468           tests/harness/backendmanager_remotetcp.h: Move the
12469           BackendManagerRemoteTcp ctor back into the header now it is trivial
12470           again.
12472 Wed Jul 08 16:56:53 GMT 2009  Olly Betts <olly@survex.com>
12474         * backends/flint/flint_io.h: Backport change to use F_FULLSYNC from
12475           chert.
12477 Wed Jul 08 15:30:22 GMT 2009  Olly Betts <olly@survex.com>
12479         * configure.ac: Check that we can find the valgrind/memcheck.h header
12480           as well as the valgrind binary.
12482 Wed Jul 08 14:30:53 GMT 2009  Olly Betts <olly@survex.com>
12484         * tests/harness/backendmanager_remotetcp.cc: Sort out the clash
12485           between two different patches to fix leaking file descriptors.
12486           Also, call clean_up() from the destructor to correctly handle the
12487           case when a BackendManagerRemoteTcp is created by a test case
12488           directly.
12490 Wed Jul 08 14:17:43 GMT 2009  Olly Betts <olly@survex.com>
12492         * tests/harness/: Rename "posttest()" method to "clean_up()" - I keep
12493           thinking "power-on self-test".
12495 Wed Jul 08 05:08:09 GMT 2009  Olly Betts <olly@survex.com>
12497         * backends/chert/chert_io.h: Use F_FULLFSYNC where available (Mac OS X
12498           currently).  (ticket#288)
12500 Tue Jul 07 09:31:35 GMT 2009  Olly Betts <olly@survex.com>
12502         * queryparser/queryparser.lemony: If default_op is OP_NEAR or OP_PHRASE
12503           then make the default window size (9 + no_of_terms), like it would be
12504           for an explicit NEAR or PHRASE without an explicit window size.
12505           (ticket#254)
12506         * tests/queryparsertest.cc: Add feature tests for this.
12508 Tue Jul 07 07:18:15 GMT 2009  Olly Betts <olly@survex.com>
12510         * HACKING,api/,backends/chert/,backends/flint/,
12511           backends/remote/remote-database.cc,common/,languages/steminternal.h,
12512           net/,queryparser/queryparser.cc,tests/harness/,tests/internaltest.cc,
12513           tests/perftest/freemem.cc,tests/perftest/perftest_randomidx.cc,
12514           tests/stemtest.cc,unicode/utf8itor.cc: Update to use C++ forms for
12515           ISO C standard headers (ticket#330).
12517 Tue Jul 07 05:30:58 GMT 2009  Olly Betts <olly@survex.com>
12519         * backends/inmemory/inmemory_database.h: Use "omassert.h" not
12520           <omassert.h>.
12522 Mon Jul 06 04:30:59 GMT 2009  Olly Betts <olly@survex.com>
12524         * AUTHORS: Add Rolf Köhling for fixes for Omega on MS Windows.
12526 Sun Jul 05 16:28:54 GMT 2009  Olly Betts <olly@survex.com>
12528         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
12529           Backport the lazyupdate changes from chert to flint.
12531 Sun Jul 05 13:12:53 GMT 2009  Olly Betts <olly@survex.com>
12533         * tests/harness/backendmanager.cc,tests/harness/backendmanager.h: Move
12534           virtual destructor definition out of the header.
12536 Sun Jul 05 04:09:04 GMT 2009  Olly Betts <olly@survex.com>
12538         * common/documentterm.h: Add const to OmDocumentTerm::get_wdf() method
12539           (ticket#139).
12541 Sat Jul 04 16:45:43 GMT 2009  Olly Betts <olly@survex.com>
12543         * queryparser/lemon.c: Merge upstream "Check-in Number: 6757" - no
12544           functional changes in generated code for our parser.
12546 Sat Jul 04 16:39:41 GMT 2009  Olly Betts <olly@survex.com>
12548         * queryparser/lemon.c: Merge upstream "Check-in Number: 6756" - no
12549           functional changes in generated code for our parser.
12551 Sat Jul 04 16:36:59 GMT 2009  Olly Betts <olly@survex.com>
12553         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
12554           "Check-in Number: 6755" - no functional changes in generated code for
12555           our parser.
12557 Sat Jul 04 16:29:24 GMT 2009  Olly Betts <olly@survex.com>
12559         * queryparser/lemon.c: Merge upstream "Check-in Number: 6754" - no
12560           changes in generated code for our parser.
12562 Sat Jul 04 16:24:45 GMT 2009  Olly Betts <olly@survex.com>
12564         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6749" -
12565           only changes are in code which isn't compiled due to preprocessor
12566           conditionals.
12568 Sat Jul 04 16:02:08 GMT 2009  Olly Betts <olly@survex.com>
12570         * api/editdistance.cc: Add const to is_transposed() method
12571           (ticket#139).
12573 Sat Jul 04 15:19:55 GMT 2009  Olly Betts <olly@survex.com>
12575         * backends/chert/chert_lock.h,backends/flint/flint_lock.h: Make
12576           ChertLock::operator bool() and FlintLock::operator bool() const
12577           (ticket#139).
12579 Sat Jul 04 14:56:42 GMT 2009  Olly Betts <olly@survex.com>
12581         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
12582           backends/flint/flint_database.cc,backends/flint/flint_database.h:
12583           Make ChertDatabase::get_changeset_revisions() and
12584           FlintDatabase::get_changeset_revisions() const (ticket#139).
12586 Sat Jul 04 14:10:55 GMT 2009  Olly Betts <olly@survex.com>
12588         * backends/chert/chert_changesetapplier.h,
12589           backends/flint/flint_changesetapplier.h: "the the" -> "the" in
12590           comments.
12592 Sat Jul 04 14:06:39 GMT 2009  Olly Betts <olly@survex.com>
12594         * backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h:
12595           Make ChertTable_base::do_unpack_uint() just a static non-class
12596           function.  Use string::+= to build up the error string in it, and
12597           mark the error case as rare.
12599 Wed Jul 01 04:12:22 GMT 2009  Olly Betts <olly@survex.com>
12601         * docs/spelling.rst: Omega now supports spelling correction.
12603 Mon Jun 29 08:16:13 GMT 2009  Olly Betts <olly@survex.com>
12605         * queryparser/queryparser.lemony: Reset the begin and end strings
12606           before trying the next ValueRangeProcessor in case they've been
12607           modified.
12608         * tests/queryparsertest.cc: Add regression tests and general coverage
12609           for this area.
12611 Mon Jun 29 06:33:45 GMT 2009  Olly Betts <olly@survex.com>
12613         * backends/remote/net_postlist.cc: Remove unused '#include
12614           "serialise-double.h"'.
12616 Mon Jun 29 06:32:52 GMT 2009  Olly Betts <olly@survex.com>
12618         * backends/remote/net_postlist.cc: Build up description string using
12619           +=.
12621 Sun Jun 28 14:50:56 GMT 2009  Olly Betts <olly@survex.com>
12623         * backends/remote/net_postlist.h: Fix internal doc comment.
12625 Sat Jun 27 13:35:45 GMT 2009  Olly Betts <olly@survex.com>
12627         * configure.ac: -Wshadow produces false positives with GCC 4.0, so
12628           only enable  it for >= 4.1 since we enable -Werror for
12629           maintainer-mode builds for GCC >= 4.0.
12631 Sat Jun 27 13:30:22 GMT 2009  Olly Betts <olly@survex.com>
12633         * backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h:
12634           Fix return type of MultiTermList::positionlist_count() to be
12635           Xapian::termcount rather than Xapian::termpos.
12637 Sat Jun 27 12:50:17 GMT 2009  Olly Betts <olly@survex.com>
12639         * backends/flint/flint_alltermslist.h,backends/flint/flint_postlist.cc,
12640           backends/flint/flint_postlist.h: Fix to use Xapian::doccount for
12641           termfreq in flint too.
12643 Sat Jun 27 12:28:47 GMT 2009  Olly Betts <olly@survex.com>
12645         * backends/chert/chert_alltermslist.cc: Prefer 'str.resize(0)' to
12646           'str = ""'.
12648 Sat Jun 27 12:16:17 GMT 2009  Olly Betts <olly@survex.com>
12650         * backends/chert/chert_alltermslist.h,backends/chert/chert_postlist.h:
12651           Fix to use Xapian::doccount for termfreq in more places.
12653 Sat Jun 27 11:51:25 GMT 2009  Olly Betts <olly@survex.com>
12655         * backends/chert/chert_table.cc: Change so add_item_to_block() can
12656           always assume there is another contiguous space in the block
12657           (previously it could assume that there was enough space, but not
12658           that it was necessarily contiguous).
12660 Sat Jun 27 09:55:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12662         * include/xapian/postingsource.h,include/xapian/weight.h: Add note
12663           that PostingSource and Weight objects returned by clone() and
12664           unserialise() methods will be deallocated with "delete".
12666 Sat Jun 27 07:26:41 GMT 2009  Olly Betts <olly@survex.com>
12668         * backends/chert/chert_postlist.cc: Adjust use of Xapian::doccount vs
12669           Xapian::termcount for consistency so things work better when these
12670           types aren't identical.
12672 Sat Jun 27 01:48:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12674         * api/matchspy.cc: Remove unused matchspy.cc - there is an updated
12675           version of this on the matchspy branch; having an old copy here
12676           is just likely to lead to confusion.
12678 Fri Jun 26 05:42:26 GMT 2009  Olly Betts <olly@survex.com>
12680         * api/documentvaluelist.cc,api/documentvaluelist.h: Change
12681           DocumentValueList::skip_to()'s parameter type from Xapian::valueno
12682           to Xapian::docid to agree with the type in ValueList::skip_to().
12683           This is a latent bug - it doesn't matter provided the types are
12684           actually the same (ticket#385).
12686 Thu Jun 25 11:20:07 GMT 2009  Olly Betts <olly@survex.com>
12688         * matcher/phrasepostlist.cc: Use Xapian::termcount(1) instead of 1u
12689           so that the code doesn't assume Xapian::termcount is unsigned int.
12691 Sun Jun 21 12:09:55 GMT 2009  Olly Betts <olly@survex.com>
12693         * backends/chert/chert_check.cc,backends/chert/chert_table.cc,
12694           backends/chert/chert_table.h: Replace duplicated macros with
12695           a single version in chert_table.h, and use DIR_START instead of
12696           a literal 11 in that header.
12697         * backends/chert/chert_table.h: Add more assertions.  Use
12698           BYTES_PER_BLOCK_NUMBER instead of a literal 4 in more places.
12700 Sat Jun 20 07:38:56 GMT 2009  Olly Betts <olly@survex.com>
12702         * backends/chert/chert_table.cc,backends/flint/flint_table.cc: Fix
12703           misspelling in comment (neccessary -> necessary).
12705 Sat Jun 20 07:38:06 GMT 2009  Olly Betts <olly@survex.com>
12707         * backends/chert/chert_table.cc: Don't reconstruct Item(p, c) when we
12708           already have it as a local variable.
12710 Wed Jun 17 01:23:16 GMT 2009  Olly Betts <olly@survex.com>
12712         * common/str.cc: Fix potential warning in signed version of str().
12714 Tue Jun 16 11:20:43 GMT 2009  Olly Betts <olly@survex.com>
12716         * tests/harness/testsuite.cc,tests/harness/testsuite.h: Factor out
12717           writing out what was sent to tout and clearing it into a new
12718           method test_driver::write_and_clear_tout().
12719         * tests/harness/testsuite.cc: Prefer string() to "".  When sending a
12720           colour change code, do it before the preceding space when that allows
12721           string literals to be merged.  Always give the full exception message
12722           (was conditional on --verbose).  Tidy up output for reporting the
12723           various different exception types and other failures to give more
12724           consistent output.
12726 Tue Jun 16 11:01:14 GMT 2009  Olly Betts <olly@survex.com>
12728         * tests/harness/scalability.cc: Increase the number of tests until the
12729           first sample takes more than 0.001 seconds to avoid trying to base
12730           calculations on a length of time we probably can't reliably measure
12731           to start with.
12733 Tue Jun 16 10:58:34 GMT 2009  Olly Betts <olly@survex.com>
12735         * tests/harness/cputimer.cc: Don't bother trying to count CPU time
12736           for child processes, as it's hard to ensure that the child processes
12737           have finished with the current framework, and just counting time in
12738           the current process checks most things (the local backend tests cover
12739           much of the work done by the server part of the remote backend).
12741 Tue Jun 16 02:15:31 GMT 2009  Olly Betts <olly@survex.com>
12743         * tests/harness/cputimer.h: Don't need '#include <ctime>'.
12745 Tue Jun 16 02:10:29 GMT 2009  Olly Betts <olly@survex.com>
12747         * tests/harness/cputimer.h: Fix naming of header multiple-inclusion
12748           protection macro.
12750 Sun Jun 14 14:11:51 GMT 2009  Olly Betts <olly@survex.com>
12752         * tests/internaltest.cc: In testcase serialisequery1, use a helper
12753           function rather than wasting effort building a std::list with all the
12754           testcases in just so we can iterate over them.
12756 Sun Jun 14 13:52:22 GMT 2009  Olly Betts <olly@survex.com>
12758         * tests/harness/testsuite.cc: <iomanip> isn't used so remove it.
12760 Sun Jun 14 13:30:34 GMT 2009  Olly Betts <olly@survex.com>
12762         * tests/harness/testsuite.h: Fix comment typo.
12764 Sat Jun 13 06:30:57 GMT 2009  Olly Betts <olly@survex.com>
12766         * tests/api_anydb.cc: Fix reversed conditional in last but one change.
12768 Sat Jun 13 04:42:27 GMT 2009  Olly Betts <olly@survex.com>
12770         * tests/api_anydb.cc: Use TEST_EQUAL_DOUBLE() when comparing
12771           get_max_attained() to allow for rounding differences.
12773 Sat Jun 13 04:39:49 GMT 2009  Olly Betts <olly@survex.com>
12775         * tests/api_anydb.cc: Use "startswith()" rather than comparing an
12776           extracted substring.
12778 Fri Jun 12 12:45:37 GMT 2009  Olly Betts <olly@survex.com>
12780         * tests/harness/backendmanager_remotetcp.cc: Fix the mechanism for
12781           closing the file descriptors used by child xapian-tcpsrv processes
12782           once they exit, which has been broken ever since it was added nearly
12783           two years ago (sigh).  Fixes fd leaking which caused "apitest
12784           -bremotetcp" to fail on OpenBSD (ticket#382).
12786 Fri Jun 12 03:37:13 GMT 2009  Olly Betts <olly@survex.com>
12788         * tests/harness/backendmanager_remotetcp.cc: Fix comment typo.
12790 Wed Jun 10 04:29:43 GMT 2009  Olly Betts <olly@survex.com>
12792         * common/serialise-double.cc,common/serialise-double.h: Relicense as
12793           MIT/X rather than GPLv2+ as these are low level routines which other
12794           projects may find useful.
12796 Tue Jun 09 14:34:20 GMT 2009  Olly Betts <olly@survex.com>
12798         * NEWS: Update for 1.1.1.
12800 Tue May 26 14:55:05 GMT 2009  Olly Betts <olly@survex.com>
12802         * configure.ac: Update version to 1.1.1.
12804 Tue May 26 14:49:23 GMT 2009  Olly Betts <olly@survex.com>
12806         * NEWS: Lick into shape.
12808 Mon May 25 11:55:59 GMT 2009  Olly Betts <olly@survex.com>
12810         * PLATFORMS: Sync with changes in 1.0 version.
12812 Mon May 25 10:57:59 GMT 2009  Olly Betts <olly@survex.com>
12814         * common/weightinternal.h: Remove declarations of unimplemented
12815           constructors (ticket#379).
12817 Sat May 23 16:06:05 GMT 2009  Olly Betts <olly@survex.com>
12819         * NEWS: Update from 1.0.13 and ChangeLog.
12821 Sat May 23 15:35:39 GMT 2009  Olly Betts <olly@survex.com>
12823         * HACKING: ValueIterator is now a PIMPL class like TermIterator, etc.
12825 Sat May 23 05:24:33 GMT 2009  Olly Betts <olly@survex.com>
12827         * docs/postingsource.rst: Since we are sticking with an recursive
12828           maxweight recalculation for now, add back a warning about the
12829           potential overhead from calling set_maxweight() very frequently,
12830           with an informed estimate for the worst case overhead.
12832 Fri May 22 11:44:04 GMT 2009  Olly Betts <olly@survex.com>
12834         * backends/inmemory/inmemory_database.cc: We can trivially make
12835           Database::metadata_keys_begin() work for inmemory in the special
12836           case when there are no keys, so do so.
12837         * tests/api_metadata.cc: Add test coverage for this case.
12839 Fri May 22 09:31:07 GMT 2009  Olly Betts <olly@survex.com>
12841         * configure.ac: Only bother passing -Winit-self for GCC >= 4.3, as it
12842           doesn't do anything for GCC <= 4.4 anyway.
12844 Fri May 22 07:00:29 GMT 2009  Olly Betts <olly@survex.com>
12846         * backends/flint/flint_version.h: Initialise filename using + not +=.
12847           Fix odd whitespace in recent change.
12849 Fri May 22 05:27:56 GMT 2009  Olly Betts <olly@survex.com>
12851         * AUTHORS: Update.
12853 Fri May 22 05:24:19 GMT 2009  Olly Betts <olly@survex.com>
12855         * api/postingsource.cc,common/multimatch.h,matcher/multimatch.cc:
12856           Replace MultiMatch::reduce_maxweight_by() with a call to
12857           MultiMatch::recalc_maxweight() and inline the later from the header.
12859 Fri May 22 05:16:03 GMT 2009  Olly Betts <olly@survex.com>
12861         * configure.ac: Enable more GCC warnings - "-Woverloaded-virtual" for
12862           all versions, "-Wstrict-null-sentinel" for 4.0+, "-Wlogical-op
12863           -Wmissing-declarations" for 4.3+.  Notably "-Wmissing-declarations"
12864           caught that consistency2 wasn't being run.
12866 Fri May 22 05:15:08 GMT 2009  Olly Betts <olly@survex.com>
12868         * languages/steminternal.cc,languages/steminternal.h: Inline simple
12869           Stem::Internal::Internal() constructor from header.
12871 Thu May 21 16:23:26 GMT 2009  Olly Betts <olly@survex.com>
12873         * tests/harness/backendmanager_remotetcp.cc: Make on_SIGCHLD() static.
12875 Thu May 21 16:22:56 GMT 2009  Olly Betts <olly@survex.com>
12877         * tests/api_wrdb.cc: Fix testcase consistency2 to actually be run.
12879 Thu May 21 16:22:30 GMT 2009  Olly Betts <olly@survex.com>
12881         * tests/api_transdb.cc: Add missing '#include "api_transdb.h"'.
12883 Thu May 21 12:58:22 GMT 2009  Olly Betts <olly@survex.com>
12885         * backends/databasereplicator.cc: Don't bother to check if the
12886           database path works in stat() and is a directory - the case we want
12887           to be fast is when the database does exist, and if path +
12888           "/iamflint" (or "iamchert") exists, then the check for path being a
12889           directory is redundant.  If the path isn't a flint or chert database
12890           then a generic message including the path seems sufficient.
12892 Thu May 21 09:17:15 GMT 2009  Olly Betts <olly@survex.com>
12894         * backends/databasereplicator.cc,common/databasereplicator.h: Inline
12895           empty DatabaseReplicator default ctor.
12897 Thu May 21 08:25:24 GMT 2009  Olly Betts <olly@survex.com>
12899         * api/replication.cc: Cache the result of get_replica_path() when we
12900           are going to need it again.
12902 Thu May 21 08:09:51 GMT 2009  Olly Betts <olly@survex.com>
12904         * backends/chert/chert_databasereplicator.h,
12905           backends/flint/flint_databasereplicator.h: Correct parent class name
12906           in doxygen comments.
12908 Thu May 21 08:08:06 GMT 2009  Olly Betts <olly@survex.com>
12910         * HACKING: Update list of Debian/Ubuntu packages needed to for a
12911           development environment.
12913 Thu May 21 06:28:00 GMT 2009  Olly Betts <olly@survex.com>
12915         * backends/databasereplicator.cc: Fix nested comment start introduced
12916           by the previous commit.
12918 Thu May 21 06:21:39 GMT 2009  Olly Betts <olly@survex.com>
12920         * api/replication.cc,backends/databasereplicator.cc,
12921           common/databasereplicator.h: We only keep one pointer to a
12922           DatabaseReplicator, so use AutoPtr not RefCntPtr.
12924 Thu May 21 05:00:17 GMT 2009  Olly Betts <olly@survex.com>
12926         * api/replication.cc: Fix SEGV when calling get_description() on a
12927           default constructed DatabaseReplica.
12928         * tests/generate-api_generated: Test DatabaseReplica (regression test
12929           for the above bug) and SerialisationContext.   Fix @file in the
12930           generated api_generated.cc.  Update (C) dates in generated
12931           api_generated.cc.
12933 Thu May 21 03:58:59 GMT 2009  Olly Betts <olly@survex.com>
12935         * tests/generate-api_generated: Call get_description() on the default
12936           constructed object to make sure that works (and doesn't try to
12937           dereference NULL, or fail some assertion, etc).  All currently
12938           checked classes are fine - this is to avoid future regressions or
12939           such problems with new classes.
12941 Wed May 20 14:19:54 GMT 2009  Olly Betts <olly@survex.com>
12943         * net/tcpclient.cc,net/tcpserver.cc: Fix xapian-tcpsrv --interface
12944           option to work on MacOS X (ticket#373).
12946 Wed May 20 13:58:09 GMT 2009  Olly Betts <olly@survex.com>
12948         * api/omdatabase.cc,api/sortable-serialise.cc,backends/chert/,
12949           backends/flint/,backends/remote/remote-database.cc,
12950           common/serialise-double.cc,common/str.cc,
12951           matcher/exactphrasepostlist.cc,net/remoteconnection.cc,
12952           net/remoteserver.cc: Replace C-style casts.  Add a few missing casts.
12953           Tweak types used in a few places.
12955 Wed May 20 13:55:41 GMT 2009  Olly Betts <olly@survex.com>
12957         * backends/chert/chert_databasereplicator.cc,
12958           backends/flint/flint_databasereplicator.cc: Need <cstdio> for
12959           rename().  Replace C-style cast to off_t.
12961 Wed May 20 13:53:25 GMT 2009  Olly Betts <olly@survex.com>
12963         * api/editdistance.cc: Make edist_state class uncopyable and
12964           unassignable.  Initialise maxdist in the initialiser list.
12966 Wed May 20 11:19:53 GMT 2009  Olly Betts <olly@survex.com>
12968         * languages/steminternal.cc,languages/steminternal.h: Change C-style
12969           casts to C++-style ones.
12971 Wed May 20 10:40:03 GMT 2009  Olly Betts <olly@survex.com>
12973         * common/str.h: Add static_cast<char>() to suppress bogus MSVC
12974           warning (ticket#377).
12976 Tue May 19 15:26:39 GMT 2009  Olly Betts <olly@survex.com>
12978         * backends/chert/,backends/flint/,common/rset.h,tests/api_anydb.cc:
12979           Pass std::string by const reference rather than value (except in
12980           a few cases where we need a modifiable copy anyway) as benchmarking
12981           shows this is better even with GCC's reference counted std::string
12982           implementation (ticket#140).
12983         * tests/api_anydb.cc: Use string() instead of "" for an empty string.
12985 Tue May 19 08:47:55 GMT 2009  Olly Betts <olly@survex.com>
12987         * api/omquery.cc,include/xapian/query.h: Make Xapian::Query::MatchAll
12988           and Xapian::Query::MatchNothing const since they're immutable.  All
12989           the public methods are const, so this should be completely API
12990           compatible.
12992 Tue May 19 06:25:26 GMT 2009  Olly Betts <olly@survex.com>
12994         * include/xapian/enquire.h: Document what passing maxitems=0 to
12995           get_mset() does.
12997 Mon May 18 13:32:49 GMT 2009  Olly Betts <olly@survex.com>
12999         * include/xapian/database.h: Correct doxygen comments for user
13000           metadata functions: get_metadata() can't throw UnimplementedError
13001           but set_metadata() can.
13002         * include/xapian/database.h,tests/api_metadata.cc: Document that
13003           metadata_keys_begin() returns an end iterator if the backend doesn't
13004           support metadata, and add test coverage for this case.
13005         * backends/inmemory/inmemory_database.cc,
13006           backends/inmemory/inmemory_database.h,include/xapian/database.h,
13007           tests/api_metadata.cc,tests/harness/testrunner.cc: The test harness
13008           didn't have the inmemory backend flagged as supporting
13009           user-specified metadata, and so it's perhaps not a great surprise to
13010           discover that inmemory doesn't support it fully - you can't iterate
13011           over metadata keys, but instead get an empty iteration.  Fix this
13012           to at least throw UnimplementedError and document that this is the
13013           situation.
13015 Mon May 18 11:29:10 GMT 2009  Olly Betts <olly@survex.com>
13017         * tests/Makefile.am,tests/api_metadata.cc,tests/api_wrdb.cc: Split out
13018           tests of user metadata into their own file.
13020 Sun May 17 12:52:41 GMT 2009  Olly Betts <olly@survex.com>
13022         * matcher/: Add a new constructor to MultiAndPostList for the "decay
13023           from OrPostList or AndMaybePostList" case which takes the already
13024           know max weights to avoid having to refetch them.  Also, we know
13025           that the subpostlists of OrPostList are ordered a particular way
13026           so can avoid needing to check the order in that case.
13028 Sat May 16 05:02:35 GMT 2009  Olly Betts <olly@survex.com>
13030         * backends/flint/flint_version.cc: Fix comment - this file doesn't
13031           use memcpy() now.
13033 Thu May 14 04:38:47 GMT 2009  Olly Betts <olly@survex.com>
13035         * tests/api_percentages.cc: Remove superfluous explicit std::
13036           qualifiers.
13038 Thu May 14 04:36:29 GMT 2009  Olly Betts <olly@survex.com>
13040         * tests/api_percentages.cc: Update for the PostingSource
13041           get_maxweight() API changes.
13043 Tue May 12 14:50:57 GMT 2009  Olly Betts <olly@survex.com>
13045         * matcher/multimatch.cc: Rename "max_weight" variable to "max_possible"
13046           since that is what it is referred to via the MSet API.
13048 Tue May 12 12:38:11 GMT 2009  Olly Betts <olly@survex.com>
13050         * common/safeuuid.h: Fix length of buffer to lower case - it's
13051           36, not sizeof(uuid_t).
13053 Tue May 12 02:49:34 GMT 2009  Olly Betts <olly@survex.com>
13055         * common/safeuuid.h,configure.ac: Older versions of libuuid don't have
13056           uuid_unparse_lower() so probe for it in configure, and if it isn't
13057           present provide an inline version in safeuuid.h (ticket#368).
13059 Mon May 11 13:07:47 GMT 2009  Olly Betts <olly@survex.com>
13061         * tests/api_postingsource.cc: In changemaxweightsource1, set
13062           descending docid order so that the matcher isn't able to terminate
13063           early after 4 documents just because weight == maxweight.
13065 Mon May 11 12:00:04 GMT 2009  Olly Betts <olly@survex.com>
13067         * net/serialise.cc: Build up string using +=.
13069 Mon May 11 11:39:49 GMT 2009  Olly Betts <olly@survex.com>
13071         * docs/postingsource.rst: Improve documentation for get_maxweight().
13073 Mon May 11 11:26:02 GMT 2009  Olly Betts <olly@survex.com>
13075         * include/xapian/postingsource.h: Initialise max_weight_ to 0 in the
13076           PostingSource constructor in case nobody else sets a value for it.
13078 Mon May 11 10:54:47 GMT 2009  Olly Betts <olly@survex.com>
13080         * tests/api_postingsource.cc: Fix class name in FAIL_TEST message.
13082 Mon May 11 10:41:31 GMT 2009  Olly Betts <olly@survex.com>
13084         * tests/api_postingsource.cc: Fix get_termfreq_min(), etc for
13085           ChangeMaxweightPostingSource to return 4 not 5.
13087 Mon May 11 09:03:14 GMT 2009  Olly Betts <olly@survex.com>
13089         * api/postingsource.cc: Remove assertion checking that set_maxweight()
13090           doesn't set a lower weight - it legitimately can when we call init()
13091           on a non-clone-able PostingSource for reuse.
13093 Mon May 11 03:12:00 GMT 2009  Olly Betts <olly@survex.com>
13095         * api/postingsource.cc,common/multimatch.h,docs/postingsource.rst,
13096           include/xapian/postingsource.h,matcher/externalpostlist.cc,
13097           matcher/externalpostlist.h,matcher/msetpostlist.cc,
13098           tests/api_postingsource.cc: Replace PostingSource's
13099           notify_new_maxweight() and virtual get_maxweight() mechanism with a
13100           non-virtual set_maxweight() and get_maxweight().  Currently the
13101           plumbing at the matcher end is much as before, but this API seems
13102           more obvious to the user and will allow the matcher to simply reduce
13103           its maximum weight value rather than having to recursively call
13104           recalc_maxweight() in response to this situation (ticket#340).
13106 Mon May 11 02:38:26 GMT 2009  Olly Betts <olly@survex.com>
13108         * docs/postingsource.rst: Fix a typo and reword to avoid "namespaced".
13110 Mon May 11 02:30:59 GMT 2009  Olly Betts <olly@survex.com>
13112         * matcher/msetpostlist.cc: Fix typo - MSetPostList::get_maxweight()
13113           with a sort ordered primarily by decreasing relevance was returning
13114           the docid for the maxweight!  This could have led to wrong results
13115           when searching multiple databases with the remote backend, but
13116           probably usually didn't matter as with BM25 the weights are usually
13117           small (often all < 1) while docids are inevitably >= 1.  No
13118           regression test for this (currently anyway).
13120 Sun May 10 07:49:11 GMT 2009  Olly Betts <olly@survex.com>
13122         * backends/dbfactory.cc: Fix comment typo.
13124 Sat May 09 14:15:38 GMT 2009  Olly Betts <olly@survex.com>
13126         * tests/api_collapse.cc,tests/perftest/runprocess.cc: Remove unused
13127           include of <iostream>.
13129 Sat May 09 14:03:34 GMT 2009  Olly Betts <olly@survex.com>
13131         * api/omquery.cc,matcher/andnotpostlist.cc,
13132           queryparser/termgenerator_internal.cc,tests/api_wrdb.cc: Remove
13133           unused inclusions of <algorithm>.
13135 Sat May 09 13:47:54 GMT 2009  Olly Betts <olly@survex.com>
13137         * matcher/multimatch.cc: Remove unused inclusion of <queue>.
13139 Sat May 09 13:38:02 GMT 2009  Olly Betts <olly@survex.com>
13141         * api/omquery.cc,api/omqueryinternal.cc,api/replication.cc,
13142           backends/alltermslist.cc,backends/chert/chert_table.cc,
13143           backends/flint/flint_table.cc,bin/xapian-compact.cc,
13144           common/bitstream.cc,common/inmemory_positionlist.h,
13145           common/positionlist.h,matcher/localmatch.h,matcher/queryoptimiser.cc,
13146           matcher/queryoptimiser.h,tests/api_wrdb.cc: Remove unused inclusions
13147           of <list>, <map>, <string>, and <vector>.
13149 Sat May 09 12:48:18 GMT 2009  Olly Betts <olly@survex.com>
13151         * api/documentvaluelist.cc,matcher/queryoptimiser.cc: Remove unused
13152           '#include "autoptr.h"'.
13154 Sat May 09 09:41:03 GMT 2009  Olly Betts <olly@survex.com>
13156         * queryparser/queryparser.lemony,queryparser/termgenerator.cc,
13157           weight/bm25weight.cc,weight/boolweight.cc,weight/tradweight.cc:
13158           Remove unneeded explicit "std::" qualifiers.
13160 Sat May 09 09:35:32 GMT 2009  Olly Betts <olly@survex.com>
13162         * weight/weight.cc: Doesn't use '#include "autoptr.h"'.
13164 Fri May 08 19:59:00 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13166         * configure.ac: Change source file which autoconf looks for, since
13167           I've just removed the old one that it looked for!
13169 Fri May 08 19:28:31 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13171         * matcher/andmaybepostlist.cc,matcher/branchpostlist.h: Call
13172           check() instead of skip_to() on the optional branch of AND_MAYBE.
13173           This can be much faster if that branch is a posting source.
13175 Fri May 08 18:31:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13177         * matcher/: Remove AndPostList, in favour of MultiAndPostList.
13178           AndPostList was only used as a decay product (by AndMaybePostList
13179           and OrPostList); for most queries, MultiAnd has pretty much
13180           indistinguishable performance as far as I can test; however, it
13181           uses check() when possible, which makes performance much better
13182           with searches involving external posting sources.  Removal also
13183           reduces the amount of code cluttering up the caches during a
13184           search, so may help speed things up in some other situations.
13186 Fri May 08 16:00:42 GMT 2009  Olly Betts <olly@survex.com>
13188         * api/postingsource.cc,backends/inmemory/inmemory_database.cc,
13189           examples/delve.cc,include/xapian/postingsource.h: Don't store an
13190           end iterator in a variable just to compare against it - it's now
13191           definitely more efficient to compare against the return value of
13192           the relevant _end() method.
13194 Fri May 08 15:44:07 GMT 2009  Olly Betts <olly@survex.com>
13196         * api/valueiterator.cc,include/xapian/database.h,
13197           include/xapian/document.h,include/xapian/valueiterator.h: Create a
13198           new proxy object class ValueIteratorEnd_ which is returned instead
13199           of ValueIterator(NULL) for end iterators.  This class will be
13200           converted to ValueIterator(NULL) if assigned to or passed as
13201           ValueIterator, but operator== and operator!= are overloaded to
13202           handle it directly which means that the compiler no longer calls
13203           ~ValueIterator for each call which returns ValueIterator(NULL).
13205 Fri May 08 15:42:12 GMT 2009  Olly Betts <olly@survex.com>
13207         * backends/chert/chert_values.cc: Swap two statements for cosmetic
13208           reasons.
13210 Fri May 08 14:42:49 GMT 2009  Olly Betts <olly@survex.com>
13212         * api/postingsource.cc,include/xapian/postingsource.h: It is actually
13213           better not to store the end iterator in a member variable - if we
13214           explicitly call db.postlist_end(string()) then that just gets
13215           optimised to PostingSource(NULL).
13217 Fri May 08 14:02:21 GMT 2009  Olly Betts <olly@survex.com>
13219         * tests/api_postingsource.cc: We've decided that "going back" with
13220           skip_to() or check() should have unspecified behaviour, so stop
13221           testing how this case behaves!
13223 Fri May 08 12:37:33 GMT 2009  Olly Betts <olly@survex.com>
13225         * common/Makefile.mk: Ship common/win32_uuid.cc and common/win32_uuid.h
13226           (ticket#367).
13228 Fri May 08 12:30:45 GMT 2009  Olly Betts <olly@survex.com>
13230         * tests/harness/cputimer.cc: Fix typo in the "ftime" case.
13232 Fri May 08 10:25:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13234         * matcher/andpostlist.cc: Fix a swap which was the wrong way round,
13235           so that we call next() on the subpostlist with the lower
13236           frequency, rather than the one with the higher frequency.  This
13237           should improve performance in many situations, and I don't think
13238           it's likely to slow anything down.  It also fixes some cases
13239           where optimisation of an AND_MAYBE to an AND results in a slower
13240           search, such that search times went down when more hits were
13241           requested.
13243 Fri May 08 08:48:14 GMT 2009  Olly Betts <olly@survex.com>
13245         * matcher/externalpostlist.cc: ExternalPostList::get_doclength()
13246           should never get called, so make it "Assert(false)".
13248 Fri May 08 05:16:50 GMT 2009  Olly Betts <olly@survex.com>
13250         * api/postingsource.cc: Another string concatention.
13252 Fri May 08 05:04:55 GMT 2009  Olly Betts <olly@survex.com>
13254         * api/postingsource.cc: Use str() instead of om_tostring() and build
13255           up strings using +=.
13257 Fri May 08 04:37:05 GMT 2009  Olly Betts <olly@survex.com>
13259         * api/postingsource.cc: "using namespace std;".
13261 Thu May 07 16:46:14 GMT 2009  Olly Betts <olly@survex.com>
13263         * matcher/: Check for collection_size == 0 up front so we don't need
13264           to repeatedly special case it when implementing
13265           get_termfreq_est_using_stats().
13267 Thu May 07 16:28:07 GMT 2009  Olly Betts <olly@survex.com>
13269         * matcher/xorpostlist.cc: Fix typo bug - collection_size should be
13270           rset_size.  This would have lead to a floating point division by
13271           zero when XOR was used under a synonym without an RSet, but that
13272           would just give infinity, and so just give a bogus value for the
13273           rel_termfreq rather than aborting instantly.
13275 Thu May 07 16:19:52 GMT 2009  Olly Betts <olly@survex.com>
13277         * HACKING: Update auto_ptr information.  Mention constructor syntax as
13278           an alternative replacement for some C-style casts.
13280 Thu May 07 15:25:00 GMT 2009  Olly Betts <olly@survex.com>
13282         * matcher/localmatch.cc,matcher/localmatch.h: Don't rebuild the
13283           termname -> termfreq and weight map for every subdatabase - just do
13284           it once for the first one.  Also eliminate a copy of this map.
13285           This should speed up searches a little, especially those over
13286           multiple databases.
13288 Thu May 07 15:01:24 GMT 2009  Olly Betts <olly@survex.com>
13290         * api/omdatabase.cc,api/omqueryinternal.cc,
13291           backends/remote/remote-database.cc,common/autoptr.h,
13292           expand/esetinternal.cc,matcher/localmatch.cc: Make our AutoPtr just
13293           a macro wrapper for std::auto_ptr.  Since std::auto_ptr doesn't
13294           allow assignment from a raw pointer, this requires changing such
13295           assignments into calls to auto_ptr::reset().
13297 Thu May 07 14:19:22 GMT 2009  Olly Betts <olly@survex.com>
13299         * api/leafpostlist.cc: Add an assertion that the term in the stats.
13300           Add "using namespace std;" so we can avoid explicit std:: qualifiers.
13302 Thu May 07 13:26:21 GMT 2009  Olly Betts <olly@survex.com>
13304         * matcher/: Eliminate EmptySubMatch - we can just store NULL for a
13305           submatch which has failed but which ErrorHandler told us to continue
13306           without.
13308 Thu May 07 12:52:24 GMT 2009  Olly Betts <olly@survex.com>
13310         * common/database.h: Update internal documentation comment -
13311           Database::Internal::open_post_list() can no longer return
13312           EmptyPostList as it is no longer a subclass of LeafPostList.
13314 Thu May 07 12:13:50 GMT 2009  Olly Betts <olly@survex.com>
13316         * api/leafpostlist.cc,backends/chert/chert_postlist.cc,
13317           backends/chert/chert_postlist.h,
13318           backends/flint/flint_alldocspostlist.h,
13319           backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h,
13320           backends/inmemory/inmemory_database.cc,
13321           backends/inmemory/inmemory_database.h,backends/remote/net_postlist.h,
13322           common/contiguousalldocspostlist.h,common/leafpostlist.h: Squash
13323           TermBasedLeafPostList into LeafPostList since there are no longer
13324           any other subclasses.
13326 Thu May 07 11:49:06 GMT 2009  Olly Betts <olly@survex.com>
13328         * api/Makefile.mk,api/emptypostlist.cc,common/emptypostlist.h:
13329           Reimplement EmptyPostList from scratch, and inherit from PostList
13330           not LeafPostList.
13332 Thu May 07 11:19:34 GMT 2009  Olly Betts <olly@survex.com>
13334         * matcher/mergepostlist.cc: Add explicit '#include "omassert.h"'.
13336 Thu May 07 10:28:33 GMT 2009  Olly Betts <olly@survex.com>
13338         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
13339           Subclass MultiPostList directly from PostList instead of from
13340           LeafPostList.  This gets rid of two unused data members per
13341           MultiPostList in exchange for having to define 5 extra "never
13342           called" methods, but 4 of these just tailcall.
13344 Thu May 07 10:26:39 GMT 2009  Olly Betts <olly@survex.com>
13346         * backends/inmemory/inmemory_alltermslist.cc,
13347           backends/inmemory/inmemory_database.cc: Fix assertion failures and
13348           a SEGV in an assertion test.
13350 Thu May 07 09:27:35 GMT 2009  Olly Betts <olly@survex.com>
13352         * backends/inmemory/inmemory_alltermslist.cc,
13353           backends/inmemory/inmemory_alltermslist.h,
13354           backends/inmemory/inmemory_database.cc:
13355           Keep a dummy entry in InMemoryDatabase::postlists so that the
13356           implementation of InMemoryAllTermsList doesn't need a "started"
13357           flag, and we can use an InMemoryPostList on the dummy item for
13358           the "term not in database" case.
13360 Thu May 07 05:45:48 GMT 2009  Olly Betts <olly@survex.com>
13362         * tests/api_backend.cc: Add tset coverage for alldocs iterator on an
13363           empty database.
13364         * backends/inmemory/inmemory_database.cc: No need to special case an
13365           empty database as InMemoryAllDocsPostList handles this case
13366           correctly.
13368 Thu May 07 05:08:07 GMT 2009  Olly Betts <olly@survex.com>
13370         * weight/weightinternal.cc: Use str() instead of om_tostring(), += to
13371           build up strings, and fix a cut-and-paste comment error.
13373 Wed May 06 13:03:40 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13375         * net/serialise.cc: Better serialisation - don't include the
13376           reltermfreqs if the rset_size is 0, since they'll all be 0 too.
13378 Wed May 06 12:13:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13380         * common/remoteprotocol.h,net/serialise.cc: When serialising stats,
13381           serialise the termfreq and reltermfreq together, rather than in
13382           separate lists.  Results in a smaller serialised form, and
13383           matches the in-memory structure now used better. Fixes ticket
13384           #362.  This is an incompatible remote protocol change, however,
13385           so bump the major version to 32.
13387 Wed May 06 04:02:43 GMT 2009  Olly Betts <olly@survex.com>
13389         * matcher/multimatch.cc: Check termfreqandwts for MatchAll queries
13390           before we check terms from the document so that the "terminate
13391           early once we've seen all the query terms" test when checking the
13392           document terms can fire in this case.
13394 Wed May 06 03:26:05 GMT 2009  Olly Betts <olly@survex.com>
13396         * matcher/multimatch.cc: Remove incorrect comment accidentally
13397           committed in r12623.
13399 Wed May 06 03:18:42 GMT 2009  Olly Betts <olly@survex.com>
13401         * tests/api_opsynonym.cc: Fix comment typo.
13403 Wed May 06 01:35:14 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13405         * tests/api_postingsource.cc: changemaxweightsource1 uses
13406           ChangeMaxweightPostingSource, which doesn't work with multi or
13407           remote, so mark the test accordingly.
13409 Wed May 06 01:11:25 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13411         * include/xapian/postingsource.h,api/postingsource.cc: Add
13412           notify_new_maxweight() method to be called by subclasses when they
13413           want to notify the matcher that their maxweight has changed
13414           significantly.  Add ExternalPostList as a friend and add
13415           register_externalpl() to be used to associate the ExternalPostList
13416           with the PostingSource.
13417         * matcher/externalpostlist.cc,matcher/externalpostlist.h,
13418           matcher/queryoptimiser.cc: Register the externalpostlist with the
13419           PostingSource it's iterating through.  Add
13420           ExternalPostList::notify_new_maxweight() method for
13421           PostingSource::notify_new_maxweight() to call.
13422         * docs/postingsource.rst: Document notify_new_maxweight() and the
13423           reasons for calling it.
13424         * tests/api_postingsource.cc: Test the handling of maxweight.
13426 Tue May 05 19:37:56 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13428         * tests/Makefile.am,tests/api_db.cc,tests/api_postingsource.cc:
13429           Split the tests of PostingSource subclasses out of api_db.cc; I'm
13430           about to add some more, and bloating api_db.cc further is
13431           unworkable.
13433 Tue May 05 18:23:02 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13435         * docs/postingsource.rst,include/xapian/postingsource.h:
13436           Documentation updates to describe way that init() is called
13437           again if a PostingSource is reused.  Fixes #352.
13439 Tue May 05 16:05:48 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13441         * tests/api_opsynonym.cc: Test that the top document has a weight
13442           of 100%, which is should do for all the current examples here.
13444 Tue May 05 16:03:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13446         * matcher/multimatch.cc: Add logging to keep track of the weights
13447           being added to percent_scale.  If the percent_scale total is 0.0,
13448           which can happen if the top document only matches synonym terms,
13449           force percent_scale to 1.0, to avoid an assertion failure.
13451 Tue May 05 13:41:57 GMT 2009  Olly Betts <olly@survex.com>
13453         * common/str.h: Fix swapped parameters in string ctor in code for
13454           str(bool) overload which lead to us returning 48 or 49 \x01
13455           characters instead of "0" or "1".
13456         * tests/internaltest.cc: Add regression test strbool1.
13457         * AUTHORS: Thank Peter Kelm for helping us spot this.
13459 Tue May 05 12:54:36 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13461         Merge from opsynonym branch:
13462         * queryparser/queryparser.lemony: Use OP_SYNONYM instead of OP_OR
13463           for synonyms, wildcards, and partial queries.
13464         * tests/queryparsertest.cc: Test use of OP_SYNONYM by query parser.
13466 Tue May 05 12:18:06 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13468         Merge from opsynonym branch:
13469         * api/omqueryinternal.cc,include/xapian/query.h,matcher/,
13470           weight/weight.cc: Implement a new OP_SYNONYM query operator,
13471           which behaves similarly to OP_OR, but produces weights for the
13472           combined set of terms as if they were a single term (by merging
13473           their wdfs).
13474         * tests/Makefile.am,tests/api_opsynonym.cc: Add tests for the
13475           OP_SYNONYM operator.
13476         * include/xapian/weight.h: Add a Weight::init_() method for
13477           synonym, since there isn't a single term involved.  Also,
13478           requires a method get_sumpart_needs_wdf_() to check if wdfs are
13479           needed, since the synonym weight calculation requires fetching
13480           the doclength, which is potentially expensive, in order that the
13481           wdf returned can be clamped to a sane range.  Mark the weighting
13482           methods which require WDF with need_stat(WDF).
13484 Tue May 05 12:04:33 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13486         * common/remoteprotocol.h: Add comment to remind use to do the
13487           FIXME in serialise_stats() when next breaking remote protocol
13488           compatibility.
13490 Tue May 05 10:53:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13492         * common/output.h: Add output function for TermFreqs.
13494 Tue May 05 08:23:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13496         * api/leafpostlist.cc,api/postlist.cc,common/emptypostlist.h,
13497           common/leafpostlist.h,common/postlist.h,matcher/: Add
13498           PostList::get_termfreq_est_using_stats() method, with default
13499           implementation which raises an InvalidOperationError.  Implement
13500           this for those postlists which it makes sense for.  Also,
13501           implement get_wdf() for postlists used by the matcher for
13502           implementing various query operators.  This isn't currently used
13503           or tested on trunk, but is used for the opsynonym branch.
13505 Tue May 05 07:37:04 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13507         * common/rset.h,common/weightinternal.h,matcher/rset.cc,
13508           net/serialise.cc,weight/weightinternal.cc: Store termfreqs and
13509           reltermfreqs in a Weight::Internal in a single map; introduce a
13510           new struct (TermFreqs) for the values stored here.
13511           Remove now unused Xapian::TermFreqMap typedef.
13513 Tue May 05 07:19:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13515         * backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h,
13516           backends/flint/flint_alldocspostlist.h,
13517           backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h,
13518           backends/inmemory/inmemory_database.cc,
13519           backends/inmemory/inmemory_database.h,backends/remote/net_postlist.h,
13520           common/contiguousalldocspostlist.h,common/leafpostlist.h:
13521           Introduce TermBasedLeafPostList, as a new common base class for
13522           postlists which are derived from a term in the query (including
13523           alldocs postlists which are derived from the empty term).
13525 Tue May 05 06:47:11 GMT 2009  Olly Betts <olly@survex.com>
13527         * backends/chert/,backends/flint/flint_modifiedpostlist.cc,
13528           backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h:
13529           Rename "tname" parameters to LeafPostList subclasses to "term".
13530         * backends/inmemory/inmemory_database.cc,
13531           backends/inmemory/inmemory_database.h: Rename term parameter of
13532           type InMemoryTerm to imterm ready for opsynonym branch changes.
13534 Tue May 05 04:51:28 GMT 2009  Olly Betts <olly@survex.com>
13536         * backends/chert/chert_alldocspostlist.h,matcher/multimatch.cc:
13537           Remove unused '#include "leafpostlist.h"'.
13539 Tue May 05 02:15:35 GMT 2009  Olly Betts <olly@survex.com>
13541         * common/contiguousalldocspostlist.h: Wrap comment.
13543 Tue May 05 02:04:02 GMT 2009  Olly Betts <olly@survex.com>
13545         * common/Makefile.mk: Move str.h into alphabetical order.
13547 Mon May 04 12:04:16 GMT 2009  Olly Betts <olly@survex.com>
13549         * tests/queryparsertest.cc: Rename qp_stem_scale1 to qp_scale1 as it
13550           has no connection with stemming.  Factor out a helper function to
13551           do the timing comparison, and update time_query_parse() to use
13552           CPUTimer rather than OmTime.  Tweak the "fudge factor" up from
13553           2 to 2.15 to allow for non-equal ticks due to rounding of an
13554           interval which isn't an exact multiple of 1/CLK_TCK (ticket#308).
13556 Mon May 04 12:02:32 GMT 2009  Olly Betts <olly@survex.com>
13558         * tests/harness/cputimer.cc: If we don't have rusage() or times(), but
13559           do have ftime(), use that instead of time() so we at least get
13560           subsecond resolution (as we do currently with OmTime).
13562 Mon May 04 03:31:51 GMT 2009  Olly Betts <olly@survex.com>
13564         * docs/queryparser.html: Add examples of using a prefix on a phrase
13565           or subexpression.
13567 Sun May 03 14:58:42 GMT 2009  Olly Betts <olly@survex.com>
13569         * tests/api_valuestats.cc: Testcase valuestats4 requires transactions,
13570           so indicate that and remove the explicit SKIP for inmemory.
13572 Sun May 03 12:34:30 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13574         * common/rset.h,common/weightinternal.h,matcher/rset.cc,
13575           weight/weightinternal.cc: Typedef std::map<string, Xapian::doccount>
13576           as TermFreqMap; tidies up code a little here, but mainly useful
13577           for keeping code tidy on branches/opsynonym.
13579 Sun May 03 11:49:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13581         * common/multimatch.h: Remove unused include of <map>
13583 Sun May 03 05:23:32 GMT 2009  Olly Betts <olly@survex.com>
13585         * tests/api_db.cc: Protect tests which assume Flint is enabled with
13586           #ifdef XAPIAN_HAS_FLINT_BACKEND.
13588 Sat May 02 15:49:46 GMT 2009  Olly Betts <olly@survex.com>
13590         * configure.ac,tests/Makefile.am,tests/api_scalability.cc,
13591           tests/api_wrdb.cc,tests/harness/: Add new "test_scalability()" helper
13592           function which checks that an operation scales in CPU time used in
13593           the desired way.  Use this to reimplement bigoaddvalue (and rename
13594           to bigoaddvalue1 for consistency).
13596 Fri May 01 04:58:41 GMT 2009  Olly Betts <olly@survex.com>
13598         * bin/xapian-check.cc: For chert, check value stats are the correct
13599           format and that the streamed values are consistent with their stats
13600           (ticket#277).
13602 Fri May 01 04:53:22 GMT 2009  Olly Betts <olly@survex.com>
13604         * api/omdocument.cc: Don't ever store empty values explicitly, which
13605           eliminates an inconsistently handled corner case which was causing
13606           the "value frequency" to be wrong from at least one point of view.
13607           This is consistent with how user metadata works too.
13608         * include/xapian/document.h: Explicitly document this behaviour.
13609         * tests/api_valuestats.cc: Add regression test for the above change.
13611 Fri May 01 03:11:25 GMT 2009  Olly Betts <olly@survex.com>
13613         * bin/xapian-check.cc: Chert doesn't store termlist entries for
13614           documents without terms, which resulted in us reporting an error when
13615           we found document ids in the doclength "postlist" which were greater
13616           than any with an entry in the termlist.  Instead compare these
13617           entries against db.get_last_docid() if we are checking a whole db
13618           and able to call it.  If not, suppress this check.
13620 Thu Apr 30 15:02:41 GMT 2009  Olly Betts <olly@survex.com>
13622         * common/valuestats.h: Fix comment typo.
13624 Tue Apr 28 14:01:41 GMT 2009  Olly Betts <olly@survex.com>
13626         * api/omdatabase.cc: Use <cstdlib> rather than <stdlib.h> which means
13627           that there's an overload for abs(long).
13629 Tue Apr 28 13:17:48 GMT 2009  Olly Betts <olly@survex.com>
13631         * HACKING,INSTALL,configure.ac,include/xapian/deprecated.h,
13632           include/xapian/version_h.cc,tests/harness/testsuite.cc: Actually,
13633           let's require GCC 3.1 as doing so eliminates some preprocessor
13634           conditionals which we aren't able to test regularly as we don't
13635           have easy access to such old GCC versions.  GCC 3.1 is nearly 7
13636           years old now, and GCC3 didn't get widespread use until later
13637           versions anyway.
13639 Tue Apr 28 12:47:11 GMT 2009  Olly Betts <olly@survex.com>
13641         * common/debuglog.h: Add missing initialisation of uncaught_exception
13642           in a couple of places.
13644 Tue Apr 28 11:24:02 GMT 2009  Olly Betts <olly@survex.com>
13646         * INSTALL: Note that Xapian 1.0.x should build with GCC 2.95.3.
13648 Tue Apr 28 11:20:51 GMT 2009  Olly Betts <olly@survex.com>
13650         * HACKING,INSTALL,backends/chert/chert_database.h,
13651           backends/flint/flint_database.h,
13652           backends/inmemory/inmemory_database.h,configure.ac,
13653           include/xapian/version_h.cc,tests/harness/testsuite.cc: Drop support
13654           for GCC 2.95.3 - we now require at least 3.0.
13656 Mon Apr 27 12:20:25 GMT 2009  Olly Betts <olly@survex.com>
13658         * include/xapian/weight.h: Add "need_stat(WDF);" for Weight subclasses
13659           which use wdf.  Currently this is never actually checked by trunk
13660           (so a regression test for this omission isn't really feasible), but
13661           the opsynonym branch uses it.
13663 Sun Apr 26 14:47:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13665         * weight/bm25weight.cc: Add call debugging.
13667 Sun Apr 26 10:57:48 GMT 2009  Olly Betts <olly@survex.com>
13669         * tests/api_db.cc: stubdb6 is "inmemory" not "flint || chert || multi".
13671 Sun Apr 26 10:51:50 GMT 2009  Olly Betts <olly@survex.com>
13673         * tests/queryparsertest.cc: Fix to build with the inmemory backend
13674           disabled.
13676 Sun Apr 26 07:28:47 GMT 2009  Olly Betts <olly@survex.com>
13678         * tests/generate-api_generated: Fix so generated api_generated.cc
13679           builds with the inmemory backend disabled.
13681 Sun Apr 26 06:30:57 GMT 2009  Olly Betts <olly@survex.com>
13683         * tests/api_anydb.cc: Fix to build with the inmemory backend disabled.
13685 Sat Apr 25 01:10:49 GMT 2009  Olly Betts <olly@survex.com>
13687         * bin/xapian-check.cc: Fix to build with the flint and/or chert
13688           backends disabled.
13690 Sat Apr 25 01:06:00 GMT 2009  Olly Betts <olly@survex.com>
13692         * matcher/multimatch.cc: Fix to build with the remote backend
13693           disabled.
13695 Sat Apr 25 00:57:41 GMT 2009  Olly Betts <olly@survex.com>
13697         * backends/dbfactory.cc: Fix to build with the inmemory backend
13698           disabled.
13700 Fri Apr 24 22:59:34 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13702         * weight/weight.cc: Add debug logging to Weight::init_() methods.
13703         * net/remoteserver.cc: Fix bounds returned by Weight::Internal
13704           object in get_mset() in remote submatches, by setting the
13705           database used to read the bounds.
13707 Fri Apr 24 13:14:50 GMT 2009  Olly Betts <olly@survex.com>
13709         * matcher/branchpostlist.cc,matcher/branchpostlist.h: Remove
13710           BranchPostList::get_wdf() which isn't currently used, and isn't
13711           wanted on branches/opsynonym.
13713 Fri Apr 24 12:46:18 GMT 2009  Olly Betts <olly@survex.com>
13715         * queryparser/queryparser.lemony: Apply doxygen comment improvement
13716           from branches/opsynonym.
13718 Fri Apr 24 12:31:15 GMT 2009  Olly Betts <olly@survex.com>
13720         * matcher/localmatch.cc: Apply assertion and debug logging
13721           improvements from branches/opsynonym.
13723 Thu Apr 23 06:16:05 GMT 2009  Olly Betts <olly@survex.com>
13725         * Makefile.am,configure.ac,docs/Makefile.am,tests/Makefile.am: Fix
13726           things up so that in a bootstrapped SVN tree, automatic regeneration
13727           of autotools-generated files uses the in-tree versions of the
13728           autotools.
13730 Thu Apr 23 04:37:31 GMT 2009  Olly Betts <olly@survex.com>
13732         * AUTHORS: Add another bug reporter.
13734 Thu Apr 23 04:26:25 GMT 2009  Olly Betts <olly@survex.com>
13736         * Makefile.am,languages/Makefile.mk,queryparser/Makefile.mk,
13737           tests/Makefile.am,tests/perftest/Makefile.mk: Don't remove any
13738           built sources in "make clean" even under --make-maintainer-mode
13739           as that breaks switching a tree away from maintainer-mode with:
13740           make distclean;./configure
13742 Thu Apr 23 03:51:03 GMT 2009  Olly Betts <olly@survex.com>
13744         * Makefile.am: Use "--coverage" instead of "-fprofile-arcs
13745           -ftest-coverage" in the test coverage build.
13747 Wed Apr 22 14:32:56 GMT 2009  Olly Betts <olly@survex.com>
13749         * PLATFORMS: Sync with 1.0.12; add entry for atreus for 1.1.0.
13751 Wed Apr 22 14:27:36 GMT 2009  Olly Betts <olly@survex.com>
13753         * AUTHORS: Add more bug reporters and patch contributors.  Remove a
13754           duplicate entry.
13756 Wed Apr 22 13:58:31 GMT 2009  Olly Betts <olly@survex.com>
13758         * NEWS: Set release date.
13760 Wed Apr 22 13:36:04 GMT 2009  Olly Betts <olly@survex.com>
13762         * NEWS: Update, perhaps even ready for release now.
13764 Wed Apr 22 11:00:50 GMT 2009  Olly Betts <olly@survex.com>
13766         * NEWS: More work.
13768 Tue Apr 21 17:59:13 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13770         * docs/queryparser.html: Add closing <code> tag.
13772 Tue Apr 21 11:05:17 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13774         * NEWS: A few minor corrections and adjustments.
13776 Tue Apr 21 07:49:49 GMT 2009  Olly Betts <olly@survex.com>
13778         * include/xapian/weight.h: Don't use the term "term" to talk about the
13779           extra weight component as it already has a strong meaning in Xapian.
13781 Tue Apr 21 07:16:18 GMT 2009  Olly Betts <olly@survex.com>
13783         * queryparser/lemon.c: Merge upstream "Check-in Number: 6451".
13785 Tue Apr 21 06:54:00 GMT 2009  Olly Betts <olly@survex.com>
13787         * matcher/queryoptimiser.h: '#include <map>' isn't required.
13789 Tue Apr 21 06:45:14 GMT 2009  Olly Betts <olly@survex.com>
13791         * matcher/queryoptimiser.cc,matcher/queryoptimiser.h: Eliminate
13792           QueryOptimiser::do_leaf() as it is only called from one place
13793           and if only two lines of code.
13795 Mon Apr 20 14:10:08 GMT 2009  Olly Betts <olly@survex.com>
13797         * NEWS: Update from ChangeLog and start to lick into shape for a
13798           release.
13800 Mon Apr 20 13:06:17 GMT 2009  Olly Betts <olly@survex.com>
13802         * HACKING: XAPIAN_DEBUG_LOG=- send output to stderr, not stdout.
13804 Mon Apr 20 11:53:07 GMT 2009  Olly Betts <olly@survex.com>
13806         * common/output.h: Add new macro XAPIAN_OUTPUT_FUNCTION_PTR and use it
13807           so that debug logging of Xapian::Query::Internal* doesn't just
13808           report the pointer value.
13810 Mon Apr 20 06:39:42 GMT 2009  Olly Betts <olly@survex.com>
13812         * matcher/multimatch.cc: Apply debug logging change lifted from
13813           branches/opsynonym.
13815 Mon Apr 20 05:22:24 GMT 2009  Olly Betts <olly@survex.com>
13817         * tests/harness/testutils.cc: Add FIXME comments about use of internal
13818           macro from a different header.
13820 Mon Apr 20 05:08:34 GMT 2009  Olly Betts <olly@survex.com>
13822         * HACKING: Update release checklist.
13824 Sun Apr 19 14:50:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13826         * tests/api_nodb.cc: Stick the reciprocal of "factor" into a
13827           volatile double temporary variable to stop compiler using
13828           extended precision calculation on x86, and coming up an answer of
13829           exactly 1.0 when multiplying by "factor" again.
13831 Sun Apr 19 14:26:09 GMT 2009  Olly Betts <olly@survex.com>
13833         * NEWS: Sync with 1.0.12 and update from ChangeLog.
13835 Sun Apr 19 12:12:19 GMT 2009  Olly Betts <olly@survex.com>
13837         * AUTHORS: Update for 1.0 branch.
13839 Thu Apr 16 12:08:24 GMT 2009  Olly Betts <olly@survex.com>
13841         * backends/chert/chert_values.cc: When copying the tail of a value
13842           chunk because did > last_allowed_did, we don't need to check if
13843           the docids being copied are < did, since they should all be <=
13844           last_allowed_did, so just assert the latter.
13846 Tue Apr 14 20:32:41 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13848         * tests/api_wrdb.cc: patch from james to move logging in
13849           modifyvalues1 so it reports the values it's rewriting correctly,
13850           rather than the empty string.  Also display the expected value in
13851           tout when checking the value.  Also, pull the setting of the random
13852           seed out to the start of the function, and set it to 7 (which
13853           exposed the bug fixed with the previous commit, which that the old
13854           value of 42 didn't, on my machine, at least).
13856 Tue Apr 14 18:12:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13858         * backends/chert/chert_values.cc: When we move the reader to a new
13859           chunk, write any trailing values left in it to the stream first.
13861 Thu Apr 09 05:01:04 GMT 2009  Olly Betts <olly@survex.com>
13863         * docs/admin_notes.rst: Document the child process used for locking
13864           which exec-s "cat" (ticket #258).
13866 Thu Apr 09 03:49:13 GMT 2009  Olly Betts <olly@survex.com>
13868         * bin/: Use C++ forms of C headers in bin (ticket#330).
13870 Thu Apr 09 03:47:42 GMT 2009  Olly Betts <olly@survex.com>
13872         * examples/: Use C++ forms of C headers in examples (ticket#330).
13874 Mon Apr 06 06:35:03 GMT 2009  Olly Betts <olly@survex.com>
13876         * include/xapian/unicode.h: Fix documentation comment typos.
13878 Mon Apr 06 06:03:45 GMT 2009  Olly Betts <olly@survex.com>
13880         * AUTHORS: Add Muayyad Alsadi for reporting #355.
13882 Mon Apr 06 05:59:38 GMT 2009  Olly Betts <olly@survex.com>
13884         * tests/api_unicode.cc: Note which characters in the new
13885           unicodepredicate1 testcase are new in Unicode 5.1.0.
13887 Sun Apr 05 14:24:47 GMT 2009  Olly Betts <olly@survex.com>
13889         * include/xapian/unicode.h: Add NON_SPACING_MARK to is_wordchar() for
13890           better tokenisation of Arabic, for example.  (ticket#355)
13891         * tests/queryparsertest.cc: Add test that this has the desired effect.
13892         * tests/api_unicode.cc: Add feature tests of Unicode::is_wordchar(),
13893           Unicode::is_currency(), and Unicode::is_whitespace().
13895 Sat Apr 04 05:41:47 GMT 2009  Olly Betts <olly@survex.com>
13897         * NEWS: Update from ChangeLog.
13899 Wed Apr 01 00:18:02 GMT 2009  Olly Betts <olly@survex.com>
13901         * bin/xapian-compact.cc: Fix totlen overflow test.  Refactor lightly
13902           to reduce indenting.
13904 Tue Mar 31 17:01:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13906         * bin/xapian-compact.cc: Handle databases which contain no
13907           documents (and hence have no METAINFO item), but do contain some
13908           metadata (so the postlist table is not empty).  Fixes ticket
13909           #356.
13911 Tue Mar 31 13:49:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13913         * api/postingsource.cc,include/xapian/postingsource.h: Change
13914           return types of clone() and unserialise() methods to be of the
13915           subclass returned; this is a bit more flexible, but the main
13916           reason is to be consistent: previously, the clone() methods
13917           returned the subclass, but the unserialise() methods returned
13918           PostingSource.
13920 Tue Mar 31 12:10:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13922         * include/xapian/postingsource.h: Add comment on PostingSource base
13923           class listing it as an experimental feature.
13924         * docs/deprecation.rst: Describe what "experimental" features are,
13925           and why replication and posting sources are currently
13926           experimental.
13928 Tue Mar 31 11:34:25 GMT 2009  Olly Betts <olly@survex.com>
13930         * include/xapian/matchspy.h: Removed currently unused header to stop
13931           doxygen from generating documentation for it.
13933 Tue Mar 31 11:27:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13935         * docs/replication.rst,include/xapian/replication.h: Note that
13936           replication is currently "experimental".
13938 Fri Mar 27 14:29:05 GMT 2009  Olly Betts <olly@survex.com>
13940         * backends/chert/chert_spelling.cc,backends/chert/chert_spelling.h,
13941           backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h:
13942           Fix WritableDatabase::remove_spelling() to not be very broken in
13943           several ways.
13944         * tests/api_spelling.cc: Add test coverage for it.
13946 Fri Mar 27 10:43:34 GMT 2009  Olly Betts <olly@survex.com>
13948         * xapian-config.in: Add @LIBRARY_VERSION_SUFFIX@ to -lxapian too.
13950 Fri Mar 27 08:22:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13952         * include/xapian/postingsource.h: Update documentation comments to
13953           refer to init() instead of the old name of reset().
13955 Fri Mar 27 08:10:48 GMT 2009  Olly Betts <olly@survex.com>
13957         * HACKING: Document the lcov make targets.
13959 Fri Mar 27 07:44:59 GMT 2009  Olly Betts <olly@survex.com>
13961         * Makefile.am: Add two new targets to assist generating test coverage
13962           reports with lcov: coverage-reconfigure which reruns configure in
13963           the source tree and coverage-check which runs "make check" and
13964           generates an HTML report in a directory called "lcov".
13966 Thu Mar 26 23:59:36 GMT 2009  Olly Betts <olly@survex.com>
13968         * Makefile.am,m4-macros/xapian.m4,xapian-core.spec.in: Rename
13969           xapian.m4 to xapian-1.1.m4 to avoid clash with Xapian 1.0.x.  Both
13970           xapian.m4 and xapian-1.1.m4 will contain XO_LIB_XAPIAN, but aclocal
13971           copes and only copies one of them.  We need to avoid incompatible
13972           changes to XO_LIB_XAPIAN though.
13974 Thu Mar 26 14:29:54 GMT 2009  Olly Betts <olly@survex.com>
13976         * configure.ac,include/Makefile.mk,xapian-config.in: Install headers
13977           in $prefix/include/xapian-1.1/ so they don't clash with 1.0.
13979 Thu Mar 26 13:46:06 GMT 2009  Olly Betts <olly@survex.com>
13981         * configure.ac: Default program suffix to -1.1 if not specified.  If
13982           you really want no suffix, "./configure --program-suffix=" will
13983           achieve that.
13985 Thu Mar 26 12:49:10 GMT 2009  Olly Betts <olly@survex.com>
13987         * Makefile.am,api/Makefile.mk,backends/Makefile.mk,
13988           backends/chert/Makefile.mk,backends/flint/Makefile.mk,
13989           backends/inmemory/Makefile.mk,backends/multi/Makefile.mk,
13990           backends/remote/Makefile.mk,bin/Makefile.mk,common/Makefile.mk,
13991           configure.ac,examples/Makefile.mk,expand/Makefile.mk,
13992           languages/Makefile.mk,matcher/Makefile.mk,net/Makefile.mk,
13993           queryparser/Makefile.mk,tests/Makefile.am,tests/perftest/Makefile.mk,
13994           unicode/Makefile.mk,weight/Makefile.mk,xapian-config.in,
13995           xapian-core.spec.in: Change library name to libxapian-1.1 as a first
13996           step towards allowing parallel installation with 1.0.x.
13998 Thu Mar 26 06:53:27 GMT 2009  Olly Betts <olly@survex.com>
14000         * NEWS: Update from ChangeLog.
14002 Thu Mar 26 06:50:44 GMT 2009  Olly Betts <olly@survex.com>
14004         * backends/chert/chert_values.h: Fix class name in file doc comment.
14006 Thu Mar 26 00:13:48 GMT 2009  Olly Betts <olly@survex.com>
14008         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
14009           Call ChertDatabase::close() rather than repeating its code.
14011 Wed Mar 25 17:39:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14013         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
14014           Release the lock when the database is closed (either due to a
14015           call to close() or due to a serious error during modifications).
14016           Should fix ticket #354.
14018 Wed Mar 25 16:42:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14020         * tests/harness/testutils.cc: Use TEST_EQUAL_DOUBLE_ for comparison
14021           of weights in mset, to fix test failures due to floating point
14022           differences.  (Currently only manifests in some tests in the
14023           matchspy branch, but it's a generally useful fix.)
14025 Wed Mar 25 11:44:36 GMT 2009  Olly Betts <olly@survex.com>
14027         * configure.ac: Only put ANSI_CXXFLAGS in CXXFLAGS for the duration of
14028           configure - put it in AM_CXXFLAGS for substituting so that the user
14029           can safely override CXXFLAGS at make-time: "make CXXFLAGS=-Os"
14031 Wed Mar 25 10:50:44 GMT 2009  Olly Betts <olly@survex.com>
14033         * configure.ac: Fix comment typo.
14035 Wed Mar 25 04:48:50 GMT 2009  Olly Betts <olly@survex.com>
14037         * api/omdatabase.cc,backends/chert/chert_database.h,
14038           backends/flint/flint_database.h,
14039           backends/inmemory/inmemory_database.h,
14040           backends/remote/remote-database.cc,common/const_database_wrapper.h,
14041           common/database.h: Drop the default value of the lazy parameter to
14042           Database::open_document() - it's better to force us to consider
14043           whether a new call should be lazy or not.
14044         * common/database.h: Better description of lazy parameter.
14045         * backends/remote/remote-database.cc: Update comment about when lazy
14046           is set to true.
14048 Wed Mar 25 04:20:34 GMT 2009  Olly Betts <olly@survex.com>
14050         * backends/inmemory/inmemory_database.cc: Don't "return false" when
14051           the return type is a pointer!
14053 Tue Mar 24 17:42:22 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14055         * backends/database.cc: Open documents lazily in
14056           collect_document().
14058 Tue Mar 24 11:10:57 GMT 2009  Olly Betts <olly@survex.com>
14060         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
14061           MultiPostList::read_position_list() is never used, so remove it.
14063 Tue Mar 24 10:04:03 GMT 2009  Olly Betts <olly@survex.com>
14065         * backends/multi/multi_postlist.cc: Remove "[" and "]" from the output
14066           of MultiPostList::get_description().  Remove excess "," from output
14067           of MultiPostList::get_description().
14068         * tests/api_db.cc: Add some test coverage of
14069           PostingIterator::get_wdf() and PostingIterator::get_description().
14071 Tue Mar 24 10:00:23 GMT 2009  Olly Betts <olly@survex.com>
14073         * api/ompostlistiterator.cc: Remove "[" and "]" from
14074           Xapian::PostingIterator::get_description() as they don't add
14075           anything useful.
14077 Tue Mar 24 09:57:39 GMT 2009  Olly Betts <olly@survex.com>
14079         * backends/inmemory/inmemory_database.cc: Add a space in the output
14080           of InMemoryPostList::get_description() and
14081           InMemoryAllDocsPostList::get_description().
14083 Tue Mar 24 08:52:46 GMT 2009  Olly Betts <olly@survex.com>
14085         * api/leafpostlist.cc,include/xapian/weight.h,tests/api_db.cc,weight/:
14086           Get rid of the virtual Weight::get_sumpart_needs_doclength() method
14087           - subclasses can call need_stat(DOC_LENGTH) in their constructor if
14088           they need doc lengths.
14090 Tue Mar 24 07:55:06 GMT 2009  Olly Betts <olly@survex.com>
14092         * weight/weight.cc: Check stats_needed for stats which aren't just a
14093           simple member variable lookup.
14095 Tue Mar 24 06:46:24 GMT 2009  Olly Betts <olly@survex.com>
14097         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
14098           MultiPostList::get_termfreq() is never used, so remove it.
14100 Mon Mar 23 14:09:33 GMT 2009  Olly Betts <olly@survex.com>
14102         * tests/api_unicode.cc: Add test coverage for
14103           Xapian::Unicode::append_utf8().
14105 Mon Mar 23 11:40:09 GMT 2009  Olly Betts <olly@survex.com>
14107         * api/postingsource.cc,docs/postingsource.rst,
14108           include/xapian/postingsource.h,matcher/externalpostlist.cc,
14109           tests/api_db.cc,tests/api_percentages.cc,tests/api_valuestream.cc:
14110           Rename PostingSource::reset() to PostingSource::init().
14112 Mon Mar 23 11:01:02 GMT 2009  Olly Betts <olly@survex.com>
14114         * tests/harness/testsuite.h: Fix documentation comment in line with
14115           the corrected --help output from "Sat Feb 21 08:18:21 GMT 2009".
14117 Mon Mar 23 02:24:44 GMT 2009  Olly Betts <olly@survex.com>
14119         * api/omqueryinternal.cc: Fix handling of empty and single subquery
14120           OP_NEAR and OP_PHRASE (was breaking queryparsertest).
14122 Sun Mar 22 10:23:37 GMT 2009  Olly Betts <olly@survex.com>
14124         * backends/chert/chert_database.cc,backends/flint/flint_database.cc,
14125           backends/inmemory/inmemory_database.cc,
14126           backends/inmemory/inmemory_positionlist.cc,
14127           common/inmemory_positionlist.h,docs/deprecation.rst,
14128           tests/api_posdb.cc: Change Database::positionlist_begin() not to
14129           throw exceptions if the term or document doesn't exist.
14131 Sun Mar 22 09:02:46 GMT 2009  Olly Betts <olly@survex.com>
14133         * docs/deprecation.rst: Fix typo.
14135 Sun Mar 22 07:54:30 GMT 2009  Olly Betts <olly@survex.com>
14137         * api/omqueryinternal.cc,include/xapian/query.h,tests/api_nodb.cc,
14138           tests/api_query.cc: Fix valgrind errors on nearsubqueries1
14139           (ticket#349) and enhance distribution of OP_NEAR/OP_PHRASE over
14140           non-leaf subqueries to work when there are multiple non-leaf
14141           subqueries (ticket#201).  Extend nearsubqueries1 to test that
14142           trying to distribute OP_NEAR/OP_PHRASE over OP_NEAR/OP_PHRASE
14143           throws UnimplementedError.
14145 Fri Mar 20 08:43:20 GMT 2009  Olly Betts <olly@survex.com>
14147         * tests/api_query.cc: Add coverage for OP_AND with MatchNothing
14148           subquery (new testcase matchnothing1).
14150 Fri Mar 20 05:16:18 GMT 2009  Olly Betts <olly@survex.com>
14152         * api/omqueryinternal.cc: Fix assertions in previous check-in to
14153           verify the right condition.  And return the simplified query in
14154           the case the assertion would have failed, as that means a small
14155           memory leak rather than unpredictable behaviour in a non-assertion
14156           build.
14158 Fri Mar 20 04:26:29 GMT 2009  Olly Betts <olly@survex.com>
14160         * api/omqueryinternal.cc: Check that end_construction() returns NULL
14161           when unserialising queries.
14163 Fri Mar 20 02:51:32 GMT 2009  Olly Betts <olly@survex.com>
14165         * api/omqueryinternal.cc: Fix return type of
14166           Xapian::Query::Internal::simplify_query() in a debug build.  Since
14167           RETURN() isn't used by this function, this is only a cosmetic issue
14168           in the log file.
14170 Wed Mar 18 09:26:02 GMT 2009  Olly Betts <olly@survex.com>
14172         * backends/chert/chert_database.cc,backends/flint/flint_database.cc,
14173           docs/deprecation.rst: Move just returning an empty PositionIterator
14174           from Database::positionlist_begin() when the docs or term isn't
14175           present from 1.2.0 to 1.1.0 (has to be 1.1.0 or 1.3.0 really).
14177 Wed Mar 18 09:24:27 GMT 2009  Olly Betts <olly@survex.com>
14179         * docs/glossary.rst: Chert as the default backend in 1.2.0 is pretty
14180           much definite.
14182 Wed Mar 18 06:42:09 GMT 2009  Olly Betts <olly@survex.com>
14184         * NEWS: Update from ChangeLog.
14186 Wed Mar 18 04:36:59 GMT 2009  Olly Betts <olly@survex.com>
14188         * xapian-core.spec.in: Tweak reference to "1.1.0 branch" to make more
14189           sense.
14191 Wed Mar 18 04:30:18 GMT 2009  Olly Betts <olly@survex.com>
14193         * api/postingsource.cc,include/xapian/postingsource.h: Remove the
14194           optional "max_weight_" parameter to ValuePostingSource's ctor.
14195         * include/xapian/postingsource.h: Correct a few errors in
14196           documentation comments.
14198 Wed Mar 18 04:29:22 GMT 2009  Olly Betts <olly@survex.com>
14200         * docs/postingsource.rst: "ctx" -> "context" in example code.
14202 Tue Mar 17 23:45:52 GMT 2009  Olly Betts <olly@survex.com>
14204         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: If the
14205           locking attempt fails after we spawn the child process, call
14206           waitpid() in the parent process to avoid creating a zombie process.
14207         * AUTHORS: Add Jim Spath for reporting this.
14209 Tue Mar 17 23:34:16 GMT 2009  Olly Betts <olly@survex.com>
14211         * common/Makefile.mk,common/str.cc,common/str.h: New family of
14212           overloaded str() functions for converting types to std::string.
14213           The integer conversion are much faster than the existing
14214           om_tostring().
14215         * common/omassert.h,common/omdebug.h: Use str() instead of
14216           om_tostring().
14217         * common/utils.cc,common/utils.h: Make om_tostring() a macro wrapping
14218           str() for now to avoid introducing a lot of conflicts with other
14219           branches and unapplied patches.
14221 Tue Mar 17 21:28:54 GMT 2009  Olly Betts <olly@survex.com>
14223         * configure.ac: Fix comment typo.
14225 Tue Mar 17 00:47:26 GMT 2009  Olly Betts <olly@survex.com>
14227         * common/utils.cc: Fix previous change to actually compile...
14229 Mon Mar 16 20:10:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14231         * common/utils.cc,common/utils.h: Add om_tostring() version of
14232           unsigned long long int, to fix debug build on i686.
14234 Mon Mar 16 14:01:02 GMT 2009  Olly Betts <olly@survex.com>
14236         * NEWS: Sync with 1.0.11.
14238 Fri Mar 13 06:59:29 GMT 2009  Olly Betts <olly@survex.com>
14240         * weight/weightinternal.cc: Need "utils.h" for om_tostring().
14242 Fri Mar 13 05:47:24 GMT 2009  Olly Betts <olly@survex.com>
14244         * include/xapian/queryparser.h: Note that QueryParser::FLAG_DEFAULT
14245           was new in 1.0.11.
14247 Fri Mar 13 04:36:19 GMT 2009  Olly Betts <olly@survex.com>
14249         * weight/weightinternal.cc: Implement
14250           Weight::Internal::get_description().
14252 Thu Mar 12 11:57:02 GMT 2009  Olly Betts <olly@survex.com>
14254         * common/output.h: Fix last commit.
14256 Thu Mar 12 11:29:58 GMT 2009  Olly Betts <olly@survex.com>
14258         * common/output.h: Define operator<< for Xapian::Weight::Internal.
14260 Thu Mar 12 11:21:09 GMT 2009  Olly Betts <olly@survex.com>
14262         * net/remoteserver.cc: Fix overlooked case which was still sending
14263           REPLY_DOCLENGTH as a double.
14265 Wed Mar 11 22:56:59 GMT 2009  Olly Betts <olly@survex.com>
14267         * backends/chert/chert_valuelist.cc: Fix comment typo.
14269 Wed Mar 11 22:50:49 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14271         * tests/api_valuestream.cc: Enable valuestream3 for chert.
14272         * backends/chert/chert_valuelist.cc: Fix return value of
14273           ChertValueList::check() when it needs to move to a new chunk.
14274           Fixes valuestream3 test.
14276 Wed Mar 11 13:17:58 GMT 2009  Olly Betts <olly@survex.com>
14278         * include/xapian/weight.h: Mark Weight::init_() methods as "@private
14279           @internal" for doxygen API docs.
14281 Wed Mar 11 13:13:32 GMT 2009  Olly Betts <olly@survex.com>
14283         * include/xapian/weight.h,tests/api_db.cc,tests/api_nodb.cc,
14284           weight/bm25weight.cc,weight/boolweight.cc,weight/tradweight.cc:
14285           Make Weight::name() return std::string to allow sane wrapping
14286           with SWIG directors.
14288 Wed Mar 11 05:46:40 GMT 2009  Olly Betts <olly@survex.com>
14290         * api/,backends/chert/,backends/contiguousalldocspostlist.cc,
14291           backends/flint/,backends/inmemory/inmemory_database.cc,
14292           backends/inmemory/inmemory_database.h,
14293           backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
14294           backends/remote/,common/,docs/remote_protocol.html,
14295           include/xapian/database.h,include/xapian/postingiterator.h,matcher/,
14296           net/remoteserver.cc: Internally, pass around non-normalised document
14297           lengths as Xapian::termcount (unsigned integer) not Xapian::doclength
14298           (double).
14300 Wed Mar 11 05:25:40 GMT 2009  Olly Betts <olly@survex.com>
14302         * tests/api_anydb.cc: Use TEST_REL; wrap long comment.
14304 Wed Mar 11 04:52:41 GMT 2009  Olly Betts <olly@survex.com>
14306         * Makefile.am,api/,backends/chert/,backends/database.cc,
14307           backends/flint/flint_database.cc,backends/flint/flint_database.h,
14308           backends/inmemory/inmemory_database.cc,
14309           backends/inmemory/inmemory_database.h,
14310           backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
14311           examples/delve.cc,include/Makefile.mk,include/xapian.h,
14312           include/xapian/database.h,include/xapian/enquire.h,
14313           include/xapian/weight.h,matcher/,net/remoteserver.cc,
14314           net/serialise.cc,tests/,weight/: Reimplementation of weighting
14315           schemes which allows user subclasses to access the same stats which
14316           built in schemes can (bug#213) and which also can use lower and
14317           upper bounds of doclength and upper bounds on wdf to give a tighter
14318           maxweight, which should allow the matcher weight-based optimisations
14319           to be more effective.  Chert now tracks doclength bounds and a
14320           global (rather than per term) bound on wdf.  Other backends
14321           return much less good bounds, but these still lead to better
14322           maxweight bounds.
14324 Wed Mar 11 00:13:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14326         * include/xapian/query.h: Rename parameter name from "ctx" to the
14327           more human-friendly "context".
14329 Tue Mar 10 14:03:33 GMT 2009  Olly Betts <olly@survex.com>
14331         * tests/harness/testutils.cc: If mset_range_is_same_percents() fails
14332           because the percentages differ, report what they were to tout.
14334 Mon Mar 09 12:27:28 GMT 2009  Olly Betts <olly@survex.com>
14336         * matcher/localmatch.cc: Remove special case handling for empty string
14337           being returned from the TermIterator returned by
14338           Query::Internal::get_terms() as this should no longer happen.
14340 Mon Mar 09 12:09:21 GMT 2009  Olly Betts <olly@survex.com>
14342         * api/omqueryinternal.cc: Don't return "" from a TermIterator from
14343           Query::get_terms_begin() (happened when Query contained or was
14344           Query::MatchAll).
14345         * tests/Makefile.am,tests/api_query.cc: Add regression testcase
14346           queryterms1.
14348 Sun Mar 08 06:16:24 GMT 2009  Olly Betts <olly@survex.com>
14350         * tests/api_backend.cc: Add check that backends don't truncate total
14351           document length to 32 bits.
14353 Sun Mar 08 06:02:43 GMT 2009  Olly Betts <olly@survex.com>
14355         * tests/api_backend.cc: Disable lockfileumask1 on Cygwin and on OS/2.
14357 Sun Mar 08 05:36:54 GMT 2009  Olly Betts <olly@survex.com>
14359         * matcher/extraweightpostlist.h: Add forward declaration of
14360           Xapian::Weight since we use "Xapian::Weight *".
14362 Sun Mar 08 04:39:22 GMT 2009  Olly Betts <olly@survex.com>
14364         * backends/chert/chert_types.h,backends/flint/flint_types.h,
14365           bin/xapian-check-flint.cc,bin/xapian-check.cc,bin/xapian-compact.cc,
14366           common/Makefile.mk,common/database.h,common/internaltypes.h:
14367           Move totlen_t to a new header (internaltypes.h) to avoid needing to
14368           pull in database.h in when we want to use it.  Also move int4 and
14369           uint4 there to avoid duplicated definitions and abstract out a
14370           new uint8 from defining totlen_t.
14372 Sun Mar 08 00:50:38 GMT 2009  Olly Betts <olly@survex.com>
14374         * backends/chert/chert_database.h,backends/chert/chert_types.h,
14375           backends/flint/flint_database.h,backends/flint/flint_types.h,
14376           bin/xapian-check-flint.cc,bin/xapian-check.cc,bin/xapian-compact.cc,
14377           common/database.h: Replace flint_totlen_t and chert_totlen_t with
14378           a common totlen_t.
14380 Sat Mar 07 08:35:27 GMT 2009  Olly Betts <olly@survex.com>
14382         * backends/chert/chert_database.cc: Wrap comment.
14384 Sat Mar 07 08:28:17 GMT 2009  Olly Betts <olly@survex.com>
14386         * backends/inmemory/inmemory_database.h: Fix file description
14387           ("multiple database" -> "inmemory database").
14389 Sat Mar 07 08:25:11 GMT 2009  Olly Betts <olly@survex.com>
14391         * backends/inmemory/inmemory_database.cc,
14392           backends/inmemory/inmemory_database.h: Store non-normalised document
14393           lengths as Xapian::termcount (unsigned int) rather than
14394           Xapian::doclength (double).
14396 Sat Mar 07 06:56:26 GMT 2009  Olly Betts <olly@survex.com>
14398         * common/database.h: Removed unused forward declarations of classes.
14400 Sat Mar 07 06:52:11 GMT 2009  Olly Betts <olly@survex.com>
14402         * common/database.h: Fix comment typo.
14404 Sat Mar 07 05:44:18 GMT 2009  Olly Betts <olly@survex.com>
14406         * net/serialise.cc: Fix top of file to actually be a doxygen comment.
14407           Tweak layout of definition of serialise_stats().
14409 Sat Mar 07 05:40:58 GMT 2009  Olly Betts <olly@survex.com>
14411         * net/serialise.cc: c_str() -> data() since we don't need the
14412           nul-termination.
14414 Thu Mar 05 11:49:45 GMT 2009  Olly Betts <olly@survex.com>
14416         * tests/api_db.cc,tests/api_nodb.cc: Back out accidentally committed
14417           changes 2 commits ago.
14419 Thu Mar 05 10:28:07 GMT 2009  Olly Betts <olly@survex.com>
14421         * AUTHORS: Add Frank J. Bruzzaniti for omindex patches.
14423 Thu Mar 05 10:20:38 GMT 2009  Olly Betts <olly@survex.com>
14425         * tests/Makefile.am: If both chert and flint are enabled, run
14426           remoteprog_chert and remotetcp_flint but not the other two
14427           combinations as they don't buy us any useful extra test
14428           coverage, but cost a lot of extra time per testrun.
14430 Thu Mar 05 07:51:52 GMT 2009  Olly Betts <olly@survex.com>
14432         * docs/deprecation.rst: Update to reflect that odd minor versions are
14433           now development series.
14435 Thu Mar 05 04:20:43 GMT 2009  Olly Betts <olly@survex.com>
14437         * common/serialisationcontextinternal.h: Fix forward declarations.
14439 Thu Mar 05 02:11:26 GMT 2009  Olly Betts <olly@survex.com>
14441         * api/omdatabase.cc: "new_uuid" -> "sub_uuid" - it's not really new.
14443 Wed Mar 04 22:53:13 GMT 2009  Olly Betts <olly@survex.com>
14445         * include/xapian/queryparser.h,include/xapian/termgenerator.h: Make
14446           default empty std::string parameters use std::string() rather than
14447           "".
14449 Wed Mar 04 16:06:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14451         * api/omdatabase.cc: If a sub-database of a multi-database has no
14452           uuid, we cannot return a uuid for the database, so return
14453           string() instead.
14454         * tests/api_anydb.cc: Test for this.
14456 Wed Mar 04 13:45:41 GMT 2009  Olly Betts <olly@survex.com>
14458         * HACKING: Conversion to C++ names for ISO C headers will happen in
14459           1.1.x, not 1.1.0.
14461 Wed Mar 04 13:37:47 GMT 2009  Olly Betts <olly@survex.com>
14463         * api/omdatabase.cc,backends/database.cc,
14464           backends/remote/remote-database.cc,common/database.h,
14465           include/xapian/database.h,net/remoteserver.cc,tests/api_anydb.cc:
14466           Return an empty string from Database::get_uuid() when then backend
14467           doesn't support UUIDs for consistency with flint when the database
14468           has no UUID.  For a multiple database, build a string from the UUIDs
14469           of each subdatabase and return this as the UUID.  If there are no
14470           subdatabases return the empty string.
14472 Wed Mar 04 11:34:04 GMT 2009  Olly Betts <olly@survex.com>
14474         * backends/remote/remote-database.cc,common/remoteprotocol.h,
14475           common/remoteserver.h,docs/remote_protocol.html,net/remoteserver.cc:
14476           Change the remote server to always default to opening a Database and
14477           having the client request write access explicitly.  This allows a
14478           single server to support multiple readers and one writer
14479           simultaneously.  (bug#145)
14480         * net/remoteserver.cc,backends/remote/remote-database.cc: For constant
14481           empty string parameters, pass string() rather than "".
14482         * common/remoteserver.h: Remove unused '#include <map>'.  Remove
14483           'using namespace std;' and explicitly qualify the few bare mentions
14484           of 'string'.
14486 Wed Mar 04 07:24:39 GMT 2009  Olly Betts <olly@survex.com>
14488         * queryparser/queryparser.lt: Sync with latest upstream lempar.c
14489           (only changes were in code which isn't in our version).
14491 Wed Mar 04 04:03:44 GMT 2009  Olly Betts <olly@survex.com>
14493         * tests/Makefile.am,tests/api_percentages.cc,
14494           tests/testdata/apitest_sortconsist.txt: Apply regression test patch
14495           from bug#216.
14497 Wed Mar 04 03:41:49 GMT 2009  Olly Betts <olly@survex.com>
14499         * include/xapian/enquire.h,matcher/multimatch.cc: Fix inconsistent
14500           percentage scores when sorting primarily by valuei, except when
14501           a MatchDecider is also being used; document this remaining problem
14502           case.  (bug#216)
14504 Wed Mar 04 01:58:07 GMT 2009  Olly Betts <olly@survex.com>
14506         * backends/chert/chert_table.cc,backends/flint/flint_table.cc: No need
14507           to initialise inflate_zstream->next_out and avail_out twice.
14509 Wed Mar 04 01:16:32 GMT 2009  Olly Betts <olly@survex.com>
14511         * backends/chert/chert_table.cc,backends/flint/flint_table.cc: If
14512           deflateReset() or inflateReset() fails, just delete the zstream
14513           take the initialisation codepath - that should mean we recover
14514           if the stream does somehow end up in a bad state and is less
14515           code than throwing an exception.  Annotate tests with rare()
14516           or usual() if they are for exceptional conditions.  Fix bug
14517           introduced by the laziness patch which was adding an int error
14518           code to a const char * message.  If deflateInit2() or inflateInit2()
14519           fails, delete and zero the stream so there's no risk of ending up
14520           wedged on a partly initialised stream.
14522 Tue Mar 03 15:32:53 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14524         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
14525           Check for errors from deflateReset() and inflateReset() - there
14526           shouldn't be any if we've given them a valid stream, so just
14527           raise InternalError if we get one.
14529 Tue Mar 03 09:43:34 GMT 2009  Olly Betts <olly@survex.com>
14531         * NEWS: Updated from ChangeLog.
14533 Tue Mar 03 05:52:16 GMT 2009  Olly Betts <olly@survex.com>
14535         * tests/api_closedb.cc: Fix testcase closedb2 not to create a test
14536           database named closedb3.
14538 Tue Mar 03 04:31:48 GMT 2009  Olly Betts <olly@survex.com>
14540         * include/xapian/queryparser.h: Add QueryParser::FLAG_DEFAULT to make
14541           it easier to add flags to those set by default.
14542         * tests/queryparsertest.cc: Use FLAG_DEFAULT in a few places to serve
14543           as a feature test.
14545 Tue Mar 03 03:45:53 GMT 2009  Olly Betts <olly@survex.com>
14547         * docs/index.html: Add link to new serialisation topic document.
14548         * docs/serialisation.rst: Reword to avoid pluralising class names.
14549           Add link to postingsource document where we reference it.
14551 Tue Mar 03 03:35:29 GMT 2009  Olly Betts <olly@survex.com>
14553         * tests/runsrv.in: Use @top_builddir@ rather than relying on it
14554           coming from the environment.
14556 Tue Mar 03 03:05:47 GMT 2009  Olly Betts <olly@survex.com>
14558         * tests/api_wrdb.cc: Clear tout regularly in modifyvalues1 as
14559           otherwise the output builds up.  Some string stream implementations
14560           get very inefficient with large strings, and also this seems to
14561           interact badly with valgrind's leak detection resulting in the
14562           test having to be rerun to check if it really leaks.  Prefer
14563           tout.str(string()) to tout.str("") in existing uses too.
14565 Tue Mar 03 01:41:07 GMT 2009  Olly Betts <olly@survex.com>
14567         * backends/flint/flint_table.cc: Update handling of shutting down
14568           the zstream objects in the dtor to match chert.
14570 Mon Mar 02 23:57:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14572         * backends/chert/chert_table.h,backends/flint/flint_table.h: Add
14573           documentation comments for the lazy allocation methods, and
14574           separate comments for the zstream members.
14576 Mon Mar 02 23:40:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14578         * AUTHORS,backends/chert/chert_table.cc,backends/chert/chert_table.h,
14579           backends/flint/flint_table.cc,backends/flint/flint_table.h:
14580           Reduce allocation of zstreams by allocating them lazily, keeping
14581           them in the table objects, and reuse them, rather than allocating
14582           a new one each time it's wanted.  Heavily based on a patch from
14583           Todd Lipcon.  Apparently improves performance significantly on
14584           some systems; on my tests it has no perceptible negative impact,
14585           but it makes sense that it could help in some situations, so
14586           let's apply it.  Fixes #325.
14588 Mon Mar 02 21:10:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14590         * docs/deprecation.rst: Deprecate Stem_get_available_languages()
14591           from the python bindings.
14593 Mon Mar 02 19:56:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14595         * common/Makefile.mk,common/const_database_wrapper.cc,
14596           common/const_database_wrapper.h,matcher/queryoptimiser.cc: Avoid
14597           const_cast() on Database::Internal, and exposing
14598           compiler-dependent behaviour if non-const methods are called, by
14599           adding a ConstDatabaseWrapper class, which is a subclass of
14600           Database::Internal, and also takes a Database::Internal as a
14601           parameter, to be wrapped.  This class proxies all const methods
14602           to the wrapped Database::Internal, and raises
14603           InvalidOperationError on non-const methods.  Fixes #332.
14605 Mon Mar 02 18:27:00 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14607         * include/xapian/postingsource.h: Documentation comment
14608           improvements.  Be explicit that Xapian will call reset() before
14609           various methods, and will call next, skip_to or check before
14610           at_end.
14611         * include/xapian/query.h: Wrap over-long line.
14613 Mon Mar 02 18:26:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14615         * docs/Makefile.am,docs/serialisation.rst: Add topic document about
14616           serialisation.
14618 Mon Mar 02 17:58:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14620         * docs/postingsource.rst: Update documentation with new design.
14622 Mon Mar 02 17:16:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14624         * api/omqueryinternal.cc: Change serialisation of queries to use
14625           encode_length() rather than om_tostring(), for a more compact and
14626           easier to parse representation.
14628 Mon Mar 02 14:48:08 GMT 2009  Olly Betts <olly@survex.com>
14630         * backends/multi/multi_alltermslist.cc: Fix memory leak which
14631           was causing allterms6 to fail.
14633 Mon Mar 02 14:15:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14635         * matcher/externalpostlist.cc: Fix memory leak in external source
14636           postlist (fixes fixedweightsource1).
14638 Mon Mar 02 13:41:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14640         * api/postingsource.cc: Don't set max_weight in
14641           ValueMapPostingSource::set_default_weight() - it's set in
14642           reset() before being used, and it's not been set here yet, so
14643           accessing it in std::max() was making valgrind complain.
14645 Mon Mar 02 12:23:01 GMT 2009  Olly Betts <olly@survex.com>
14647         * HACKING,configure.ac,tests/runtest.in: Don't use valgrind if it's
14648           < 3.3.0 as that's well over a year old and greatly simplifies the
14649           configure tests.  Fix options passed to valgrind so that the
14650           testsuite harness actually reports problems detected by newer
14651           valgrind versions.
14653 Mon Mar 02 10:08:25 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14655         * api/,bin/xapian-tcpsrv.cc,common/Makefile.mk,common/remoteserver.h,
14656           common/serialisationcontextinternal.h,include/Makefile.mk,
14657           include/xapian.h,include/xapian/enquire.h,include/xapian/query.h,
14658           include/xapian/serialisationcontext.h,net/remoteserver.cc,
14659           tests/api_serialise.cc,tests/internaltest.cc: Add
14660           SerialisationContext.  This object is used to register
14661           PostingSource or Weight subclasses, so that they can be
14662           serialised and unserialised, and therefore used in remote
14663           searches.  Add two-argument form for Query::unserialise() which
14664           takes a serialisation context.  Fixes #206.
14666 Mon Mar 02 07:13:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14668         * include/xapian/database.h: Further tweak to wording of
14669           documentation about close().
14671 Mon Mar 02 07:05:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14673         * backends/chert/chert_table.cc,backends/chert/chert_table.h,
14674           backends/flint/flint_table.cc,backends/flint/flint_table.h:
14675           Factor out more "throw Xapian::DatabaseError("Database has been
14676           closed")" bits into separate functions: knocks another 20KB off
14677           the shared library size.
14679 Mon Mar 02 05:46:15 GMT 2009  Olly Betts <olly@survex.com>
14681         * include/xapian/enquire.h: Document how to get all matches from
14682           Enquire::get_mset().
14684 Mon Mar 02 04:52:17 GMT 2009  Olly Betts <olly@survex.com>
14686         * backends/inmemory/inmemory_alltermslist.cc,
14687           backends/inmemory/inmemory_database.cc,
14688           backends/inmemory/inmemory_database.h: Factor out "throw
14689           Xapian::DatabaseError("Database has been closed") into a separate
14690           function which knocks over 100KB off the shared library size (just
14691           over 0.5%).
14693 Mon Mar 02 03:57:17 GMT 2009  Olly Betts <olly@survex.com>
14695         * matcher/phrasepostlist.h: Remove blank line from end of file.
14697 Mon Mar 02 03:52:10 GMT 2009  Olly Betts <olly@survex.com>
14699         * api/replication.cc,common/msvc_posix_wrapper.cc: Cuddle braces for
14700           "if" and "switch".
14702 Mon Mar 02 03:32:32 GMT 2009  Olly Betts <olly@survex.com>
14704         * tests/api_closedb.cc: Use more conventional uppercase macro parameter
14705           names.  Wrap long comments.  Remove another unused exception name.
14707 Mon Mar 02 03:21:39 GMT 2009  Olly Betts <olly@survex.com>
14709         * api/replication.cc,backends/chert/chert_databasereplicator.cc,
14710           backends/flint/flint_databasereplicator.cc,net/remoteserver.cc,
14711           tests/api_closedb.cc,tests/perftest/perftest_matchdecider.cc:
14712           Don't name the exception being caught if we don't look at it.  While
14713           GCC doesn't currently warn "unused variable" here, I'm fairly sure
14714           there are compilers which do.
14716 Mon Mar 02 03:20:52 GMT 2009  Olly Betts <olly@survex.com>
14718         * tests/perftest/perftest.cc: Wrap overlong comment.
14720 Mon Mar 02 03:17:48 GMT 2009  Olly Betts <olly@survex.com>
14722         * matcher/mergepostlist.cc: Change "do { ... } while (true);" to the
14723           more usual "while (true) { ... }".
14725 Sun Mar 01 19:41:16 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14727         * tests/api_closedb.cc: Merge closedb1 and closedb2 into a single
14728           test, and add lots more checking to it.  Rename closedb3 to
14729           closedb2, to avoid leaving an odd gap.  closedb1 needs more work,
14730           but is a useful start; committing now, rather than once I've done
14731           this work, since the old test is failing in buildbot, and I don't
14732           want to get in the way of snapshot tarballs.
14734 Sun Mar 01 19:27:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14736         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
14737           Add a few guards to throw DatabaseError when the database has
14738           been permanently closed, rather than behaving as if the table is
14739           empty in that situation.  Also, don't delete the resources in the
14740           table when Database::close() is called, because they may still be
14741           used to attempt to look up cached content.
14743 Sun Mar 01 18:22:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14745         * include/xapian/database.h: Update documentation comments for
14746           reopen() and close() to document the API we're aiming for (ie,
14747           that closed databases either return the right result from cache,
14748           or raise a DatabaseError).
14750 Sun Mar 01 18:20:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14752         * backends/inmemory/inmemory_alltermslist.cc,
14753           backends/inmemory/inmemory_database.cc,
14754           backends/inmemory/inmemory_database.h: Add a flag to mark whether
14755           the database is closed, and add guards before all methods which
14756           access content which goes away when the database is closed, to
14757           raise an exception if the database is closed.
14759 Sun Mar 01 18:20:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14761         * backends/inmemory/inmemory_document.h: Fix a typo in a comment.
14763 Sun Mar 01 17:49:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14765         * matcher/mergepostlist.cc: Fix ticket #336 by calling
14766           recalc_maxweight when a sub-posting list finishes (other than
14767           after the last one, where there is no point in calling
14768           recalc_maxweight).
14770 Sun Mar 01 15:34:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14772         * tests/api_db.cc: Fix MyDontAskWeightPostingSource to use the
14773           database passed to reset(), rather than one passed to its
14774           constructor.  This allows externalsource4 to be enabled for
14775           multidatabases.
14777 Sun Mar 01 13:07:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14779         * include/xapian/postingsource.h: Add comments as discussed in
14780           ticket #295 to make clear that in a multi-database search,
14781           PostingSources are passed a single sub-database.  Also mention
14782           that the returned value of clone() will be deallocated with
14783           delete.
14785 Sat Feb 28 08:21:33 GMT 2009  Olly Betts <olly@survex.com>
14787         * api/omdatabase.cc,backends/chert/chert_database.cc,
14788           backends/chert/chert_database.h,backends/database.cc,
14789           backends/flint/flint_database.cc,backends/flint/flint_database.h,
14790           backends/inmemory/inmemory_database.cc,
14791           backends/inmemory/inmemory_database.h,
14792           backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
14793           examples/copydatabase.cc,include/xapian/database.h,
14794           net/remoteserver.cc,tests/,tests/perftest/perftest_matchdecider.cc,
14795           tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc: Add
14796           WritableDatabase::commit() as a new, preferred alias for
14797           WritableDatabase::flush().  (bug#266)
14799 Fri Feb 27 01:59:31 GMT 2009  Olly Betts <olly@survex.com>
14801         * include/xapian/database.h: WritableDatabase::flush() can't throw
14802           DatabaseLockError.  WritableDatabase's ctor can throw at least
14803           DatabaseCorruptError or DatabaseLockError.
14805 Thu Feb 26 14:54:28 GMT 2009  Olly Betts <olly@survex.com>
14807         * tests/api_db.cc,tests/api_valuestream.cc: Update comments about why
14808           certain tests are disabled for certain backends.  Enable
14809           valueweightsource5 for multi and valuemapsource2 for remote.
14811 Thu Feb 26 14:53:19 GMT 2009  Olly Betts <olly@survex.com>
14813         * matcher/multiandpostlist.cc: Use AssertRelParanoid() instead
14814           of AssertParanoid() so the values get reported if the assertion
14815           fails.
14817 Thu Feb 26 14:18:21 GMT 2009  Olly Betts <olly@survex.com>
14819         * include/xapian/postingsource.h: Tweak word order.
14821 Thu Feb 26 12:48:16 GMT 2009  Olly Betts <olly@survex.com>
14823         * tests/api_db.cc: Make the PostingSource subclass ctors which are
14824           only called from clone() private to set a good example for users.
14826 Thu Feb 26 12:28:34 GMT 2009  Olly Betts <olly@survex.com>
14828         * include/xapian/postingsource.h: Fix doc comment typo.
14830 Thu Feb 26 12:08:40 GMT 2009  Olly Betts <olly@survex.com>
14832         * api/omqueryinternal.cc,include/xapian/query.h: Avoid copying
14833           Query::Internal objects needlessly when unserialising Query
14834           objects.
14836 Thu Feb 26 10:07:18 GMT 2009  Olly Betts <olly@survex.com>
14838         * tests/api_db.cc: A couple more uncollapsed tests.
14840 Thu Feb 26 08:28:42 GMT 2009  Olly Betts <olly@survex.com>
14842         * tests/api_anydb.cc,tests/api_wrdb.cc,tests/harness/testsuite.h,
14843           tests/perftest/perftest_matchdecider.cc,tests/queryparsertest.cc:
14844           Update to use new TEST_REL() macro.  Remove old TEST_LESSER(),
14845           etc.
14847 Thu Feb 26 07:51:43 GMT 2009  Olly Betts <olly@survex.com>
14849         * matcher/multimatch.cc: Fix the new
14850           Enquire::get_uncollapsed_matches_lower_bound(), etc methods for
14851           certain cases.
14852         * tests/api_anydb.cc,tests/api_db.cc: Extend existing tests to also
14853           check Enquire::get_uncollapsed_matches_lower_bound(), etc.
14855 Thu Feb 26 07:49:23 GMT 2009  Olly Betts <olly@survex.com>
14857         * tests/harness/Makefile.mk,tests/harness/testmacros.h,
14858           tests/harness/testsuite.h: Add new "TEST_REL" macro which can test
14859           for a condition using any relational operator and report a failure
14860           clearly yet concisely.
14862 Wed Feb 25 13:43:41 GMT 2009  Olly Betts <olly@survex.com>
14864         * matcher/multimatch.cc: Fix adjustment of the uncollapse bounds and
14865           estimate.
14867 Wed Feb 25 12:32:13 GMT 2009  Olly Betts <olly@survex.com>
14869         * configure.ac: GCC --version keeps changing format, and as a result
14870           we were currently getting "g++" as the version.  So change to the
14871           (hopefully) more robust technique of using g++ -E to pull out
14872           __GNUC__ and __GNUC_MINOR__.
14874 Wed Feb 25 03:14:08 GMT 2009  Olly Betts <olly@survex.com>
14876         * api/omdatabase.cc: Fix for compiling with Sun's compiler
14877           (untested as I no longer have access to it).
14879 Mon Feb 23 14:11:12 GMT 2009  Olly Betts <olly@survex.com>
14881         * docs/sorting.rst: Clarify meaning.
14883 Mon Feb 23 14:04:50 GMT 2009  Olly Betts <olly@survex.com>
14885         * docs/deprecation.rst,include/xapian/enquire.h,tests/: Rename the
14886           wrongly named "ascending" parameter of the set_sort_by*() methods
14887           of Enquire to "reverse" and deprecate the default value since
14888           defaulting to "reverse=true" is confusing.  (bug#311)
14890 Mon Feb 23 01:24:23 GMT 2009  Olly Betts <olly@survex.com>
14892         * api/omenquire.cc,backends/remote/remote-database.cc,
14893           common/multimatch.h,common/omenquireinternal.h,
14894           common/remote-database.h,docs/collapsing.rst,
14895           docs/remote_protocol.html,include/xapian/enquire.h,matcher/,
14896           net/remoteserver.cc,net/serialise.cc,tests/Makefile.am,
14897           tests/api_collapse.cc: Replace the collapsing code in the matcher
14898           with a separate Collapser class.  This new class can keep more than
14899           one document with each collapse key.  Also track bounds and an
14900           estimate of the total number of matches if collapsing wasn't in use.
14902 Mon Feb 23 00:52:16 GMT 2009  Olly Betts <olly@survex.com>
14904         * api/omdatabase.cc: Fix AssertionError from apitest testcases
14905           fixedweightsource2 and valueweightsource1.
14907 Sun Feb 22 11:02:24 GMT 2009  Olly Betts <olly@survex.com>
14909         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Check for
14910           fork failing *after* we check if we're now the child process.
14912 Sun Feb 22 10:06:13 GMT 2009  Olly Betts <olly@survex.com>
14914         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Note
14915           explicitly why we now have the strange empty if (not) checking the
14916           return value of chdir("/") (it's actually newer glibc and
14917           _FORTIFY_SOURCE rather than newer GCC).  Retry closing filehandle if
14918           it returns EINTR.  Whitespace tweaks.
14920 Sat Feb 21 11:04:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14922         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Fix
14923           warning about ignoring result of chdir (with GCC 4.2)
14925 Sat Feb 21 08:18:21 GMT 2009  Olly Betts <olly@survex.com>
14927         * tests/harness/testsuite.cc: Fix option usage in --help - "-x=foo"
14928           doesn't work - "-x foo" does.
14930 Sat Feb 21 07:37:01 GMT 2009  Olly Betts <olly@survex.com>
14932         * tests/perftest/perftest_randomidx.cc: Use two argument version of
14933           rand_int() where applicable.  Reserve length of result string in
14934           gen_word().  Fix truncated comment.
14936 Sat Feb 21 04:27:45 GMT 2009  Olly Betts <olly@survex.com>
14938         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: In the
14939           locking child process, before we exec /bin/cat change directory to
14940           / so that we don't block unmounting of any partitions and close
14941           any open file descriptors (apart from those we're using) so that if
14942           the files are closed by our parent and deleted the disk space gets
14943           released right away.
14945 Sat Feb 21 02:06:56 GMT 2009  Olly Betts <olly@survex.com>
14947         * api/postingsource.cc,include/xapian/postingsource.h: Pass string as
14948           const string &; drop trailing "_" from parameters which don't clash
14949           with member variables; fix brace formatting on a couple of for
14950           loops.
14952 Fri Feb 20 14:32:46 GMT 2009  Olly Betts <olly@survex.com>
14954         * tests/api_closedb.cc: Fix testcase closedb3 not to create a test
14955           database named closedb2.
14957 Fri Feb 20 01:38:32 GMT 2009  Olly Betts <olly@survex.com>
14959         * include/xapian/enquire.h: Documentation comment improvements.
14961 Wed Feb 18 06:48:43 GMT 2009  Olly Betts <olly@survex.com>
14963         * matcher/multimatch.cc: Use AssertRel rather than Assert with an
14964           inequality so that we see the arguments if the assertion fails.
14966 Wed Feb 18 06:39:33 GMT 2009  Olly Betts <olly@survex.com>
14968         * matcher/multimatch.cc: "items" -> "rsetitems" to distinguish from
14969           items used elsewhere for the MSet items.
14971 Wed Feb 18 06:20:38 GMT 2009  Olly Betts <olly@survex.com>
14973         * matcher/multimatch.cc: Drop superfluous "std::".
14975 Wed Feb 18 05:46:59 GMT 2009  Olly Betts <olly@survex.com>
14977         * NEWS: Update from ChangeLog.
14979 Tue Feb 17 23:53:54 GMT 2009  Olly Betts <olly@survex.com>
14981         * include/xapian/document.h,include/xapian/query.h: "xapian" ->
14982           "Xapian".
14984 Tue Feb 17 15:02:49 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14986         * include/xapian/document.h,include/xapian/query.h: Soften comment
14987           warning about changes in serialised format between xapian
14988           versions; note that the format won't change unless the remote
14989           database protocol has changed.
14991 Tue Feb 17 14:59:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14993         * api/omquery.cc: Return std::string() rather than "" to encourage
14994           compilers to use special empty string representation.
14996 Mon Feb 16 14:27:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14998         * api/postingsource.cc: Change the name() methods of the built-in
14999           posting sources to return a full name (starting with Xapian:: and
15000           ending with PostingSource), as documented in the API
15001           documentation comments.
15003 Mon Feb 16 13:32:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15005         * api/omqueryinternal.cc,common/remoteserver.h,
15006           matcher/externalpostlist.cc,matcher/externalpostlist.h,
15007           matcher/queryoptimiser.cc,net/remoteserver.cc,
15008           tests/api_percentages.cc,tests/api_valuestream.cc: Add some
15009           copyright lines missed in changeset [11838].
15011 Mon Feb 16 11:56:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15013         * matcher/queryoptimiser.cc: Add another reference from a FIXME to
15014           a ticket number.
15016 Mon Feb 16 11:47:21 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15018         * api/omqueryinternal.cc: Update two FIXMEs to reference the
15019           appropriate ticket.
15021 Mon Feb 16 10:11:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15023         * Add support for multi and remote backends with posting sources,
15024           from ticket #295:
15025         * include/xapian/postingsource.h: Add some clarifying comments
15026           about the interface of PostingSources, and add clone(), name(),
15027           serialise() and unserialise() methods to PostingSources, for
15028           remote and multidatabase support.
15029         * include/xapian/query.h: Add internal member to track ownership of
15030           external posting sources, and update some comments.
15031         * api/postingsource.cc: Add implementations of the new methods, so
15032           that all standard PostingSources support remote and multi
15033           database searches.
15034         * api/omquery.cc: Clone external PostingSources if possible.
15035         * api/omqueryinternal.cc: Add serialisation and unserialisation
15036           support for posting sources, and support for keeping track of
15037           whether an external posting source is owned by the query object
15038           or not (ie, whether it needs to be deleted by the destructor).
15039         * matcher/externalpostlist.cc,matcher/externalpostlist.h: (Attempt
15040           to) clone external posting sources at start, and call the reset()
15041           method with the database in use.  Delete the posting source
15042           afterwards, if the clone was successful.
15043         * matcher/queryoptimiser.cc: Pass the database to ExternalPostList.
15044           Sadly, this currently requires a const_cast.
15045         * tests/: Update tests of PostingSources to take the db parameter
15046           on the reset() method, and to test behaviour with multi and
15047           remote backends where appropriate.  Also, add regression test for
15048           segfault in FixedWeightPostingSource::skip_to() when database is
15049           empty.
15050         * net/remoteserver.cc,common/remoteserver.h: Add the built-in
15051           posting sources to the remote server, and add
15052           register_posting_source() to the remoteserver, for use in
15053           xapian-tcpsrv.cc for user posting sources, analogously to
15054           register_weighting_scheme().
15056 Fri Feb 13 20:09:10 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15058         * api/postingsource.cc: Fix segfaults which occur if an empty
15059           ValuePostingSource subclass has the skip_to() or check() methods
15060           called on it first.
15061         * tests/api_db.cc tests/api_valuestream.cc: Move valuemapsource1 to
15062           api_valuestream.cc, since that seems like a better place (and
15063           api_db.cc is already rather over-large).  Add regression test
15064           "valuemapsource2" to check the behaviour of ValuePostingSource
15065           subclasses on empty lists.
15067 Fri Feb 13 19:29:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15069         * api/postingsource.cc,include/xapian/postingsource.h: Add
15070           ValuePostingSource, which is a base class for implementing
15071           posting sources based on reading from a value slot.  Convert
15072           ValueWeightPostingSource to be a subclass of this, and add
15073           ValueMapPostingSource, which is a posting source which uses a map
15074           to convert values to weights.
15075         * tests/api_db.cc: Add valuemapsource1, testing the
15076           ValueMapPostingSource.
15078 Fri Feb 13 15:14:53 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15080         * tests/harness/index_utils.cc: Add value 13, containing the first
15081           3 letters of the paragraph - needed for some tests I'm going to
15082           commit shortly.
15084 Fri Feb 13 14:05:44 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15086         * tests/api_sorting.cc: Change slot number used to get an empty
15087           slot from 13 to 100 - we're getting close to using slot 13 now!
15089 Sat Feb 07 00:31:12 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15091         * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc:
15092           Return accidentally changed "XAPIAN_ASSERTIONS_VERBOSE" ifdefs to
15093           "XAPIAN_DEBUG_VERBOSE".
15095 Sat Feb 07 00:16:43 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15097         * api/omdocument.cc,api/omquery.cc,include/xapian/document.h,
15098           include/xapian/query.h: Add methods for serialising documents and
15099           queries into strings, and unserialising back from strings.  Fixes
15100           most of ticket #206 - missing part is that serialising queries
15101           containing PostingSources doesn't work.
15102         * tests/Makefile.am,tests/api_serialise.cc: Add tests of document
15103           and query serialisation.
15105 Fri Feb 06 16:06:50 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15107         * configure.ac: Set HAVE_PREAD and HAVE_PWRITE if pread and pwrite
15108           are found; turns use of pread and pwrite back on.  This improves
15109           the speed of a test case of 10,000 (fully cached) searches from
15110           1.84 seconds to 1.78 seconds for me (on ubuntu hardy) - ie, about
15111           3% speed increase.
15113 Tue Jan 20 06:22:20 GMT 2009  Olly Betts <olly@survex.com>
15115         * tests/api_db.cc: Prefer value.empty() to value == "".
15117 Mon Jan 19 05:08:48 GMT 2009  Olly Betts <olly@survex.com>
15119         * AUTHORS,queryparser/Makefile.mk: Fix "#line" directives in generated
15120           file queryparser/queryparser_internal.cc to give a relative path -
15121           previously they had a full path when generated by a VPATH build, and
15122           this confused GCC 2.95 and depcomp.
15124 Sun Jan 18 23:34:22 GMT 2009  Olly Betts <olly@survex.com>
15126         * api/omenquire.cc: Throw UnimplementedError from Enquire::get_mset()
15127           if we're asked for a percentage cutoff and to sort primarily by
15128           value - this has never been correctly supported and it's better to
15129           warn people than give incorrect results.
15130         * tests/api_percentages.cc: Add test that this error gets thrown.
15132 Tue Jan 13 08:20:36 GMT 2009  Olly Betts <olly@survex.com>
15134         * common/omenquireinternal.h: Swap the items vector into the
15135           MSet::Internal object rather than copying it to avoid the overhead
15136           of the copy.
15138 Thu Jan 08 05:14:47 GMT 2009  Olly Betts <olly@survex.com>
15140         * backends/chert/chert_cursor.cc,backends/chert/chert_postlist.cc,
15141           backends/flint/flint_cursor.cc,backends/flint/flint_postlist.cc,
15142           backends/multi/multi_postlist.cc,common/omassert.h,configure.ac,
15143           matcher/multimatch.cc: Change preprocessor defines controlling
15144           assertions from XAPIAN_DEBUG->XAPIAN_ASSERTIONS and
15145           XAPIAN_DEBUG_PARANOID->XAPIAN_ASSERTIONS_PARANOID so their purpose
15146           is clearer.
15148 Thu Jan 08 02:23:21 GMT 2009  Olly Betts <olly@survex.com>
15150         * NEWS: Update from ChangeLog.
15152 Wed Jan 07 03:43:07 GMT 2009  Olly Betts <olly@survex.com>
15154         * api/matchspy.cc: Fix FP rounding bug (bug#321).
15155         * AUTHORS: Add Shane Evans for bug report.
15157 Tue Jan 06 22:08:12 GMT 2009  Olly Betts <olly@survex.com>
15159         * backends/inmemory/inmemory_database.cc: Fix comment typo.
15161 Tue Jan 06 21:39:30 GMT 2009  Olly Betts <olly@survex.com>
15163         * api/matchspy.cc: Add assertions to try to track down what's causing
15164           bug#321.
15166 Tue Jan 06 03:20:27 GMT 2009  Olly Betts <olly@survex.com>
15168         * matcher/exactphrasepostlist.cc,matcher/phrasepostlist.cc: Fix
15169           comment typos.
15171 Mon Jan 05 04:42:04 GMT 2009  Olly Betts <olly@survex.com>
15173         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6016" -
15174           only change is to comment noting the synced version as the changed
15175           code has been deleted in our version.
15177 Fri Dec 26 15:05:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15179         * include/xapian/database.h: Add Database.close() method, used to
15180           close the resources (in particular, the filehandles) held by a
15181           database before the destructor is called.  Particularly useful
15182           for the bindings from other languages.
15183         * api/omdatabase.cc,backends/chert/chert_database.cc,
15184           backends/chert/chert_database.h,backends/flint/flint_database.cc,
15185           backends/flint/flint_database.h,
15186           backends/inmemory/inmemory_database.cc,
15187           backends/inmemory/inmemory_database.h,
15188           backends/remote/remote-database.cc,common/database.h,
15189           common/remote-database.h,net/remoteconnection.cc: Implementation
15190           of close() methods.
15191         * tests/Makefile.am,tests/api_closedb.cc: New test file, for
15192           testing the close method.  Could do with being expanded to test
15193           many more methods of databases in the closed state, and to test
15194           the behaviour after the close of objects created from databases
15195           before the database was closed.
15197 Fri Dec 26 13:42:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15199         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
15200           Raise error if database has been closed permanently when
15201           cursor_get() is called - a NULL return type isn't checked in
15202           various places (for tables which are never closed temporarily),
15203           so this is the easiest place to add a check to avoid a segfault
15204           without incurring extra overhead.
15206 Tue Dec 23 13:42:21 GMT 2008  Olly Betts <olly@survex.com>
15208         * languages/compiler/analyser.c: Fix GCC 4.3 warning.
15210 Tue Dec 23 06:35:11 GMT 2008  Olly Betts <olly@survex.com>
15212         * PLATFORMS: Sync with 1.0 branch.
15213         * PLATFORMS: Remove 0.9.x build reports; move 1.0.x build reports
15214           to the "old version" section.
15215         * INSTALL: Adapt old footnotes from PLATFORMS about HP's aCC and IRIX
15216           into new paragraphs here.
15218 Tue Dec 23 05:19:52 GMT 2008  Olly Betts <olly@survex.com>
15220         * HACKING,configure.ac: Make automake 1.10.2 a hard minimum
15221           requirement.
15223 Tue Dec 23 04:36:27 GMT 2008  Olly Betts <olly@survex.com>
15225         * NEWS: Update from ChangeLog.
15227 Mon Dec 22 16:02:58 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15229         * backends/chert/chert_databasereplicator.cc,
15230           backends/databasereplicator.cc,
15231           backends/flint/flint_databasereplicator.cc: Fix some missing bits
15232           for debug compilation.
15234 Mon Dec 22 13:30:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15236         * api/replication.cc,backends/Makefile.mk,backends/chert/,
15237           backends/database.cc,backends/databasereplicator.cc,backends/flint/,
15238           common/Makefile.mk,common/database.h,common/databasereplicator.h:
15239           Add DatabaseReplicator base class, and subclasses for flint and
15240           chert, to hold parts of database replication code which need to
15241           be applied to a partially replicated database which may not be a
15242           valid database.  Move the code for applying changesets and
15243           comparing revision numbers into here, and add code for getting
15244           uuids which simply returns "" if the database is too broken to
15245           have a uuid associated with it.  Update the replication code to
15246           use DatabaseReplicator subclasses instead of Database classes
15247           where necessary, to avoid failing if a partial database is
15248           transmitted.  Add additional checks to ensure that the UUID of a
15249           replicated databse is equal to that sent in the replication
15250           protocol message introducing a full database copy; if they
15251           differ, a retry of the copy is needed, so ensure that the next
15252           message sent is a new copy of the database.
15254 Mon Dec 22 11:24:43 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15256         * docs/replication.rst: Warning about a possible way to confuse the
15257           replication process.
15259 Sat Dec 20 14:00:34 GMT 2008  Olly Betts <olly@survex.com>
15261         * tests/api_percentages.cc: Update (C) too.
15263 Sat Dec 20 13:51:35 GMT 2008  Olly Betts <olly@survex.com>
15265         * matcher/multimatch.cc: If we're using values for sorting and for
15266           another purpose, cache the Document::Internal object from getting
15267           the value for sorting like we do between other uses.
15269 Sat Dec 20 13:09:13 GMT 2008  Olly Betts <olly@survex.com>
15271         * tests/api_percentages.cc: Make formatting of MyPostingSource code
15272           more self-consistent.  Remove a superfluous block scope.  Wrap a
15273           long comment.
15275 Sat Dec 20 12:25:40 GMT 2008  Olly Betts <olly@survex.com>
15277         * exception_data.pm: Build a hash mapping a class to a list of its
15278           subclasses and export this as %subclasses.
15280 Sat Dec 20 05:51:50 GMT 2008  Olly Betts <olly@survex.com>
15282         * HACKING: Wrap a long line.
15284 Sat Dec 20 05:28:57 GMT 2008  Olly Betts <olly@survex.com>
15286         * queryparser/lemon.c: Merge upstream "Check-in Number: 6016".
15288 Fri Dec 19 14:25:10 GMT 2008  Olly Betts <olly@survex.com>
15290         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6015".
15292 Fri Dec 19 14:07:52 GMT 2008  Olly Betts <olly@survex.com>
15294         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6006".
15296 Fri Dec 19 13:51:33 GMT 2008  Olly Betts <olly@survex.com>
15298         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5919"
15299           - code changes are in deleted code, so no actual code changes for
15300           us.
15302 Fri Dec 19 13:46:22 GMT 2008  Olly Betts <olly@survex.com>
15304         * queryparser/lemon.c: Merge upstream "Check-in Number: 6008".
15306 Fri Dec 19 11:15:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15308         * tests/api_replicate.cc: Fix comment describing test.
15310 Thu Dec 18 23:38:50 GMT 2008  Olly Betts <olly@survex.com>
15312         * backends/chert/chert_table.cc,backends/flint/flint_table.cc: Tidy up
15313           comment wrapping and indenting of code wrapped in try blocks by the
15314           previous commit.
15316 Thu Dec 18 14:26:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15318         * backends/chert/chert_database.cc,backends/chert/chert_table.cc,
15319           backends/chert/chert_table.h,backends/flint/flint_database.cc,
15320           backends/flint/flint_table.cc,backends/flint/flint_table.h:
15321           Improve resilience to unexpected errors during commit.  Firstly,
15322           fix FlintTable and ChertTable to close the table if an error
15323           occurs during commit - this avoids the table being left in an
15324           inconsistent state (instead, the table is reopened in a
15325           consistent state the next time it is used).  Secondly, add a
15326           "permanent" close state for tables (indicated by handle being set
15327           to -2), which will raise an error if anything tries to do an
15328           action which needs the table to be opened, and set the tables to
15329           this state if we fail to recover the database after error in
15330           commit().  This prevents further actions on the database if we
15331           couldn't recover the state (eg, because we're out of disk space),
15332           avoiding risk of corruption.
15334 Thu Dec 18 01:28:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15336         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
15337           backends/flint/flint_database.cc,backends/flint/flint_database.h:
15338           Improve the error reporting when modifications fail and we cannot
15339           set the revision numbers in the table to consistent values, to
15340           report the original error too.
15342 Wed Dec 17 17:27:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15344         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
15345           Fix construction of the error message when a base can't be
15346           re-read: used to do pointer arithmetic by mistake - now does the
15347           correct string concatenation.
15349 Wed Dec 17 15:18:10 GMT 2008  Olly Betts <olly@survex.com>
15351         * tests/api_valuestream.cc: Skip valuestream3 on chert for now so that
15352           snapshots and the tinderbox work again.
15354 Wed Dec 17 15:17:07 GMT 2008  Olly Betts <olly@survex.com>
15356         * tests/api_wrdb.cc: Need omassert.h for STATIC_ASSERT.
15358 Wed Dec 17 10:45:45 GMT 2008  Olly Betts <olly@survex.com>
15360         * api/omqueryinternal.cc,tests/api_nodb.cc: A NEAR of 2 OR subqueries
15361           shouldn't throw AssertionError - instead throw UnimplementedError.
15362           Addresses the worst aspect of bug#201, but this should really be
15363           implemented.
15365 Wed Dec 17 04:44:10 GMT 2008  Olly Betts <olly@survex.com>
15367         * backends/chert/chert_database.cc,backends/chert/chert_database.h:
15368           Implement ChertWritableDatabase::open_value_list().
15369         * tests/api_valuestream.cc: Add valueweightsource5 testcase which is a
15370           regression test for bug#299 and also exercises the above method.
15372 Tue Dec 16 13:30:47 GMT 2008  Olly Betts <olly@survex.com>
15374         * common/expandweight.h,expand/expandweight.cc: Overhaul ExpandWeight
15375           - now we use the "official" formula and don't return terms which it
15376           would give a negative weight to (since that means they are expected
15377           to be harmful not helfpul).
15378         * tests/api_anydb.cc,tests/api_db.cc: Fix unwarranted assumptions in
15379           existing testcases broken by this change.
15381 Thu Dec 11 01:02:41 GMT 2008  Olly Betts <olly@survex.com>
15383         * examples/delve.cc: Add missing "and" to --help output.  Report
15384           termfreq and collection freq for each term we're asked about.
15386 Mon Dec 08 00:52:51 GMT 2008  Olly Betts <olly@survex.com>
15388         * AUTHORS: Add Daniel Andersson for reporting the flintlock
15389           permissions issue.
15391 Sun Dec 07 22:50:32 GMT 2008  Olly Betts <olly@survex.com>
15393         * api/sorter.cc,tests/api_sorting.cc: Fix an empty MultiValueSorter
15394           not to SEGV/hang.
15396 Fri Dec 05 21:08:08 GMT 2008  Olly Betts <olly@survex.com>
15398         * backends/chert/chert_database.cc,tests/api_backend.cc: Use
15399           "flintlock" rather than "chertlock" for the lockfile in chert.
15400           The locking is compatible and this avoids the possibility of
15401           creating a chert and flint database in the same directory (which
15402           will result in one being corrupt since the Btree filenames overlap).
15404 Thu Dec 04 09:00:04 GMT 2008  Olly Betts <olly@survex.com>
15406         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Create
15407           the lockfile with permissions 0666 so that the umask is honoured
15408           just like we do for the other files (previously we used 0600).
15409         * tests/Makefile.am,tests/api_backend.cc: Add regression test
15410           lockfileumask1.
15412 Thu Dec 04 08:56:54 GMT 2008  Olly Betts <olly@survex.com>
15414         * tests/stemtest.cc: Use str.resize(0) instead of str = "".
15416 Thu Dec 04 04:56:55 GMT 2008  Olly Betts <olly@survex.com>
15418         * tests/queryparsertest.cc: No need to explicitly initialise a
15419           std::string to "".
15421 Thu Dec 04 04:55:47 GMT 2008  Olly Betts <olly@survex.com>
15423         * tests/api_db.cc: Prefer str.empty() to str == "".
15425 Thu Dec 04 01:50:10 GMT 2008  Olly Betts <olly@survex.com>
15427         * tests/api_wrdb.cc: Make helper function static.  Use STATIC_ASSERT
15428           to ensure a constant is coprime with 13.
15430 Wed Dec 03 22:56:19 GMT 2008  Olly Betts <olly@survex.com>
15432         * api/omdatabase.cc: Fix API logging.
15434 Wed Dec 03 03:11:45 GMT 2008  Olly Betts <olly@survex.com>
15436         * INSTALL: Note that libuuid is required for Xapian 1.1.0 and higher.
15438 Wed Dec 03 03:10:59 GMT 2008  Olly Betts <olly@survex.com>
15440         * INSTALL: Remove ':' from the end of headings.
15442 Mon Dec 01 08:59:04 GMT 2008  Olly Betts <olly@survex.com>
15444         * HACKING: Explicitly give the commands to install the required
15445           packages for developing on recent Debian or Ubuntu for added
15446           convenience.  Update the Debian/Ubuntu packages needed for
15447           documentation to reflect the change from tetex to texlive.  Fix
15448           unfinished paragraph about requiring a newline at the end of a
15449           source file and note that this is actually undefined behaviour in
15450           C++.
15452 Sun Nov 30 21:46:59 GMT 2008  Olly Betts <olly@survex.com>
15454         * bin/,examples/quest.cc,tests/harness/testsuite.cc: Pull out lists of
15455           short options next to list of long options to help make sure they
15456           are kept in step.  xapian-tcpsrv and xapian-progsrv now accept -w
15457           as a short form of --writable, as their long option table had, but
15458           their short option string didn't.
15460 Sun Nov 30 20:44:48 GMT 2008  Olly Betts <olly@survex.com>
15462         * docs/postingsource.rst: Wrap a long line.  Note that the remote
15463           backend isn't supported yet.
15465 Wed Nov 19 11:36:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15467         * docs/postingsource.rst: Make it clear that PostingSources must
15468           always return documents in increasing document ID order.
15470 Wed Nov 19 08:43:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15472         * bin/,examples/delve.cc,examples/quest.cc,tests/harness/testsuite.cc:
15473           Test return type of gnu_getopt_long for being != -1, rather than
15474           == 0, since there are a wide variety of return types other than 0
15475           which may be returned in the successful case (with the builtin
15476           implementation in common/getopt.cc, at least).
15478 Tue Nov 18 23:22:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15480         * api/omdatabase.cc: Change unknown "DATABASE" debug type to "DB".
15482 Mon Nov 17 13:00:12 GMT 2008  Olly Betts <olly@survex.com>
15484         * docs/queryparser.html: Add link to valueranges.html.
15486 Fri Nov 14 22:23:10 GMT 2008  Olly Betts <olly@survex.com>
15488         * NEWS: Update revision we're current to.
15490 Fri Nov 14 17:43:15 GMT 2008  Olly Betts <olly@survex.com>
15492         * backends/chert/chert_alldocsmodifiedpostlist.cc,
15493           backends/chert/chert_modifiedpostlist.cc,
15494           backends/flint/flint_modifiedpostlist.cc: Correct comments.
15496 Fri Nov 14 17:38:33 GMT 2008  Olly Betts <olly@survex.com>
15498         * tests/harness/testsuite.cc: Update comment about valgrind and C++
15499           STL allocators.
15501 Fri Nov 14 17:36:47 GMT 2008  Olly Betts <olly@survex.com>
15503         * bin/,examples/delve.cc,examples/quest.cc,tests/harness/testsuite.cc:
15504           Don't compare return value of gnu_getopt_long() with EOF - it's
15505           documented to simply return -1 or 0, and EOF requires inclusion of
15506           stdio.h.
15508 Fri Nov 14 17:30:39 GMT 2008  Olly Betts <olly@survex.com>
15510         * common/serialise-double.cc: Fix "#elif" with no argument to
15511           "#else" - the former surprisingly compiles with most compilers, but
15512           GCC 4.4 snapshots reject it.
15514 Fri Nov 14 16:54:15 GMT 2008  Olly Betts <olly@survex.com>
15516         * common/win32_uuid.cc: A few code clean-ups.
15518 Fri Nov 14 13:09:16 GMT 2008  Olly Betts <olly@survex.com>
15520         * common/Makefile.mk: Ship common/safeuuid.h to unbreak tarball
15521           snapshot building.
15523 Sun Nov 09 13:31:19 GMT 2008  Olly Betts <olly@survex.com>
15525         * api/omquery.cc,api/omqueryinternal.cc,bin/xapian-tcpsrv.cc,
15526           common/omenquireinternal.h,matcher/,net/remoteserver.cc:
15527           Prefer "" to <> for including Xapian API headers from within the
15528           library.  Remove so unused xapian/enquire.h inclusions.
15530 Fri Nov 07 12:50:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15532         * backends/chert/chert_version.cc,backends/chert/chert_version.h,
15533           backends/flint/flint_version.cc,backends/flint/flint_version.h,
15534           common/safeuuid.h,common/win32_uuid.cc,common/win32_uuid.h: Add
15535           implementation of UUID functions for windows (using the built-in
15536           UUID methods in the windows API). Fixes bug #303.
15538 Sat Nov 01 01:47:44 GMT 2008  Olly Betts <olly@survex.com>
15540         * NEWS: Sync with 1.0.9 release.
15542 Fri Oct 31 18:55:03 GMT 2008  Olly Betts <olly@survex.com>
15544         * include/xapian/database.h: Document XAPIAN_FLUSH_THRESHOLD
15545           (bug#306).
15547 Fri Oct 31 18:30:11 GMT 2008  Olly Betts <olly@survex.com>
15549         * configure.ac: Fix whitespace inconsistency with omega's
15550           configure.ac.
15552 Fri Oct 31 10:51:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15554         * api/postingsource.cc,include/xapian/postingsource.h: Add a new
15555           built-in posting source, FixedWeightSource, which returns every
15556           document in the database, but with a fixed weight.  In
15557           particular, this is useful to add a constant weight to every item
15558           in a subquery.  Also, in ValueWeightPostingSource, refactor the
15559           "last_docid" member to a bool "started", since this is all it's
15560           used for.
15561         * tests/api_db.cc: Add fixedweightsource1, to test FixedWeightSource.
15563 Mon Oct 27 17:05:39 GMT 2008  Olly Betts <olly@survex.com>
15565         * tests/queryparsertest.cc: Skip test if the timer granularity is too
15566           coarse in all cases.
15568 Mon Oct 27 08:12:16 GMT 2008  Olly Betts <olly@survex.com>
15570         * tests/api_valuestream.cc: Disable valuestream1 for multi backends.
15572 Sun Oct 26 00:30:54 GMT 2008  Olly Betts <olly@survex.com>
15574         * backends/chert/chert_valuelist.cc: Remove incorrect assertions.
15576 Sat Oct 25 06:18:37 GMT 2008  Olly Betts <olly@survex.com>
15578         * api/Makefile.mk: Fix typo so we once again ship editdistance.h and
15579           maptermlist.h.
15581 Thu Oct 23 17:34:13 GMT 2008  Olly Betts <olly@survex.com>
15583         * tests/queryparsertest.cc: Skip test if the timer granularity is too
15584           coarse.
15586 Tue Oct 21 05:00:59 GMT 2008  Olly Betts <olly@survex.com>
15588         * NEWS: Sync with branches/1.0.
15590 Tue Oct 21 02:09:18 GMT 2008  Olly Betts <olly@survex.com>
15592         * tests/api_valuestream.cc: Add feature test of ValueIterator::check().
15594 Tue Oct 21 01:36:45 GMT 2008  Olly Betts <olly@survex.com>
15596         * backends/inmemory/inmemory_database.cc,
15597           backends/inmemory/inmemory_database.h: Prefer string() to "", slot
15598           to valno, and not using else after return.
15600 Tue Oct 21 01:32:37 GMT 2008  Olly Betts <olly@survex.com>
15602         * tests/api_anydb.cc,tests/api_db.cc: Remove '#include <iomanip>'
15603           which aren't used.
15605 Mon Oct 20 13:30:37 GMT 2008  Olly Betts <olly@survex.com>
15607         * api/postingsource.cc,api/valueiterator.cc,
15608           include/xapian/postingsource.h,include/xapian/valueiterator.h: Add
15609           new API method ValueIterator::check() and use it in PostingIterator.
15611 Mon Oct 20 12:28:16 GMT 2008  Olly Betts <olly@survex.com>
15613         * tests/api_valuestream.cc: Add test for skip_to() on valuestream
15614           iterator.
15616 Mon Oct 20 11:19:12 GMT 2008  Olly Betts <olly@survex.com>
15618         * tests/Makefile.am,tests/api_valuestream.cc: Add a simple test of
15619           valuestream iteration.
15621 Mon Oct 20 11:01:26 GMT 2008  Olly Betts <olly@survex.com>
15623         * tests/Makefile.am,tests/collate-test,tests/perftest/Makefile.mk:
15624           Generate the header listing the collated tests so that we can avoid
15625           updating its timestamp when the contents are unchanged, such as in
15626           the common case where you modify tests but don't add, remove, or
15627           change the conditions on any tests.
15629 Mon Oct 20 10:01:56 GMT 2008  Olly Betts <olly@survex.com>
15631         * examples/delve.cc: Use valuestream iterator to implement "-V<slot>".
15633 Mon Oct 20 02:19:09 GMT 2008  Olly Betts <olly@survex.com>
15635         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
15636           Remove unused members of MultiPostList: tname, collfreq_initialised,
15637           collfreq, and termweight.
15639 Sun Oct 19 14:01:15 GMT 2008  Olly Betts <olly@survex.com>
15641         * api/postingsource.cc,include/xapian/postingsource.h: Update
15642           ValueWeightPostingSource to use a value stream iterator.
15644 Sun Oct 19 13:53:51 GMT 2008  Olly Betts <olly@survex.com>
15646         * backends/database.cc: Make use of SlowValueList by default.
15648 Sun Oct 19 13:47:10 GMT 2008  Olly Betts <olly@survex.com>
15650         * api/documentvaluelist.cc,api/documentvaluelist.h: Fix so that a
15651           DocumentValueList starts before the first value.
15653 Sun Oct 19 13:09:39 GMT 2008  Olly Betts <olly@survex.com>
15655         * api/omdatabase.cc,api/omdocument.cc: Use ValueIterator() instead of
15656           ValueIterator(NULL).
15658 Sun Oct 19 11:15:15 GMT 2008  Olly Betts <olly@survex.com>
15660         * NEWS: Update from ChangeLog.
15662 Sat Oct 18 01:31:25 GMT 2008  Olly Betts <olly@survex.com>
15664         * NEWS: Update from ChangeLog.
15666 Fri Oct 17 15:54:57 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15668         * bin/xapian-compact.cc: Check that pq is not empty before calling
15669           top() on it - if it's empty, we only have one database, so we can
15670           use the code path which doesn't worry about merging tags.  Fixes
15671           bug #305.
15673 Fri Oct 17 14:22:18 GMT 2008  Olly Betts <olly@survex.com>
15675         * backends/chert/chert_valuelist.cc: Fix ChertValueList to start on
15676           the right key.
15678 Fri Oct 17 14:14:14 GMT 2008  Olly Betts <olly@survex.com>
15680         * include/xapian/database.h,include/xapian/document.h: Inline
15681           ValueIterator end iterator as ValueIterator() rather than
15682           ValueIterator(NULL).
15683         * api/valueiterator.cc: Need to call next() on a ValueList to get it
15684           to the first position, so do this in ValueIterator's constructor.
15685         * api/valueiterator.cc,include/xapian/valueiterator.h: Add
15686           ValueIterator::get_docid() method.
15688 Fri Oct 17 13:53:26 GMT 2008  Olly Betts <olly@survex.com>
15690         * backends/slowvaluelist.cc,backends/slowvaluelist.h: Add missing
15691           SlowValueList::get_valueno() method.
15693 Fri Oct 17 13:16:01 GMT 2008  Olly Betts <olly@survex.com>
15695         * api/omdatabase.cc,include/xapian/database.h: Add
15696           Database::valuestream_begin() and Database::valuestream_end() to
15697           allow iterating over the values in a given slot for each document
15698           in the database (untested so far).
15700 Thu Oct 16 13:20:26 GMT 2008  Olly Betts <olly@survex.com>
15702         * backends/multi/multi_postlist.cc: Remove unused '#include <list>'
15703           and uninformative comment.
15705 Thu Oct 16 12:47:00 GMT 2008  Olly Betts <olly@survex.com>
15707         * api/omdocument.cc,include/xapian/document.h: Inline
15708           Xapian::Document::values_end() into user code.
15710 Thu Oct 16 12:26:29 GMT 2008  Olly Betts <olly@survex.com>
15712         * api/,backends/chert/chert_valuelist.cc,
15713           backends/chert/chert_valuelist.h,common/document.h,
15714           common/valuelist.h,include/Makefile.mk,include/xapian/derefwrapper.h,
15715           include/xapian/termiterator.h,include/xapian/valueiterator.h:
15716           Reimplement ValueIterator to have reference counted internals.  One
15717           benefit is that Document::Internal no longer need its value_nos map
15718           member.
15720 Thu Oct 16 11:22:13 GMT 2008  Olly Betts <olly@survex.com>
15722         * backends/inmemory/inmemory_database.cc: Fix incorrect method name in
15723           debug messages.
15725 Thu Oct 16 01:34:07 GMT 2008  Olly Betts <olly@survex.com>
15727         * HACKING: Note preference for @ rather than \ to introduce doxygen
15728           commands.
15730 Thu Oct 16 01:21:19 GMT 2008  Olly Betts <olly@survex.com>
15732         * HACKING: Expand section on public/protected/private a little.
15734 Wed Oct 15 11:34:15 GMT 2008  Olly Betts <olly@survex.com>
15736         * include/xapian/database.h: Use std::string() instead of "" as the
15737           default value for std::string method parameters.
15739 Wed Oct 15 03:20:01 GMT 2008  Olly Betts <olly@survex.com>
15741         * backends/Makefile.mk,backends/slowvaluelist.cc,
15742           backends/slowvaluelist.h: Support for (slowly) iterating along a
15743           value stream for backends which don't support streamed values
15744           internally (currently unused).
15746 Tue Oct 14 11:43:42 GMT 2008  Olly Betts <olly@survex.com>
15748         * api/postingsource.cc,backends/inmemory/inmemory_database.cc,
15749           matcher/multimatch.cc: Database::get_document_lazily() now returns
15750           NULL if the document isn't found for an inmemory database.
15751         * include/xapian/database.h: Document the return value better.
15753 Tue Oct 14 03:20:38 GMT 2008  Olly Betts <olly@survex.com>
15755         * api/omdatabase.cc,api/postingsource.cc,include/xapian/database.h,
15756           matcher/multimatch.cc: Add internal
15757           Xapian::Database::get_document_lazily() method and use it in the
15758           matcher and Xapian::PostingSource classes to avoid repeating the
15759           same code lots of times.
15761 Mon Oct 13 23:38:34 GMT 2008  Olly Betts <olly@survex.com>
15763         * HACKING: Rename "Miscellaneous Portability Issues" to "C++
15764           Portability Issues", and add a subsection of that for "Miscellaneous
15765           Portability Issues" with a new note about needing to terminate the
15766           last line of a source file, and a new subsection heading "Header
15767           Portability Issues" for all the header-related stuff.
15769 Sat Oct 11 12:19:38 GMT 2008  Olly Betts <olly@survex.com>
15771         * tests/api_wrdb.cc: If the timer for the first test for bigoaddvalue
15772           reports 0.0 seconds, skip the test as the timer doesn't have fine
15773           enough granularity for this test to be useful (bug#300).
15775 Fri Oct 10 20:40:14 GMT 2008  Olly Betts <olly@survex.com>
15777         * tests/api_wrdb.cc: Reuse XAPIAN_BIN_PATH to avoid hardcoding more
15778           paths, and so this works in a debug build too.
15780 Fri Oct 10 17:52:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15782         * tests/api_wrdb.cc: Patch to use a different path in win32 build
15783           to match the different place that the compiled xapian-check is
15784           placed in.  Should fix bug #301.
15786 Thu Oct 09 05:20:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15788         * configure.ac: Change -Wstrict-overflow level to 1 - even level 2
15789           causes a few warnings (notably in chert_table.cc) to appear with
15790           GCC 4.3 which are unreasonably difficult to avoid.
15792 Thu Oct 09 05:04:49 GMT 2008  Olly Betts <olly@survex.com>
15794         * HACKING,configure.ac: Raise autoconf requirement to 2.63.
15796 Wed Oct 08 14:52:03 GMT 2008  Olly Betts <olly@survex.com>
15798         * docs/valueranges.rst: Fix typos in example code.
15799         * docs/valueranges.rst,tests/queryparsertest.cc: Drop superfluous
15800           empty destructor from ValueRangeProcessor subclass.
15802 Wed Oct 08 14:00:04 GMT 2008  Olly Betts <olly@survex.com>
15804         * common/valuelist.h: Add missing get_docid() method.
15806 Wed Oct 08 12:11:57 GMT 2008  Olly Betts <olly@survex.com>
15808         * NEWS: Update from ChangeLog.
15810 Wed Oct 08 12:00:39 GMT 2008  Olly Betts <olly@survex.com>
15812         * backends/Makefile.mk,backends/chert/,backends/database.cc,
15813           backends/valuelist.cc,common/Makefile.mk,common/database.h,
15814           common/valuelist.h,include/xapian/valueiterator.h: The start of
15815           support for iterating along a value stream (currently unused).
15817 Tue Oct 07 10:19:48 GMT 2008  Olly Betts <olly@survex.com>
15819         * configure.ac: Disable -Wconversion for now - it's not useful for
15820           older GCC and is buggy in GCC 4.3.
15822 Tue Oct 07 04:53:41 GMT 2008  Olly Betts <olly@survex.com>
15824         * matcher/queryoptimiser.h: Query::MatchAll no longer gives match
15825           results ranked by increasing document length.
15826         * tests/api_db.cc: Extend matchall1 to be a regression test for this.
15828 Tue Oct 07 01:04:51 GMT 2008  Olly Betts <olly@survex.com>
15830         * matcher/queryoptimiser.cc: Rewrite comment explaining the excess
15831           precision fix.  Drop unnecessary brackets from return to minimise
15832           the diff.
15834 Mon Oct 06 07:24:40 GMT 2008  Olly Betts <olly@survex.com>
15836         * matcher/queryoptimiser.cc: Change the excess precision fix to pass
15837           both values through "volatile double" rather than "float" on
15838           platforms where this matters since the former gives better generated
15839           code as well as more consistent results with other platforms.
15841 Mon Oct 06 07:24:07 GMT 2008  Olly Betts <olly@survex.com>
15843         * tests/internaltest.cc: Fix comment typo.
15845 Mon Oct 06 02:46:39 GMT 2008  Olly Betts <olly@survex.com>
15847         * api/editdistance.cc,api/editdistance.h,api/omdatabase.cc: Pass the
15848           largest edit distance we currently care about into the edit distance
15849           algorithm so it can terminate early once it knows the edit distance
15850           exceeds this.  This shortcut is used quite a lot, but there's no
15851           measurable speed-up in tests on the real world data I have to hand.
15853 Sun Oct 05 12:34:09 GMT 2008  Olly Betts <olly@survex.com>
15855         * matcher/multimatch.cc: Adjust percent_factor instead of min_weight
15856           so that we don't miss some cases, and make the adjustment actually
15857           correspond with the adjustment in omenquire.cc.
15859 Wed Oct 01 14:11:49 GMT 2008  Olly Betts <olly@survex.com>
15861         * backends/alltermslist.cc,common/alltermslist.h: We don't need an
15862           explicit virtual dtor for AllTermsList as it is empty and
15863           AllTermsList inherits from TermList which has one.
15865 Wed Oct 01 13:21:22 GMT 2008  Olly Betts <olly@survex.com>
15867         * common/postlist.h,common/termlist.h: Fix comment typo.
15869 Wed Oct 01 00:12:02 GMT 2008  Olly Betts <olly@survex.com>
15871         * bin/xapian-compact.cc: Add a comment for the previous fix.
15873 Tue Sep 30 22:41:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15875         * bin/xapian-compact.cc: Fix bug: if there are both valuestats and
15876           metadata, don't overwrite the last metadata value with the first
15877           valuestats tag.
15879 Tue Sep 30 20:31:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15881         * configure.ac: Set -Wstrict-overflow to 2 instead of 5, to avoid
15882           unreasonable warnings under GCC 4.3.
15884 Tue Sep 30 09:45:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15886         * api/omdatabase.cc: Add missing include, to compile on GCC 4.3.0.
15888 Mon Sep 29 13:06:42 GMT 2008  Olly Betts <olly@survex.com>
15890         * NEWS: Update from ChangeLog.
15892 Mon Sep 29 05:04:57 GMT 2008  Olly Betts <olly@survex.com>
15894         * backends/chert/chert_version.cc: Add VERSIONFILE_SIZE_LITERAL and
15895           use CompileTimeAssert() to ensure it matches the expression in
15896           VERSIONFILE_SIZE.  It's very rare for the size to change (it's
15897           happened once ever) and allows us to build the error string
15898           literally at compile time.
15900 Sun Sep 28 15:13:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15902         * backends/chert/chert_values.cc: Fix bug in lazy update - ensure
15903           that the document has loaded its values before deleting the old
15904           one (previously, there was an assertion to this effect, but it
15905           didn't actually compile, and was also incorrect).
15906         * tests/api_wrdb.cc: Check that replacing a document with itself
15907           doesn't lose the values - regression test for the bug fixed by
15908           this commit.
15910 Sun Sep 28 14:04:01 GMT 2008  Olly Betts <olly@survex.com>
15912         * backends/chert/chert_values.cc: Fix bug in value updating -
15913           modifyvalues1 now passes for chert.
15915 Sun Sep 28 12:15:14 GMT 2008  Olly Betts <olly@survex.com>
15917         * tests/collate-test: Avoid perl warning when generating files which
15918           don't already exist.
15920 Sat Sep 27 10:36:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15922         * tests/api_wrdb.cc: Add test "modifyvalues1" - regression test for
15923           a bug in the streaming values implementation, and also a fairly
15924           thorough test of adding and modifying values in databases.
15926 Fri Sep 26 19:12:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15928         * api/omdatabase.cc: Fix warning with gcc 4.2 about possible signed
15929           overflow, by using an unsigned type for the total.
15931 Fri Sep 26 15:48:39 GMT 2008  Olly Betts <olly@survex.com>
15933         * api/omdatabase.cc: Fixed version of: Avoid the relatively expensive
15934           edit distance computation for a candidate spelling correction when
15935           we can reject the candidate as less good than one we've already seen
15936           by looking at the character frequency histograms.  In a test on
15937           real-world data, this gave an 15% speed-up in queryparsing time
15938           with FLAG_SPELLING_CORRECTION set.  The cheap check rejects 90%
15939           of the words it handles (without the cheap check, the edit distance
15940           check rejects 92%).
15942 Fri Sep 26 14:40:50 GMT 2008  Olly Betts <olly@survex.com>
15944         * bin/xapian-check.cc: Check the structure of the value stream chunks.
15946 Fri Sep 26 12:21:32 GMT 2008  Olly Betts <olly@survex.com>
15948         * tests/api_spelling.cc: Add a regression test for the bug my recently
15949           added and reverted spelling optimisation introduced.
15951 Fri Sep 26 11:55:18 GMT 2008  Olly Betts <olly@survex.com>
15953         * tests/Makefile.am,tests/api_spelling.cc,tests/api_wrdb.cc: Split the
15954           spelling tests out into a separate file.
15956 Fri Sep 26 11:53:45 GMT 2008  Olly Betts <olly@survex.com>
15958         * tests/api_unicode.cc: Capitalise brief file description.
15960 Fri Sep 26 11:31:46 GMT 2008  Olly Betts <olly@survex.com>
15962         * backends/inmemory/inmemory_document.cc,
15963           backends/inmemory/inmemory_document.h: New simpler InMemoryDocument
15964           class with slightly reduced memory footprint, based on
15965           RemoteDocument class.
15967 Fri Sep 26 10:36:02 GMT 2008  Olly Betts <olly@survex.com>
15969         * backends/remote/remote-document.cc,backends/remote/remote-document.h,
15970           common/document.h: Add new files for RemoteDocument class missed
15971           from recent commit.  Pass parameter to set_all_values() by non-const
15972           reference so we can just efficiently swap() the value maps rather
15973           than copying.
15975 Fri Sep 26 10:31:21 GMT 2008  Olly Betts <olly@survex.com>
15977         * api/omdocument.cc,common/document.h: Remove unused method
15978           Xapian::Document::Index::get_all_values().
15980 Fri Sep 26 10:03:17 GMT 2008  Olly Betts <olly@survex.com>
15982         * backends/remote/,common/document.h: Replace NetDocument with a new
15983           simpler RemoteDocument class which just sets the values and data in
15984           its Document::Internal base class.
15986 Fri Sep 26 06:21:08 GMT 2008  Olly Betts <olly@survex.com>
15988         * backends/chert/chert_database.cc,backends/chert/chert_document.cc,
15989           backends/chert/chert_document.h,common/document.h: Overhaul
15990           ChertDocument:  Avoid having a reference-counted pointer to the
15991           database in the subclass as well as the one now in the base class.
15992           Also check the lazy flag before we create a ChertDocument object to
15993           avoid a memory allocation in that code path.  And make the
15994           now-simple constructor inline-able.
15996 Thu Sep 25 17:38:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15998         * Merge lazyupdate branch:
15999         * api/omdocument.cc,backends/chert/chert_database.cc,
16000           backends/chert/chert_database.h,backends/chert/chert_values.cc,
16001           backends/database.cc,common/database.h,common/document.h: Add a
16002           shortcut for calling replace_document() with a document which was
16003           just read from the database.  If the document terms were never
16004           accessed, don't bother updating the termlist, postings and
16005           position lists.  If the data was never accessed, don't bother
16006           updating the data.  If the values were never accessed, don't
16007           bother updating them.  Only fires if we know that the document
16008           hasn't been modified (or deleted) since it was read from the
16009           database, to ensure that the lazy access of the data doesn't have
16010           a visible effect - we enforce this by keeping track of the last
16011           document read with open_document(), and only using the shortcut
16012           if this is the document passed to replace_document, and that
16013           document ID hasn't been passed to replace_document or
16014           delete_document since.
16016           Add a method Database::Internal::invalidate_doc_object() which is
16017           called from the destructor of a document, so that we can reset
16018           the pointer to modify_shortcut_document in ChertWritableDatabase
16019           when this happens.
16021           Document::Internal now keeps a ref-count pointer to the database,
16022           to ensure that the database is valid when invalidate_doc_object()
16023           is called on it.
16025 Thu Sep 25 17:35:07 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16027         * Forward-port from branches/lazyupdate:
16028         * tests/api_wrdb.cc: Extend deldoc5 slightly, to check that the
16029           DocNotFoundError for a deleted document is raised before the
16030           flush, as well as after.  Also, test a few more cases which are
16031           relevant in the lazyupdate scenario.
16033 Thu Sep 25 17:33:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16035         * Forward-port from branches/lazyupdate:
16036         * backends/chert/chert_document.cc,backends/chert/chert_document.h:
16037           Check for existence of a document when opening it by searching
16038           for the document length entry, rather than by reading the record
16039           for the document.  Probably slightly slower if the record is
16040           going to be accessed anyway, but much faster if it isn't (though
16041           benchmarking of this is needed).
16043 Thu Sep 25 14:27:07 GMT 2008  Olly Betts <olly@survex.com>
16045         * Merge valuestreams branch:
16046         * backends/chert/,bin/xapian-check.cc,bin/xapian-compact.cc,
16047           docs/admin_notes.rst: Change the chert backend to store values in a
16048           chunked stream for each value slot to make access more efficient.
16049           The chunked streams and value stats are now stored in the postlist
16050           table while the list of used value slots for each document is stored
16051           in the termlist table, so we no longer need a special table for
16052           values.
16053         * bin/xapian-check.cc,bin/xapian-check-flint.cc:  Don't stop checking
16054           a table after an error in certain cases - instead increment the
16055           error counter and try to continue checking from the next item.
16057 Thu Sep 25 13:50:15 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16059         * matcher/queryoptimiser.cc,tests/api_anydb.cc: Apply fix for
16060           platforms with excess precision - this fixes a potential segfault
16061           on x86 architecture when doing OP_ELITE_SET queries.  Also, add a
16062           regression test.
16064 Thu Sep 25 03:38:24 GMT 2008  Olly Betts <olly@survex.com>
16066         * examples/copydatabase.cc: Also copy user metadata.
16068 Wed Sep 24 17:27:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16070         * api/omdatabase.cc: Back out, for now, Olly's change from
16071           yesterday to avoid some edit distance checks; counting the
16072           frequency of letters doesn't take into account the number of
16073           substitutions, so spelling corrections which involve
16074           substitutions are missed.
16076 Wed Sep 24 12:48:39 GMT 2008  Olly Betts <olly@survex.com>
16078         * unicode/tclUniData.cc: Update to Unicode 5.1 (bug#265).
16079         * tests/api_unicode.cc: Add tests for some of the changes
16080           in Unicode 5.1.
16082 Tue Sep 23 14:58:54 GMT 2008  Olly Betts <olly@survex.com>
16084         * api/omdatabase.cc: Avoid the relatively expensive edit distance
16085           computation for a candidate spelling correction when we can reject
16086           the candidate as less good than one we've already seen by looking
16087           at the character frequency histograms.
16089 Mon Sep 22 09:21:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16091         * Forward-port from branches/lazyupdate:
16092         * backends/chert/chert_postlist.cc: Fix return value of jump_to()
16093           to be true only if the exact item specified was found in the
16094           doclen list (previously also returned true if an item following
16095           the item being searched for was found in the chunk).  Note that
16096           there is no test for this fix included in this forward-port, but
16097           an implicit test is included in the lazyupdate branch, and will
16098           be here when that branch is merged to trunk.
16100 Mon Sep 22 07:58:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16102         * HACKING: Mention that setting XAPIAN_DEBUG_LOG to '-' has a
16103           special effect.
16105 Mon Sep 22 06:27:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16107         * docs/remote_protocol.html: Update documentation of remote
16108           protocol to mention UUID being passed in REPLY_GREETING and
16109           REPLY_UPDATE (added in revision [11369]).
16111 Thu Sep 18 11:52:05 GMT 2008  Olly Betts <olly@survex.com>
16113         * tests/api_wrdb.cc: Fix cursordelbug1 to hopefully work on Microsoft
16114           Windows.
16116 Thu Sep 18 11:50:04 GMT 2008  Olly Betts <olly@survex.com>
16118         * backends/chert/chert_cursor.cc,backends/chert/chert_table.cc,
16119           backends/chert/chert_table.h: More assertions and improved debug
16120           logging coverage.  Use rare() to mark a couple of checks which
16121           almost always have the same result.  Make an assertion about the
16122           level of a Btree block into an always-compiled-in check which throws
16123           an exception, as this isn't a sanity check of internal state.
16125 Thu Sep 18 05:26:27 GMT 2008  Olly Betts <olly@survex.com>
16127         * backends/chert/chert_postlist.cc,backends/flint/flint_postlist.cc:
16128           Fix comment describing format of postlist chunk (collection freq
16129           was missing).
16131 Wed Sep 17 12:38:51 GMT 2008  Olly Betts <olly@survex.com>
16133         * HACKING: Fix typos in XAPIAN_DEBUG_FLAGS documentation.
16135 Sat Sep 13 11:14:02 GMT 2008  Olly Betts <olly@survex.com>
16137         * HACKING,configure.ac: Upgrade libtool requirement to 2.2.6a.
16139 Fri Sep 05 11:40:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16141         * tests/api_replicate.cc: Test that the UUID of a replica is equal
16142           to the UUID of the original database.
16144 Fri Sep 05 09:38:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16146         * include/xapian/database.h,api/omdatabase.cc: Add
16147           Database.get_uuid() which returns a unique identifier for the
16148           database.
16149         * tests/api_anydb.cc: Add test uuid1 to test basic get_uuid()
16150           behaviour.
16151         * common/database.h: Extend documentation comment for get_uuid() a
16152           bit.
16153         * backends/remote/remote-database.cc,common/remote-database.h,
16154           net/remoteserver.cc: Add support for get_uuid() to remote
16155           databases.
16157 Thu Sep 04 11:37:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16159         * tests/Makefile.am: Remove accidentally committed reference to
16160           apitest_sortconsist.txt, which only exists in my local checkout
16161           and in a patch in ticket #216.
16163 Thu Sep 04 04:39:32 GMT 2008  Olly Betts <olly@survex.com>
16165         * HACKING,configure.ac: We now hard require autoconf 2.62, so it's
16166           safe to use AC_TYPE_SSIZE_T.  (bug#135)
16168 Thu Sep 04 04:26:59 GMT 2008  Olly Betts <olly@survex.com>
16170         * configure.ac: Set version to 1.1.0.
16172 Thu Sep 04 03:32:06 GMT 2008  Olly Betts <olly@survex.com>
16174         * AUTHORS,NEWS,configure.ac: Sync with 1.0.8.
16176 Wed Sep 03 15:23:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16178         * tests/Makefile.am,tests/api_percentages.cc: Add new test file for
16179           tests related to percentage weights (there are a few around which
16180           could be moved here, and there's another one in the patch in
16181           ticket #216).  Add test in this file which uses a PostingSource
16182           with carefully constructed weights to check the rounding
16183           behaviour for percentage cutoffs.
16185 Wed Sep 03 07:58:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16187         * matcher/multimatch.cc: Adjust min_weight values calculated for
16188           percent_cutoff in the same manner as in omenquire.cc, to allow
16189           for excess precision in the same way.
16191 Wed Sep 03 07:15:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16193         * backends/chert/chert_version.cc: Display numerical value of
16194           correct size of chert version file in error message if size is
16195           incorrect, rather than a complicated expression giving the
16196           correct size.
16198 Tue Sep 02 10:41:46 GMT 2008  Olly Betts <olly@survex.com>
16200         * matcher/multimatch.cc: Remove FIXME for pushing check_at_least
16201           handling into the remote backend, which was done for 1.0.2.
16203 Tue Sep 02 06:48:50 GMT 2008  Olly Betts <olly@survex.com>
16205         * bin/xapian-inspect.cc: Show the help message on start-up.  Correct
16206           the alias for next from ' ' to ''.  Avoid reading outside of input
16207           string when it is empty.  Bug#286.
16209 Tue Sep 02 04:19:34 GMT 2008  Olly Betts <olly@survex.com>
16211         * tests/stemtest.cc: Handle the new supplemental stemming data.
16213 Tue Sep 02 03:05:10 GMT 2008  Olly Betts <olly@survex.com>
16215         * tests/stemtest.cc: Update for new xapian-data directory structure.
16217 Tue Aug 26 09:26:49 GMT 2008  Olly Betts <olly@survex.com>
16219         * common/debuglog.h: Handle logging from ctor, dtor, and
16220           void-returning functions/methods with a separate class
16221           (DebugLogFuncVoid).  Fix outdent handling for non-logged message
16222           types.  Fix detection of active exceptions to check if the exception
16223           was already active when we entered the current function.  This
16224           probably means that "RETURN_VOID" is no longer needed, so comment
16225           it out.
16227 Tue Aug 26 07:34:16 GMT 2008  Olly Betts <olly@survex.com>
16229         * HACKING: Document explicitly that XAPIAN_DEBUG_FLAGS=- gives you all
16230           debug messages.
16232 Tue Aug 26 00:57:32 GMT 2008  Olly Betts <olly@survex.com>
16234         * bin/xapian-check.cc: Fix reversed check for whether a table is in a
16235           flint or chert database.
16237 Mon Aug 25 12:03:36 GMT 2008  Olly Betts <olly@survex.com>
16239         * backends/flint/flint_termlisttable.cc: Remove FIXME about dropping
16240           something if we make an incompatible database version bump - that's
16241           not going to happen now for flint.  Avoid packing doclen for an
16242           empty termlist.  Add explicit cast for char for prev_term.size().
16244 Sun Aug 24 11:42:21 GMT 2008  Olly Betts <olly@survex.com>
16246         * common/Makefile.mk: Fix build with --enable-log=profile.
16248 Sun Aug 24 12:41:22 BST 2008  Olly Betts <olly@survex.com>
16250         * HACKING: Add a bit of discussion of --enable-log=profile.  Tweak
16251           formatting in one place and wording in another.
16253 Sat Aug 23 00:48:40 GMT 2008  Olly Betts <olly@survex.com>
16255         * tests/collate-test: Only update files which have changed to avoid
16256           rebuilding all apitest's source files when only one has changed.
16258 Fri Aug 22 01:02:57 GMT 2008  Olly Betts <olly@survex.com>
16260         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5571"
16261           (no code changes in our modified version).
16263 Fri Aug 22 01:00:15 GMT 2008  Olly Betts <olly@survex.com>
16265         * queryparser/lemon.c: Fix comment typo.
16267 Fri Aug 22 00:55:26 GMT 2008  Olly Betts <olly@survex.com>
16269         * queryparser/lemon.c: Merge upstream "Check-in Number: 5564".
16271 Fri Aug 22 00:44:14 GMT 2008  Olly Betts <olly@survex.com>
16273         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
16274           "Check-in Number: 5488" and "5563".
16275         * queryparser/queryparser.lt: Fix compilation for previous merge
16276           (I fixed it in the generated file before!)
16278 Fri Aug 22 00:07:22 GMT 2008  Olly Betts <olly@survex.com>
16280         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5472".
16282 Thu Aug 21 04:15:41 GMT 2008  Olly Betts <olly@survex.com>
16284         * configure.ac: Remove code which checks for --enable-debug and
16285           --enable-debug-verbose (deprecated since 1.0.0) and gives an error
16286           pointing to the replacements.
16287         * docs/deprecation.rst: Document the replacements here.
16289 Thu Aug 21 00:57:52 GMT 2008  Olly Betts <olly@survex.com>
16291         * common/omdebug.h: Remove DEBUGLINE completely.
16292         * backends/flint/flint_table.cc,backends/inmemory/inmemory_database.cc,
16293           queryparser/queryparser.lt: Replace remaining DEBUGLINE uses.
16294         * backends/inmemory/inmemory_database.cc: Don't need <list>.
16296 Thu Aug 21 00:37:08 GMT 2008  Olly Betts <olly@survex.com>
16298         * common/debuglog.h,common/omdebug.h: Define LOGLINE, etc to no-op
16299           versions when XAPIAN_DEBUG_VERBOSE isn't defined.
16300         * api/,backends/chert/,backends/flint/,
16301           backends/inmemory/inmemory_database.cc,
16302           backends/multi/multi_postlist.cc,backends/multi/multi_termlist.cc,
16303           expand/esetinternal.cc,expand/expandweight.cc,matcher/,
16304           net/remoteconnection.cc: Use LOGLINE or LOGVALUE instead of
16305           DEBUGLINE.
16307 Wed Aug 20 13:33:56 GMT 2008  Olly Betts <olly@survex.com>
16309         * common/debuglog.h: Don't need omtime.h.
16311 Wed Aug 20 06:11:31 GMT 2008  Olly Betts <olly@survex.com>
16313         * examples/quest.cc: Fix to catch QueryParserError instead of const
16314           char * which Xapian < 1.0.0 threw instead.
16316 Wed Aug 20 05:50:26 GMT 2008  Olly Betts <olly@survex.com>
16318         * docs/valueranges.rst: Expand on some sections.
16320 Wed Aug 20 04:43:07 GMT 2008  Olly Betts <olly@survex.com>
16322         * tests/api_nodb.cc: Clarify in comments that this affected 1.0.7.
16324 Wed Aug 20 04:33:22 GMT 2008  Olly Betts <olly@survex.com>
16326         * api/omenquire.cc: Simplify RSet::remove_document() and
16327           RSet::contains() a little.  Fix output of RSet::get_description().
16328         * tests/api_nodb.cc: Add regression test rset4 for
16329           RSet::get_description() fix.
16331 Wed Aug 20 02:45:04 GMT 2008  Olly Betts <olly@survex.com>
16333         * common/omdebug.h: Remove DebugMsg() macro which is no longer used.
16335 Tue Aug 12 05:03:34 GMT 2008  Olly Betts <olly@survex.com>
16337         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
16338           Backport elimination of find_tag() to flint.
16340 Tue Aug 12 04:10:41 GMT 2008  Olly Betts <olly@survex.com>
16342         * backends/chert/chert_table.cc,backends/chert/chert_table.h:
16343           ChertTable::find_tag() is only used by ChertTable::get_exact_entry()
16344           so remove the former folding its code into the latter.
16346 Mon Aug 11 03:06:10 GMT 2008  Olly Betts <olly@survex.com>
16348         * backends/chert/chert_spelling.h,backends/chert/chert_synonym.h:
16349           Remove random closing bracket from a couple of comments.
16351 Mon Aug 11 03:03:19 GMT 2008  Olly Betts <olly@survex.com>
16353         * api/postingsource.cc: Always initialise max_value in the constructor
16354           body for consistency.
16356 Sat Aug 09 09:56:06 GMT 2008  Olly Betts <olly@survex.com>
16358         * tests/api_valuestats.cc: Add valuestats4 as a regression test for
16359           the previous fix.
16361 Sat Aug 09 06:10:49 GMT 2008  Olly Betts <olly@survex.com>
16363         * backends/chert/chert_database.cc,backends/chert/chert_database.h:
16364           Write cached valuestats changes to disk when we automatically flush
16365           changes due to the number of documents indexed.
16367 Wed Aug 06 11:27:29 GMT 2008  Olly Betts <olly@survex.com>
16369         * api/omdocument.cc,backends/chert/chert_document.cc,
16370           backends/chert/chert_document.h,backends/flint/flint_document.cc,
16371           backends/flint/flint_document.h,
16372           backends/inmemory/inmemory_document.cc,
16373           backends/inmemory/inmemory_document.h,
16374           backends/remote/net_document.cc,backends/remote/net_document.h,
16375           common/document.h: Change do_get_all_values() to pass a reference
16376           to the std::map to return the result in rather than returning the
16377           std::map.
16379 Wed Aug 06 07:39:08 GMT 2008  Olly Betts <olly@survex.com>
16381         * docs/replication.rst: Adding missing (C) for new section addded
16382           recently.
16384 Wed Aug 06 06:27:59 GMT 2008  Olly Betts <olly@survex.com>
16386         * backends/alltermslist.cc,backends/chert/,backends/flint/,
16387           backends/inmemory/inmemory_alltermslist.cc,
16388           backends/inmemory/inmemory_alltermslist.h,
16389           backends/multi/multi_alltermslist.cc,common/alltermslist.h,
16390           common/multialltermslist.h: Add a default "not implemented"
16391           implementation of AllTermsList::get_approx_size() and remove the
16392           "not implemented" versions in all the subclasses.  Remove empty
16393           destructors for ChertSpellingTermList, and FlintSpellingTermList.
16394         * api/maptermlist.h,api/omdocument.cc: MapTermList::get_approx_size()
16395           should never be used, so make it "Assert(false); return 0;".
16397 Wed Aug 06 02:24:48 GMT 2008  Olly Betts <olly@survex.com>
16399         * api/omdatabase.cc,backends/multi/multi_alltermslist.cc,
16400           common/multialltermslist.h: Reimplement MultiAllTermsList to use a
16401           heap rather than linearly scanning - operations during iteration
16402           should now be O(log(n)) rather than O(n) where n is the number of
16403           databases.
16405 Tue Aug 05 23:50:19 GMT 2008  Olly Betts <olly@survex.com>
16407         * tests/Makefile.am: Fix "make clean" to remove cached databases again
16408           and "make check" to remove cached databases like the previous change
16409           aimed to do.
16411 Tue Aug 05 23:48:52 GMT 2008  Olly Betts <olly@survex.com>
16413         * tests/api_db.cc: Use TEST_EQUAL(a, b) rather than TEST(a == b).
16415 Tue Aug 05 12:44:58 GMT 2008  Olly Betts <olly@survex.com>
16417         * common/alltermslist.h: Fix parameter name in doxygen comment.
16419 Tue Aug 05 06:28:15 GMT 2008  Olly Betts <olly@survex.com>
16421         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
16422           Don't generate a changeset file for the first revision of a database
16423           (since we might as well just send the whole database) - addresses
16424           part of bug#278.  Clean up exceptions to pass errno in the errno
16425           parameter rather than incorporating strerror(errno) in the message
16426           parameter.
16428 Tue Aug 05 06:00:11 GMT 2008  Olly Betts <olly@survex.com>
16430         * tests/api_replicate.cc: Remove "sleep(1);" from testcase replicate1
16431           which is no longer required now we generate proper UUIDs.
16433 Tue Aug 05 03:07:11 GMT 2008  Olly Betts <olly@survex.com>
16435         * api/replication.cc,include/xapian/replication.h: Remove
16436           DatabaseReplica::get_parameter() and set_parameter() as they're no
16437           longer used for storing the database UUID, and Richard said the
16438           thinking behind wanting them was "flawed".
16440 Tue Aug 05 02:03:24 GMT 2008  Olly Betts <olly@survex.com>
16442         * backends/chert/chert_version.cc: Comment tweak.
16444 Tue Aug 05 02:02:29 GMT 2008  Olly Betts <olly@survex.com>
16446         * api/replication.cc,backends/flint/flint_database.cc,common/utils.cc,
16447           common/utils.h: Use the UUID stored by the backend rather than
16448           storing it ourselves as a database replica parameter.
16450 Mon Aug 04 14:58:21 GMT 2008  Olly Betts <olly@survex.com>
16452         * backends/flint/flint_database.cc,backends/flint/flint_version.cc,
16453           backends/flint/flint_version.h: Generate a UUID when a new flint
16454           database is created, and lazily generate one for existing flint
16455           databases which don't have one.  Store the UUID in a new "uuid"
16456           file in the database directory to avoid having to change the
16457           flint database format incompatibly.
16459 Mon Aug 04 14:13:53 GMT 2008  Olly Betts <olly@survex.com>
16461         * backends/chert/chert_database.cc,backends/chert/chert_version.cc,
16462           backends/chert/chert_version.h,configure.ac: Generate a UUID when
16463           a chert database is created, and store it in the version file.
16465 Mon Aug 04 12:16:54 GMT 2008  Olly Betts <olly@survex.com>
16467         * backends/chert/chert_version.cc: Make exception messages more
16468           consistent.
16470 Mon Aug 04 12:15:14 GMT 2008  Olly Betts <olly@survex.com>
16472         * backends/chert/chert_database.cc,backends/chert/chert_version.cc,
16473           backends/chert/chert_version.h: Remove the code to handle upgrading
16474           flint versions >= 200704230 and < 200709120 as it's just dead code
16475           for chert.
16477 Sun Aug 03 14:34:31 GMT 2008  Olly Betts <olly@survex.com>
16479         * api/replication.cc: Track the replica numbers using an int rather
16480           than two strings.  Eliminate two racey uses of file_exists().
16482 Sun Aug 03 11:37:06 GMT 2008  Olly Betts <olly@survex.com>
16484         * docs/replication.rst: Add section on backend support.  Make FIXME a
16485           comment.  Fix erroneous reference to '"-h" parameter'.
16487 Sun Aug 03 11:28:27 GMT 2008  Olly Betts <olly@survex.com>
16489         * api/replication.cc,tests/harness/testrunner.cc: Make replication
16490           work for the chert backend.
16492 Sat Aug 02 16:47:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16494         * include/xapian/enquire.h: Correct documentation comment (iterator
16495           doesn't return terms, it returns mset items).
16497 Sat Aug 02 14:16:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16499         * docs/admin_notes.rst: Fix a typo.
16501 Sat Aug 02 14:06:37 GMT 2008  Olly Betts <olly@survex.com>
16503         * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc:
16504           Fix comment typo in previous commit.
16506 Sat Aug 02 13:04:05 GMT 2008  Olly Betts <olly@survex.com>
16508         * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc: Fix
16509           FlintCursor::del() and ChertCursor::del() to leave the cursor on the
16510           next key when iterating over the unflushed revision (previously the
16511           cursor would end up an extra key along in this case).  (Bug#287)
16512         * tests/api_wrdb.cc: Add regression test cursordelbug1.
16514 Sat Aug 02 05:09:38 GMT 2008  Olly Betts <olly@survex.com>
16516         * api/replication.cc,common/utils.cc,common/utils.h: Change
16517           removedir() to just return if passed a non-existent path and
16518           document this.  Make use of this to avoid having to call
16519           dir_exists() before remove_dir().
16521 Sat Aug 02 04:43:45 GMT 2008  Olly Betts <olly@survex.com>
16523         * tests/api_db.cc,tests/apitest.cc: Make use of new
16524           BackendManager::get_database_path() to eliminate knowledge of
16525           BackendManagerFlint's implementation from test stubdb1.  Put the
16526           stubdb files in a .stub subdirectory and don't remove them after
16527           each test to aid debugging failing tests.  Also now run stubdb tests
16528           under chert and multi backends.  Add more stubdb tests for the
16529           recently added features.
16531 Sat Aug 02 04:39:08 GMT 2008  Olly Betts <olly@survex.com>
16533         * tests/harness/: Adjust the BackendManager interface to reduce code
16534           duplication in subclasses - for backends where the concept of a
16535           path to the database makes sense, we now support a
16536           get_database_path() method and use this in the default
16537           implementation of get_database() in the base class.
16539 Sat Aug 02 04:36:48 GMT 2008  Olly Betts <olly@survex.com>
16541         * tests/apitest.h: Use std::string() in preference to "".
16543 Sat Aug 02 04:35:13 GMT 2008  Olly Betts <olly@survex.com>
16545         * backends/dbfactory.cc: Fix handling of new "inmemory" type in stub
16546           databases.
16548 Sat Aug 02 01:49:35 GMT 2008  Olly Betts <olly@survex.com>
16550         * tests/Makefile.am: Remove the cached test databases in before
16551           running the testsuite by making check-local do the same as
16552           clean-local.
16554 Sat Aug 02 01:42:36 GMT 2008  Olly Betts <olly@survex.com>
16556         * backends/dbfactory.cc: Add support for "inmemory" to stub database
16557           files (it's useful now they can be writable).  Don't just ignore
16558           lines with no spaces in in stub database files.
16560 Thu Jul 31 13:13:30 GMT 2008  Olly Betts <olly@survex.com>
16562         * backends/Makefile.mk,backends/database.cc,backends/dbfactory.cc,
16563           common/database.h,include/xapian/dbfactory.h: Add new
16564           Auto::open_stub() overload which opens a stub database file
16565           containing a single entry as a WritableDatabase.  Move the
16566           non-remote database factory API functions from backends/database.cc
16567           to new file backends/dbfactory.cc, leaving the former solely for
16568           methods of Database::Internal.  A stub database file is now allowed
16569           to contain no database entries, which results in an empty Database
16570           object (this avoids user code having to special case to handle "0 or
16571           more" databases).
16572         * tests/api_nodb.cc: Tidy up #include directives.  Enhance nosuchdb1
16573           to check that we get a reasonable error message - previously we
16574           got "Couldn't detect type of database".
16575         * include/xapian/dbfactory.h: Improve doxygen comment for
16576           InMemory::open().
16578 Thu Jul 31 09:36:41 GMT 2008  Olly Betts <olly@survex.com>
16580         * tests/api_replicate.cc: This is a new file, so use <cstdlib> rather
16581           than <stdlib.h>.
16583 Wed Jul 30 23:10:19 GMT 2008  Olly Betts <olly@survex.com>
16585         * backends/database.cc: Bad lines in a stub file were being ignored
16586           after we'd seen a good entry.
16587         * tests/api_db.cc: Add regression test.
16589 Wed Jul 30 14:42:04 GMT 2008  Olly Betts <olly@survex.com>
16591         * generate-exceptions.in: Use std::string() in preference to "".
16593 Tue Jul 29 23:55:21 GMT 2008  Olly Betts <olly@survex.com>
16595         * AUTHORS: Add Henrik Brix Andersen.
16597 Tue Jul 22 06:01:44 GMT 2008  Olly Betts <olly@survex.com>
16599         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
16600           Eliminate other_base_letter member of FlintTable - its value can
16601           always be easily determined from base_letter.
16603 Mon Jul 21 12:33:54 GMT 2008  Olly Betts <olly@survex.com>
16605         * xapian-config.in: Add bug report URL to xapian-config --help output.
16607 Mon Jul 21 11:55:18 GMT 2008  Olly Betts <olly@survex.com>
16609         * configure.ac: Put the bug report URL as the third parameter to
16610           AC_INIT.  Add proper m4 quoting in a few places (nowhere that
16611           should actually change behaviour).
16613 Mon Jul 21 01:03:12 GMT 2008  Olly Betts <olly@survex.com>
16615         * tests/apitest.cc,tests/harness/testsuite.cc,
16616           tests/harness/testsuite.h: Report subtotals per backend, rather than
16617           per testgroup per backend to make the output much clearer to scan.
16619 Mon Jul 21 00:36:07 GMT 2008  Olly Betts <olly@survex.com>
16621         * tests/apitest.cc: Use startswith().
16623 Sun Jul 20 14:16:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16625         * tests/harness/testsuite.h: Add missing "iomanip" header needed
16626           for setprecision calls.
16628 Sun Jul 20 11:35:35 GMT 2008  Olly Betts <olly@survex.com>
16630         * include/xapian/enquire.h,include/xapian/matchspy.h,
16631           include/xapian/valueiterator.h: Remove explicit empty non-virtual
16632           destructors since the compiler will create them by default anyway.
16634 Sun Jul 20 10:18:52 GMT 2008  Olly Betts <olly@survex.com>
16636         * NEWS: Update from ChangeLog.
16638 Sun Jul 20 10:09:36 GMT 2008  Olly Betts <olly@survex.com>
16640         * Forward-port change from branches/1.0:
16641         * api/omenquire.cc: Fix percentage calculation to cope with excess
16642           precision on x86.  Fix method name for convert_to_percent_internal
16643           in debug logging.
16645 Sun Jul 20 09:13:32 GMT 2008  Olly Betts <olly@survex.com>
16647         * backends/flint/,bin/xapian-check-flint.cc,bin/xapian-check-flint.h,
16648           bin/xapian-compact.cc: Store the tablename in FlintTable as a const
16649           char * - it's a constant string and std::string adds a needless
16650           space overhead.
16652 Sun Jul 20 09:10:49 GMT 2008  Olly Betts <olly@survex.com>
16654         * bin/xapian-check.cc: Follow-on fix for last change - we need to use
16655           strcmp() to compare C strings.
16657 Sun Jul 20 07:09:38 GMT 2008  Olly Betts <olly@survex.com>
16659         * backends/chert/,bin/xapian-check.cc: Store the tablename in
16660           ChertTable as a const char * - it's a constant string and
16661           std::string adds a needless space overhead.
16663 Sat Jul 19 14:19:58 GMT 2008  Olly Betts <olly@survex.com>
16665         * backends/chert/chert_database.cc,backends/chert/chert_values.cc,
16666           backends/chert/chert_values.h: Fix WritableDatabase::add_document()
16667           and replace_document() not to be O(n*n) in the number of values in
16668           the new document.
16669         * backends/flint/flint_database.cc,backends/flint/flint_values.cc,
16670           backends/flint/flint_values.h: Backport fix to flint.
16671         * tests/api_wrdb.cc: Add testcase bigoaddvalue to make sure we don't
16672           regress to O(n*n) (or worse!)
16674 Fri Jul 18 13:24:43 GMT 2008  Olly Betts <olly@survex.com>
16676         * tests/api_wrdb.cc: Rewrite lazytablebug1 testcase to avoid having
16677           to run xapian-compact.
16679 Fri Jul 18 11:59:42 GMT 2008  Olly Betts <olly@survex.com>
16681         * backends/chert/chert_table.cc: Fix handling of a table created
16682           lazily after the database has had commits, and which is then
16683           cursored while still in sequential mode.
16684         * backends/flint/flint_table.cc: Backport fix to flint.
16685         * tests/api_wrdb.cc: Add testcase lazytablebug1.
16687 Fri Jul 18 02:52:55 GMT 2008  Olly Betts <olly@survex.com>
16689         * tests/api_wrdb.cc: Enable test crashrecovery1 for chert.  Finish off
16690           unfinished comment.
16692 Fri Jul 18 02:38:22 GMT 2008  Olly Betts <olly@survex.com>
16694         * tests/api_wrdb.cc,tests/harness/testrunner.cc,
16695           tests/harness/testrunner.h: Add "synonyms" test backend property
16696           and use it to decide where to run synonym tests so they get run on
16697           chert too.  Move virtual TestRunner destructor out of the header.
16698           Don't skip all the spelling tests on chert.
16700 Fri Jul 18 00:56:17 GMT 2008  Olly Betts <olly@survex.com>
16702         * tests/api_wrdb.cc: Eliminate literal top-bit-set characters.
16704 Fri Jul 18 00:40:06 GMT 2008  Olly Betts <olly@survex.com>
16706         * backends/chert/chert_values.cc: Kill superfluous else tokens.
16708 Thu Jul 17 13:00:55 GMT 2008  Olly Betts <olly@survex.com>
16710         * backends/chert/chert_table.cc,backends/chert/chert_table.h:
16711           Eliminate other_base_letter member of ChertTable - its value can
16712           always be easily determined from base_letter.
16714 Thu Jul 17 12:24:19 GMT 2008  Olly Betts <olly@survex.com>
16716         * backends/chert/chert_database.cc: Add space after catch for
16717           consistency.
16719 Thu Jul 17 11:51:57 GMT 2008  Olly Betts <olly@survex.com>
16721         * examples/copydatabase.cc: Use C++ forms of C headers.  Only treat
16722           '\' as a directory separator on platforms where it is.  Update
16723           counter every 13 counting up to the end so that the digits all
16724           "rotate" and the counter ends up on the exact total.
16726 Wed Jul 16 10:10:32 GMT 2008  Olly Betts <olly@survex.com>
16728         * tests/perftest/perftest.cc: Use uname() or gethostname() to get the
16729           hostname on Unix, rather than piping output from uname -n.  Use
16730           startswith() where appropriate.  Prefer resize() and erase() to
16731           assigning a string a substring of itself.  Make internal functions
16732           static.  Prefer string() to "".  Fold sed | sed and grep | sed into
16733           single sed invocations.
16735 Wed Jul 16 05:16:00 GMT 2008  Olly Betts <olly@survex.com>
16737         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
16738           "Check-in Number: 5404" and "5405".
16740 Wed Jul 16 04:48:45 GMT 2008  Olly Betts <olly@survex.com>
16742         * NEWS: Sync with 1.0.7 release.  Start to clean up ChangeLog entry
16743           pile.
16745 Mon Jul 14 05:13:55 GMT 2008  Olly Betts <olly@survex.com>
16747         * queryparser/lemon.c: Fix a typo, remove "\n" from the end of
16748           ErrorMsg() calls since it will get stripped anyway, and escape
16749           literal '%' in ErrorMsg() third arguments.
16751 Sun Jul 13 13:04:58 GMT 2008  Olly Betts <olly@survex.com>
16753         * queryparser/lemon.c: Update note of upstream version we're synced
16754           against.
16756 Sun Jul 13 12:56:58 GMT 2008  Olly Betts <olly@survex.com>
16758         * queryparser/lemon.c: Tweak previous merged patch so that we still
16759           get #line directives for code in %include directives.
16761 Sun Jul 13 12:54:03 GMT 2008  Olly Betts <olly@survex.com>
16763         * queryparser/lemon.c: Merge upstream "Check-in Number: 5335".
16764           Reduces the size of the stripped object file for
16765           queryparser_internal.cc by about 0.5%.
16767 Sun Jul 13 12:32:06 GMT 2008  Olly Betts <olly@survex.com>
16769         * queryparser/lemon.c: Fix typo in comment.
16771 Sun Jul 13 12:30:38 GMT 2008  Olly Betts <olly@survex.com>
16773         * queryparser/lemon.c: Merge upstream "Check-in Number: 5334".  No
16774           change to the generated code in our case.
16776 Sun Jul 13 12:24:13 GMT 2008  Olly Betts <olly@survex.com>
16778         * configure.ac: Add missing hard requirement for libtool 2.2.4.
16780 Sun Jul 13 12:09:40 GMT 2008  Olly Betts <olly@survex.com>
16782         * configure.ac,HACKING: Hard require autoconf 2.62 and automake 1.10.1.
16783           Move all information about particular autoconf and automake versions
16784           to HACKING.
16785         * configure.ac: Use LT_INIT in preference to AC_PROG_LIBTOOL.  On
16786           Linux and k*bsd-gnu, override libtool's link_all_deplibs_CXX to
16787           "no".  On Linux, override libtool's sys_lib_dlsearch_path_spec to a
16788           list generated in a more reliable way which includes *all* the
16789           default directories.  Remove workaround which sets docdir for
16790           autoconf < 2.60 since we now require 2.62.
16791         * xapian-core.spec.in: We no longer need to run autoreconf to work
16792           around libtool's incomplete sys_lib_dlsearch_path_spec or to pick
16793           up distro-specific patches for link_all_deplibs.
16795 Sun Jul 13 11:33:33 GMT 2008  Olly Betts <olly@survex.com>
16797         * Makefile.am: No need to explicitly list m4/*.m4 in EXTRA_DIST as
16798           automake will automatically ship any such files which are needed.
16800 Sun Jul 13 09:15:34 GMT 2008  Olly Betts <olly@survex.com>
16802         * api/omenquire.cc: Back out the rounding of percentages change (at
16803           least for now), as it makes percentage cut-offs work inconsistently.
16804         * tests/api_anydb.cc: Add test pctcutoff3 which demonstrates the issue.
16806 Sun Jul 13 07:01:02 GMT 2008  Olly Betts <olly@survex.com>
16808         * include/xapian/enquire.h: Fix documentation comment for
16809           MSet::get_rank() - the 'document judged "most relevant" will have
16810           rank of 0' only when ordering primarily by relevance.
16812 Sun Jul 13 06:17:13 GMT 2008  Olly Betts <olly@survex.com>
16814         * matcher/multimatch.cc: Tweak layout (makes the backport diff
16815           much smaller and clearer, and reduces indentation by a level for a
16816           chunk of code).
16818 Fri Jul 11 13:44:56 GMT 2008  Olly Betts <olly@survex.com>
16820         * tests/harness/testutils.cc: Fix typos in recent improved output.
16822 Fri Jul 11 13:04:41 GMT 2008  Olly Betts <olly@survex.com>
16824         * matcher/multimatch.cc: Collect up all the scaling factors we apply
16825           to the estimated number of matches and apply them in one go to avoid
16826           rounding the result more than once.
16828 Fri Jul 11 12:21:11 GMT 2008  Olly Betts <olly@survex.com>
16830         * tests/api_anydb.cc: Add testcase for percent cutoff plus collapsing
16831           which most likely would have failed before Richard's recent fix
16832           for the lower bound with collapsing and a matchdecider.
16834 Fri Jul 11 05:30:02 GMT 2008  Olly Betts <olly@survex.com>
16836         * backends/database.cc: Add support for XAPIAN_PREFER_CHERT
16837           environmental variable.
16839 Thu Jul 10 22:21:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16841         * api/postingsource.cc: Fix skip_to() so that it doesn't advance if
16842           it's already in a suitable position.
16843         * include/xapian/postingsource.h: Specify that skip_to() should
16844           stay in the same position if the current position is equal to
16845           the docid argument of skip_to().
16846         * tests/api_db.cc: Add valueweightsource3 to check that skip_to()
16847           stays in the same position in this case.
16849 Thu Jul 10 13:14:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16851         * api/postingsource.cc: Performance improvement - open documents
16852           lazily (using the internal interface) so that we don't access
16853           the record table for each one - we now just access the value
16854           table.  Leads to considerable speed up for me (of the order of 5
16855           times faster).
16857 Thu Jul 10 09:49:39 GMT 2008  Olly Betts <olly@survex.com>
16859         * HACKING: Overhaul the sections on building from SVN.  Remove ':'
16860           from the end of headings.
16862 Wed Jul 09 10:43:01 GMT 2008  Olly Betts <olly@survex.com>
16864         * configure.ac: The workaround to avoid probe code for F77, GCJ, and
16865           RC being added to configure is no longer required now that we're
16866           using libtool 2.2 so remove it.
16868 Wed Jul 09 09:40:43 GMT 2008  Olly Betts <olly@survex.com>
16870         * Makefile.am,acinclude.m4,autoconf/dir_contents,
16871           autoconf/rjb_find_stlport.m4,autoconf/type_socklen_t.m4,
16872           m4/dir_contents,m4/rjb_find_stlport.m4,m4/type_socklen_t.m4: Move
16873           the m4 macros which we ship for building configure from into the m4
16874           subdirectory and remove acinclude.m4 - now aclocal will pull in the
16875           required macros automatically.
16877 Wed Jul 09 09:14:31 GMT 2008  Olly Betts <olly@survex.com>
16879         * Makefile.am: Update for m4 -> m4-macros change.
16881 Wed Jul 09 09:11:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16883         * matcher/externalpostlist.cc: Fix segfault if get_maxweight() is
16884           called when the postlist has reached end.  This happens if the
16885           end is reached during decay of an AND_MAYBE postlist to an AND.
16886         * common/postlist.h,matcher/: Add comments documenting that
16887           recalc_maxweight() may be called after the postlist has reached
16888           the end, and noting why this is safe in various cases.
16890 Wed Jul 09 09:02:08 GMT 2008  Olly Betts <olly@survex.com>
16892         * m4-macros/dir_contents,m4-macros/xapian.m4,m4/dir_contents,
16893           m4/xapian.m4: Move xapain.m4 to a new subdirectory (m4-macros) since
16894           libtoolize now installs m4 files into subdirectory m4 which we don't
16895           really want picking up by applications building against an
16896           uninstalled xapian-core.
16898 Wed Jul 09 08:03:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16900         * Makefile.am,m4/dir_contents,xapian.m4: Move xapian.m4 back into
16901           the m4 subdirectory.  For uninstalled builds, we need xapian.m4
16902           to be in a directory without any other .m4 files, or we'll be
16903           likely to pull in the wrong versions of other macros.  The top
16904           level directory contains aclocal.m4 and acinclude.m4, so isn't
16905           suitable for this.  Also, the xapian-bindings and omega
16906           compilations hadn't been updated with the new xapian.m4 location,
16907           so this fixes the build for them.
16909 Wed Jul 09 07:17:38 GMT 2008  Olly Betts <olly@survex.com>
16911         * Makefile.am,configure.ac: Use AC_CONFIG_MACRO_DIR and
16912           ACLOCAL_AMFLAGS as libtoolize 2.2.4 recommends.
16914 Wed Jul 09 06:37:21 GMT 2008  Olly Betts <olly@survex.com>
16916         * acinclude.m4: Remove reference to definedir.m4.
16918 Wed Jul 09 05:32:24 GMT 2008  Olly Betts <olly@survex.com>
16920         * Makefile.am,m4/dir_contents,m4/xapian.m4,xapian.m4: Move xapian.m4
16921           to the top level rather than devoting a whole directory to a single
16922           file.
16924 Wed Jul 09 05:23:02 GMT 2008  Olly Betts <olly@survex.com>
16926         * Makefile.am,autoconf/definedir.m4,configure.ac: AC_DEFINE_DIR()
16927           hasn't been used for years so remove it.
16929 Wed Jul 09 02:32:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16931         * api/postingsource.cc,include/xapian/postingsource.h: Add an
16932           alternative constructor for ValueWeightPostingSource which allows
16933           the upper bound on the weights stored to be specified manually.
16934           This is useful for database formats like flint which don't have
16935           an upper bound available.  It could conceivably also be useful if
16936           you know that a query will only be accessing a subset of
16937           documents for which you know a more precise upper bound than the
16938           database-wide upper bound.
16940 Wed Jul 09 01:59:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16942         * matcher/externalpostlist.cc: Add DEBUGCALL macros to enable
16943           easier debugging.
16945 Mon Jul 07 12:40:20 GMT 2008  Olly Betts <olly@survex.com>
16947         * HACKING,NEWS: Update to reflect the autotools now being in the SVN
16948           tree, and the versions we are now bootstrapping with.
16949         * NEWS: Update from ChangeLog.
16951 Sun Jul 06 22:59:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16953         * matcher/multimatch.cc,matcher/remotesubmatch.cc,
16954           matcher/remotesubmatch.h: Apply patch from ticker #279 to improve
16955           performance of matches with multiple remote databases.  This adds
16956           a special case for the top match being from a remote database, to
16957           avoid accessing the termlist to calculate the percentage scaling
16958           factor.
16960 Sun Jul 06 22:55:17 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16962         * api/omenquire.cc: When calculating percentages, round to the
16963           nearest integer, rather than rounding down.  There was a FIXME
16964           about this, but no explanation of why it hadn't already been
16965           done, and I can see no bad side effects so far.  The most obvious
16966           positive effect is that queries which should get precisely 100%
16967           will no longer be assigned 99% due to rounding errors.
16969 Sun Jul 06 22:48:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16971         * tests/api_anydb.cc: Add new test, topercent2, checking the
16972           percentage values returned by standard searches, both against
16973           known current values for some of the hits, and against a search
16974           with a "local" backend.  Also, in rsetmultidb1, test the return
16975           value of mset_range_is_same_weights().
16976         * tests/api_db.cc: In rsetmultidb2, test the return value of
16977           mset_range_is_same_weights().
16979 Sun Jul 06 22:46:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16981         * tests/harness/testutils.cc,tests/harness/testutils.h: Add
16982           function to test if two mset ranges have the same percentages,
16983           and slightly improve the messages on failure of the mset range
16984           comparison tests.
16986 Fri Jul 04 23:31:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16988         * NEWS: Swap two words to make a sentence make sense.
16990 Fri Jul 04 11:40:13 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16992         * matcher/multimatch.cc: Fix calculation of lower bound when
16993           collapsing and match deciders are used.  (Only tended to manifest
16994           when the collapsing threw away a lot of documents, and when also
16995           using a custom sort order, but I don't think that was required.)
16996           Also, perform the adjustments due to percentage cutoffs after the
16997           other adjustments, to avoid the lower bound setting for
16998           collapsing overriding the lower bound from the percentage cutoff.
16999         * tests/harness/index_utils.cc: Add a value to value slot 12, which
17000           only has 5 different values, for testing this bug.
17001         * tests/api_db.cc: Add regression test for calculation of the lower
17002           bound.
17004 Fri Jul 04 10:24:16 GMT 2008  Olly Betts <olly@survex.com>
17006         * Makefile.am,bin/Makefile.mk,examples/Makefile.mk: Remove
17007           extra_cleandirs as automake 1.10.1 fixes the bug which it was working
17008           around.
17010 Fri Jul 04 04:36:59 GMT 2008  Olly Betts <olly@survex.com>
17012         * HACKING: Synchronise tiny change from branches/1.0 which isn't
17013           on trunk for some reason.
17015 Fri Jul 04 04:35:19 GMT 2008  Olly Betts <olly@survex.com>
17017         * HACKING: Bootstrap with newer versions of the autotools:
17018           + autoconf 2.61 -> 2.62: faster
17019           + automake 1.10 -> 1.10.1: "make clean" cleans all .libs
17020             directories.
17021           + libtool 1.5.24 -> 2.2.4: many improvements; faster.
17023 Thu Jul 03 03:17:42 GMT 2008  Olly Betts <olly@survex.com>
17025         * docs/glossary.rst,docs/intro_ir.html: Improve intro_ir a bit, and
17026           link to the definition of RSet in the glossary.
17028 Thu Jul 03 01:30:56 GMT 2008  Olly Betts <olly@survex.com>
17030         * examples/quest.cc: Output get_description() of the parsed query.
17032 Sun Jun 29 18:56:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17034         * matcher/multimatch.cc: Rename percent_factor variable, used here
17035           as part of the percent_cutoff mechanism, to make its purpose
17036           clearer, and to avoid confusing it with percent_scale in this
17037           file, and percent_factor used elsewhere in matcher/.
17039 Sat Jun 28 21:51:42 GMT 2008  Olly Betts <olly@survex.com>
17041         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Disable
17042           "JAVADOC_AUTOBRIEF" since we always try to write a brief
17043           description explicitly, and it causes problems in some cases.
17045 Sat Jun 28 21:32:21 GMT 2008  Olly Betts <olly@survex.com>
17047         * common/: Fix typos in doxygen comments.
17049 Sat Jun 28 10:33:06 GMT 2008  Olly Betts <olly@survex.com>
17051         * languages/stem.cc: Add "nl" for selecting the Dutch stemmer, which
17052           was accidentally missing from the list of language codes recognised.
17053           Reported by Joey Hess in Debian bug #484458.
17054         * tests/api_nodb.cc: Extend stemlangs1 to check that all the language
17055           codes work, and so does Stem("").
17057 Fri Jun 27 00:27:31 GMT 2008  Olly Betts <olly@survex.com>
17059         * NEWS: Update from ChangeLog and against 1.0 branch.
17061 Thu Jun 26 17:17:41 GMT 2008  Olly Betts <olly@survex.com>
17063         * net/remoteconnection.cc: The "already done" check in do_close() is
17064           no longer useful, so remove it.  Shrink the try block to only cover
17065           the call to send_message().
17067 Thu Jun 26 08:19:41 GMT 2008  Olly Betts <olly@survex.com>
17069         * net/remoteconnection.cc: Don't bother to send MSG_SHUTDOWN for a
17070           read-only Database - just closing the connection is enough.
17072 Thu Jun 26 04:49:06 GMT 2008  Olly Betts <olly@survex.com>
17074         * backends/chert/chert_btreebase.cc: Don't need <string.h> as well as
17075           <cstring>.
17076         * backends/flint/flint_btreebase.cc,bin/xapian-replicate-server.cc:
17077           Prefer <cXXX> to <XXX.h>.
17079 Tue Jun 24 04:31:10 GMT 2008  Olly Betts <olly@survex.com>
17081         * tests/harness/testsuite.cc: Use resize() to truncate a string.
17083 Tue Jun 24 04:23:59 GMT 2008  Olly Betts <olly@survex.com>
17085         * net/remoteconnection.cc: Fill in a guess at the __WIN32__ version of
17086           the code needed in RemoteConnection::do_close().
17088 Tue Jun 24 04:06:02 GMT 2008  Olly Betts <olly@survex.com>
17090         * net/progclient.cc: Fix debug logging for __WIN32__.
17092 Tue Jun 24 03:11:09 GMT 2008  Olly Betts <olly@survex.com>
17094         * net/remoteserver.cc: Just delete the Database * pointer db.  The
17095           Database dtor is virtual, so it's fine to delete a WritableDatabase
17096           via a Database * pointer.
17098 Tue Jun 24 01:29:12 GMT 2008  Olly Betts <olly@survex.com>
17100         * backends/remote/remote-database.cc,common/remoteconnection.h,
17101           net/remoteconnection.cc,net/replicatetcpclient.cc: Wait for the
17102           connection to close rather than using a different shutdown message
17103           which requires a reply.  Mostly this is more backport-friendly, but
17104           it also avoids a message reply (albeit it not in a performance
17105           sensitive situation).  Needs implementing for __WIN32__.
17107 Tue Jun 24 01:07:16 GMT 2008  Olly Betts <olly@survex.com>
17109         * net/remoteserver.cc: Unwrap comment.
17111 Tue Jun 24 00:52:02 GMT 2008  Olly Betts <olly@survex.com>
17113         * net/remoteserver.cc: Kill a blank line.
17115 Tue Jun 24 00:49:50 GMT 2008  Olly Betts <olly@survex.com>
17117         * backends/remote/remote-database.cc,common/remoteconnection.h,
17118           common/remoteprotocol.h,docs/remote_protocol.html,
17119           net/remoteconnection.cc,net/remoteserver.cc,
17120           net/replicatetcpclient.cc: Revert r10713 in preparation for applying
17121           an alternative fix.
17123 Mon Jun 23 21:51:42 GMT 2008  Olly Betts <olly@survex.com>
17125         * HACKING: Expand list of keywords for brace cuddling.  Add rationale.
17127 Mon Jun 23 01:53:03 GMT 2008  Olly Betts <olly@survex.com>
17129         * tests/queryparsertest.cc: Cuddle braces after for loops for
17130           consistency with the rest of the code.  Use string::resize() to
17131           shrink a string rather than assigning the result of substr(0, x).
17132         * HACKING: Explicitly document that braces should be cuddled after
17133           control flow structures.
17135 Mon Jun 23 01:34:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17137         * tests/perftest/perftest_matchdecider.cc: Reworked performance
17138           test to include a test of an alldocspostingiterator, and to only
17139           rebuild the database involved if it's not up-to-date.
17141 Mon Jun 23 01:20:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17143         * common/valuestats.h: Add missing #include.
17145 Mon Jun 23 01:10:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17147         * bin/xapian-compact.cc: Add support for the valuestats which are
17148           now held in the value table for chert.
17150 Sun Jun 22 23:44:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17152         * backends/chert/: Change ChertAllDocsPostList to inherit from
17153           ChertPostList and use the doclen list from the posting table
17154           rather than using the termlist table.  This helps towards making
17155           the termlist table optional, reduces the amount of data read in
17156           the process of iterating through an alldocs postlist, and can
17157           make a massive difference in performance: I've measured the time
17158           to iterate through all the documents in a 1000000 document
17159           database, and the patch speeds this operation up by a factor of
17160           6.
17162           Add `keep_reference` parameter to the ChertPostList constructor,
17163           instead of not keeping a reference if the term is empty.
17164           ChertAllDocsPostList uses this to keep a reference to the
17165           database while using an empty term.
17167           Add ChertAllDocsModifiedPostList class, inspired by
17168           ChertModifiedPostList, (with corresponding new source files) to
17169           handle alldocs postlist with modifications: this wasn't needed
17170           before since the termlist is updated immediately after changes.
17172 Sun Jun 22 21:37:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17174         * tests/harness/: Add "name" parameter to
17175           BackendManager::get_writable_database_as_database(), and
17176           BackendManager::get_writable_database_again(), (and subclasses)
17177           so that old databases can be revived.  Useful for the performance
17178           tests.
17180 Sun Jun 22 09:30:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17182         * tests/api_anydb.cc: Expand tests for alldocspostlist, covering
17183           iteration of modified databases.
17185 Fri Jun 20 08:28:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17187         * backends/remote/remote-database.cc,common/remoteconnection.h,
17188           common/remoteprotocol.h,docs/remote_protocol.html,
17189           net/remoteconnection.cc,net/remoteserver.cc,
17190           net/replicatetcpclient.cc: Add new message
17191           "MSG_SHUTDOWNANDCONFIRM" which causes a reply of
17192           "REPLY_SHUTDOWNCONFIRMATION" to be sent after the database has
17193           been closed.  Use this message when closing a writable database,
17194           to ensure that the destructor doesn't return until the lock on
17195           the database has been released.
17197 Tue Jun 17 14:28:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17199         * tests/perftest/freemem.cc,tests/perftest/perftest.cc: Patches
17200           from Charlie to allow perftest to compile on windows.
17202 Tue Jun 17 13:23:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17204         * backends/chert/chert_btreebase.cc,backends/chert/chert_lock.cc,
17205           backends/flint/flint_btreebase.cc,backends/flint/flint_lock.cc,
17206           bin/xapian-replicate-server.cc: Add some missing includes, needed
17207           for GCC 4.3.
17209 Tue Jun 17 11:00:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17211         * tests/perftest/get_machine_info.in: Updates to hopefully get
17212           useful version information on windows.
17214 Mon Jun 16 12:13:48 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17216         * tests/harness/testsuite.cc: Don't call backendmanager->posttest()
17217           if no backendmanager is in use.
17219 Sun Jun 15 02:19:03 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17221         * tests/harness/: Wait for subprocesses to finish at end of tests,
17222           with remotetcp backend, to avoid test failures due to final flush
17223           of a subprocess writing to the database used for the next test.
17225 Thu Jun 12 09:09:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17227         * common/unaligned.h: Add some casts to make GCC 4.3.0 happy.
17229 Thu Jun 12 09:06:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17231         * backends/chert/chert_btreebase.cc: Add missing #include (needed
17232           for compilation with GCC 4.3.0).
17234 Tue Jun 10 17:38:07 GMT 2008  Olly Betts <olly@survex.com>
17236         * tests/harness/testrunner.cc: Use startswith().  Fix memory leak.
17238 Fri Jun 06 11:02:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17240         * Makefile.am,tests/Makefile.am: Fix make check-* targets to match
17241           the current set of backends.  Add .multichert and .multiflint to
17242           the clean-local hook in tests/.  Leave .multi there for now, to
17243           clean up existing .multi directories in the automated build trees.
17245 Fri Jun 06 08:26:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17247         * common/Makefile.mk: Add valuestats.h to distribution.
17249 Thu Jun 05 23:37:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17251         * backends/chert/chert_values.cc: Fix compile error in assertion in
17252           recently added code for calculating value statistics.
17254 Thu Jun 05 21:38:01 GMT 2008  Olly Betts <olly@survex.com>
17256         * queryparser/queryparser.lemony: Use std::vector<Term *> rather than
17257           std::list<Term *> so that size() is O(1) with any (sane) compiler
17258           and because a list of pointers isn't space efficient (and we don't
17259           need to splice here).  Factor out common code in if branches in
17260           TermGroup::as_group().
17262 Thu Jun 05 17:04:23 GMT 2008  Olly Betts <olly@survex.com>
17264         * queryparser/queryparser.lemony: Use "startswith()" to avoid creating
17265           a new string object.
17267 Thu Jun 05 09:09:54 GMT 2008  Olly Betts <olly@survex.com>
17269         * queryparser/queryparser.lemony: Remove variable which is set but
17270           never otherwise used.
17272 Thu Jun 05 09:08:22 GMT 2008  Olly Betts <olly@survex.com>
17274         * api/omqueryinternal.cc: Don't call find() twice - reuse the result
17275           we just got.  Use AssertEq() rather than Assert() on an equality
17276           test.  Clarify a comment.
17278 Wed Jun 04 21:32:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17280         * queryparser/queryparser.lemony: Fix more O(N*N) scaling, this
17281           time in the way in which auto multiword synonyms are detected.
17282           Instead of trying all possible sub-sequences of terms for
17283           synonyms, use synonym_keys and the skip_to() method to check for
17284           synonyms which actually exist in the synonyms table.
17285         * tests/queryparsertest.cc: Extend the scaling test to check this
17286           case.
17288 Wed Jun 04 12:42:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17290         * queryparser/queryparser.lemony: Fix various cases where queries
17291           were constructed pair-wise within a loop, which leads to O(N*N)
17292           scaling behaviour (because each intermediate query construction
17293           is O(M) where M is the size of that query, and there are N of
17294           them).
17295         * tests/queryparsertest.cc: Add test to check that parsing of a
17296           query scales roughly linearly with query size.
17297         * common/omtime.h: Add method to get an OmTime as a double - used
17298           by the new query parser test.
17300 Wed Jun 04 12:18:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17302         * tests/harness/testsuite.h: Fix TEST_LESSER_OR_EQUAL and
17303           TEST_LESSER macros to compare in the right direction (these
17304           macros are, so far, unused).
17306 Mon Jun 02 18:19:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17308         * api/postingsource.cc: Make ValueWeightPostingSource use value
17309           statistics, if they're available, to return accurate term
17310           frequency statistics, and a better maxweight.
17311         * tests/api_db.cc: Add valueweightsource2, to test the bounds and
17312           maxweight returned by a ValueWeightPostingSource for backends
17313           with valuestats support.  Replace !multi condition in
17314           valueweightsource1 with a SKIP_TEST_FOR_BACKEND invocation, since
17315           this is a shortcoming we should fix at some point.
17317 Mon Jun 02 18:16:52 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17319         * tests/harness/testrunner.cc,tests/harness/testrunner.h: Replace
17320           DO_TESTS_FOR_BACKEND macro with a do_tests_for_backend method;
17321           the method version takes a BackendManager * and gets the backend
17322           name from that, rather than requiring it to be specified.
17323           Requires addition of a couple of extra private members to the
17324           TestRunner class.
17326 Mon Jun 02 10:27:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17328         * include/xapian/database.h: Add get_value_freq(),
17329           get_value_lower_bound() and get_value_upper_bound() methods to
17330           Database, to get statistics about the values stored in a slot.
17331         * api/omdatabase.cc,backends/chert/,backends/database.cc,
17332           backends/inmemory/inmemory_database.cc,
17333           backends/inmemory/inmemory_database.h,
17334           backends/remote/remote-database.cc,common/,
17335           net/remoteserver.cc: Add support for the value statistics methods
17336           to chert, inmemory, multi and remote databases.
17337         * tests/Makefile.am,tests/api_valuestats.cc,
17338           tests/harness/testrunner.cc,tests/harness/testrunner.h: Add test
17339           of the value statistics code, and a "valuestats" backend property
17340           to select only backends supporting this.
17342 Mon Jun 02 10:26:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17344         * tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
17345           Move implementation of get_dbtype() method out of header.
17347 Mon Jun 02 09:44:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17349         * rests/harness/: Make flint and chert subtypes for the remote and
17350           multi backend types.  These are specified (on the command line
17351           and elsewhere) by the main type (multi, remotetcp or remoteprog),
17352           followed by an underscore, followed by the subtype (flint or
17353           chert).  Change return type of BackendManager::get_dbtype() to a
17354           string instead of a const char *, to allow backend managers which
17355           have subtypes to generate the result dynamically.
17356         * tests/harness/backendmanager_remote.cc,
17357           tests/harness/backendmanager_remote.h,
17358           tests/harness/backendmanager_remoteprog.cc,
17359           tests/harness/backendmanager_remoteprog.h,
17360           tests/harness/backendmanager_remotetcp.cc,
17361           tests/harness/backendmanager_remotetcp.h: Add new
17362           BackendManagerRemote class as a common base for the two remote
17363           backend managers, and move duplicated code into it.  Add
17364           parameter to its constructor, and to the constructors of the
17365           remote backend manager subclasses, to control the type of
17366           database to use at the remote end.
17367         * tests/harness/backendmanager_multi.cc,
17368           tests/harness/backendmanager_multi.h: Add parameter to
17369           constructor of BackendManagerMulti, controlling the type of
17370           database to use for sub databases.  Put the generated database
17371           files in ".multiflint" and ".multichert" instead of ".multi".
17372         * tests/harness/testrunner.cc: Update list of backend properties to
17373           contain the new subtypes.  Modify use_backend() to allow either
17374           the full backend type, or just the main part of the backend type,
17375           to be specified, so that, for example "-b multi" will run both
17376           the multi_chert and multi_flint tests.  Add test runs for all the
17377           subtypes now supported.  Catch string exceptions thrown by the
17378           test runner - these can currently occur when neither flint or
17379           chert are compiled in.
17380         * tests/apitest.cc,tests/apitest.h: Adjust return type of
17381           get_dbtype(), implement skip_test_*_backend functions which just
17382           check the prefix of the type, and implement SKIP_TEST_*_BACKEND
17383           macros using these.
17384         * tests/api_anydb.cc: Modify check for running on a multi backend
17385           to copy with getting a string back from get_dbtype().
17387 Sat May 31 00:55:03 GMT 2008  Olly Betts <olly@survex.com>
17389         * tests/Makefile.am,tests/perftest/Makefile.mk: Remove unnecessary
17390           quotes.
17392 Thu May 29 16:04:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17394         * tests/perftest/: Update svn:ignore property for perftest changes.
17396 Thu May 29 14:33:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17398         * tests/perftest/perftest.cc: Include the xapian version string in
17399           the test output.  For runs from SVN, also include the subversion
17400           revision number and branch in the output.
17402 Wed May 28 21:47:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17404         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc,
17405           matcher/valuerangepostlist.h: Apply patch from ticket #270 to
17406           implement ValueRangePostList::next() by using an alldocs posting
17407           list, instead of trying docids in turn.  This is much more
17408           efficient if document IDs are sparse.  Since both methods require
17409           accessing the termlist table to check for the next document, and
17410           some cursory performance tests don't show a measurable difference
17411           in speed, I think this approach is at least safe, and probably
17412           superior.
17414 Wed May 28 21:28:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17416         * tests/perftest/perftest.cc: Log the flush threshold for indexing
17417           runs.
17418         * tests/perftest/perftest_randomidx.cc: Set the run size back to a
17419           reasonably large value.
17421 Wed May 28 20:48:10 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17423         * configure.ac,tests/,tests/perftest/,tests/perftest_matchdecider.cc,
17424           tests/perftest_randomidx.cc: Move performance test source files
17425           into a subdirectory.  Modify output of performance tests to
17426           include some basic system information, and also to include
17427           details of the parameters used to perform indexing tests.
17429 Wed May 28 20:42:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17431         * HACKING: Fix numbering in checklist for developers so that it
17432           doesn't repeat section 5.
17434 Sun May 25 14:21:40 GMT 2008  Olly Betts <olly@survex.com>
17436         * NEWS: Update to match 1.0 branch.
17438 Sun May 25 00:24:09 GMT 2008  Olly Betts <olly@survex.com>
17440         * NEWS: Start to update from ChangeLog, stripping out backported
17441           changes.
17443 Sat May 24 16:38:49 GMT 2008  Olly Betts <olly@survex.com>
17445         * NEWS,configure.ac: Update to match 1.0 branch.
17447 Sat May 24 16:33:19 GMT 2008  Olly Betts <olly@survex.com>
17449         * tests/termgentest.cc: Pass Xapian::Document by const reference.
17451 Sat May 24 14:30:59 GMT 2008  Olly Betts <olly@survex.com>
17453         * bin/xapian-compact.cc: Only warn about duplicate user metadata keys
17454           if the tags aren't the same.
17456 Sat May 24 12:14:55 GMT 2008  Olly Betts <olly@survex.com>
17458         * bin/Makefile.am: Put special -I options in foo_CPPFLAGS not
17459           foo_CXXFLAGS.  As well as being the more correct place, this also
17460           means that AM_CXXFLAGS is now used when compiling xapian-check and
17461           xapian-compact, which in particular enables compiler warnings.
17462         * bin/xapian-check.cc,bin/xapian-compact.cc,bin/xapian-check-flint.cc:
17463           Fix warnings (one unused variable and a few cases of a variable
17464           masking another with the same name - none problematic in practice).
17466 Fri May 23 09:22:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17468         * backends/inmemory/inmemory_database.cc: Fix bug in inmemory
17469           database, which resulted in the values not being stored correctly
17470           if document IDs were sparse.
17471         * matcher/valuerangepostlist.cc: Fix the next() method not to
17472           return document IDs which aren't present in the database - this
17473           used to happen if the document IDs were sparse.
17474         * tests/api_anydb.cc: Add "valuerange2", a regression test for
17475           OP_VALUE_LE returning document IDs which aren't present in the
17476           database, and "alldocspl1", which does a generic test of an
17477           alldocs postlist in a sparse database (this passed before the
17478           above changes, but might as well be added anyway).
17480 Wed May 21 19:33:12 GMT 2008  Olly Betts <olly@survex.com>
17482         * docs/Makefile.am: test == isn't portable - use test = instead.
17484 Wed May 21 13:22:23 GMT 2008  Olly Betts <olly@survex.com>
17486         * HACKING: Fix path for atreus.
17488 Wed May 21 13:21:08 GMT 2008  Olly Betts <olly@survex.com>
17490         * HACKING: Fix search&replace error - the CVS module is still called
17491           www.xapian.org.
17493 Wed May 21 13:16:39 GMT 2008  Olly Betts <olly@survex.com>
17495         * HACKING: Reword, since environmental variable PATH isn't "set by
17496           $PATH".
17498 Wed May 21 13:16:21 GMT 2008  Olly Betts <olly@survex.com>
17500         * HACKING: ixion -> atreus.
17502 Wed May 21 13:12:07 GMT 2008  Olly Betts <olly@survex.com>
17504         * include/xapian/database.h: Improve documentation comment.
17506 Sun May 18 05:20:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17508         * docs/remote_protocol.html: Remove spurious "i" at end of line.
17510 Sat May 17 11:53:54 GMT 2008  Olly Betts <olly@survex.com>
17512         * tests/harness/testutils.h: Layout and macro parameter name tweaks.
17514 Fri May 16 20:42:05 GMT 2008  Olly Betts <olly@survex.com>
17516         * bin/xapian-compact.cc: Check that all source databases are the same
17517           type (flint or chert).  Copy over "iamchert" for chert.  Update
17518           terminology - the "meta file" is now called the "version file".
17520 Fri May 16 17:33:22 GMT 2008  Olly Betts <olly@survex.com>
17522         * backends/chert/chert_database.cc,backends/chert/chert_version.cc:
17523           Need <cstdio> for rename().
17525 Fri May 16 17:27:56 GMT 2008  Olly Betts <olly@survex.com>
17527         * backends/chert/chert_database.cc: Correct FIXME comment and mark
17528           as "FIXME:1.2.0".
17530 Fri May 16 17:21:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17532         * tests/harness/testrunner.cc,tests/harness/testrunner.h: Add
17533           condition to test if the backend is "inmemory".
17534         * tests/perftest_randomidx.cc: Change the run size from 1000
17535           documents to 1000000.  Disable this test for the inmemory
17536           backend, because it will quickly use up all the memory on the
17537           machine.
17539 Fri May 16 16:56:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17541         * HACKING: Add note about some more PDF generation tools which are
17542           needed, and that doxygen requires them to be on PATH.
17544 Fri May 16 16:38:40 GMT 2008  Olly Betts <olly@survex.com>
17546         * HACKING: Ubuntu now needs tetex-extra too.
17548 Fri May 16 10:05:30 GMT 2008  Olly Betts <olly@survex.com>
17550         * bin/xapian-compact.cc: Fix to not reject chert databases during the
17551           "up front" check.
17553 Thu May 15 20:20:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17555         * net/progclient.cc: Set namespace for close methods (to avoid
17556           conflicting with the close method I'm working on adding to
17557           database internal).
17559 Wed May 14 17:14:53 GMT 2008  Olly Betts <olly@survex.com>
17561         * backends/database.cc: Default to flint not chert for a new database.
17563 Wed May 14 17:11:56 GMT 2008  Olly Betts <olly@survex.com>
17565         * api/postingsource.cc,docs/postingsource.rst,
17566           include/xapian/postingsource.h,matcher/externalpostlist.cc:
17567           PostingSource::check() now returns the valid flag rather than
17568           passing it in by reference to be set.  Change "should" to "must"
17569           for the get_termfreq_est() requirement at Richard's suggestion.
17570           Add parameter names to PostingSource method prototypes and update
17571           documentation comments to match.
17573 Wed May 14 15:34:38 GMT 2008  Olly Betts <olly@survex.com>
17575         * docs/Makefile.am,docs/index.html,docs/postingsource.rst: Add
17576           topic document for PostingSource.
17578 Mon May 12 17:27:13 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17580         * include/xapian/postingsource.h: Add documentation comments for
17581           ValueWeightPostingSource, and tweak
17582           PostingSource::get_maxweight() comment a bit more.
17584 Mon May 12 16:51:01 GMT 2008  Olly Betts <olly@survex.com>
17586         * include/xapian/postingsource.h: Clarify get_maxweight() if the
17587           maximum from now on.
17589 Mon May 12 06:51:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17591         * api/postingsource.cc,include/xapian/postingsource.h,tests/api_db.cc,
17592           tests/harness/index_utils.cc: Add ValueWeightPostingSource, which
17593           reads a value, applies sortable_unserialise() to it, and returns
17594           that as the weight for each document.
17596 Sun May 11 23:49:07 GMT 2008  Olly Betts <olly@survex.com>
17598         * queryparser/lemon.c,queryparser/queryparser.lt: Do a final sync by
17599           comparing our versions to the latest vanilla upstream.  Add a note
17600           to each file of the latest revision sync-ed against.
17601         * queryparser/lemon.c: Enable '#define PRIVATE static'.
17603 Sun May 11 22:48:27 GMT 2008  Olly Betts <olly@survex.com>
17605         * NEWS: Add a note of the speed-up that the recent QueryParser changes
17606           have given.
17608 Sun May 11 22:10:19 GMT 2008  Olly Betts <olly@survex.com>
17610         * queryparser/lemon.c: Merge upstream "Check-in Number: 5053".
17612 Sun May 11 22:01:48 GMT 2008  Olly Betts <olly@survex.com>
17614         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5052".
17616 Sun May 11 21:56:03 GMT 2008  Olly Betts <olly@survex.com>
17618         * queryparser/queryparser.lt: Fix a comment typo.
17620 Sun May 11 21:52:30 GMT 2008  Olly Betts <olly@survex.com>
17622         * queryparser/lemon.c: Merge upstream "Check-in Number: 4751".
17624 Sun May 11 21:51:18 GMT 2008  Olly Betts <olly@survex.com>
17626         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4745".
17628 Sun May 11 21:47:03 GMT 2008  Olly Betts <olly@survex.com>
17630         * queryparser/queryparser.lt: Comment out memset() call added by
17631           one of the earlier merged upstream changes - a later comment on
17632           the ticket referred to notes that this was actually a bug in the
17633           grammar of the people who reported it.
17635 Sun May 11 21:44:46 GMT 2008  Olly Betts <olly@survex.com>
17637         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4743".
17639 Sun May 11 21:41:55 GMT 2008  Olly Betts <olly@survex.com>
17641         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4738".
17643 Sun May 11 21:33:13 GMT 2008  Olly Betts <olly@survex.com>
17645         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17646           "Check-in Number: 4736".
17647         * queryparser/lemon.c: Add %syntax_error directive since lemon has
17648           changed it's error recovery strategy if you don't have one.
17650 Sun May 11 20:54:31 GMT 2008  Olly Betts <olly@survex.com>
17652         * queryparser/queryparser.lemony: If we hit a syntax error, don't
17653           bother feeding further tokens to the parser!
17655 Sat May 10 21:42:44 GMT 2008  Olly Betts <olly@survex.com>
17657         * queryparser/lemon.c: Merge upstream "Check-in Number: 4641".
17659 Sat May 10 21:33:10 GMT 2008  Olly Betts <olly@survex.com>
17661         * queryparser/lemon.c: Merge upstream "Check-in Number: 4473".
17663 Sat May 10 21:31:25 GMT 2008  Olly Betts <olly@survex.com>
17665         * queryparser/lemon.c: Merge upstream "Check-in Number: 4439".
17667 Sat May 10 21:28:27 GMT 2008  Olly Betts <olly@survex.com>
17669         * queryparser/lemon.c: Merge upstream "Check-in Number: 4274".
17671 Sat May 10 21:25:35 GMT 2008  Olly Betts <olly@survex.com>
17673         * queryparser/lemon.c: Merge upstream "Check-in Number: 4190".
17675 Sat May 10 21:20:16 GMT 2008  Olly Betts <olly@survex.com>
17677         * queryparser/lemon.c: Merge upstream "Check-in Number: 4160".
17679 Sat May 10 21:07:15 GMT 2008  Olly Betts <olly@survex.com>
17681         * queryparser/lemon.c: Merge upstream "Check-in Number: 3753".
17683 Sat May 10 21:03:19 GMT 2008  Olly Betts <olly@survex.com>
17685         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17686           "Check-in Number: 3738".
17688 Sat May 10 20:00:09 GMT 2008  Olly Betts <olly@survex.com>
17690         * queryparser/lemon.c: Merge upstream "Check-in Number: 3654".
17692 Sat May 10 19:55:32 GMT 2008  Olly Betts <olly@survex.com>
17694         * queryparser/lemon.c: Merge upstream "Check-in Number: 3594".
17696 Sat May 10 19:46:05 GMT 2008  Olly Betts <olly@survex.com>
17698         * queryparser/lemon.c: Merge upstream "Check-in Number: 3593".
17700 Sat May 10 19:44:15 GMT 2008  Olly Betts <olly@survex.com>
17702         * queryparser/lemon.c: Merge upstream "Check-in Number: 3591".
17704 Sat May 10 19:40:12 GMT 2008  Olly Betts <olly@survex.com>
17706         * queryparser/lemon.c: Merge upstream "Check-in Number: 3528".
17708 Sat May 10 19:38:36 GMT 2008  Olly Betts <olly@survex.com>
17710         * queryparser/lemon.c: Merge upstream "Check-in Number: 3476".
17712 Sat May 10 19:36:06 GMT 2008  Olly Betts <olly@survex.com>
17714         * queryparser/lemon.c: Merge upstream "Check-in Number: 3333".
17716 Sat May 10 19:33:33 GMT 2008  Olly Betts <olly@survex.com>
17718         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3244".
17720 Sat May 10 19:29:18 GMT 2008  Olly Betts <olly@survex.com>
17722         * queryparser/lemon.c: Merge upstream "Check-in Number: 3226".
17724 Sat May 10 19:19:48 GMT 2008  Olly Betts <olly@survex.com>
17726         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3224".
17728 Sat May 10 19:14:18 GMT 2008  Olly Betts <olly@survex.com>
17730         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17731           "Check-in Number: 3210".
17733 Sat May 10 18:56:50 GMT 2008  Olly Betts <olly@survex.com>
17735         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3181".
17737 Sat May 10 17:05:35 GMT 2008  Olly Betts <olly@survex.com>
17739         * queryparser/lemon.c: Merge upstream "Check-in Number: 3126".
17741 Sat May 10 16:51:31 GMT 2008  Olly Betts <olly@survex.com>
17743         * queryparser/lemon.c: Merge upstream "Check-in Number: 2764".
17745 Sat May 10 16:40:48 GMT 2008  Olly Betts <olly@survex.com>
17747         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17748           "Check-in Number: 2761".
17750 Sat May 10 16:32:45 GMT 2008  Olly Betts <olly@survex.com>
17752         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 2458".
17754 Sat May 10 16:29:55 GMT 2008  Olly Betts <olly@survex.com>
17756         * queryparser/lemon.c: Merge upstream "Check-in Number: 2345".
17758 Sat May 10 16:08:28 GMT 2008  Olly Betts <olly@survex.com>
17760         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 2302".
17762 Sat May 10 15:50:23 GMT 2008  Olly Betts <olly@survex.com>
17764         * queryparser/lemon.c: Merge upstream "Check-in Number: 2208".
17766 Sat May 10 15:03:59 GMT 2008  Olly Betts <olly@survex.com>
17768         * tests/harness/testsuite.cc: Prefer `str.assign(ptr)' to `str =
17769           string(ptr)'.
17771 Sat May 10 14:48:38 GMT 2008  Olly Betts <olly@survex.com>
17773         * api/matchspy.cc,api/replication.cc: Prefer `str.assign(ptr, len)' to
17774           `str = string(ptr, len)'.
17776 Fri May 09 16:53:19 GMT 2008  Olly Betts <olly@survex.com>
17778         * net/remoteserver.cc: No entries in dispatch[] are NULL, so there's
17779           no point testing for it.
17781 Fri May 09 16:51:10 GMT 2008  Olly Betts <olly@survex.com>
17783         * net/remoteconnection.cc: Remove pointless conversion to size_t which
17784           breaks GCC 2.95 build.
17786 Fri May 09 16:22:46 GMT 2008  Olly Betts <olly@survex.com>
17788         * api/replication.cc: Needs <cstdio> for rename().
17790 Fri May 09 15:41:08 GMT 2008  Olly Betts <olly@survex.com>
17792         * tests/harness/testutils.cc: No need for an explicit std::endl when
17793           calling TEST_AND_EXPLAIN().
17795 Fri May 09 15:38:22 GMT 2008  Olly Betts <olly@survex.com>
17797         * api/replication.cc: Use '\n' rather than endl in the middle of
17798           writing stuff, since endl forces a flush which just adds useless
17799           overhead.
17801 Fri May 09 15:24:42 GMT 2008  Olly Betts <olly@survex.com>
17803         * common/omdebug.h: Fix RETURN macro to work on GCC 2.95 for the case
17804           `RETURN(string())'.
17806 Fri May 09 08:33:35 GMT 2008  Olly Betts <olly@survex.com>
17808         * include/xapian/postingsource.h: Add a protected default ctor so that
17809           code subclassing PostingSource actually compiles!
17811 Thu May 08 16:41:59 GMT 2008  Olly Betts <olly@survex.com>
17813         * include/xapian/postingsource.h: Add doxygen comments for
17814           Xapian::PostingSource.  Add private assignment operator and
17815           copy constructor to prevent copying.
17817 Thu May 08 16:40:49 GMT 2008  Olly Betts <olly@survex.com>
17819         * common/postlist.h: Fix one doxygen comment and improve another.
17821 Mon May 05 15:22:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17823         * tests/Makefile.am: Clean up .chert in clean-local.
17825 Mon May 05 14:52:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17827         * docs/Makefile.am: Adapt the dist-check hook to work with a VPATH
17828           build in non-maintainer mode.
17830 Mon May 05 13:18:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17832         * docs/Makefile.am: Fix "make distcheck" by using dist-hook to
17833           install generated files, with the appropriate dependency, instead
17834           of wildcards in EXTRA_DIST which don't give the correct expansion
17835           unless the files happened to be generated already by another
17836           rule. Also, ensure that the documentation is generated before
17837           attempting to install it.
17839 Sun May 04 09:30:53 GMT 2008  Olly Betts <olly@survex.com>
17841         * backends/chert/chert_version.cc,backends/flint/flint_version.cc,
17842           common/stringutils.h: Move CONST_STRLEN() into stringutils.h.
17843         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
17844           Use CONST_STRLEN().
17846 Sat May 03 18:56:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17848         * api/omenquire.cc: Reset the internal sorter pointer to NULL when
17849           changing to a sort by value. Fixes #256.
17850         * tests/api_sorting.cc: Add regression test.
17852 Sat May 03 18:52:27 GMT 2008  Olly Betts <olly@survex.com>
17854         * include/xapian/unicode.h: Mark internal functions as @internal.
17856 Sat May 03 18:43:12 GMT 2008  Olly Betts <olly@survex.com>
17858         * docs/doxygen_api_conf.in: Disable header and directory relationship
17859           graphs in the API documentation as they aren't interesting to users.
17861 Sat May 03 18:12:30 GMT 2008  Olly Betts <olly@survex.com>
17863         * docs/gen_codestructure_doc.in: Link to trac instead of viewvc.
17865 Sat May 03 17:25:02 GMT 2008  Olly Betts <olly@survex.com>
17867         * docs/replication_protocol.rst: Fix a few typos.
17869 Sat May 03 15:53:24 GMT 2008  Olly Betts <olly@survex.com>
17871         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
17872           If Database::reopen() is called and the database revision on disk
17873           hasn't changed, then do as little work as possible.  Even if it
17874           has changed, don't bother to recheck the version file (bug#261).
17876 Sat May 03 10:28:30 GMT 2008  Olly Betts <olly@survex.com>
17878         * configure.ac: Improve code to prevent probing for f77, etc.
17880 Sat May 03 10:17:05 GMT 2008  Olly Betts <olly@survex.com>
17882         * matcher/rset.cc: Missing change from last commit.
17884 Sat May 03 09:25:29 GMT 2008  Olly Betts <olly@survex.com>
17886         * api/omenquire.cc,common/,expand/Makefile.mk,expand/esetinternal.cc,
17887           expand/expand.cc: Rewrite class ESet::Internal, incorporating the
17888           functionality which used to be in the internal OmExpand class.  The
17889           expand operation now uses a min heap rather than calling
17890           nth_element() repeatedly - this should reduce the complexity of the
17891           expand operation by a factor of n/log(n) where n is the requested
17892           ESet size.
17894 Fri May 02 15:51:29 GMT 2008  Olly Betts <olly@survex.com>
17896         * common/ortermlist.h,expand/ortermlist.cc: Kill FreqAdderOrTermList's
17897           explicit empty dtor.
17899 Thu May 01 16:38:40 GMT 2008  Olly Betts <olly@survex.com>
17901         * api/omqueryinternal.cc,api/replication.cc,backends/chert/,
17902           backends/flint/,backends/inmemory/inmemory_positionlist.cc,
17903           common/utils.cc,matcher/stats.cc,tests/perftest_matchdecider.cc,
17904           tests/perftest_randomidx.cc: Assorted formatting tweaks.
17906 Thu May 01 16:32:58 GMT 2008  Olly Betts <olly@survex.com>
17908         * common/unaligned.h: Fix ";;" to ";" after AssertRel calls.
17910 Thu May 01 16:12:05 GMT 2008  Olly Betts <olly@survex.com>
17912         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Tell doxygen to
17913           expand XAPIAN_VISIBILITY_DEFAULT so it doesn't appear in collated
17914           API documentation.
17916 Wed Apr 30 10:57:53 GMT 2008  Olly Betts <olly@survex.com>
17918         * HACKING: Update bugzilla references and URLs to reflect the move
17919           to trac.  Update the "fixing a bug" checklist to mention backporting
17920           and updating the release notes.
17922 Wed Apr 30 10:40:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17924         * backends/remote/remote-database.cc: Fix error message displayed
17925           when remote protocol version doesn't match to display the minor
17926           part of the version number supplied by the server correctly.
17928 Tue Apr 29 17:37:10 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17930         * AUTHORS: Add Alexandre Gauthier, for supplying a method for doing
17931           python packaging for Windows.
17933 Tue Apr 29 16:20:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17935         * common/fileutils.cc: Fix variable name for windows compilation.
17937 Tue Apr 29 06:50:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17939         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
17940           Remove some debugging code, left over from writing the
17941           replication code.
17943 Mon Apr 28 12:11:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17945         * backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc,
17946           backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc:
17947           Fix issue #259 - update the last_block value whenever allocating
17948           a new value, so that next_for_sequential doesn't give up too
17949           early.  Also, in both next_for_sequential and
17950           prev_for_sequential, for writable databases, check the built-in
17951           cursor at all levels for the new block rather than just reading
17952           from disk, since newly allocated blocks won't have been written
17953           to disk yet.  Also, test the return type of next() when reading
17954           subsequent parts of tags, and raise DatabaseCorruptError if it
17955           returns false; this prevents incorrect data being returned,
17956           leading to a zlib error.
17957         * tests/api_wrdb.cc: Add regression test.
17959 Fri Apr 25 08:39:28 GMT 2008  Olly Betts <olly@survex.com>
17961         * api/postingsource.cc: Missed change from last but one commit.
17963 Thu Apr 24 13:44:48 GMT 2008  Olly Betts <olly@survex.com>
17965         * matcher/queryoptimiser.cc: Reserve size of postlists vector.
17967 Thu Apr 24 13:38:51 GMT 2008  Olly Betts <olly@survex.com>
17969         * include/xapian/postingsource.h,matcher/externalpostlist.cc,
17970           matcher/externalpostlist.h,tests/api_db.cc: Add a default
17971           PostingSource::get_description() method so users who don't care
17972           aren't forced to define one.  Make PostingSource::reset() a standard
17973           method and call it automatically so that a PostingSource-using
17974           Query can be run more than once without extra work.
17976 Thu Apr 24 11:24:30 GMT 2008  Olly Betts <olly@survex.com>
17978         * matcher/queryoptimiser.cc: Don't need <queue>.
17980 Thu Apr 24 04:50:43 GMT 2008  Olly Betts <olly@survex.com>
17982         * tests/api_db.cc: Add test that boolean branches of matches don't
17983           cause Xapian::PostingSource to be asked for weights.
17985 Thu Apr 24 03:27:39 GMT 2008  Olly Betts <olly@survex.com>
17987         * matcher/externalpostlist.cc,matcher/externalpostlist.h,
17988           matcher/queryoptimiser.cc: ExternalPostList now takes the
17989           factor into account, so works with OP_SCALE_WEIGHT, and
17990           doesn't call get_weight()/get_maxweight() for a boolean
17991           branch.
17992         * tests/api_db.cc: Add tests for OP_SCALE_WEIGHT.
17994 Thu Apr 24 02:16:08 GMT 2008  Olly Betts <olly@survex.com>
17996         * xapian-config.in: Back out --swigheaders.
17998 Wed Apr 23 11:37:45 GMT 2008  Olly Betts <olly@survex.com>
18000         * matcher/externalpostlist.h: Need to initialise current.
18002 Wed Apr 23 07:57:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18004         * tests/termgentest.cc: Put the inclusion of "utils.h" back; needed
18005           for om_tostring().
18007 Wed Apr 23 04:20:55 GMT 2008  Olly Betts <olly@survex.com>
18009         * include/xapian/replication.h: Eliminate reference to FlintDatabase
18010           from doc comment since it's not user-visible, and chert supports
18011           replication too.  No need for '#include <xapian/database.h>' so
18012           remove.  Remove references to non-existent parameter 'remotename'.
18013           'DatabaseCorrupt error' -> 'DatabaseCorruptError'.
18015 Wed Apr 23 04:19:53 GMT 2008  Olly Betts <olly@survex.com>
18017         * include/xapian/query.h: Wrap Xapian::Query::Internal class
18018           definition in "#ifndef SWIG" ... "#endif" in preparation for getting
18019           SWIG to directly parse it.
18021 Wed Apr 23 02:16:53 GMT 2008  Olly Betts <olly@survex.com>
18023         * api/omquery.cc: Prefer string() to "".
18025 Wed Apr 23 02:16:10 GMT 2008  Olly Betts <olly@survex.com>
18027         * include/xapian/query.h: Fix doc comment typo (doesn't affect API
18028           docs).
18030 Wed Apr 23 00:59:40 GMT 2008  Olly Betts <olly@survex.com>
18032         * api/postingsource.cc: Another missing file.
18034 Wed Apr 23 00:34:34 GMT 2008  Olly Betts <olly@survex.com>
18036         * include/xapian/postingsource.h: New file missing from previous
18037           commit.
18039 Wed Apr 23 00:30:34 GMT 2008  Olly Betts <olly@survex.com>
18041         * api/Makefile.mk,api/omquery.cc,api/omqueryinternal.cc,
18042           include/Makefile.mk,include/xapian.h,include/xapian/query.h,matcher/,
18043           tests/api_db.cc: Add support for Xapian::PostingSource.
18045 Wed Apr 23 00:21:25 GMT 2008  Olly Betts <olly@survex.com>
18047         * include/xapian.h: Fix misplaced comment.  Tweak doxygen comments for
18048           version functions to be more consistent with others.
18050 Wed Apr 23 00:16:14 GMT 2008  Olly Betts <olly@survex.com>
18052         * matcher/queryoptimiser.cc: Remove bogus comment from cut-and-paste.
18054 Wed Apr 23 00:14:30 GMT 2008  Olly Betts <olly@survex.com>
18056         * common/omassert.h: Add AssertEqDoubleParanoid().
18057         * matcher/multimatch.cc: Use it instead of home-brewed version.
18059 Tue Apr 22 23:30:50 GMT 2008  Olly Betts <olly@survex.com>
18061         * common/utils.h: Stop exporting internal functions needlessly.
18063 Tue Apr 22 12:53:55 GMT 2008  Olly Betts <olly@survex.com>
18065         * bin/xapian-compact.cc: Fix to work again (broken by the splitting of
18066           FlintTable::commit() into flush_db() and commit() in the replication
18067           changes).  Don't bother passing tablename to functions where it
18068           always has the same value.  Tweak the user-metadata copying loop to
18069           make it clearer.  Reserve the right size for the vector used for
18070           merging spellings.
18072 Tue Apr 22 12:28:17 GMT 2008  Olly Betts <olly@survex.com>
18074         * backends/chert/chert_table.h,backends/flint/flint_table.h,
18075           bin/xapian-compact.cc: Default commit's changes_fd parameter to -1.
18077 Tue Apr 22 11:39:10 GMT 2008  Olly Betts <olly@survex.com>
18079         * common/omassert.h: Fix comment typo.
18081 Tue Apr 22 10:54:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18083         * tests/queryparsertest.cc: Add "utils.h" back - needed for
18084           om_tostring() and mkdir().
18086 Mon Apr 21 07:48:45 GMT 2008  Olly Betts <olly@survex.com>
18088         * tests/api_db.cc: Don't need <list>.  Wrap comment.
18090 Mon Apr 21 07:04:12 GMT 2008  Olly Betts <olly@survex.com>
18092         * api/omqueryinternal.cc,backends/chert/chert_check.cc,
18093           backends/flint/flint_check.cc,tests/: Remove various needless
18094           inclusions of headers (especially <iostream>).  Reorder headers.
18095           Wrap a couple of comments.  Append single characters to strings
18096           using character constants.
18098 Mon Apr 21 06:26:49 GMT 2008  Olly Betts <olly@survex.com>
18100         * api/Makefile.mk,api/valuerangeproccompat.cc,
18101           include/xapian/queryparser.h: Remove the
18102           v102::NumberValueRangeProcessor ABI-preserving machinery since it's
18103           OK to change the ABI for 1.1.0.
18105 Mon Apr 21 04:42:52 GMT 2008  Olly Betts <olly@survex.com>
18107         * api/,queryparser/queryparser.cc: Remove debug log tracing from
18108           get_description() methods since the debug log call tracing *calls*
18109           get_description() methods on parameters, so logging these calls just
18110           makes for more confusing debug logs.  A get_description() method
18111           should have no side-effects so it's not very interesting even when
18112           explicitly called by the user.
18113         * common/omdebug.h: Replace "OM_DEBUG_INTRO" class with dummy
18114           placeholder (to preserve numbering), to help prevent accidentally
18115           adding these back.
18117 Sun Apr 20 09:46:11 GMT 2008  Olly Betts <olly@survex.com>
18119         * api/omqueryinternal.cc,common/: Stop describing get_description() as
18120           an "Introspection method" internal (matching earlier change to stop
18121           doing so externally).  This doesn't help to explain what it does,
18122           and get_description() doesn't actually fall under any of the formal
18123           definitions of "introspection" I can find.
18125 Fri Apr 18 10:26:18 GMT 2008  Olly Betts <olly@survex.com>
18127         * backends/chert/chert_metadata.cc: Fix renamed parameter in debug
18128           logging.
18130 Fri Apr 18 10:18:35 GMT 2008  Olly Betts <olly@survex.com>
18132         * HACKING,INSTALL,Makefile.am,backends/Makefile.mk,backends/chert/,
18133           backends/database.cc,backends/flint/,backends/remote/net_postlist.cc,
18134           backends/remote/net_postlist.h,bin/,common/,configure.ac,docs/,
18135           include/xapian/dbfactory.h,include/xapian/version_h.cc,
18136           net/remoteserver.cc,tests/Makefile.am,tests/harness/: Start new
18137           development backend "chert".  Currently the change over flint is
18138           that in the postlist table, doclengths are stored once in a
18139           chunked postlist-like form, rather than once per posting.
18141 Tue Apr 15 23:24:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18143         * api/omenquire.cc,tests/api_nodb.cc: Fix segfault introduced by
18144           previous change when asking for the termfreq on an empty mset.
18145           Include a regression test.
18147 Tue Apr 15 06:02:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18149         * include/xapian/enquire.h: Change definition of MSet::get_termfreq
18150           such that it will fall back to looking the term frequency up in
18151           the database rather than raising an exception if the term is not
18152           present in the mset.
18153         * api/omenquire.cc,common/omenquireinternal.h: Implementation of
18154           the above.
18155         * tests/api_anydb.cc: Test the above.
18157 Mon Apr 14 21:29:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18159         * tests/: Use copies of freemem.cc and freemem.h from omega to report
18160           the free physical memory at each stage of indexing.  Also, add a
18161           get_total_physical_memory() function to this, and report it's
18162           value at the top of the results file (only tested on Linux so
18163           far).
18165 Mon Apr 14 19:17:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18167         * tests/api_wrdb.cc: Make skip_to() test a bit more comprehensive.
18169 Mon Apr 14 19:08:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18171         * backends/flint/flint_metadata.cc,backends/flint/flint_metadata.h:
18172           Fix a bug in the skip_to() implementation, and set the parameter
18173           name to "key" instead of "tname", since it's not a term.
18174         * tests/api_wrdb.cc: Add a test of the metadata iterators.
18176 Mon Apr 14 14:22:16 GMT 2008  Olly Betts <olly@survex.com>
18178         * backends/Makefile.mk,backends/flint/Makefile.mk,
18179           backends/flint/contiguousalldocspostlist.cc,
18180           backends/flint/contiguousalldocspostlist.h,common/Makefile.mk:
18181           The ContiguousAllDocsPostList class isn't flint-specific, so move
18182           it out of backends/flint.
18184 Mon Apr 14 13:56:51 GMT 2008  Olly Betts <olly@survex.com>
18186         * backends/flint/flint_database.cc: Removed duplicate
18187           '#include "flint_database.h"', ironically added by Richard's recent
18188           change.  Fix a couple of errors in alphabetical ordering, and
18189           move autoptr.h and the "safe" headers to where the standard headers
18190           they replace would go.
18192 Mon Apr 14 13:44:37 GMT 2008  Olly Betts <olly@survex.com>
18194         * Makefile.am,tests/Makefile.am: List check-perf in .PHONY.
18195         * HACKING: Document the need to list non-file targets in .PHONY.
18197 Mon Apr 14 07:59:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18199         * api/omdatabase.cc: Correct return type in a DEBUGAPICALL macro.
18201 Mon Apr 14 07:14:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18203         * api/omdatabase.cc,backends/database.cc,backends/flint/,
18204           common/database.h,include/xapian/database.h: Add
18205           metadata_keys_begin() and metadata_keys_end() methods to
18206           Database, to allow the complete list of metadata in a database to
18207           be retrieved.  Supports a prefix argument to obtain a limited
18208           subset of the keys, since that may be useful in some situations
18209           and is very easy to implement.  Only accesses the keys in the
18210           first database in a multidatabase situation (which corresponds
18211           with the current behaviour of get_metadata()).
18212           Also, reorder the includes in flint_database.cc to be largely
18213           alphabetical, and remove a duplicated #include of
18214           <xapian/error.h>.
18216 Mon Apr 14 06:51:48 GMT 2008  Olly Betts <olly@survex.com>
18218         * common/fileutils.cc: Use endswith().
18220 Mon Apr 14 06:14:44 GMT 2008  Olly Betts <olly@survex.com>
18222         * api/replication.cc,backends/database.cc,
18223           backends/flint/flint_database.cc,common/fileutils.cc,
18224           tests/queryparsertest.cc: Use empty() rather than comparing size()
18225           to 0.  Use startswith() in a couple of places.  Tweak an Assert
18226           to AssertEq.
18228 Sun Apr 13 14:30:55 GMT 2008  Olly Betts <olly@survex.com>
18230         * api/omdatabase.cc: Replace uses of DEBUGLINE(SPELLING, ...) in
18231           Database::get_spelling_suggestion() with standard
18232           DEBUGAPICALL/RETURN tracing.  Add DEBUGAPICALL/RETURN tracing to
18233           a few Database methods which were missing it.
18235 Sun Apr 13 14:15:00 GMT 2008  Olly Betts <olly@survex.com>
18237         * backends/flint/flint_cursor.cc: Use RETURN() in a few places which
18238           weren't.
18240 Sun Apr 13 13:59:57 GMT 2008  Olly Betts <olly@survex.com>
18242         * backends/inmemory/inmemory_database.cc: Remove long-time commented
18243           out uses of DebugMsg.
18245 Sun Apr 13 13:52:32 GMT 2008  Olly Betts <olly@survex.com>
18247         * expand/expandweight.cc: Use DEBUGLINE() instead of DEBUGMSG().
18249 Sun Apr 13 11:23:56 GMT 2008  Olly Betts <olly@survex.com>
18251         * backends/flint/flint_database.cc: Include corresponding header right
18252           after config.h.
18254 Sun Apr 13 10:28:27 GMT 2008  Olly Betts <olly@survex.com>
18256         * backends/flint/flint_database.cc: Tweak brace formatting and wrap a
18257           comment.
18259 Fri Apr 11 16:18:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18261         * common/fileutils.cc: Fix typo in windows specific code.
18263 Fri Apr 11 12:44:25 GMT 2008  Olly Betts <olly@survex.com>
18265         * backends/flint/flint_cursor.cc: Include corresponding header right
18266           after config.h.
18268 Fri Apr 11 10:25:03 GMT 2008  Olly Betts <olly@survex.com>
18270         * backends/flint/flint_cursor.h: Fix filename in header comment.
18272 Fri Apr 11 04:49:03 GMT 2008  Olly Betts <olly@survex.com>
18274         * configure.ac,tests/submitperftest.in,tests/submitperftest.py.in:
18275           Rename submitperftest.py to submitperftest.
18276         * HACKING: Document that scripts shouldn't generally have an
18277           extension, and the reason for this policy.
18279 Fri Apr 11 04:32:15 2008  Olly Betts <olly@survex.com>
18281         * HACKING: Note that GCC 4.3 no longer supports pre-ISO forms of
18282           standard headers, such as <list.h>.  GCC on Solaris now seems
18283           to support throwing exceptions across shared library boundaries.
18285 Fri Apr 11 03:24:47 GMT 2008  Olly Betts <olly@survex.com>
18287         * tests/Makefile.am: "make up" in tests now does "make" in the
18288           top-level.
18290 Thu Apr 10 08:33:06 GMT 2008  Olly Betts <olly@survex.com>
18292         * backends/flint/flint_postlist.cc: Fix debug logging message: ostList
18293           -> FlintPostList.
18295 Thu Apr 10 05:47:37 GMT 2008  Olly Betts <olly@survex.com>
18297         * net/remoteconnection.cc: Remove erroneous FIXME comments talking
18298           about ReadFile() not updating WSAOVERLAPPED's Offset/OffsetHigh
18299           being a problem with using _get_osfhandle() - ReadFile is documented
18300           to behave this way on MSDN.  Factor out update of Offset/OffsetHigh
18301           and tweak this code not to rely on off_t being 64 bits.
18303 Thu Apr 10 05:24:11 GMT 2008  Olly Betts <olly@survex.com>
18305         * backends/flint/flint_record.cc,backends/flint/flint_utils.h: Use
18306           the new STATIC_ASSERT family of macros instead of CASSERT and
18307           CASSERT_TYPE_UNSIGNED.
18309 Thu Apr 10 04:46:40 GMT 2008  Olly Betts <olly@survex.com>
18311         * common/omassert.h: Add "compile-time assertion" macros:
18312           STATIC_ASSERT(COND), STATIC_ASSERT_UNSIGNED_TYPE(TYPE),
18313           STATIC_ASSERT_TYPE_DOMINATES(TYPE1, TYPE2).
18314         * tests/internaltest.cc: Test these.
18316 Thu Apr 10 01:07:34 GMT 2008  Olly Betts <olly@survex.com>
18318         * common/remoteprotocol.h,net/remoteserver.cc: Clean up a couple more
18319           things now we've moved to major protocol version 31.
18321 Wed Apr 09 06:50:44 GMT 2008  Olly Betts <olly@survex.com>
18323         * backends/remote/remote-database.cc: Add missing explicit include of
18324           remote-database.h.
18326 Wed Apr 09 04:48:54 GMT 2008  Olly Betts <olly@survex.com>
18328         * bin/xapian-check.cc,bin/xapian-compact.cc: Fix check for user
18329           metadata key to not match other key types we may add in the future.
18330           When compacting, we can't assume how we should handle them.  When
18331           checking, they currently shouldn't be present, so we should flag
18332           an error for them.
18334 Tue Apr 08 15:27:09 GMT 2008  Olly Betts <olly@survex.com>
18336         * NEWS: Fix missing line in old entry.
18338 Mon Apr 07 07:49:56 GMT 2008  Olly Betts <olly@survex.com>
18340         * backends/flint/flint_btreeutil.h: Use AssertRel rather than Assert.
18342 Mon Apr 07 06:20:42 GMT 2008  Olly Betts <olly@survex.com>
18344         * api/error.cc,api/valuerangeproc.cc,backends/flint/flint_table.cc,
18345           backends/multi/multi_postlist.cc,backends/remote/net_termlist.cc,
18346           bin/xapian-inspect.cc,common/omdebug.cc,common/utils.cc,
18347           languages/stem.cc,languages/steminternal.cc,
18348           tests/harness/backendmanager_multi.cc,
18349           tests/harness/backendmanager_remotetcp.cc: Header inclusions tidying
18350           - remove a few redundant inclusions; prefer cstdio to stdio.h, etc
18351           in a few places; note why certain headers are required in cases
18352           where it's less obvious; in a .cc file, include the corresponding .h
18353           second (after <config.h>).
18355 Mon Apr 07 04:23:30 GMT 2008  Olly Betts <olly@survex.com>
18357         * configure.ac: Fix --enable-log=profile to be recognised.
18358         * common/omdebug.cc,common/omdebug.h: Fix build with
18359           --enable-log=profile.
18360         * HACKING: Actually document --enable-log=profile.
18362 Sat Apr 05 21:07:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18364         * tests/perftest.cc: Flush after each write, so we can monitor
18365           progress of long running tests (we might need to remove this
18366           again later, if profiling shows it has a noticeable impact).  Fix
18367           two calls to write() to be a single call.
18368         * tests/perftest_randomidx.cc: Add values to different slots; I'd
18369           added them all to slot 0 by mistake, so they were overwriting
18370           each other.
18372 Sat Apr 05 20:17:43 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18374         * tests/Makefile.am,tests/perftest_randomidx.cc: Add a new
18375           performance test which builds a randomly generated index, and
18376           times the index run.  Probably wants a bit more tweaking to make
18377           it slightly more representative, but should be a useful test to
18378           run on systems where downloading a large amount of data is
18379           impractical.
18380         * ChangeLog: Add missing log message for last commit.
18382 Sat Apr 05 20:16:58 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18384         * tests/perftest.cc,tests/perftest.h: Log indexing runs every 5
18385           seconds, as well as after every 1000 documents - gives useful
18386           information for slow index runs.
18388 Thu Apr 03 20:58:31 GMT 2008  Olly Betts <olly@survex.com>
18390         * backends/database.cc,include/xapian/dbfactory.h,
18391           include/xapian/version_h.cc: Remove lingering traces of quartz.
18393 Thu Apr 03 07:59:53 GMT 2008  Olly Betts <olly@survex.com>
18395         * bin/xapian-inspect.cc: Print top-bit-set characters as escaped
18396           hex forms as they often won't be valid UTF-8 sequences.
18398 Thu Apr 03 03:53:37 GMT 2008  Olly Betts <olly@survex.com>
18400         * bin/xapian-inspect.cc: Check for the user passing a database
18401           directory and issue a special error message since this is an obvious
18402           mistake to make.
18404 Wed Apr 02 07:00:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18406         * matcher/multimatch.cc: Modify the estimate for the number of hits
18407           based on the rate at which a match decider has been denying
18408           documents.  Also, reduce the upper bound based on the number of
18409           documents denied.
18410         * tests/api_db.cc: Check that the upper bound when a match decider
18411           is used is within the valid range, rather than a particular
18412           value.
18414 Tue Apr 01 22:40:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18416         * configure.ac,tests/perftest.cc,tests/submitperftest.py.in,
18417           tests/urllib2_file.py: Fix display of upper bound on number of
18418           results of search (was showing lower bound).  Fix display of
18419           closing <repetition> tags.  Add script to submit the results of a
18420           performance test to a central server.
18422 Tue Apr 01 11:19:58 GMT 2008  Olly Betts <olly@survex.com>
18424         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
18425           Gently rearrange where and how we check for overlong keys.
18426         * tests/api_wrdb.cc: Extend termtoolong1 to test that the "term too
18427           long" exception messages contain the length correctly.
18429 Tue Apr 01 06:06:43 GMT 2008  Olly Betts <olly@survex.com>
18431         * AUTHORS,HACKING,INSTALL,README,debian/control.in,debian/copyright,
18432           docs/install.html,xapian-core.spec.in: Standardise URLs on our
18433           website to be xapian.org not www.xapian.org.
18435 Tue Apr 01 03:44:32 GMT 2008  Olly Betts <olly@survex.com>
18437         * backends/flint/flint_record.cc,backends/flint/flint_values.cc,
18438           common/,docs/quickstartexpand.cc.html,docs/quickstartindex.cc.html,
18439           docs/quickstartsearch.cc.html,matcher/: Update the FSF address for
18440           the small number of files which still have the old one.  Remove the
18441           "START_LICENCE" and "END_LICENCE" markers from the small number of
18442           files which still have them.
18444 Tue Apr 01 02:23:27 GMT 2008  Olly Betts <olly@survex.com>
18446         * backends/remote/remote-database.cc,common/remoteprotocol.h,
18447           common/remoteserver.h,common/serialise.h,docs/remote_protocol.html,
18448           net/remoteserver.cc,net/serialise.cc: Update remote protocol to
18449           a new major version (31) and strip out all the gunk that's only
18450           there to keep it compatible with older version 30 clients.
18452 Tue Apr 01 00:12:38 GMT 2008  Olly Betts <olly@survex.com>
18454         * api/ompostlistiterator.cc,include/xapian/postingiterator.h: Remove
18455           the method Xapian::PostingIterator::get_weight() which has been
18456           commented out almost forever.  Weight-handling isn't really
18457           appropriate here.
18458         * api/ompostlistiterator.cc: Remove "\todo" since it's already done!
18460 Mon Mar 31 13:24:11 GMT 2008  Olly Betts <olly@survex.com>
18462         * backends/flint/: Remove unnecessary default dtors.
18464 Mon Mar 31 13:21:55 GMT 2008  Olly Betts <olly@survex.com>
18466         * HACKING: Document to prefer "new SomeClass" to "new SomeClass()".
18467         * api/omdocument.cc,api/omenquire.cc,backends/database.cc,
18468           backends/flint/flint_database.cc,
18469           backends/inmemory/inmemory_database.cc,matcher/multimatch.cc,
18470           matcher/queryoptimiser.cc,net/remoteserver.cc: Fix instances of
18471           the latter form to use the former form.
18473 Mon Mar 31 12:11:09 GMT 2008  Olly Betts <olly@survex.com>
18475         * tests/: Update svn:ignore property for perftest changes and remove
18476           quartz-related entries.
18477         * tests/perftest.cc: Add missing '#include "utils.h"'.
18479 Mon Mar 31 09:22:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18481         * Makefile.am,tests/,tests/harness/,tests/perftest.cc,tests/perftest.h,
18482           tests/perftest_matchdecider.cc: Rework the test collation
18483           mechanism slightly to allow it to be used by other testsuites:
18484           rename collate-apitest to collate-test, and add a parameter to it
18485           naming the output file.  Add new "testrunner.h" and
18486           "testrunner.cc" which are an equivalent to the old mechanism in
18487           apitest for running tests with various properties; the properties
18488           for each backend are now held as member variables of a TestRunner
18489           class, and testsuites (eg, apitest) subclass this and implement a
18490           "run()" method, which will be called for each backend with the
18491           appropriate properties set.  Move definition of DEFINE_TESTCASE
18492           macro into testsuite.h.  Add new testsuite "perftest", which is
18493           intended to contain potentially time consuming performance tests,
18494           logging the results to an XML file for later analysis.  Add a
18495           simple test of the ValueSetMatchDeciders to this testsuite.
18496           "perftest" isn't run by make check, because it is likely to take
18497           some hours to complete in future - instead, there's a new
18498           top-level target "check-perf" which builds and runs perftest.
18500 Mon Mar 31 08:13:21 GMT 2008  Olly Betts <olly@survex.com>
18502         * HACKING: Recommend using the "svn-ci" script.  Update the date
18503           command which produces the correct format timestamp for ChangeLog
18504           entries.
18506 Mon Mar 31 08:00:58 GMT 2008  Olly Betts <olly@survex.com>
18508         * backends/flint/flint_btreeutil.h: Fix some out-of-date comments.
18509         * configure.ac: Use AC_CHECK_SIZEOF to define SIZEOF_INT and
18510           SIZEOF_LONG.
18511         * backends/flint/flint_types.h: Use SIZEOF_INT and SIZEOF_LONG to
18512           determine the type of uint4 rather than always using unsigned long
18513           (which is 64 bits on most 64 bit Unix platforms).  Drop int4 for
18514           the time being, as we don't actually use it.
18516 Mon Mar 31 06:34:20 GMT 2008  Olly Betts <olly@survex.com>
18518         * backends/flint/flint_positionlist.cc: Refactor BitWriter::encode()
18519           to have a single call to write_bits(), and don't include it inline
18520           in the class as it's really a bit big to inline (and write_bits()
18521           should now be inlined into it, or at least tail-called).
18523 Mon Mar 31 05:33:02 GMT 2008  Olly Betts <olly@survex.com>
18525         * backends/flint/flint_positionlist.cc: Reorder header includes to
18526           match our new standard more closely.  Indent class definitions to
18527           match our coding standards.
18529 Mon Mar 31 05:31:59 GMT 2008  Olly Betts <olly@survex.com>
18531         * backends/flint/flint_positionlist.h: Remove unnecessary default
18532           dtor.
18534 Mon Mar 31 04:55:59 GMT 2008  Olly Betts <olly@survex.com>
18536         * backends/remote/net_document.cc,backends/remote/net_document.h:
18537           Rename "doc" member to "data" since it actually holds the document
18538           data.
18540 Mon Mar 31 03:25:21 GMT 2008  Olly Betts <olly@survex.com>
18542         * backends/flint/flint_document.cc,backends/flint/flint_document.h:
18543           Remove unnecessary default dtor.
18545 Mon Mar 31 02:53:48 GMT 2008  Olly Betts <olly@survex.com>
18547         * backends/inmemory/inmemory_alltermslist.cc,
18548           backends/inmemory/inmemory_alltermslist.h: Remove unnecessary
18549           default dtor.
18550         * backends/inmemory/inmemory_alltermslist.h: Fix bogus cut-and-pasted
18551           doxygen comment for ctor.
18553 Mon Mar 31 02:33:15 GMT 2008  Olly Betts <olly@survex.com>
18555         * common/inmemory_positionlist.h: Remove unnecessary default
18556           destructor.  Fix comment type ("inemory" -> "inmemory").
18558 Sun Mar 30 12:47:50 GMT 2008  Olly Betts <olly@survex.com>
18560         * include/xapian/queryparser.h: Drop explicit dtor for SimpleStopper
18561           which does nothing.
18563 Sun Mar 30 12:12:12 GMT 2008  Olly Betts <olly@survex.com>
18565         * include/xapian/valuesetmatchdecider.h: Don't bother checking if an
18566           element is present before calling std::set::erase().  Don't bother
18567           defining an explicit dtor which does nothing.
18569 Sat Mar 29 00:46:13 GMT 2008  Olly Betts <olly@survex.com>
18571         * tests/api_db.cc: Test matchfunctor bounds in combination with
18572           collapsing and percentage cutoff.  Also, range check
18573           get_matches_estimated rather than checking it's exactly the value
18574           currently returned.
18576 Fri Mar 28 21:37:27 GMT 2008  Olly Betts <olly@survex.com>
18578         * tests/api_nodb.cc: Test ValueSetMatchDecider::remove_value() for a
18579           value which isn't in the set.  Test that removing a value doesn't
18580           affect other values in the set.
18582 Fri Mar 28 21:03:30 GMT 2008  Olly Betts <olly@survex.com>
18584         * matcher/multimatch.cc: Avoid needless call to pl->get_termfreq_est()
18585           if we're using a matchdecider or matchspy.
18587 Fri Mar 28 10:28:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18589         * matcher/multimatch.cc: Set matches_lower_bound to 0 before
18590           starting the match process if there is a match decider or spy;
18591           previously, the lower_bound wasn't being reduced in the presence
18592           of a match decider unless all the potential results were
18593           retrieved.
18594         * tests/api_db.cc: Extend matchfunctor1 to check the bounds and
18595           estimates returned; includes a regression test for the above.
18597 Fri Mar 28 09:09:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18599         * tests/api_nodb.cc: Extend tests to check ValueSetMatchDecider
18600           remove_value and also ValueSetMatchDeciders holding more than one
18601           value.
18603 Fri Mar 28 02:41:45 GMT 2008  Olly Betts <olly@survex.com>
18605         * configure.ac: Update version info to match 1.0.6.
18607 Fri Mar 28 00:12:48 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18609         * api/omenquire.cc,include/xapian/enquire.h: Merge two of the
18610           get_mset() variants into one, with default arguments, which has
18611           exactly the same effect.  We added the two variants to preserve
18612           ABI compatibility, and now we're branched for 1.1 this is no
18613           longer necessary.
18615 Thu Mar 27 23:54:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18617         * api/valuesetmatchdecider.cc,include/xapian.h,
18618           include/xapian/valuesetmatchdecider.h: Add ValueSetMatchDecider,
18619           which is a matchdecider which is intended to be passed a set of
18620           values to look for in documents, and selects documents based on
18621           the presence of those values.
18622         * tests/api_db.cc,tests/api_nodb.cc: Add tests for the
18623           ValueSetMatchDecider - both for calling it standalone, and when
18624           passed to get_mset().
18625         * api/Makefile.mk,include/Makefile.mk: Tell build system about new
18626           files.
18628 Thu Mar 27 06:18:52 GMT 2008  Olly Betts <olly@survex.com>
18630         * api/omqueryinternal.cc: Initialise term_pos in previous change to
18631           fix valgrind-detected error.
18633 Thu Mar 27 06:13:01 GMT 2008  Olly Betts <olly@survex.com>
18635         * api/omqueryinternal.cc: Optimise Query(OP_VALUE_GE, <n>, "") to
18636           Query::MatchAll.
18637         * tests/api_nodb.cc: Add testcase for this case.
18639 Thu Mar 27 04:34:40 GMT 2008  Olly Betts <olly@survex.com>
18641         * backends/inmemory/inmemory_document.cc,
18642           backends/inmemory/inmemory_document.h: Rename "doc" member to
18643           "data" since it actually holds the document data.
18644         * backends/inmemory/inmemory_database.cc: Remove unused <stdio.h>.
18645           Include "inmemory_database.h" right after <config.h>.
18647 Wed Mar 26 23:44:03 GMT 2008  Olly Betts <olly@survex.com>
18649         * api/omenquire.cc: Throw InvalidArgumentError upon
18650           RSet::add_document(0).
18651         * tests/api_nodb.cc: Add regression test for this.
18652         * matcher/rset.cc: Add assertion that we don't see a zero docid when
18653           calculating rtermfreqs.
18654         * api/omdocument.cc: Use RETURN not return so debug logging sees the
18655           return value.
18656         * backends/inmemory/inmemory_database.cc,
18657           backends/remote/remote-database.cc: Change exception throwing for
18658           a zero docid to assertions since zero docids should be checked for
18659           before we get to here.
18661 Wed Mar 26 06:17:51 GMT 2008  Olly Betts <olly@survex.com>
18663         * common/postlist.h: Decree that PostList::check() must be passed a
18664           docid which actually exists in the database (which is always true
18665           currently and seems unlikely to be an onerous requirement).
18666         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: Take
18667           advantage of this new precondition to simplify the code.
18668         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: Move the
18669           corresponding header first as our header inclusion order guidelines
18670           recommend.
18672 Thu Mar 13 01:58:18 GMT 2008  Olly Betts <olly@survex.com>
18674         * common/stats.h,include/xapian/enquire.h,matcher/localmatch.cc,
18675           matcher/weight.cc: Untangle Xapian::Weight to just initialise
18676           internal to 0 in its ctor, which is an ABI change.  Resolves
18677           a load of FIXME:1.1 comments.
18679 Thu Mar 13 00:50:06 GMT 2008  Olly Betts <olly@survex.com>
18681         * backends/flint/flint_lock.cc: Remove workaround for newlib which we
18682           don't seem to need elsewhere and was marked "FIXME:1.1".
18684 Thu Mar 13 00:49:27 GMT 2008  Olly Betts <olly@survex.com>
18686         * docs/deprecation.rst: Fix footnote ids after deprecation updates.
18688 Wed Mar 12 10:08:37 GMT 2008  Olly Betts <olly@survex.com>
18690         * tests/stemtest.cc: Remove support for OM_STEMTEST_SKIP_RANDOM,
18691           OM_STEMTEST_LANGUAGES, and OM_STEMTEST_SEED.
18693 Wed Mar 12 08:30:48 GMT 2008  Olly Betts <olly@survex.com>
18695         * docs/deprecation.rst: Update for bindings removals for 1.1.0.
18697 Wed Mar 12 06:59:25 GMT 2008  Olly Betts <olly@survex.com>
18699         * docs/deprecation.rst: Update for Omega removals for 1.1.0.
18701 Wed Mar 12 05:11:53 GMT 2008  Olly Betts <olly@survex.com>
18703         * api/omenquire.cc,api/omquery.cc,api/version.cc,docs/,
18704           generate-exceptions.in,include/xapian.h,include/xapian/enquire.h,
18705           include/xapian/query.h,tests/api_db.cc,tests/api_wrdb.cc,
18706           tests/apitest.cc,tests/harness/,tests/internaltest.cc: Remove all
18707           xapian-core features marked for removal in 1.1.0.
18709 Wed Mar 12 03:28:18 GMT 2008  Olly Betts <olly@survex.com>
18711         * HACKING,INSTALL,Makefile.am,backends/Makefile.mk,
18712           backends/dir_contents,backends/quartz/,bin/,configure.ac,docs/,
18713           tests/,tests/harness/,tests/quartztest.cc,tests/testdata/,
18714           xapian-core.spec.in: Remove the quartz backend.
18716 Wed Mar 12 02:14:33 GMT 2008  Olly Betts <olly@survex.com>
18718         * m4/xapian.m4: Improve wording of the error message when we can't
18719           find xapian-config.
18721 Wed Mar 12 02:13:32 GMT 2008  Olly Betts <olly@survex.com>
18723         * INSTALL: Minor wording tweak.
18725 Wed Mar 12 01:44:42 GMT 2008  Olly Betts <olly@survex.com>
18727         * bin/xapian-compact.cc: Initialise PostlistCursor member firstdid to
18728           avoid using it uninitialised when merging user metadata and the same
18729           key is present in more than one source database.  If the same user
18730           metadata key is present in more than one source database, copy an
18731           arbitrary tag value.
18733 Wed Mar 12 00:34:04 GMT 2008  Olly Betts <olly@survex.com>
18735         * bin/xapian-compact.cc: Fix potential SEGV (which I think can occur
18736           when compacting database(s) with user metadata but no postings).
18738 Fri Mar 07 09:46:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18740         * common/serialise.h: Add missing std:: before string.
18742 Fri Mar 07 00:47:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18744         * api/replication.cc: Tidy up a line which was wider than 80
18745           columns, and improve the error message returned when a database
18746           replica doesn't contain exactly one subdatabase.
18748 Fri Mar 07 00:34:28 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18750         * common/serialise.h,net/remoteconnection.cc,net/serialise.cc:
18751           Change encode_length() to a template, to allow the full range of
18752           off_t values to be encoded.  Also, adjust
18753           RemoteConnection::get_message_chunked() to allow the message
18754           length to be a 64 bit quantity.  Also, make a couple of type
18755           conversions to size_t explicit, to remove some warnings on
18756           windows.
18758 Thu Mar 06 01:57:04 GMT 2008  Olly Betts <olly@survex.com>
18760         * NEWS: Update from ChangeLog.
18762 Thu Mar 06 01:44:07 GMT 2008  Olly Betts <olly@survex.com>
18764         * bin/xapian-check.cc: Fix terminology - "user metadata" not "user
18765           metainfo".  Fix bug - need to invoke is_user_metadata rather than
18766           using the function pointer as the if condition!
18768 Thu Mar 06 01:41:09 GMT 2008  Olly Betts <olly@survex.com>
18770         * bin/xapian-compact.cc: Fix terminology - "user metadata" not "user
18771           metainfo".
18773 Wed Mar 05 21:17:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18775         * net/remoteconnection.cc: Add some casts (in the windows-specific
18776           code) to fix some warnings from MSVC.
18778 Wed Mar 05 19:01:35 GMT 2008  Olly Betts <olly@survex.com>
18780         * NEWS: Update to 1.0 branch point.
18782 Wed Mar 05 19:00:07 GMT 2008  Olly Betts <olly@survex.com>
18784         * common/msvc_dirent.cc: Tweak to bring comment back into 80 columns.
18786 Wed Mar 05 16:35:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18788         * common/msvc_dirent.cc: Fix sense of check for ENOENT after
18789           calling _findnext() - it should be checked for when an error code
18790           is returned, not when the call succeeds.
18791         * tests/api_replicate.cc: Fix tiny capitalisation typo.
18793 Wed Mar 05 16:29:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18795         * common/fileutils.cc: Check case where a backslash isn't found in
18796           calc_dirname, and don't replace slash with backslash in this
18797           case.
18799 Wed Mar 05 09:30:42 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18801         * bin/xapian-check.cc: Add understanding of user metainfo keys in
18802           the postlist table.  Allow the METAINFO key to be absent if the
18803           table only contains user metainfo keys.
18805 Wed Mar 05 09:01:48 GMT 2008  Olly Betts <olly@survex.com>
18807         * common/msvc_dirent.cc,common/msvc_dirent.h: Move licence boilerplate
18808           up front where we have it in every other file.  Move header guards
18809           to the usual location.  Detail the fix we've made for not setting
18810           errno to ENOENT erroneously.  Push the setting of orig_errno down
18811           a bit.
18813 Wed Mar 05 04:57:44 GMT 2008  Olly Betts <olly@survex.com>
18815         * configure.ac: -pedantic isn't actually very useful so just drop it
18816           rather than testing for known problem cases and risking unknown
18817           problem cases.
18819 Wed Mar 05 03:10:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18821         * matcher/valuegepostlist.cc,matcher/valuegepostlist.h: Implement
18822           skip_to method for ValueGePostList.  Previously, the
18823           ValueRangePostList::skip_to method was used, which would
18824           return incorrect documents.
18826 Wed Mar 05 02:54:27 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18828         * common/fileutils.cc: Search for \ instead of / when looking for a
18829           backslash!
18831 Wed Mar 05 02:51:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18833         * common/fileutils.cc: Fix incorrect docstring.
18835 Tue Mar 04 18:48:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18837         * common/msvc_dirent.cc: Fix readdir() so that it doesn't change
18838           errno to ENOENT on reaching the end of the directory, as
18839           specified by POSIX.
18841 Tue Mar 04 17:54:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18843         * net/remoteconnection.cc: Fix for a problem with windows.  Because
18844           we're using mixed styles of windows file IO, if a file descriptor
18845           which actually corresponds to a file was supplied to remote
18846           connection, the file pointer wasn't being adjusted after each
18847           call to ReadFile or WriteFile.  This manifested in the test case
18848           for replication, resulting in a (corrupt) 2048 byte changeset
18849           file being written (instead of a considerably longer changeset).
18850           To work around this, we explicitly move the file pointer
18851           ourselves.
18853 Tue Mar 04 17:41:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18855         * tests/api_replicate.cc: Close the replica before removing the
18856           temporary directory, to allow the rmdir to work on windows.
18858 Thu Feb 28 16:41:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18860         * common/remoteconnection.h: Include safeunistd.h, to get correct
18861           typedef for off_t on windows - previously, the size of the
18862           RemoteConnection class was varying depending on the order in
18863           which header files were included, resulting in memory corruption.
18864         * net/remoteserver.cc: Remove incorrect comment about what the
18865           problem was.
18867 Sat Feb 23 23:40:56 GMT 2008  Olly Betts <olly@survex.com>
18869         * xapian-config.in: Use globbing rather than iterating over the output
18870           of ls.
18872 Sat Feb 23 23:33:39 GMT 2008  Olly Betts <olly@survex.com>
18874         * xapian-config.in: Fix not to repeated headers in --swigheaders in a
18875           non-VPATH build.
18877 Fri Feb 22 17:20:19 GMT 2008  Olly Betts <olly@survex.com>
18879         * HACKING: Add note about preferring std::string().
18881 Fri Feb 22 17:05:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18883         * net/remoteserver.cc: Use std::string() instead of
18884           std::string(""), since it's a bit cleaner.
18886 Fri Feb 22 16:50:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18888         * net/remoteserver.cc: Add workaround for bug in MSVC 2005.
18890 Fri Feb 22 14:39:03 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18892         * backends/flint/flint_database.cc,backends/flint/flint_table.cc,
18893           backends/quartz/btree.cc: Use msvc_posix_rename() instead of
18894           rename() when renaming base files, so that an error isn't
18895           returned if the destination already exists.
18897 Thu Feb 21 17:24:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18899         * common/msvc_dirent.cc: Include msvc_dirent.h instead of dirent.h
18901 Thu Feb 21 17:09:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18903         * common/database.h: ReplicationInfo is a struct, not a class, so
18904           forward declare it as such.
18906 Thu Feb 21 12:16:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18908         * common/Makefile.mk: Add common/safedirent.h to distribution.
18910 Thu Feb 21 00:25:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18912         * xapian-config.in: Add swigheaders option, listing the header
18913           files used by swig, so that we can add the appropriate
18914           dependencies to the makefiles in the bindings.
18916 Wed Feb 20 20:59:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18918         * include/xapian/replication.h: Add a ReplicationInfo structure,
18919           and use it to return information about what has been done when
18920           the replication methods are called.
18921         * api/replication.cc,backends/database.cc,
18922           backends/flint/flint_database.cc,backends/flint/flint_database.h,
18923           common/database.h,common/replicatetcpclient.h,
18924           common/replicatetcpserver.h,net/replicatetcpclient.cc,
18925           net/replicatetcpserver.cc: Populate a ReplicationInfo structure
18926           when updating a replica, or sending changes to a file descriptor.
18927           Also, fix a bug with reading the replication parameters from a
18928           file, which caused a full database copy to be performed on every
18929           replication request on a newly opened DatabaseReplica object.
18930         * bin/xapian-replicate.cc: When doing verbose logging, display the
18931           number of database copies and changesets applied, and whether the
18932           live database has been updated.
18933         * tests/api_replicate.cc: Check that the information returned by
18934           the replication methods is as is should be, and add a regression
18935           test for always copying the database.
18937 Wed Feb 20 11:20:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18939         * backends/flint/: Improve reporting of failures to obtain lock due
18940           to unexpected errors - the error messages included in the
18941           exceptions raised are now more verbose in many situations.  Also,
18942           if the lock can't be obtained when a database is being created,
18943           report the lock failure, not a DatabaseOpeningError - it's more
18944           useful to know that the lock attempt failed than that the
18945           database wasn't present before the attempt to create it.
18947 Tue Feb 19 11:58:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18949         * bin/xapian-compact.cc: Fix compaction for database which contain
18950           user metadata keys.
18952 Sat Feb 16 19:53:44 GMT 2008  Olly Betts <olly@survex.com>
18954         * include/xapian/queryparser.h: Fix incorrect example in doccomment.
18956 Sat Feb 16 14:46:08 GMT 2008  Olly Betts <olly@survex.com>
18958         * AUTHORS: Add Matthew Somerville for Search::Xapian patches.
18960 Tue Feb 12 16:34:52 GMT 2008  Olly Betts <olly@survex.com>
18962         * docs/quickstart.html: Remove information covered by INSTALL since
18963           there's no good reason to repeat it and two copies just risks one
18964           getting out of date (as has happened here!)
18966 Tue Feb 12 16:27:30 GMT 2008  Olly Betts <olly@survex.com>
18968         * AUTHORS: Add David Spencer for reporting bug#237.
18970 Tue Feb 12 16:25:00 GMT 2008  Olly Betts <olly@survex.com>
18972         * docs/quickstart.html: Fix very out of date reference to MSet::items
18973           (bug#237).
18975 Tue Feb 12 12:40:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18977         * bin/xapian-compact.cc: Fix incorrect parameters passed to
18978           FlintTable constructor.
18980 Sat Feb 09 11:56:40 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18982         * common/socket_utils.h,net/remoteconnection.cc: More fixes for
18983           windows.
18985 Sat Feb 09 11:31:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18987         * common/msvc_dirent.cc,common/msvc_dirent.h: Hopefully this is a
18988           better implementation of dirent functions.
18990 Sat Feb 09 10:59:50 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18992         * common/: Add implementation of dirent.h for use with MSVC; this
18993           is copied from the mingw implementation, which has been placed in
18994           the public domain.  Add "safedirent.h" header for easy inclusion
18995           of this implementation.
18997 Sat Feb 09 10:43:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18999         * tests/api_replicate.cc: Use _putenv instead of setenv on windows.
19001 Sat Feb 09 09:56:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19003         * common/socket_utils.cc,common/socket_utils.h: More fixes for
19004           windows.
19006 Fri Feb 08 16:40:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19008         * common/Makefile.mk,common/socket_utils.cc,common/socket_utils.h,
19009           net/remoteconnection.cc,net/tcpclient.cc: Move windows-specific
19010           socket handling code from remoteconnection.cc into a separate
19011           file, provides the inline close_fd_or_socket for unix in the
19012           header file.  Use this in tcpclient.cc instead of close to close
19013           sockets correctly on windows.
19015 Fri Feb 08 16:40:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19017         * common/fileutils.cc,common/replicatetcpclient.h: Correct typos in
19018           windows only sections of code.
19020 Fri Feb 08 15:29:28 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19022         * net/remoteconnection.cc: Fixes for windows - always include
19023           "safesysselect.h", and include <io.h> on windows.
19024           Also, remove definition of an unused variable (probably due to a
19025           copy and paste error).
19027 Wed Feb 06 13:45:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19029         * bin/xapian-replicate.cc: Include "safeunistd.h" - needed for
19030           sleep, if nothing else.
19032 Tue Feb 05 18:10:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19034         * configure.ac: Set -pedantic in CXXFLAGS not AM_CXXFLAGS when
19035           testing for problem with it - AM_CXXFLAGS is an automake thing,
19036           and isn't used by the autoconf test.
19038 Tue Feb 05 17:50:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19040         * configure.ac: Cleaner patch for the test of compilation with
19041           -pedantic - cache the result using AC_CACHE_VAL().
19043 Tue Feb 05 17:32:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19045         * configure.ac: Check whether compilation of a cast of INFINITY to
19046           a double, and comparison with HUGE_VAL, causes a problem if
19047           -pedantic is specified (which it does on at least some Mac OSX
19048           versions).  If so, don't use the -pedantic compiler flag.
19050 Tue Feb 05 09:24:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19052         * backends/flint/flint_cursor.cc,backends/flint/flint_database.cc,
19053           backends/quartz/bcursor.cc: More fixes for debug logging - rename
19054           the "hex_encode" functions used for logging to
19055           "hex_display_encode" to avoid name clash.  Fix return type
19056           declared in flint_database.cc's DEBUGCALL macro.
19058 Tue Feb 05 09:18:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19060         * api/replication.cc: Fix for logging compiles: don't check return
19061           value of a void function.
19063 Tue Feb 05 09:14:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19065         * api/replication.cc: Reopen database after replication, to fix bug
19066           with applying a chain of changesets.
19067         * backends/flint/flint_database.cc: Don't use O_TRUNC (or O_CREAT)
19068           when modifying the DB files!
19069         * tests/api_replicate.cc: Don't call function from inside
19070           TEST_EQUAL, because that's a macro and the function will be
19071           double-evaluated.
19073 Tue Feb 05 02:07:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19075         * api/replication.cc,backends/database.cc,backends/flint/,
19076           common/database.h: Many fixes to the replication code.  Now
19077           parses replication changesets correctly and applies them to the
19078           databases.  Also, correct one bug with the generation of
19079           changesets.
19080         * docs/replication.rst,docs/replication_protocol.rst: Update.
19081         * tests/api_replicate.cc: Add test of two changesets being applied
19082           at once.
19084 Sun Feb 03 13:31:10 GMT 2008  Olly Betts <olly@survex.com>
19086         * backends/quartz/btree.cc: Backport atomic base update fix from
19087           flint.
19089 Sat Feb 02 22:47:56 GMT 2008  Olly Betts <olly@survex.com>
19091         * AUTHORS: Add Thomas Viehmann.
19093 Sat Feb 02 03:39:33 GMT 2008  Olly Betts <olly@survex.com>
19095         * backends/flint/flint_table.cc: Update the base files atomically to
19096           avoid problems with reading processes finding partially written
19097           ones.
19099 Sat Feb 02 03:38:00 GMT 2008  Olly Betts <olly@survex.com>
19101         * api/replication.cc: Don't leak the RemoteConnection object.
19103 Fri Feb 01 23:15:38 GMT 2008  Olly Betts <olly@survex.com>
19105         * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h:
19106           Fix assorted comment errors.
19108 Fri Feb 01 20:20:23 GMT 2008  Olly Betts <olly@survex.com>
19110         * bin/xapian-replicate.cc: Fix comment.
19112 Fri Feb 01 20:13:23 GMT 2008  Olly Betts <olly@survex.com>
19114         * bin/xapian-replicate.cc: Document the default interval in --help.
19116 Fri Feb 01 20:05:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19118         * bin/xapian-replicate.cc: Remove the "return 0;" I added at the
19119           end of the function - I didn't realise this, but in C++ it's not
19120           necessary to have a return at the end of main().  Tidier without
19121           it, so it's gone.
19123 Fri Feb 01 19:44:05 GMT 2008  Olly Betts <olly@survex.com>
19125         * include/xapian/unicode.h: Add Unicode::toupper() to complement
19126           Unicode::tolower().
19127         * tests/api_unicode.cc: Add caseconvert1 testcase to test
19128           Unicode::tolower() and Unicode::toupper().
19130 Fri Feb 01 19:36:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19132         * bin/xapian-replicate.cc: Add one-shot and verbose options to
19133           replication client.
19135 Fri Feb 01 17:52:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19137         * api/replication.cc,backends/flint/flint_database.cc,
19138           include/xapian/replication.h,net/replicatetcpclient.cc,
19139           tests/api_replicate.cc: Keep the RemoteConnection in the
19140           DatabaseReplica object, so that any data which is read ahead
19141           doesn't get lost.  If an error occurs opening the database on
19142           the server, send a FAIL message over the connection, rather than
19143           just shutting it.
19145 Fri Feb 01 16:51:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19147         * backends/flint/flint_table.cc: Fix a database corruption bug: see
19148           bugzilla entry #232.  Was caused by lazy tables not being created
19149           at the right revision.
19150         * tests/api_wrdb.cc: Regression test for bug.
19152 Fri Feb 01 15:10:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19154         * api/replication.cc,backends/database.cc,
19155           backends/flint/flint_database.cc,backends/flint/flint_database.h,
19156           common/database.h,docs/replication_protocol.rst,
19157           tests/api_replicate.cc: Add the UUID of the new database to the
19158           DB_HEADER message, and move the code which compares UUIDs out of
19159           flint_database.cc and into replication.cc.  Fix testcase which
19160           missed incorrect comparison of UUIDs.  Store the UUID of the
19161           live database which has been replicated in the config file - this
19162           isn't an ideal place, but will do until the UUID is stored in the
19163           iamflint file, and we can parse it from there.  Remove debug
19164           printfs.
19166 Fri Feb 01 15:09:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19168         * bin/quartzdump.cc: Rename hex_encode() to hex_display_encode() to
19169           avoid collision.  (The hex encoding produced by this doesn't
19170           encode spaces, so isn't quite the same as the functions just
19171           added to utils.cc).
19173 Fri Feb 01 15:08:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19175         * common/utils.cc,common/utils.h: Add utility functions to
19176           hex-encode and decode a string, so we can store UUIDs in the
19177           config file in replicated DB directories.
19179 Fri Feb 01 12:49:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19181         * tests/harness/backendmanager_multi.cc: Make the multi
19182           backendmanager use relative paths in its stub databases.
19184 Fri Feb 01 12:17:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19186         * common/Makefile.mk: Add replicationprotocol.h to distribution.
19188 Fri Feb 01 12:10:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19190         * backends/database.cc: Stub databases used to
19191           assume that any relative paths were relative to the current
19192           working directory.  They now assume that relative paths are
19193           relative to the directory holding the stub database file.
19194           Also, lines which begin with a '#' character are ignored, so we
19195           can place comments in the stub database files.  Also, recognise a
19196           new database type: a "stub directory", which is a directory
19197           containing a stub database file named "XAPIANDB".
19198         * api/replication.cc: Replica databases are now created as
19199           directories containing a "XAPIANDB" stub file, so all the
19200           workings are internal.
19201         * common/Makefile.mk,common/fileutils.cc,common/fileutils.h: Add
19202           new set of utilities to manipulate path names - extracting
19203           directory names, and joining paths.
19204         * tests/api_replicate.cc: Enable test properly, now that
19205           it passes.  Test needs to be expanded to check that the database
19206           copy succeeded better.
19208 Fri Feb 01 09:47:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19210         * backends/flint/flint_database.cc: Fix warning about unused
19211           variable.
19213 Fri Feb 01 03:49:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19215         * api/replication.cc,backends/database.cc,
19216           backends/flint/flint_database.cc,backends/flint/flint_database.h,
19217           common/database.h,common/replicationprotocol.h: Move replication
19218           protocol definition into a separate file.  Add (virtual) support
19219           methods for applying changesets to Database::Internal.  Sort out
19220           atomic swapping of old database for new after a database copy.
19222 Fri Feb 01 03:49:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19224         * tests/quartztest.cc: Rename removedir to removedir_recursive() to
19225           avoid conflict with my new function.
19227 Fri Feb 01 03:09:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19229         * docs/replication_protocol.rst: Specify (though not in much
19230           detail) what we mean by "packed" strings and integers.
19232 Fri Feb 01 03:09:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19234         * include/xapian/replication.h: Be more precise in documentation
19235           comment.
19237 Fri Feb 01 03:07:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19239         * net/remoteconnection.cc: Remove debug printfs()
19241 Fri Feb 01 03:03:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19243         * common/utils.cc,common/utils.h: Add overloaded rmdir() which
19244           works directly on C++ strings.  Add removedir() method which
19245           removes a directory and its contents (as long as the directory
19246           only contains files, not subdirectories).
19248 Fri Feb 01 01:51:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19250         * common/remoteconnection.h,net/remoteconnection.cc: Add
19251           "sniff_next_message_type" method to RemoteConnection, and replace
19252           the hardcoded "4096" size of the chunks used for the remote
19253           connection confersation with a #define.  Fix file mode when
19254           creating a file with receive_file(), and bugs with writing too
19255           much data to the file.
19257 Thu Jan 31 03:41:42 GMT 2008  Olly Betts <olly@survex.com>
19259         * bin/Makefile.mk,bin/xapian-replicate-server.cc,
19260           common/replicatetcpserver.h: Add xapian-replicate-server server
19261           program.
19263 Thu Jan 31 02:46:38 GMT 2008  Olly Betts <olly@survex.com>
19265         * bin/Makefile.mk,bin/xapian-replicate.cc,common/replicatetcpclient.h,
19266           net/replicatetcpclient.cc,net/replicatetcpserver.cc: Add
19267           xapian-replicate client program.
19269 Wed Jan 30 19:13:08 GMT 2008  Olly Betts <olly@survex.com>
19271         * include/xapian/replication.h: Correct name of parameter in doxygen
19272           comment.
19274 Wed Jan 30 15:58:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19276         * api/replication.cc,backends/database.cc,
19277           backends/flint/flint_database.cc,backends/flint/flint_database.h,
19278           common/database.h: Hook up the apply_changeset function from the
19279           API through to flint.  (The flint layer currently doesn't work,
19280           though.)  Also, implement the get_uuid() function for flint, by
19281           using the mtime of the iamflint file.
19282         * tests/api_replicate.cc: Finish implementation of the "replicate"
19283           function, and add a test of a replication of a database using
19284           this.  The return value test is commented out for now, because
19285           the flint layer doesn't work, but this puts the machinery needed
19286           to test this in place.
19288 Wed Jan 30 15:10:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19290         * backends/flint/flint_database.cc: Implement sending of the whole
19291           database copy.
19293 Wed Jan 30 14:45:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19295         * tests/,tests/harness/: Add new testcase file (api_replicate.cc)
19296           to hold tests of the replication functionality.  Currently has
19297           one partially written test.  Also, add new function to apitest.h:
19298           get_named_writable_database_path(), which allows the path to a
19299           writable database to be obtained; throws an exception for those
19300           backend types for which that isn't meaningful.  Add a new
19301           variable for use in the conditions for tests: "replicas", which
19302           should be set to true for all backends which support replication.
19304 Wed Jan 30 14:42:26 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19306         * net/remoteconnection.cc: Fix the calls to fcntl() in
19307           send_message() and send_file() to use fdout instead of fdin.
19308           This has probably been stopping timeouts working very well.
19310 Tue Jan 29 15:05:09 GMT 2008  Olly Betts <olly@survex.com>
19312         * common/remoteconnection.h,net/remoteconnection.cc: Add
19313           receive_file() method.
19315 Tue Jan 29 14:37:36 GMT 2008  Olly Betts <olly@survex.com>
19317         * common/remoteconnection.h,net/remoteconnection.cc: Add the ability
19318           to read a message in chunks.
19320 Tue Jan 29 10:08:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19322         * include/xapian/replication.h: Expand documentation comment.
19323         * api/replication.cc,backends/database.cc,
19324           backends/flint/flint_database.cc,backends/flint/flint_database.h,
19325           common/database.h: Add a write_changesets_to_fd() function to
19326           Database::Internal, with a default implementation to raise an
19327           UnimplementedError.  Hook
19328           DatabaseMaster::write_changesets_to_fd() up to this, and
19329           implement it for flint databases (the code to send a copy of a
19330           database still needs work).
19332 Tue Jan 29 10:01:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19334         * docs/replication_protocol.rst: Document that a FAIL message ends
19335           the conversation.
19337 Tue Jan 29 09:59:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19339         * docs/replication_protocol.rst: Document the protocol used to
19340           transfer the updates.
19342 Tue Jan 29 09:57:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19344         * net/remoteconnection.cc: Fix typo.
19346 Tue Jan 29 09:48:15 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19348         * net/remoteconnection.cc: For win32, use msvc_posix_open() to open
19349           the file descriptor, so other things can delete the file while
19350           the sending is in progress.
19352 Tue Jan 29 01:23:19 GMT 2008  Olly Betts <olly@survex.com>
19354         * net/remoteconnection.cc: Add an assertion.
19356 Tue Jan 29 01:14:07 GMT 2008  Olly Betts <olly@survex.com>
19358         * common/remoteconnection.h,net/remoteconnection.cc: Add send_file()
19359           method to RemoteConnection to allow the contents of a file to be
19360           sent as a message.
19362 Tue Jan 29 00:28:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19364         * api/replication.cc,include/xapian/replication.h: Add methods to
19365           allow parameters to be stored associated with a DatabaseReplica.
19367 Tue Jan 29 00:16:42 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19369         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
19370           Change write_changesets_to_fd() to take the revision information
19371           as a string - it now includes a UUID.  Add get_uuid() method to
19372           FlintDatabase - currently always returns "FIXME", but will
19373           eventually return an ID for the database.
19375 Mon Jan 28 19:07:20 GMT 2008  Olly Betts <olly@survex.com>
19377         * common/Makefile.mk,common/replicatetcpclient.h,net/Makefile.mk,
19378           net/replicatetcpclient.cc,net/replicatetcpserver.cc: Add
19379           ReplicateTcpClient class implementing a replication client over
19380           TCP/IP.
19382 Mon Jan 28 17:13:09 GMT 2008  Olly Betts <olly@survex.com>
19384         * common/Makefile.mk,common/replicatetcpserver.h,net/Makefile.mk,
19385           net/replicatetcpserver.cc: Add ReplicateTcpServer class implementing
19386           a replication server over TCP/IP.
19388 Mon Jan 28 17:01:02 GMT 2008  Olly Betts <olly@survex.com>
19390         * common/remoteconnection.h,net/remoteconnection.cc: Minor tweaks
19391           to allow unidirectional connections.
19393 Mon Jan 28 16:26:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19395         * api/replication.cc: Fix overly hasty commit - add
19396           get_description() method for internal class, and use that instead
19397           of trying to access a private member.
19399 Mon Jan 28 16:22:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19401         * api/replication.cc,common/output.h,include/xapian/replication.h:
19402           Add get_description() methods to DatabaseMaster and
19403           DatabaseReplica, and add XAPIAN_OUTPUT_FUNCTION methods for them
19404           so that they can be displayed in debugging methods.  Should fix
19405           build with logging enabled.
19407 Mon Jan 28 11:52:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19409         * api/replication.cc,include/xapian/replication.h: Add
19410           DatabaseReplica::close() method, to allow the write lock to be
19411           released easily.
19413 Mon Jan 28 11:21:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19415         * api/replication.cc,include/xapian/replication.h: Change
19416           DatabaseReplica into a PIMPL style class, now that it has more
19417           than one member.  Add visibility annotations to DatabaseMaster
19418           and DatabaseReplica.
19420 Mon Jan 28 10:44:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19422         * api/replication.cc,include/xapian/replication.h: Add code to swap
19423           stub database files over atomically, and to track the current
19424           real database path.
19426 Mon Jan 28 04:52:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19428         * api/replication.cc,backends/database.cc,
19429           backends/flint/flint_changesetapplier.h,
19430           backends/flint/flint_database.cc,backends/flint/flint_database.h,
19431           common/database.h: Implement opening of the database underlying
19432           DatabaseReplica objects, and hook up the get_revision_info()
19433           method for it.
19435 Mon Jan 28 04:17:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19437         * common/utils.cc,common/utils.h: Add "dir_exists" function, to
19438           check for presence of a directory at a given path.
19440 Mon Jan 28 03:48:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19442         * backends/flint/flint_table.cc: Change a "+= 1" to ++ - this isn't
19443           Python!
19445 Mon Jan 28 03:08:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19447         * api/Makefile.mk,api/replication.cc,include/Makefile.mk,
19448           include/xapian/replication.h: Add interface to replication
19449           functionality.  (Currently just unimplemented stubs.)
19451 Mon Jan 28 02:01:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19453         * backends/flint/flint_btreebase.h: Add a missing std::
19455 Mon Jan 28 01:59:55 GMT 2008  Olly Betts <olly@survex.com>
19457         * common/remotetcpserver.h: Fix typo in doxygen comment: `@port' ->
19458           `@param port'.  Update comment - socket is no longer closed by
19459           handle_one_connection().
19461 Mon Jan 28 01:28:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19463         * backends/flint/: Add support for recording the changes made to a
19464           database in "changeset" files.  These are currently not produced
19465           by default - for now, the "XAPIAN_MAX_CHANGESETS" environment
19466           variable can be set to control production of them.  As part of
19467           these changes, the FlintTable constructor now takes the
19468           tablename, so that this can be stored in changesets produced from
19469           the table.
19470         * bin/xapian-check.cc,bin/xapian-compact.cc,bin/xapian-inspect.cc:
19471           Update to match changes in FlintTable constructor.
19472         * docs/Makefile.am,docs/replication.rst,docs/replication_protocol.rst:
19473           Add basic documentation of the replication protocol (though this
19474           isn't yet definitive, since the protocol isn't finished!)
19476 Sun Jan 27 21:10:24 GMT 2008  Olly Betts <olly@survex.com>
19478         * net/remotetcpserver.cc,net/tcpserver.cc: The job of closing the
19479           socket connected to the client more naturally belongs to the
19480           framework TcpServer class.
19482 Sun Jan 27 20:32:55 GMT 2008  Olly Betts <olly@survex.com>
19484         * backends/flint/flint_table.cc: Call flint_io_sync() in commit()
19485           rather than flush_db(), as that gives more time for written blocks
19486           to get written to disk before we block on waiting for them to be.
19487           This should tend to speed up WritableDatabase::flush() in I/O bound
19488           situations.
19490 Sun Jan 27 19:35:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19492         * backends/flint/flint_spelling.h,backends/flint/flint_synonym.h:
19493           Merge changes to the spelling and synonym tables just before
19494           calling FlintTable::flush_db(), rather than just before calling
19495           FlintTable::commit(), so that they don't get forgotten.
19497 Sun Jan 27 14:29:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19499         * backends/flint/flint_database.cc,backends/flint/flint_table.cc,
19500           backends/flint/flint_table.h: Separate step which flushes
19501           modified blocks from cursors to the DB file from the rest of
19502           commit.  This will allow me to insert the changeset writing code
19503           between the two steps, so it can assume that the DB file is fully
19504           up-to-date.  Also remove an out-of-date FIXME about trying to
19505           avoid updating the value and position tables if they're not used:
19506           these tables are now lazily created anyway.
19508 Sun Jan 27 12:53:51 GMT 2008  Olly Betts <olly@survex.com>
19510         * net/tcpserver.cc: Change explicit references to xapian-tcpsrv.
19512 Sun Jan 27 12:26:24 GMT 2008  Olly Betts <olly@survex.com>
19514         * common/tcpclient.h,common/tcpserver.h,net/: Make use of TCP_NODELAY
19515           optional at the class level.  No user-visible changes.
19517 Sat Jan 26 17:18:09 GMT 2008  Olly Betts <olly@survex.com>
19519         * backends/dbfactory_remote.cc,common/Makefile.mk,
19520           common/remotetcpclient.h,common/tcpclient.h,net/Makefile.mk,
19521           net/remotetcpclient.cc,net/tcpclient.cc: Split out the "open
19522           a connection" part of TcpClient and rename the rest to
19523           RemoteTcpClient.
19525 Sat Jan 26 14:01:34 GMT 2008  Olly Betts <olly@survex.com>
19527         * bin/xapian-tcpsrv.cc,common/Makefile.mk,common/remotetcpserver.h,
19528           common/tcpserver.h,net/Makefile.mk,net/remotetcpserver.cc,
19529           net/tcpserver.cc: Split TcpServer into a generic TCP server
19530           class (TcpServer) and a subclass of this which implements the
19531           remote backend TCP server (RemoteTcpServer).
19533 Sat Jan 26 11:06:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19535         * backends/flint/flint_btreebase.cc,backends/quartz/btree_util.h,
19536           common/utils.h: Move fdcloser into utils.h, since it's generally
19537           useful, and it's better not to have multiple copies of it
19538           scattered through the code.
19540 Fri Jan 25 15:06:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19542         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Use
19543           msvc_posix_unlink() on windows in sys_unlink_if_exists()
19544           functions, so that they will work even if the file is still open.
19545           This probably changes no behaviour, because
19546           sys_unlink_if_exists() is probably never called in such a
19547           situation, but this may not be true in future.
19549 Thu Jan 24 13:31:20 GMT 2008  Olly Betts <olly@survex.com>
19551         * docs/overview.html: Remove commented-out comment about OP_XOR.
19553 Thu Jan 24 13:30:04 GMT 2008  Olly Betts <olly@survex.com>
19555         * docs/intro_ir.html: Briefly mention how pure boolean retrieval is
19556           supported.
19558 Thu Jan 24 13:28:44 GMT 2008  Olly Betts <olly@survex.com>
19560         * HACKING: Move "debian/patch" update earlier in the checklist.
19562 Thu Jan 24 13:26:45 GMT 2008  Olly Betts <olly@survex.com>
19564         * NEWS: Partly update from ChangeLog.
19566 Thu Jan 17 22:32:08 GMT 2008  Olly Betts <olly@survex.com>
19568         * backends/flint/flint_lock.cc,backends/flint/flint_lock.h,
19569           bin/xapian-check.cc: Apply tweaked version of patch for OS/2 support
19570           by Yuri Dario.
19571         * AUTHORS: Add Yuri Dario.
19572         * PLATFORMS: Mention OS/2.
19574 Mon Jan 14 11:03:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19576         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Fix more
19577           assertions to avoid overflowing int.
19579 Mon Jan 14 09:29:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19581         * backends/flint/flint_btreeutil.h: Fix assertions to not overflow
19582           int.
19584 Mon Jan 14 09:23:54 GMT 2008  Olly Betts <olly@survex.com>
19586         * backends/quartz/btree_util.h: Fix assertions to not overflow int.
19588 Mon Jan 14 08:47:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19590         * configure.ac: Fix test for gcc being 4.0.x or 4.1.x, so we don't
19591           use -Wstrict-overflow with them.
19593 Sun Jan 13 23:28:04 GMT 2008  Olly Betts <olly@survex.com>
19595         * configure.ac: GCC warning flag overhaul.  Stop passing
19596           "-Wno-multichar" since any multi-character character literal is
19597           bound to be a typo (I believe we were only passing it after
19598           misinterpreting its sense!)  Pass "-Wformat-security",
19599           "-Wconversion", and "-pedantic" for all GCC versions.  Add
19600           "-Winit-self" and "-Wstrict-overflow=5" for GCC >= 4.2.  The
19601           latter may be too aggressive, but it's hard to know without
19602           trying it more widely.
19604 Sun Jan 13 00:25:25 GMT 2008  Olly Betts <olly@survex.com>
19606         * backends/flint/flint_check.h,backends/flint/flint_table.h,
19607           backends/quartz/btree.h,net/tcpserver.cc,tests/harness/testsuite.cc:
19608           Add XAPIAN_NORETURN() annotations to functions and non-virtual
19609           methods which don't return.
19610         * net/remoteserver.cc: Assign bool variable using a comparison rather
19611           than subtraction, so the intent is clearer.
19613 Sun Jan 13 00:23:41 GMT 2008  Olly Betts <olly@survex.com>
19615         * backends/flint/flint_check.cc: Tweak a comparison so all the
19616           constants are on the same side (micro-optimisation).
19617         * backends/quartz/btreecheck.cc: Equivalent change for quartz.
19619 Sun Jan 13 00:20:08 GMT 2008  Olly Betts <olly@survex.com>
19621         * tests/queryparsertest.cc: Add a couple of testcases I wrote for a
19622           reported problem which turned out to work correctly already.  Still,
19623           they add to our test coverage.
19625 Thu Jan 10 02:04:55 GMT 2008  Olly Betts <olly@survex.com>
19627         * tests/runtest.in: Cope with "@EXEEXT" extension on test programs.
19629 Wed Jan 09 21:57:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19631         * api/omquery.cc,api/omqueryinternal.cc,common/remoteprotocol.h,
19632           include/xapian/query.h,matcher/queryoptimiser.cc,tests/api_anydb.cc:
19633           Add OP_VALUE_LE operator, for symmetry with OP_VALUE_GE.
19634           Currently implemented internally using a ValueRangePostList with
19635           an empty string as the start of the range.
19637 Wed Jan 09 19:36:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19639         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h: Add
19640           new query operator OP_VALUE_GE, for performing "return documents
19641           with a value greater than this" searches.  Also add a new
19642           constructor to go with this which takes a value number and a
19643           single string argument.
19644         * matcher/: Add ValueGePostList class, as a subclass of
19645           ValueRangePostList.  Change internal members of
19646           ValueRangePostList to be protected instead of private.  Add
19647           support for making ValueGePostLists from OP_VALUE_GE queries.
19648         * tests/api_anydb.cc: Add valuege1 testcase of OP_VALUE_GE queries.
19649         * common/remoteprotocol.h: Bump minor protocol number, due to
19650           additional operator being possible in serialised queries.
19652 Wed Jan 09 15:18:16 GMT 2008  Olly Betts <olly@survex.com>
19654         * PLATFORMS: Update from Debian buildd logs.
19656 Wed Jan 09 13:53:34 GMT 2008  Olly Betts <olly@survex.com>
19658         * tests/harness/backendmanager_remotetcp.cc: Fix XAPIAN_NORETURN() to
19659           wrap a declaration, not the definition, to fix compile failure on
19660           mingw "make check".  Correct file documentation comment to refer
19661           to "remotetcp" not "remoteprog".
19663 Mon Jan 07 01:28:14 GMT 2008  Olly Betts <olly@survex.com>
19665         * PLATFORMS: Remove reports for 0.8.x as they're too old to be
19666           interesting.  Separate out 0.9.x reports.
19668 Mon Jan 07 00:23:10 GMT 2008  Olly Betts <olly@survex.com>
19670         * PLATFORMS: Add Solaris 9 and 10 success reports from James Aylett.
19672 Sat Jan 05 19:13:12 GMT 2008  Olly Betts <olly@survex.com>
19674         * languages/compiler/generator.c: In generate_call(), if the failure
19675           case would just be "if (ret == 0) return 0;" then combine it with
19676           the test for the called method returning signal `f'.
19678 Sat Jan 05 18:28:31 GMT 2008  Olly Betts <olly@survex.com>
19680         * languages/compiler/generator.c: Generate more readable code for the
19681           inlined single ASCII character literal string check.
19683 Sat Jan 05 18:27:07 GMT 2008  Olly Betts <olly@survex.com>
19685         * languages/steminternal.cc: Tweak skip_utf8() to save ~0.5% on
19686           stemtest.
19688 Sat Jan 05 02:20:57 GMT 2008  Olly Betts <olly@survex.com>
19690         * languages/compiler/generator.c: Optimise a single ASCII character
19691           literalstring check by inlining the check.  This makes stemtest run
19692           about 2% faster.
19694 Fri Dec 21 21:57:11 GMT 2007  Olly Betts <olly@survex.com>
19696         * docs/valueranges.rst: Fix example of using multiple VRPs to come out
19697           as a "program listing".
19699 Fri Dec 21 15:31:35 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19701         * common/stringutils.h,common/utils.h: Move declaration of
19702           within_DBL_EPSILON back into utils.h to fix builds with
19703           --enable-assertions, and since it's not string-related.
19705 Fri Dec 21 02:12:49 GMT 2007  Olly Betts <olly@survex.com>
19707         * NEWS: Note that one change was "(bug#45)".  Bump release date.
19709 Thu Dec 20 22:00:41 GMT 2007  Olly Betts <olly@survex.com>
19711         * NEWS: Update again for 1.0.5.
19713 Thu Dec 20 17:50:26 GMT 2007  Olly Betts <olly@survex.com>
19715         * common/stringutils.cc: Add new file I failed to commit.
19717 Thu Dec 20 17:17:28 GMT 2007  Olly Betts <olly@survex.com>
19719         * tests/queryparsertest.cc: Add feature tests to ensure that ':' is
19720           inserted between prefix and term when it should be.
19722 Thu Dec 20 13:58:18 GMT 2007  Olly Betts <olly@survex.com>
19724         * common/,queryparser/queryparser.lemony,
19725           queryparser/termgenerator_internal.cc,tests/harness/index_utils.cc,
19726           tests/harness/unixcmds.cc: Move C_isupper(), C_toupper(), etc from
19727           utils.cc/utils.h to stringutils.cc/stringutils.h, since they are
19728           string-related.
19730 Thu Dec 20 03:00:08 GMT 2007  Olly Betts <olly@survex.com>
19732         * HACKING: Remove details of issues with autoconf < 2.57 and
19733           automake < 1.5 as these versions are antiques compared to our
19734           current requirements of autoconf >= 2.59 and automake >= 1.8.3.
19736 Wed Dec 19 03:41:42 GMT 2007  Olly Betts <olly@survex.com>
19738         * AUTHORS,NEWS,configure.ac: Update for 1.0.5.
19740 Wed Dec 19 03:36:30 GMT 2007  Olly Betts <olly@survex.com>
19742         * api/omdatabase.cc: Calling WritableDatabase methods when we don't
19743           have exactly one subdatabase now throws InvalidOperationError.
19744         * tests/termgentest.cc: Add regression test to check that we now get
19745           InvalidOperationError (previously this case gave a segmentation
19746           fault).
19748 Wed Dec 19 01:39:01 GMT 2007  Olly Betts <olly@survex.com>
19750         * PLATFORMS: Update from tinderbox.
19752 Tue Dec 18 23:17:37 GMT 2007  Olly Betts <olly@survex.com>
19754         * backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Move lots
19755           of headers included by flint_lock.h to flint_lock.cc since
19756           flint_lock.h doesn't need them.  Add a "FIXME:1.1:" comment about
19757           an odd special-case for newlib.
19759 Thu Dec 13 17:34:19 GMT 2007  Olly Betts <olly@survex.com>
19761         * tests/stemtest.cc: Mark undocumented OM_STEMTEST_* environmental
19762           variables for removal in 1.1.
19764 Thu Dec 13 01:27:15 GMT 2007  Olly Betts <olly@survex.com>
19766         * HACKING: Need to check RPM packaging with Tim Brody too.
19768 Thu Dec 13 01:26:16 GMT 2007  Olly Betts <olly@survex.com>
19770         * configure.ac: Note that we check for <streambuf> because GCC 2.95
19771           only has <streambuf.h>.
19773 Thu Dec 13 01:23:27 GMT 2007  Olly Betts <olly@survex.com>
19775         * AUTHORS: Add Ralf Wildenhues for suggesting a way to factor out
19776           the boilerplate in multitarget rules.
19778 Wed Dec 12 02:02:51 GMT 2007  Olly Betts <olly@survex.com>
19780         * NEWS: Update for ChangeLog in preparation for 1.0.5.
19782 Wed Dec 12 01:02:29 GMT 2007  Olly Betts <olly@survex.com>
19784         * docs/admin_notes.rst: Mark as up to date for Xapian 1.0.5.  Minor
19785           wording improvements.
19787 Sun Dec 09 01:09:19 GMT 2007  Olly Betts <olly@survex.com>
19789         * tests/collate-apitest: Check for sources in the build directory
19790           first, and only if not there prepend "$srcdir/".  The recently
19791           added api_generated.cc will be in the build directory when using an
19792           SVN checkout.
19794 Fri Dec 07 12:37:08 GMT 2007  Olly Betts <olly@survex.com>
19796         * docs/sorting.rst,docs/valueranges.rst: State explicitly that
19797           Xapian::sortable_serialise() is used to encode values at index time
19798           and give an example of how it is called.
19800 Thu Dec 06 15:55:31 GMT 2007  Olly Betts <olly@survex.com>
19802         * tests/Makefile.am,tests/collate-apitest,
19803           tests/generate-api_generated: Add automatically generated tests to
19804           ensure that API classes generally have copy ctors and assignment
19805           operators, and also generally have a default ctor.
19807 Thu Dec 06 15:32:23 GMT 2007  Olly Betts <olly@survex.com>
19809         * docs/sorting.rst: Fill in the remaining items in the outline.
19811 Thu Dec 06 12:50:46 GMT 2007  Olly Betts <olly@survex.com>
19813         * tests/valgrind.supp: Another variant of the zlib suppression.
19815 Wed Dec 05 18:31:12 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19817         * Makefile.am,docs/Makefile.am,tests/Makefile.am: Add dir_contents,
19818           docs/dir_contents and tests/dir_contents to distribution
19819           tarballs.
19821 Wed Dec 05 18:28:12 GMT 2007  Olly Betts <olly@survex.com>
19823         * preautoreconf: Really fix handling of version.h.
19825 Wed Dec 05 18:20:54 GMT 2007  Olly Betts <olly@survex.com>
19827         * preautoreconf: Handle make pattern substitutions.
19829 Wed Dec 05 18:11:31 GMT 2007  Olly Betts <olly@survex.com>
19831         * preautoreconf: Fix special-case handling of include/xapian/version.h.
19833 Wed Dec 05 18:01:34 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19835         * matcher/multiandpostlist.cc,matcher/multiandpostlist.h: Implement
19836           get_wdf() method for MultiAndPostList (by adding together the
19837           wdfs of the subpostlists).  Not currently used (but will be by
19838           SynonymPostList).
19840 Wed Dec 05 17:43:24 GMT 2007  Olly Betts <olly@survex.com>
19842         * preautoreconf: Special-case version.h.
19844 Wed Dec 05 17:31:47 GMT 2007  Olly Betts <olly@survex.com>
19846         * preautoreconf: Fix errors in previous check-in.
19848 Wed Dec 05 17:18:26 GMT 2007  Olly Betts <olly@survex.com>
19850         * preautoreconf: Parse BUILT_SOURCES to determine which files are
19851           generated and so need looking for in the build directory - this
19852           won't need updating when new files are generated, or existing
19853           ones stop being.
19855 Wed Dec 05 16:55:26 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19857         * preautoreconf: Fix "make doxygen_docs" with VPATH build: look for
19858           generated code files in build dir, and make rule which re-runs
19859           preautoreconf change to srcdir first.
19861 Wed Dec 05 14:59:52 GMT 2007  Olly Betts <olly@survex.com>
19863         * docs/sorting.rst: Document set_sort_by_value() and friends.
19865 Wed Dec 05 11:31:27 GMT 2007  Olly Betts <olly@survex.com>
19867         * docs/sorting.rst: More work.
19869 Tue Dec 04 14:42:57 GMT 2007  Olly Betts <olly@survex.com>
19871         * docs/bm25.html: Improve wording.
19873 Mon Dec 03 17:11:01 GMT 2007  Olly Betts <olly@survex.com>
19875         * docs/Makefile.am,docs/index.html,docs/sorting.rst: Add the start of
19876           a topic document on sorting.
19878 Mon Dec 03 17:10:04 GMT 2007  Olly Betts <olly@survex.com>
19880         * common/stats.h: Fix comment typos.
19882 Sun Dec 02 14:36:47 GMT 2007  Olly Betts <olly@survex.com>
19884         * docs/synonyms.rst: Minor wording clarification.
19886 Sun Dec 02 14:23:37 GMT 2007  Olly Betts <olly@survex.com>
19888         * tests/collate-apitest: Fix reversed conditional for deciding
19889           which generated headers to update.
19891 Sun Dec 02 03:47:44 GMT 2007  Olly Betts <olly@survex.com>
19893         * tests/apitest.cc: Include api_all.h instead of the individual
19894           generated headers.
19896 Sun Dec 02 03:44:56 GMT 2007  Olly Betts <olly@survex.com>
19898         * tests/collate-apitest: Add licence and (C).  Only update .h files
19899           which may have changed.  Generate api_all.h which just includes
19900           the generated headers corresponding to all the sources processed.
19901           Strip spaces from conditions.
19902         * tests/Makefile.am: Update for api_all.h.
19904 Sun Dec 02 03:21:59 GMT 2007  Olly Betts <olly@survex.com>
19906         * matcher/weight.cc: Wrap comment.
19908 Sun Dec 02 03:21:25 GMT 2007  Olly Betts <olly@survex.com>
19910         * AUTHORS: Thank Petr Ročkai.
19912 Sun Dec 02 02:40:58 GMT 2007  Olly Betts <olly@survex.com>
19914         * api/omenquire.cc: Oops, this file also part of previous change.
19916 Sun Dec 02 02:14:27 GMT 2007  Olly Betts <olly@survex.com>
19918         * include/xapian/enquire.h: Implement copy ctor and assignment
19919           operator for Xapian::Enquire (bug#219).
19920         * configure.ac: Note what this means in terms of library versioning.
19922 Sat Dec 01 02:54:51 GMT 2007  Olly Betts <olly@survex.com>
19924         * include/xapian/: Stop describing get_description() as an
19925           "Introspection method", as this doesn't help to explain what it
19926           does, and get_description() doesn't actually fall under any of the
19927           formal definitions of "introspection" I can find.
19929 Sat Dec 01 02:45:16 GMT 2007  Olly Betts <olly@survex.com>
19931         * tests/harness/index_utils.h: Overlooked (C) update.
19933 Sat Dec 01 02:34:59 GMT 2007  Olly Betts <olly@survex.com>
19935         * HACKING,INSTALL,common/,configure.ac,tests/api_anydb.cc,
19936           tests/api_db.cc,tests/btreetest.cc,tests/harness/testsuite.cc,
19937           tests/harness/testsuite.h,tests/harness/testutils.cc,
19938           tests/internaltest.cc: Raise the minimum supported GCC version
19939           to 2.95.3 and strip out om_ostringstream which is no longer
19940           required.
19942 Sat Dec 01 01:10:04 GMT 2007  Olly Betts <olly@survex.com>
19944         * tests/api_sorting.cc,tests/api_wrdb.cc: Move sortfunctor2 from
19945           api_wrdb.cc to api_sorting.cc.
19947 Sat Dec 01 00:43:31 GMT 2007  Olly Betts <olly@survex.com>
19949         * tests/valgrind.supp: Add version of the valgrind zlib suppression
19950           for 64 bit hosts.
19952 Fri Nov 30 18:06:49 GMT 2007  Olly Betts <olly@survex.com>
19954         * tests/harness/index_utils.cc: Workaround MSVC which doesn't clear
19955           the fail bit when a stream is reopened.
19957 Fri Nov 30 00:44:21 GMT 2007  Olly Betts <olly@survex.com>
19959         * matcher/queryoptimiser.cc: Make delete_ptr<> a functor rather than
19960           a function.  This fixes the build with SGI's compiler, and
19961           apparently a functor allows more compilers to inline the call.
19963 Thu Nov 29 19:24:22 GMT 2007  Olly Betts <olly@survex.com>
19965         * configure.ac: Fix previous change to work.
19967 Thu Nov 29 18:53:09 GMT 2007  Olly Betts <olly@survex.com>
19969         * configure.ac: Assume we have <sstream> and hardwire HAVE_SSTREAM to
19970           be 1.  If this assumption proves correct for all platforms we care
19971           about, we can rip out the old om_ostringstream code.
19973 Thu Nov 29 17:51:11 GMT 2007  Olly Betts <olly@survex.com>
19975         * tests/harness/index_utils.cc: Work around MSVC.
19977 Wed Nov 28 03:17:06 GMT 2007  Olly Betts <olly@survex.com>
19979         * api/sorter.cc: Fix reverse sorting of value strings with different
19980           lengths.
19981         * tests/api_wrdb.cc: Add test sortfunctor2 to check this actually
19982           works.
19984 Wed Nov 28 02:27:37 GMT 2007  Olly Betts <olly@survex.com>
19986         * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/:
19987           Add get_named_writable_database() and use it to fix spell3 on
19988           Microsoft Windows.
19990 Tue Nov 27 16:56:12 GMT 2007  Olly Betts <olly@survex.com>
19992         * xapian-config.in: Factor out the code to check if we need explicit
19993           dependencies into a function.  On platforms we know don't need
19994           explicit dependencies, --ltlibs now gives the same output as --libs.
19996 Tue Nov 27 00:24:18 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19998         * tests/Makefile.am: Remove api_regressions.cc from list - didn't
19999           mean to commit that (yet).
20001 Tue Nov 27 00:17:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20003         * tests/Makefile.am: Use $(collated_apitest_sources) in list of
20004           apitest_SOURCES; now a new test file can be added just by adding
20005           it to this variable.
20007 Mon Nov 26 23:04:00 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20009         * tests/Makefile.am: Add generated apitest .h files to targets of
20010           rule which calls collate-apitest, since they're also generated by
20011           it.  Change the rule to use a .stamp and a .lock file as
20012           described in HACKING, to fix parallel builds.
20014 Mon Nov 26 18:48:20 GMT 2007  Olly Betts <olly@survex.com>
20016         * Makefile.am: Distribute preautoreconf.
20018 Mon Nov 26 17:24:15 GMT 2007  Olly Betts <olly@survex.com>
20020         * HACKING,configure.ac,docs/Makefile.am: Use pngcrush to reduce the
20021           size of PNG files in the doxygen-generated HTML docs.
20023 Mon Nov 26 15:39:58 GMT 2007  Olly Betts <olly@survex.com>
20025         * docs/Makefile.am: Don't package or install various intermediate
20026           files which doxygen generates.
20028 Mon Nov 26 13:14:19 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20030         * tests/api_db.cc: Ensure that the database needed for stubdb1 is
20031           present, by creating it first (with get_database()).  This
20032           requires that the database type is flint, but the test doesn't
20033           depend on any particular database type anyway, so this doesn't
20034           lose us anything.
20036 Mon Nov 26 13:08:08 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20038         * tests/collate-apitest: Display the name of the backend which a
20039           set of tests is for.
20041 Mon Nov 26 09:45:39 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20043         * tests/Makefile.am,tests/collate-apitest: Fix with VPATH builds -
20044           pass srcdir as the first argument to collate-apitest, so it can
20045           find the sources.  Also, use srcdir to form the path to
20046           collate-apitest when calling it from the make rule.
20048 Mon Nov 26 02:22:08 GMT 2007  Olly Betts <olly@survex.com>
20050         * tests/api_db.cc,tests/apitest.cc,tests/apitest.h: Convert the
20051           remaining tests to be collated.
20053 Mon Nov 26 02:08:18 GMT 2007  Olly Betts <olly@survex.com>
20055         * tests/api_db.cc,tests/apitest.cc,tests/apitest.h: Collate the
20056           localdb and remotedb tests.
20058 Mon Nov 26 01:40:59 GMT 2007  Olly Betts <olly@survex.com>
20060         * tests/: Collate the specchar, doclendb, collfreq, allterms, and
20061           multivalue tests.
20063 Mon Nov 26 01:21:35 GMT 2007  Olly Betts <olly@survex.com>
20065         * tests/: Collate the anydb tests.  Remove the generated files upon
20066           "make clean" in maintainer-mode.
20068 Mon Nov 26 00:34:03 GMT 2007  Olly Betts <olly@survex.com>
20070         * tests/: Collate the wrdb tests.
20072 Mon Nov 26 00:18:18 GMT 2007  Olly Betts <olly@survex.com>
20074         * tests/api_posdb.cc,tests/apitest.cc: Add "writable" flag and use it
20075           for poslist2 and poslist3.
20077 Mon Nov 26 00:13:43 GMT 2007  Olly Betts <olly@survex.com>
20079         * tests/: Collate the posdb tests.
20081 Mon Nov 26 00:03:29 GMT 2007  Olly Betts <olly@survex.com>
20083         * tests/: Collate the nodb tests.
20085 Sun Nov 25 23:55:02 GMT 2007  Olly Betts <olly@survex.com>
20087         * tests/: Collate the transaction tests.
20089 Sun Nov 25 23:49:26 GMT 2007  Olly Betts <olly@survex.com>
20091         * tests/: Collate the unicode tests.
20093 Sun Nov 25 23:35:40 GMT 2007  Olly Betts <olly@survex.com>
20095         * tests/: Make a start on automatically collating test cases.
20097 Sun Nov 25 22:41:52 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20099         * api/weightinternal.cc: Initialise all members of
20100           Xapian::Weight::Internal, and use initialisers rather than
20101           assignment to do so.  Fixes an error reported by valgrind.
20103 Sun Nov 25 16:48:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20105         * matcher/weight.cc: Add another note of a FIXME needed for 1.1
20107 Sun Nov 25 16:40:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20109         * matcher/bm25weight.cc,matcher/tradweight.cc: Add some missing
20110           "using namespace std;" lines which are needed due to earlier
20111           changes in header file inclusions.  Also, remove some unnecessary
20112           std:: prefixes.
20114 Sun Nov 25 16:35:30 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20116         * common/stats.h,include/xapian/enquire.h,matcher/localmatch.cc,
20117           matcher/weight.cc: Undo ABI change introduced in previous commit
20118           with a nasty workaround; we can't initialise Weight::internal
20119           reliably, because applications complied with earlier versions of
20120           the library may have inlined the constructor of the Weight class.
20121           Therefore, we can't delete Weight::internal in the destructor,
20122           because we don't know if it was initialised.  Instead, we
20123           add factory methods for making Weight::Internal objects to Stats,
20124           register all the Weight::Internal objects made by these factory
20125           methods in a list is the Stats object, and delete them when Stats
20126           is deleted (which conveniently happens after the match has
20127           finished).  Mark all this with FIXME:1.1: so that we can easily
20128           convert it to nicer code once we branch for 1.1.
20130 Sun Nov 25 15:14:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20132         * api/Makefile.mk,api/weightinternal.cc,common/,
20133           include/xapian/enquire.h,matcher/: Split Stats and
20134           Xapian::Weight::Internal into different classes: Stats remains
20135           with the same members (but becomes a concrete class, rather than
20136           a typedef of another class), and Xapian::Weight::Internal becomes
20137           a simple container for exactly those statistics which are
20138           relevant for a weight object (ie, it holds just one termfreq and
20139           reltermfreq, rather than a map of all of them).  This is
20140           dynamically allocated, so Xapian::Weight now owns the object
20141           pointed to by its "internal" member, and deletes it in its
20142           destructor.  Add a new header file "weightinternal.h" so that the
20143           full "stats.h" stuff doesn't need to be included for definitions
20144           of weighting schemes.  Replace #include "stats.h" lines with
20145           forward declarations of Stats, where possible.
20147 Sun Nov 25 15:09:29 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20149         * api/omenquire.cc: Add missing include of stats.h
20150         * matcher/queryoptimiser.cc,net/tcpserver.cc: Remove unnecessary
20151           include of stats.h
20152         * net/remoteserver.cc: Include missing includes of omassert.h and
20153           stats.h, and change an Assert to AssertEq.
20154         * matcher/multimatch.cc: Output the contents of the stats object in
20155           debugging code.
20157 Sun Nov 25 04:22:05 GMT 2007  Olly Betts <olly@survex.com>
20159         * common/multimatch.h: No longer need "autoptr.h" here.
20161 Sun Nov 25 04:07:04 GMT 2007  Olly Betts <olly@survex.com>
20163         * common/multimatch.h: Fix typo in documentation comment.
20165 Sun Nov 25 03:58:21 GMT 2007  Olly Betts <olly@survex.com>
20167         * common/remoteserver.h,matcher/localmatch.cc,matcher/multimatch.cc:
20168           Remove lingering traces of StatsGatherer.
20170 Sat Nov 24 20:44:03 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20172         * common/stats.h,matcher/Makefile.mk,matcher/stats.cc: Add
20173           get_description() method for Xapian::Weight::Internal, and add
20174           stats.cc back to hold it's implementation.
20175         * common/output.h: Add an output function for Stats (aka
20176           Xapian::Weight::Internal) to fix the build when debug logging is
20177           enabled.
20179 Sat Nov 24 01:21:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20181         * api/omenquire.cc,common/,matcher/,net/remoteserver.cc: Remove
20182           StatsGatherer and its subclasses completely.  Instead of a
20183           StatsGatherer subclass, MultiMatch is now simply passed a Stats
20184           object, and passes this to the prepare_match() methods of the sub
20185           matchers to be populated with statistics.  OmEnquire then passes
20186           the same Stats object to MultiMatch::get_mset(), whereas a remote
20187           submatch sends the Stats object to the parent match, to be
20188           combined with the global statistics, and then passes the returned
20189           global statistics to MultiMatch::get_mset().  Remove stats.cc
20190           since it only contained implementations of StatsGatherer methods,
20191           and networkstats.h which only contained the definition of the
20192           NetworkStatsGatherer.
20193         * matcher/rset.cc: Add the rset size to the database - we now
20194           compute the global rset size the same way as we compute the
20195           global collection size: by adding the sizes in the sub
20196           collections together.  We have the total rset size easily
20197           available in the code, but building the total rset size up from
20198           the sub-databases makes the code simpler.
20200 Sat Nov 24 01:21:18 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20202         * matcher/andnotpostlist.cc: Add a missing #include "omdebug.h".
20204 Fri Nov 23 23:13:12 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20206         * common/stats.h,matcher/: Remove the StatsSource class entirely.
20207           LocalSubMatch and RemoteSubMatch now contribute their stats
20208           directly to the gatherer in the prepare_match() method, so the
20209           gatherer doesn't need to worry about keeping track of the sources
20210           of statistics.
20212 Fri Nov 23 21:46:32 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20214         * common/submatch.h,matcher/: Change SubMatch::start_match() (and
20215           all start_match() methods in subclasses) to take the statistics
20216           for the whole collection as an additional parameter.  MultiMatch
20217           now gets the statistics from the gatherer and passes it to
20218           start_match().
20220 Fri Nov 23 17:38:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20222         * common/stats.h: Add set_termfreq() and set_reltermfreq()
20223           convenience methods to Stats; and remote the take_my_stats(),
20224           my_termfreq_is() and my_reltermfreq_is() methods from
20225           StatsSource.
20226         * common/rset.h,matcher/rset.cc: Rename give_stats_to_statssource()
20227           to contribute_stats(), and give it take a Stats object instead of
20228           a StatsSource object.  Can't forward declare Stats, so we need to
20229           #include "stats.h" in rset.h now, unfortunately.
20230         * matcher/localmatch.cc,matcher/localmatch.h: Move register_term()
20231           implementation inline into prepare_match().  Build up the
20232           statistics in a local Stats object, rather than passing them
20233           piecemeal to the StatsSource object, and then use
20234           StatsSource::get_my_stats() to set them, just like
20235           RemoteSubMatcher.
20237 Fri Nov 23 14:35:49 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20239         * matcher/localmatch.cc,matcher/localmatch.h: Get the total
20240           statistics from the gatherer directly and store them in a new
20241           member of LocalSubMatch, rather than getting them via the
20242           StatsSource when we need them.  This bypasses the
20243           get_total_stats() and set_total_stats() methods of StatsSource.
20244         * common/stats.h,matcher/stats.cc: Remove the (newly) unused
20245           methods StatsSource::set_total_stats() and
20246           StatsSource::get_total_stats().
20248 Fri Nov 23 11:40:54 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20250         * common/,include/xapian/enquire.h,matcher/: Rename
20251           Xapian::Weight::Internal to StatsSource (which I hope to be able
20252           to remove shortly), and rename the Stats class to
20253           Xapian::Weight::Internal.  Requires minimal plumbing changes -
20254           TradWeight and BM25Weight classes now query the internals
20255           directly for the statistics, LocalSubMatch now gets the
20256           statistics from StatsSource and passes them to wt_factory.
20257           common/remote-database.h and common/serialise.h now need to
20258           #include stats.h unfortunately, because a forward declaration
20259           can't be used for Xapian::Weight::Internal (unless I'm missing
20260           something).
20262 Fri Nov 23 10:15:43 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20264         * common/stats.h,matcher/bm25weight.cc,matcher/localmatch.cc,
20265           matcher/tradweight.cc: Remove the Xapian::Weight::Internal
20266           get_total_* methods: instead, add a get_total_stats() method
20267           which returns a Stats object representing the whole collection.
20268           Add get_termfreq() and get_reltermfreq() convenience methods to
20269           Stats for looking up individual term's statistics.  Also, change
20270           protected members of Xapian::Weight::Internal to private members,
20271           since we're no longer subclassed.  Also, in tradweight.cc, avoid
20272           division by zero in the (rare) situation of the average length
20273           being zero; in the same way as this is handled by bm25weight.cc.
20275 Thu Nov 22 12:58:02 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20277         * common/stats.h,matcher/localmatch.cc,matcher/localmatch.h,
20278           matcher/stats.cc: Replay Xapian::Weight::Internal's
20279           perform_request() method with set_total_stats().  The replacement
20280           takes the stats as a parameter, rather than magically getting
20281           them from the gatherer.  The LocalSubMatch now needs to call the
20282           gatherer to get the stats, and then pass it to set_total_stats(),
20283           so needs to keep a reference to the gatherer.  However, we are
20284           now one step closer to decoupling the gatherer from the stats.
20286 Thu Nov 22 11:47:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20288         * common/stats.h,matcher/localmatch.cc: Remove automatic
20289           just-in-time calls to statssource.perform_request() - instead,
20290           make it public, and call it explicitly before the postlist tree
20291           is constructed.  Also, make Xapian::Weight::Internal's destructor
20292           non-virtual, since it's no longer subclassed anywhere.
20294 Thu Nov 22 11:02:39 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20296         * common/networkstats.h,matcher/stats.cc: Remove
20297           fetch_local_stats() method, and use of have_gathered flag for
20298           caching result of gathering the stats - instead, simply Assert
20299           that have_gathered is false before gathering; we currently only
20300           call get_local_stats() once for a given gatherer.
20302 Thu Nov 22 10:04:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20304         * common/rset.h: Change multiline "///" comments to use "/**",
20305           style.
20307 Thu Nov 22 09:27:42 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20309         * matcher/localmatch.cc,matcher/queryoptimiser.h: Update a couple
20310           of comments.
20312 Thu Nov 22 08:29:19 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20314         * common/networkstats.h,common/stats.h,matcher/: Remove the
20315           LocalStatsSource and NetworkStatsSource classes - just use the
20316           base class (Xapian::Weight::Internal) instead.  LocalStatsSource
20317           had no extra members whatsoever, whereas NetworkStatsSource had
20318           various members which weren't used, and a single method
20319           "take_remote_stats" which simply sets the statistics held - I've
20320           renamed this method "set_my_stats" and added it to the base
20321           class.
20323 Thu Nov 22 00:05:06 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20325         * common/networkstats.h,common/stats.h,matcher/stats.cc: Replace
20326           StatsGatherer::contrib_my_stats() and
20327           StatsSource::contrib_stats() methods; instead add a
20328           get_my_stats() method to StatsSource and simply call this.
20330 Wed Nov 21 16:37:10 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20332         * common/networkstats.h,common/remoteserver.h,matcher/stats.cc,
20333           net/remoteserver.cc: Rework NetworkStatsGatherer - it no longer
20334           needs to have the RemoteServer passed into it; instead, the
20335           RemoteServer calls NetworkStatsGatherer::set_global_stats() with
20336           the global statistics as soon as it gets them.  This new method
20337           replaces fetch_global_stats().  As a result, the RemoteServer no
20338           longer needs to remember the global_stats received from the
20339           network - it just passes them straight to the gatherer - so
20340           remove the global_stats and get_global_stats() methods from
20341           RemoteServer.
20343 Wed Nov 21 15:42:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20345         * common/rset.h,matcher/rset.cc: Document the member functions of
20346           RSetI, and remove the totally unused "get_reltermfreq()" member.
20347           Also remove an ancient, commented out, implementation of an
20348           "add_document()" member, and add copyright lines.
20350 Wed Nov 21 15:26:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20352         * common/rset.h,matcher/localmatch.cc,matcher/rset.cc: Make
20353           RSet::calculate_stats() private, and call it only from
20354           RSet::give_stats_to_statssource().  Was previously called
20355           directly from localmatch.cc, but this way it's clear that it's
20356           only called once.
20358 Wed Nov 21 14:30:17 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20360         * matcher/remotesubmatch.h: Move implementation of constructor into
20361           .cc file (accidentally missed this file from the last-but-one
20362           commit, which did the necessary changes to the .cc file).
20364 Wed Nov 21 14:28:48 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20366         * matcher/rset.cc: Improve debugging messages.
20368 Wed Nov 21 14:26:44 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20370         * matcher/remotesubmatch.cc: Add some debugging, and reorder the
20371           header includes.
20373 Wed Nov 21 13:21:35 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20375         * matcher/multimatch.cc: Add DEBUGCALL_STATIC macros to the new
20376           functions, and tidy some code in the constructor slightly.
20378 Wed Nov 21 10:00:48 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20380         * matcher/multimatch.cc: Split the loop which calls prepare_match()
20381           out of the constructor into a separate static function.
20383 Tue Nov 20 18:23:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20385         * matcher/multimatch.cc: Refactor code which splits the RSet into
20386           sub RSets (one for each sub database) into a separate function.
20387           No functional change.
20389 Tue Nov 20 17:56:47 GMT 2007  Olly Betts <olly@survex.com>
20391         * common/remoteserver.h: Remove unused '#include "omassert.h"'.
20393 Tue Nov 20 12:53:06 GMT 2007  Olly Betts <olly@survex.com>
20395         * AUTHORS: Thank Marcus Rueckert for GCC 4.3 fixes.
20397 Tue Nov 20 10:22:28 GMT 2007  Olly Betts <olly@survex.com>
20399         * bin/quartzcompact.cc: Recent GCC 4.3 snapshots thinks cf and tf
20400           might be used uninitialised.  They won't be, but we only need to
20401           initialise them once per run to silence the warning, so just do
20402           that.
20404 Tue Nov 20 10:20:13 GMT 2007  Olly Betts <olly@survex.com>
20406         * bin/quartzcompact.cc: Fix equality testing of C strings to use
20407           strcmp() rather than '=='.  In practice, using '==' often gives
20408           the desired effect due to pooling of constant strings, but this may
20409           have resulted in bugs on some platforms.
20411 Tue Nov 20 01:47:16 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20413         * tests/harness/backendmanager_remotetcp.cc: Add missing "#include
20414           <cstring>".
20416 Tue Nov 20 01:26:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20418         * tests/harness/unixcmds.cc: Add #include of cstring, to get
20419           strchr, needed for gcc 4.3 snapshot.
20421 Tue Nov 20 01:25:22 GMT 2007  Olly Betts <olly@survex.com>
20423         * api/maptermlist.h,api/termlist.cc,backends/alltermslist.cc,
20424           backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h,
20425           common/alltermslist.h,common/termlist.h,common/vectortermlist.h:
20426           Provide a default implementation of accumulate_stats() in the
20427           virtual base class TermIterator::Internal instead of repeating it
20428           in each subclass which doesn't get used for generating an ESet, and
20429           don't call abort() in the default implementation - an Assert(false)
20430           is sufficient, and more consistent with how we handle other similar
20431           cases.
20433 Tue Nov 20 01:24:17 GMT 2007  Olly Betts <olly@survex.com>
20435         * bin/xapian-progsrv.cc: Add missing '#include <cstdlib>'.
20437 Mon Nov 19 23:54:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20439         * backends/flint/flint_postlist.cc,backends/quartz/quartz_postlist.cc:
20440           Add NORETURN macro to report_read_error(); fixes warnings from
20441           GCC 4.3 about possibly uninitialised values.  Reorder header
20442           includes to follow proposed policy.
20443         * backends/flint/flint_postlist.h: Add include of omdebug.h which
20444           previously needed to be done before including this.  Tidy up
20445           order of includes.
20447 Mon Nov 12 14:06:38 GMT 2007  Olly Betts <olly@survex.com>
20449         * api/Makefile.mk,api/omenquire.cc,api/sorter.cc,common/multimatch.h,
20450           common/omenquireinternal.h,include/Makefile.mk,include/xapian.h,
20451           include/xapian/enquire.h,include/xapian/sorter.h,
20452           matcher/multimatch.cc,net/remoteserver.cc,tests/: Add new functor
20453           class to allow more sophisticated sorting options.
20455 Mon Nov 12 14:03:06 GMT 2007  Olly Betts <olly@survex.com>
20457         * HACKING: Improved wording.
20459 Sun Nov 11 07:51:57 GMT 2007  Olly Betts <olly@survex.com>
20461         * include/xapian/queryparser.h: Hide the v102 namespace from Doxygen
20462           as it isn't user visible.
20464 Sat Nov 10 21:53:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20466         * tests/Makefile.am: Remove .multi in clean-local rule; should fix
20467           distcheck.
20469 Sat Nov 10 15:34:25 GMT 2007  Olly Betts <olly@survex.com>
20471         * tests/harness/testutils.cc,tests/harness/testutils.h:
20472           mset_expect_order_begins() is never used, so remove it.
20473         * tests/harness/testutils.cc: Don't need <iostream>, only <fstream>.
20475 Sat Nov 10 11:09:22 GMT 2007  Olly Betts <olly@survex.com>
20477         * docs/index.html: Add a list of documents on particular features and
20478           include links to previously unlinked-to documents.  Weed down the
20479           top navigation bar which had grown to unwieldy length.
20481 Sat Nov 10 10:17:42 GMT 2007  Olly Betts <olly@survex.com>
20483         * PLATFORMS: Update for Debian buildds.
20485 Sat Nov 10 02:13:07 GMT 2007  Olly Betts <olly@survex.com>
20487         * matcher/multimatch.cc: If "first" is non-zero, then use nth_element
20488           with vector::reverse_iterator to partition items such that the
20489           unwanted ones are at the end not the start.  This means the call
20490           to vector::erase() no longer needs to copy all the wanted items.
20492 Fri Nov 09 19:01:38 GMT 2007  Olly Betts <olly@survex.com>
20494         * tests/api_db.cc: collapsekey3 is too strict - even if the value
20495           never occurs, lower_bound may drop as we may reject potential
20496           matches before applying the collapse test.
20498 Fri Nov 09 16:36:39 GMT 2007  Olly Betts <olly@survex.com>
20500         * include/xapian/termiterator.h: Clarify get_wdf() versus
20501           get_termfreq() in documentation comments.
20503 Fri Nov 09 00:07:02 GMT 2007  Olly Betts <olly@survex.com>
20505         * tests/api_db.cc: Fix comment typo.
20507 Fri Nov 09 00:04:45 GMT 2007  Olly Betts <olly@survex.com>
20509         * HACKING,Makefile.am,tests/Makefile.am: New make target
20510           'check-multi'.
20512 Thu Nov 08 23:54:47 GMT 2007  Olly Betts <olly@survex.com>
20514         * tests/api_anydb.cc: Re-enable test case allpostlist1 for multi
20515           since it works fine (presumably thanks to the multi_postlist.cc
20516           fix).
20518 Thu Nov 08 23:44:29 GMT 2007  Olly Betts <olly@survex.com>
20520         * tests/,tests/harness/: Add new "multi" test backend which indexes
20521           the specified text file(s) to two databases which will look just
20522           like the equivalent single database when searched together.  Since
20523           writing isn't supported, a number of tests which require this are
20524           disabled, as are any tests which explicitly use a multi-database
20525           since a multi-of-multis isn't equivalent to a multi of equivalent
20526           individual databases.  A handful of testcases are also currently
20527           disabled because they fail for reasons not yet fully explored.
20528           Existing tests run with the new backend provide regression tests
20529           for the two recent fixes.
20531 Thu Nov 08 23:42:33 GMT 2007  Olly Betts <olly@survex.com>
20533         * backends/multi/multi_postlist.cc: Fix PostingIterator::skip_to()
20534           when running over multiple databases.  Regression test to follow.
20536 Thu Nov 08 23:37:51 GMT 2007  Olly Betts <olly@survex.com>
20538         * docs/overview.html: Mention the "auto" backend.
20540 Thu Nov 08 23:28:30 GMT 2007  Olly Betts <olly@survex.com>
20542         * matcher/multimatch.cc: Fix bug in handling a pure boolen match over
20543           more than one database under set_docid_order(ASCENDING) - we can't
20544           shortcut in this case because MergePostList generally doesn't return
20545           docids in order.  Regression test to follow.
20547 Thu Nov 08 21:07:09 GMT 2007  Olly Betts <olly@survex.com>
20549         * matcher/queryoptimiser.cc: Fix comment typo.
20551 Thu Nov 08 07:40:48 GMT 2007  Olly Betts <olly@survex.com>
20553         * api/omdatabase.cc: Don't use MultiPostList when there's only one
20554           subdatabase.
20556 Thu Nov 08 05:40:17 GMT 2007  Olly Betts <olly@survex.com>
20558         * tests/api_db.cc: Run sortrel1 for inmemory too.
20560 Thu Nov 08 03:43:50 GMT 2007  Olly Betts <olly@survex.com>
20562         * tests/harness/backendmanager.cc,tests/harness/index_utils.cc,
20563           tests/harness/index_utils.h: New class FileIndexer which acts like
20564           an iterator returning a Xapian::Document object for each paragraph
20565           in some specified files.
20567 Wed Nov 07 16:30:49 GMT 2007  Olly Betts <olly@survex.com>
20569         * common/,docs/remote_protocol.html,matcher/,net/remoteserver.cc,
20570           net/serialise.cc: If we're doing a match with only one database
20571           which is remote then just return the unserialised MSet from the
20572           remote match.  This requires that we include
20573           internal->percent_factor in the MSet serialisation, which requires
20574           a minor remote protocol version bump.
20576 Wed Nov 07 09:47:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20578         * matcher/multimatch.cc: Fix logging build (a change to the logging
20579           code introduced in r9644 didn't compile)
20581 Tue Nov 06 17:10:51 GMT 2007  Olly Betts <olly@survex.com>
20583         * include/xapian/document.h: Better documentation comment for
20584           Document::termlist_count().
20586 Tue Nov 06 12:32:16 GMT 2007  Olly Betts <olly@survex.com>
20588         * Makefile.am,docs/Makefile.am,languages/Makefile.mk: No need to set
20589           SUFFIXES manually for suffixes used in implicit rules.
20591 Tue Nov 06 10:41:14 GMT 2007  Olly Betts <olly@survex.com>
20593         * matcher/multimatch.cc: If we're collapsing on a value, keep track of
20594           the number of empty collapse values seen, since that allows us to
20595           give a better lower bound on the number of matches.
20596         * tests/api_db.cc: This change breaks an (incorrect) assumption in
20597           collapsekey3, so change that test case to be a regression test for
20598           the improved estimate.  Add a new test as (the previously missing)
20599           collapsekey2, but disable it for now as we don't seem to have a
20600           suitable existing database.
20602 Tue Nov 06 07:58:34 GMT 2007  Olly Betts <olly@survex.com>
20604         * matcher/tradweight.cc: Make sure lenpart has been calculated in
20605           TradWeight::get_sumpart_needs_doclength() (this doesn't appear to
20606           actually be a problem in current use, but it might become an issue
20607           if the code which uses TradWeight changes.
20609 Tue Nov 06 07:49:18 GMT 2007  Olly Betts <olly@survex.com>
20611         * tests/api_anydb.cc: Add simple feature test for TradWeight being
20612           used to run a query.
20614 Tue Nov 06 07:26:28 GMT 2007  Olly Betts <olly@survex.com>
20616         * common/stats.h,matcher/bm25weight.cc,tests/api_anydb.cc: Fix bug in
20617           BM25Weight - in the case where k2 is non-zero, a non-initialised
20618           value influenced the weight calculations.  By default k2 is zero, so
20619           this bug probably won't affect most users.
20621 Tue Nov 06 07:22:27 GMT 2007  Olly Betts <olly@survex.com>
20623         * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
20624           net/remoteserver.cc: Modify MultiMatch::MultiMatch() to take a const
20625           pointer to Xapian::RSet rather than a const reference.  This makes
20626           the code simpler for the case where we don't have an RSet.
20628 Tue Nov 06 05:47:38 GMT 2007  Olly Betts <olly@survex.com>
20630         * api/omenquire.cc: Use ".empty()" not ".size() == 0".
20632 Mon Nov 05 21:05:45 GMT 2007  Olly Betts <olly@survex.com>
20634         * m4/xapian.m4: Hook LT_INIT as well as AC_PROG_LIBTOOL and
20635           AM_PROG_LIBTOOL.
20637 Mon Nov 05 11:17:23 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20639         * docs/termgenerator.rst: Change a couple of instances of "terms"
20640           to "words" for clarity; the item from the input text is a word,
20641           and the result of processing is a term.
20643 Mon Nov 05 09:46:53 GMT 2007  Olly Betts <olly@survex.com>
20645         * docs/admin_notes.rst: Note that this document is up-to-date for
20646           1.0.4.  Improve the formatting a bit and fix a the odd typo.
20648 Mon Nov 05 06:24:01 GMT 2007  Olly Betts <olly@survex.com>
20650         * tests/api_wrdb.cc: Fix MSVC warning.
20652 Mon Nov 05 06:21:09 GMT 2007  Olly Betts <olly@survex.com>
20654         * matcher/queryoptimiser.h: Forward declare PosFilter as "struct"
20655           rather than "class", since it's defined as "struct".
20657 Mon Nov 05 05:41:01 GMT 2007  Olly Betts <olly@survex.com>
20659         * api/sortable-serialise.cc: Suppress MSVC warning.
20661 Mon Nov 05 04:55:48 GMT 2007  Olly Betts <olly@survex.com>
20663         * docs/quickstart.html: Improved.
20665 Mon Nov 05 04:43:13 GMT 2007  Olly Betts <olly@survex.com>
20667         * docs/overview.html: More improvements from Jenny Black.
20669 Sun Nov 04 22:59:28 GMT 2007  Olly Betts <olly@survex.com>
20671         * docs/overview.html: Assorted improvements to the start of this
20672           document.
20674 Sun Nov 04 22:54:13 GMT 2007  Olly Betts <olly@survex.com>
20676         * api/omdocument.cc,tests/api_wrdb.cc: values_begin() didn't ensure
20677           that values had been read.  However, values_end() did (and so did
20678           values_count()) so this wasn't generally an issue, but it shouldn't
20679           happen anyway.
20680         * tests/api_wrdb.cc: Extend adddoc5 to include a regression test for
20681           this bug.
20683 Sun Nov 04 22:44:39 GMT 2007  Olly Betts <olly@survex.com>
20685         * tests/quartztest.cc: Remove 'FIXME' suggesting more value tests.
20686         * tests/api_nodb.cc: Add the suggested tests we don't already have.
20688 Sun Nov 04 19:23:52 GMT 2007  Olly Betts <olly@survex.com>
20690         * tests/api_posdb.cc,tests/api_wrdb.cc: Use get_writable_database()
20691           instead of get_writable_database("").
20692         * tests/api_wrdb.cc: Rework test_spell3 so it works under __WIN32__
20693           (bug#177).
20695 Sun Nov 04 07:31:04 GMT 2007  Olly Betts <olly@survex.com>
20697         * tests/harness/backendmanager.h: Make BackendManager dtor virtual as
20698           intended.
20700 Sun Nov 04 07:05:12 GMT 2007  Olly Betts <olly@survex.com>
20702         * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/,
20703           tests/quartztest.cc: Extend BackendManager to allow opening a
20704           WritableDatabase as a Database as well, and to allow reopening a
20705           closed WritableDatabase as a WritableDatabase.  With these new
20706           features, rework quartztest's adddoc2 and adddoc3 as apitest
20707           testcases adddoc5 and adddoc6.
20709 Sun Nov 04 06:08:42 GMT 2007  Olly Betts <olly@survex.com>
20711         * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/:
20712           Add BackendManager::get_writable_database_as_database() and use it
20713           instead of assuming what the WritableDatabase path will be.
20715 Sun Nov 04 05:31:30 GMT 2007  Olly Betts <olly@survex.com>
20717         * tests/,tests/harness/: Subclass BackendManager for each database
20718           backend supported, which should provide a better foundation on
20719           which we can rebuild to fix the nastier bits of the test harness.
20721 Fri Nov 02 17:39:58 GMT 2007  Olly Betts <olly@survex.com>
20723         * INSTALL: zlib 1.2.0 apparently fixes a memory leak in deflateInit2,
20724           which we use, so that's another reason to prefer 1.2.x.
20726 Fri Nov 02 06:34:36 GMT 2007  Olly Betts <olly@survex.com>
20728         * tests/harness/testsuite.cc: Fix extracting of valgrind error
20729           messages.
20731 Fri Nov 02 05:09:05 GMT 2007  Olly Betts <olly@survex.com>
20733         * docs/bm25.html,docs/scalability.html: Remove references to Muscat
20734           3.6.
20736 Thu Nov 01 18:51:20 GMT 2007  Olly Betts <olly@survex.com>
20738         * NEWS: Fix to talk about OP_VALUE_RANGE rather than
20739           ValueRangePostList since the later isn't user-visible.
20741 Thu Nov 01 18:16:20 GMT 2007  Olly Betts <olly@survex.com>
20743         * matcher/exactphrasepostlist.cc: Fix memory leak if second memory
20744           allocation fails.
20746 Thu Nov 01 17:54:09 GMT 2007  Olly Betts <olly@survex.com>
20748         * docs/intro_ir.html: Move the section on stemming to a better
20749           location.
20751 Thu Nov 01 17:37:40 GMT 2007  Jenny Black
20753         * docs/glossary.rst: Fix typo.
20755 Thu Nov 01 06:34:58 GMT 2007  Olly Betts <olly@survex.com>
20757         * matcher/multimatch.cc: Minor code simplification.
20759 Wed Oct 31 16:17:08 GMT 2007  Olly Betts <olly@survex.com>
20761         * bin/xapian-check.cc: Fix to handle the special case of a term which
20762           is 48 characters long.  Fix not to go into an infinite loop if
20763           certain checks fail.
20765 Wed Oct 31 15:56:45 GMT 2007  Olly Betts <olly@survex.com>
20767         * matcher/multiandpostlist.cc: If the subpostlists are ORs and pruning
20768           or operator decay happens within them, then get_termfreq_est() can
20769           change such that the first postlist returns a higher value than
20770           the second, so remove a bogus assertion which assumed this didn't
20771           happen (bug#209).
20773 Wed Oct 31 15:43:58 GMT 2007  Olly Betts <olly@survex.com>
20775         * backends/flint/flint_version.cc: I documented an increase in
20776           FLINT_VERSION but didn't increase it - luckily the previous version
20777           wasn't in a released version, so just adjust the comment to match
20778           what actually happened.
20780 Wed Oct 31 15:24:48 GMT 2007  Olly Betts <olly@survex.com>
20782         * net/remoteconnection.cc: Add '#include <safeunistd.h>' (bug#208).
20784 Wed Oct 31 15:01:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20786         * bin/xapian-check.cc: Update the checking of the termlist table to
20787           stop checking for the "has_termfreqs" flag, which is no longer
20788           stored in termlists.
20790 Wed Oct 31 14:31:38 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20792         * backends/quartz/quartz_positionlist.cc: Add missing #include,
20793           which is needed only when configured with --enable-log and with
20794           --disable-assertions.
20796 Tue Oct 30 04:52:53 GMT 2007  Olly Betts <olly@survex.com>
20798         * NEWS,configure.ac: Update for 1.0.4.
20800 Tue Oct 30 04:10:32 GMT 2007  Olly Betts <olly@survex.com>
20802         * queryparser/queryparser.lemony: Code tweak.
20804 Tue Oct 30 03:04:04 GMT 2007  Olly Betts <olly@survex.com>
20806         * tests/queryparsertest.cc: Add two more test cases to improve
20807           coverage.
20809 Tue Oct 30 00:13:42 GMT 2007  Olly Betts <olly@survex.com>
20811         * tests/harness/testsuite.cc: abi::__cxa_demangle() requires GCC 3.1
20812           it seems.
20814 Mon Oct 29 23:14:41 GMT 2007  Olly Betts <olly@survex.com>
20816         * docs/scalability.html: Update size of gmane.
20818 Mon Oct 29 23:13:00 GMT 2007  Olly Betts <olly@survex.com>
20820         * docs/quartzdesign.html: Note that Quartz is now deprecated.
20822 Mon Oct 29 21:09:12 GMT 2007  Olly Betts <olly@survex.com>
20824         * configure.ac,tests/harness/testsuite.cc: Demangle the name of
20825           the std::exception subclass for GCC, and handle compilation with
20826           -fno-rtti.
20828 Mon Oct 29 19:50:05 GMT 2007  Olly Betts <olly@survex.com>
20830         * tests/harness/testsuite.cc: Catch std::exception subclasses
20831           explicitly and report e.what() (which gives the method name which
20832           threw, at least under GCC).
20834 Mon Oct 29 18:46:57 GMT 2007  Olly Betts <olly@survex.com>
20836         * NEWS: Updated.
20838 Mon Oct 29 18:36:12 GMT 2007  Olly Betts <olly@survex.com>
20840         * matcher/multimatch.cc: Pull out old_item.wt into a variable.
20842 Mon Oct 29 18:24:46 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20844         * queryparser/queryparser.lemony: Fix problem with spelling
20845           correction of hyphenated terms (or other terms joined with phrase
20846           generators): the position of the start of the term wasn't being
20847           reset for the second term in the generated phrase, resulting in
20848           out of bounds errors when substituting the new value in the
20849           corrected query string.
20850         * tests/queryparsertest.cc: Test the fix.
20852 Mon Oct 29 17:34:17 GMT 2007  Olly Betts <olly@survex.com>
20854         * docs/deprecation.rst: Move "Stem::stem_word(word)" in the bindings
20855           to the right section (it was done in 1.0.0, as already indicated).
20856           Deprecate the non-pythonic iterators in favour of the pythonic ones.
20858 Mon Oct 29 02:54:09 GMT 2007  Olly Betts <olly@survex.com>
20860         * NEWS,api/Makefile.mk,docs/Makefile.am,include/Makefile.mk,
20861           include/xapian.h,tests/api_db.cc,tests/api_nodb.cc,
20862           tests/api_wrdb.cc: Back out match spy changes in preparation for
20863           creating a branch for them.
20865 Mon Oct 29 02:37:31 GMT 2007  Olly Betts <olly@survex.com>
20867         * matcher/valuerangepostlist.cc: Fix
20868           ValueRangeProcessor::get_termfreq_est() and get_termfreq_max() to
20869           work when at_end() when paranoid assertions are enabled.
20871 Mon Oct 29 01:51:07 GMT 2007  Olly Betts <olly@survex.com>
20873         * common/omenquireinternal.h: Add ESetItem::swap() and
20874           MSetItem::swap().
20876 Sun Oct 28 16:33:34 GMT 2007  Olly Betts <olly@survex.com>
20878         * PLATFORMS: Update from tinderbox and buildbot.
20880 Sun Oct 28 06:00:23 GMT 2007  Olly Betts <olly@survex.com>
20882         * matcher/queryoptimiser.cc: Remove unused variable.
20884 Sun Oct 28 05:46:28 GMT 2007  Olly Betts <olly@survex.com>
20886         * docs/remote.html: xapian-tcpsrv can handle concurrent read access
20887           so update the out-of-date information here.  Also, some new features
20888           aren't supported by the remote backend yet.
20890 Sun Oct 28 05:20:02 GMT 2007  Olly Betts <olly@survex.com>
20892         * include/xapian/queryparser.h: Update documentation comment for
20893           QueryParser::set_stemming_strategy().
20895 Sun Oct 28 05:03:03 GMT 2007  Olly Betts <olly@survex.com>
20897         * queryparser/queryparser.lemony: Fix handling of STEM_ALL.
20898         * tests/queryparsertest.cc: Update tests.  Move tables of queries to
20899           before the test functions which use them.
20901 Sat Oct 27 20:50:57 BST 2007  Olly Betts <olly@survex.com>
20903         * api/omqueryinternal.cc,include/xapian/query.h,
20904           matcher/queryoptimiser.cc: Eliminate Query::Internal::dbl_parameter
20905           to avoid any risk of ABI breakage.
20907 Sat Oct 27 17:08:46 BST 2007  Olly Betts <olly@survex.com>
20909         * include/xapian/query.h: Pull in <xapian/deprecated.h> explicitly.
20910           Add @deprecated note to Query::Query(Query::op, Query) explaining
20911           why it is deprecated.
20912         * include/xapian/queryparser.h: Wrap comment better.
20914 Sat Oct 27 05:37:33 BST 2007  Olly Betts <olly@survex.com>
20916         * NEWS: Merge two "testsuite" sections in draft 1.0.4 entry.
20918 Sat Oct 27 02:34:10 BST 2007  Olly Betts <olly@survex.com>
20920         * HACKING: Note specifically that std::list::size() is O(n) for GCC.
20921           Update the debian packaging checklist.
20923 Sat Oct 27 02:33:14 BST 2007  Olly Betts <olly@survex.com>
20925         * docs/intro_ir.html: Add link to the forthcoming book
20926           "Introduction to Information Retrieval", which can be read online.
20928 Sat Oct 27 02:22:36 BST 2007  Olly Betts <olly@survex.com>
20930         * docs/Makefile.am: We no longer build sourcedoc.pdf so remove it from
20931           MAINTAINERCLEANFILES.
20933 Sat Oct 27 02:20:31 BST 2007  Olly Betts <olly@survex.com>
20935         * NEWS: Mostly updated for 1.0.4.
20937 Fri Oct 26 04:57:31 BST 2007  Olly Betts <olly@survex.com>
20939         * api/omqueryinternal.cc: OP_SCALE_WEIGHT applied to MatchNothing is
20940           now handled by the Query ctor, so replace the code to handle
20941           OP_SCALE_WEIGHT in Query::Internal::simplify_matchnothing() by an
20942           assertion that the subquery isn't MatchNothing.
20944 Fri Oct 26 04:50:37 BST 2007  Olly Betts <olly@survex.com>
20946         * include/xapian/query.h: Deprecate the essentially useless
20947           constructor Query(Query::op, Query).
20948         * docs/deprecation.rst: Note this deprecation, and since the feature
20949           doesn't actually have a use, schedule it for 1.1.0.  Also schedule
20950           Enquire::register_match_decider() for 1.1.0 for the same reason.
20952 Fri Oct 26 01:00:08 BST 2007  Olly Betts <olly@survex.com>
20954         * api/omquery.cc,include/xapian/query.h: OP_SCALE_WEIGHT applied to
20955           OP_VALUE_RANGE can have no effect so ignore it.
20956         * tests/queryparsertest.cc: Update expected query descriptions.
20958 Fri Oct 26 00:23:55 BST 2007  Olly Betts <olly@survex.com>
20960         * matcher/multimatch.cc: When checkatleast is set, and we're sorting
20961           by relevance with forward ordering by docid, and the query is pure
20962           boolean, we were exiting before the checkatleast requirement was
20963           satisfied.  Then the adjustments made to the estimated and max
20964           statistics based on checkatleast meant we claimed there were
20965           exactly msize results.
20967 Thu Oct 25 00:34:14 BST 2007  Olly Betts <olly@survex.com>
20969         * matcher/localmatch.cc,matcher/multiandpostlist.cc,
20970           matcher/queryoptimiser.cc,queryparser/queryparser.cc: Fix build
20971           with --enable-assertions and --enable-log.
20973 Wed Oct 24 06:29:03 BST 2007  Olly Betts <olly@survex.com>
20975         * queryparser/queryparser.lemony: Drop out of IN_GROUP mode when we
20976           generate a BOOLEAN_FILTER token.
20977         * tests/queryparsertest.cc: Add regression test.
20979 Wed Oct 24 06:08:29 BST 2007  Olly Betts <olly@survex.com>
20981         * queryparser/queryparser.lemony: Drop special treatment for unmatched
20982           ')' at the start of the query, as it seems rather arbitrary and not
20983           particularly useful.  Reparsing seems a better approach here.
20984         * tests/queryparsertest.cc: Add regression test case for bug which
20985           dropping this special case fixes.
20987 Wed Oct 24 05:25:40 BST 2007  Olly Betts <olly@survex.com>
20989         * AUTHORS: Add Ron Kass for several bug reports.
20991 Wed Oct 24 05:13:01 BST 2007  Olly Betts <olly@survex.com>
20993         * queryparser/queryparser.lemony: Fix parsing of queries which consist
20994           only of boolean filter terms and HATE-d terms.
20995         * tests/queryparsertest.cc: Add regression tests, and a few more cases
20996           which passed before too.  Fix descriptions of queries which now give
20997           different (but equivalent) Xapian::Query object hierarchies.
20999 Wed Oct 24 04:51:56 BST 2007  Olly Betts <olly@survex.com>
21001         * queryparser/queryparser.lt: Fix warning in debug log build.
21003 Wed Oct 24 04:41:08 BST 2007  Olly Betts <olly@survex.com>
21005         * backends/flint/flint_table.cc,backends/flint/flint_table.h: Don't
21006           use class member function pointers to implement FlintTable::next()
21007           and FlintTable::prev() as we can just call the methods directly
21008           based on the sequential flag.  Profiling suggests this speeds up
21009           searches a little, the two pointers take up 16 bytes each (on
21010           x86_64) so it reduces the class size by up to 32 bytes, and the code
21011           is simpler because we no longer need to update prev_ptr and
21012           next_ptr.
21014 Wed Oct 24 00:16:06 BST 2007  Olly Betts <olly@survex.com>
21016         * api/omqueryinternal.cc: Tweak Query::get_description() to describe
21017           OP_SCALE_WEIGHT queries as '<factor> * <subquery>' rather than
21018           '<subquery> * <factor>' as the former results in more readable
21019           descriptions.
21020         * queryparser/queryparser.lemony: Use OP_SCALE_WEIGHT with factor 0.0
21021           for queries which should be purely boolean which resolves a FIXME
21022           comment in the code.
21023         * tests/queryparsertest.cc: Fix expected results for this change.
21025 Tue Oct 23 19:13:08 BST 2007  Olly Betts <olly@survex.com>
21027         * queryparser/queryparser.lemony: Some as_XXX() methods delete the
21028           object they are called on, while others don't, so rename the ones
21029           which don't to get_XXX() to make the code clearer, and make them
21030           all return Query rather than Query *.  Eliminate Term::as_query()
21031           completely - when we actually want a new object we can just call
21032           new in the caller.  op_window_query() now takes the difference
21033           between the number of terms and the total window size, and we now
21034           use a std::vector to store the generated Query objects rather than
21035           a std::list, since we know how many there will be and can reserve
21036           the required size in advance.
21038 Tue Oct 23 18:33:49 BST 2007  Olly Betts <olly@survex.com>
21040         * queryparser/queryparser.lemony: Improve comment.
21042 Mon Oct 22 21:00:05 BST 2007  Olly Betts <olly@survex.com>
21044         * queryparser/queryparser.lemony: Fix handling of LOVE and HATE
21045           following a quoted phrase.
21046         * tests/queryparsertest.cc: Add regression test.
21048 Mon Oct 22 05:23:23 BST 2007  Olly Betts <olly@survex.com>
21050         * queryparser/queryparser.lemony: Refactor so Term::as_query() calls
21051           Term::as_query_object() instead of vice versa, as this avoids
21052           calling 'new Query' quite a bit and makes a measurable difference
21053           to the speed of the QueryParser.  Fix a call to as_query() which
21054           can be as_query_object().
21056 Mon Oct 22 04:10:17 BST 2007  Olly Betts <olly@survex.com>
21058         * queryparser/queryparser.lemony: FLAG_PARTIAL with multi-prefixes
21059           would result in inflated wqf for the "normal" version of the term
21060           treated as partial.
21061         * tests/queryparsertest.cc: Add regression test.
21063 Mon Oct 22 02:34:58 BST 2007  Olly Betts <olly@survex.com>
21065         * queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
21066           Rename QueryParser::Internal::prefixes to prefixmap to avoid
21067           confusion with all the other variables which are now called
21068           "prefixes" in queryparser.lemony.  Eliminate have_prefix and
21069           instead just set prefixinfo to NULL by default.
21071 Sun Oct 21 23:56:57 BST 2007  Olly Betts <olly@survex.com>
21073         * common/omenquireinternal.h,include/xapian/enquire.h,
21074           include/xapian/query.h,matcher/: Implement a new QueryOptimiser
21075           class which can hoist the positional filters of OP_PHRASE and
21076           OP_NEAR higher up the tree and merge the "AND" inside them into
21077           any neighbouring OP_AND or OP_FILTER (bug#23).  This shaves 10% of
21078           the execution time of real world queries on real world data.  On
21079           particularly slow cases, the saving can be more dramatic - it
21080           saves 50% when tested on a log of slow cases.  OP_SCALE_WEIGHT
21081           scaling factors are now pushed down to the leaves and any leaf
21082           we a factor other than 0.0 (boolean) or 1.0 (unscaled) has
21083           its weights scaled using a ScaleWeight wrapper around the normal
21084           weighting object (bug#203).
21086 Sun Oct 21 23:46:11 BST 2007  Olly Betts <olly@survex.com>
21088         * include/xapian/query.h: Fix documentation of OP_SCALE_WEIGHT.
21089           Negative scaling factors aren't now clipped to 0, instead we
21090           throw Xapian::InvalidArgumentError.  Remove the explicit setting of
21091           OP_ELITE_SET to 10 which is no longer required.  Wrap a long comment
21092           line.
21094 Sun Oct 21 23:20:23 BST 2007  Olly Betts <olly@survex.com>
21096         * tests/api_anydb.cc: Tweak code and wrap comment.
21098 Sun Oct 21 04:53:40 BST 2007  Olly Betts <olly@survex.com>
21100         * matcher/extraweightpostlist.h: Add missing '#include "multimatch.h"'
21101           which is pulled in implicitly by some other header which always
21102           happens to be included before this one.
21104 Fri Oct 19 03:52:17 BST 2007  Olly Betts <olly@survex.com>
21106         * docs/deprecation.rst: Remove deprecation of
21107           QueryParser::add_prefix() and QueryParser::add_boolean_prefix().
21108           Reformat the tables to use the "simple table" style, and to all be
21109           126 columns wide, since that fits in a maximised terminal window
21110           without wrapping (at least on my machine!)
21112 Fri Oct 19 03:44:33 BST 2007  Olly Betts <olly@survex.com>
21114         * include/xapian/queryparser.h,queryparser/queryparser.cc,
21115           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
21116           tests/queryparsertest.cc: Since calling QueryParser::add_prefix()
21117           or QueryParser::add_boolean_prefix() a second time with the same
21118           field name was ignored before (rather than overriding as we had
21119           thought) it seems reasonable to change this behaviour.  This
21120           also avoids the need to deprecate these methods which will force all
21121           users to update their code.  Change the semantics of default_prefix
21122           - it's more useful if this overrides any default prefixes set with
21123           add_prefix(), since this allows the same QueryParser object to
21124           parse both a "general" search input which searches several fields
21125           and also a "title" search input.  Trying to set the same field
21126           as probabilistic and boolean now throws InvalidOperationError
21127           rather than UnimplementedError.
21129 Fri Oct 19 03:29:53 BST 2007  Olly Betts <olly@survex.com>
21131         * queryparser/queryparser.lt: Fix compilation.
21133 Fri Oct 19 03:28:37 BST 2007  Olly Betts <olly@survex.com>
21135         * docs/Makefile.am: We're still getting "info" messages in the
21136           generated HTML.  It seems to be impossible to get rst2html to
21137           report "info" messages to stdout without adding them to the
21138           generated document, so just drop "--verbose" to disable them
21139           completely.
21141 Thu Oct 18 18:27:28 BST 2007  Olly Betts <olly@survex.com>
21143         * queryparser/queryparser.lt: Use std::vector<> for the stack in the
21144           lemon-generated parser.  This means that the stack is no longer a
21145           fixed size, so we needn't worry about overflow, and that in typical
21146           use it'll actually use less memory (lemon defaults to a 100 entry
21147           stack).
21149 Thu Oct 18 17:23:45 BST 2007  Olly Betts <olly@survex.com>
21151         * languages/turkish.sbl: Minimise differences with Snowball SVN HEAD
21152           by stripping trailing whitespace.
21154 Mon Oct 15 15:39:26 BST 2007  Olly Betts <olly@survex.com>
21156         * backends/quartz/btree_util.h: Need "safeunistd.h" for close().
21157           Fixes build errors on mingw and with SGI's CC on IRIX.
21159 Mon Oct 15 05:30:23 BST 2007  Olly Betts <olly@survex.com>
21161         * matcher/localmatch.cc: Fix typo in comment.
21163 Mon Oct 15 05:26:35 BST 2007  Olly Betts <olly@survex.com>
21165         * common/omassert.h: Rewritten from scratch.  The new version only
21166           includes headers if assertions are enabled, which should help
21167           to speed up non-assertion builds by reducing unnecessary header
21168           inclusion.  Also, float.h and math.h are never now pulled in -
21169           instead we use the new within_DBL_EPSILON() function.  AssertNe()
21170           and AssertNeParanoid() are never actually used, so replace them with
21171           AssertRel() and AssertRelParanoid which allow the user to assert any
21172           binary relation, not just inequality.  Also, we now use rare() to
21173           give branch prediction hints for assertion tests (since the failure
21174           branch should never be taken).
21175         * common/omdebug.h,common/stringutils.h,tests/harness/testsuite.h:
21176           Replace several definitions of the STRINGIZE macro with a single
21177           version in common/stringutils.h.
21178         * backends/flint/,backends/inmemory/inmemory_database.cc,
21179           backends/multi/multi_postlist.cc,backends/quartz/,
21180           backends/remote/remote-database.cc,bin/quartzcheck.cc,
21181           bin/xapian-compact.cc,common/stringutils.h,expand/expandweight.cc,
21182           expand/ortermlist.cc,matcher/phrasepostlist.cc,
21183           matcher/scaleweightpostlist.cc,net/remoteconnection.cc,
21184           net/tcpserver.cc: Explicitly include headers which were previously
21185           being pulled in implicitly by omassert.h.
21186         * HACKING: Update the documentation for assertion calls, and document
21187           CompileTimeAssert() (which previously wasn't documented here).
21189 Mon Oct 15 05:09:15 BST 2007  Olly Betts <olly@survex.com>
21191         * common/utils.cc,common/utils.h: Add within_DBL_EPSILON() function
21192           which returns true if its two double arguments differ by less
21193           than DBL_EPSILON (currently not used anywhere).
21195 Mon Oct 15 05:03:50 BST 2007  Olly Betts <olly@survex.com>
21197         * matcher/multiandpostlist.cc: If check sets valid to true, we can't
21198           be at_end(), so check valid first as at_end() is a rare event.
21200 Mon Oct 15 05:00:18 BST 2007  Olly Betts <olly@survex.com>
21202         * matcher/: Remove code for FilterPostList, which has been unused for
21203           ages.
21205 Sun Oct 14 02:13:57 BST 2007  Olly Betts <olly@survex.com>
21207         * matcher/andpostlist.cc: AndPostList now ensures that its left is
21208           less frequent than its right (it can still be produced as an
21209           operator decay product, and sometimes left is more frequent when
21210           this happens).
21212 Sun Oct 14 00:58:20 BST 2007  Olly Betts <olly@survex.com>
21214         * matcher/multimatch.cc: Use rare() to mark rarely taken branches.
21216 Sun Oct 14 00:30:46 BST 2007  Olly Betts <olly@survex.com>
21218         * configure.ac: Add rare() and usual() macros to config.h which allow
21219           branch prediction hints to be given for compilers which support this
21220           (currently GCC and Intel C++).
21221         * HACKING: Document rare() and usual().
21223 Sat Oct 13 22:37:32 BST 2007  Olly Betts <olly@survex.com>
21225         * HACKING: Improve wording.
21227 Sat Oct 13 16:42:26 BST 2007  Olly Betts <olly@survex.com>
21229         * api/postlist.cc,common/postlist.h,matcher/: Implement a variant of
21230           PostList::skip_to() called PostList::check() which isn't required
21231           to leave the PostList on a particular docid.  This allows queries
21232           filtered by a ValueRangePostList to run around 3.5 times faster.
21233           Fixes buf#164, though there's probably scope for at least some
21234           further improvement.
21236 Sat Oct 13 16:08:07 BST 2007  Olly Betts <olly@survex.com>
21238         * matcher/multiandpostlist.cc: Fix typo bug (get_termfreq_min
21239           should be get_termfreq_max!)
21241 Sat Oct 13 15:53:52 BST 2007  Olly Betts <olly@survex.com>
21243         * matcher/multiandpostlist.cc: Fix assertion (should be <= not <).
21245 Fri Oct 12 01:20:05 BST 2007  Olly Betts <olly@survex.com>
21247         * HACKING: Note that rst2html may be installed as rst2html.py.
21249 Fri Oct 12 01:10:11 BST 2007  Olly Betts <olly@survex.com>
21251         * matcher/localmatch.cc: Tweak formatting.
21253 Thu Oct 11 22:58:36 BST 2007  Olly Betts <olly@survex.com>
21255         * tests/: svn:ignore: Add termgentest and termgentest.exe.
21257 Thu Oct 11 16:18:03 BST 2007  Olly Betts <olly@survex.com>
21259         * configure.ac: If rst2html isn't found, also look for rst2html.py,
21260           which archlinux reportedly installs it as.
21262 Thu Oct 11 16:09:20 BST 2007  Olly Betts <olly@survex.com>
21264         * matcher/: Round the result of all get_termfreq_est() calculations to
21265           the nearest integer instead of rounding down.
21267 Thu Oct 11 15:40:48 BST 2007  Olly Betts <olly@survex.com>
21269         * matcher/: Add new PostList subclass MultiAndPostList which handles
21270           a multi-way AND operation in a single class.  This allows us to
21271           optimise some cases of 3 or more way AND operations much better
21272           and gives a 16-17% performance improvement in tests using real-world
21273           query logs.
21274         * tests/api_anydb.cc: MultiAndPostList rounds get_termfreq_est()
21275           calculations to the nearest integer (rather than always rounding
21276           down) so adjust the expected answers in test_matches.
21278 Thu Oct 11 15:14:27 BST 2007  Olly Betts <olly@survex.com>
21280         * matcher/selectpostlist.cc: Explicitly qualify next() as
21281           SelectPostList::next().
21283 Thu Oct 11 13:04:40 BST 2007  Olly Betts <olly@survex.com>
21285         * README: Remove the ancient history lesson - this material is better
21286           left to the history page on the website.
21288 Thu Oct 11 00:33:34 BST 2007  Olly Betts <olly@survex.com>
21290         * matcher/branchpostlist.h: Fix comment typo.
21292 Thu Oct 11 00:28:29 BST 2007  Olly Betts <olly@survex.com>
21294         * api/postlist.cc,backends/flint/flint_alldocspostlist.cc,
21295           backends/flint/flint_alldocspostlist.h,common/postlist.h,matcher/:
21296           Eliminate several implementations of open_position_list and
21297           read_position_list in favour of default ones in the PostList base
21298           class which throw InvalidOperationError.  Change the default
21299           get_wdf implementation to also throw InvalidOperationError.
21301 Wed Oct 10 22:27:44 BST 2007  Olly Betts <olly@survex.com>
21303         * docs/install.html: Improve the remainder.  This documents now just
21304           gives a brief overview of building, suitable for most common cases,
21305           and defers to the INSTALL document in each tarball for more details.
21307 Wed Oct 10 21:51:39 BST 2007  Olly Betts <olly@survex.com>
21309         * common/leafpostlist.h: Rewrite header.
21310         * api/Makefile.mk,api/leafpostlist.cc: Add new source file for
21311           virtual, and non-trivial, non-virtual, methods of LeafPostList.
21312         * api/omdatabase.cc,backends/inmemory/inmemory_database.h,
21313           backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
21314           backends/remote/net_postlist.h,common/emptypostlist.h: Add missing
21315           '#include "omassert.h"' which was previously pulled in implicitly
21316           via '#include "leafpostlist.h"'.
21317         * backends/inmemory/inmemory_database.h: Remove unused '#include
21318           <stdlib.h>'.
21319         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
21320           MultiPostList::set_termweight() is never used, so eliminate it.
21321         * backends/remote/net_postlist.cc: Rename parameter "weight" to
21322           "min_weight" to avoid clash with new member variable of
21323           LeafPostList.
21324         * matcher/emptysubmatch.cc,matcher/localmatch.cc: Don't call
21325           LeafPostList::set_termweight() with a BoolWeight object - the
21326           default behaviour is now equivalent.
21328 Wed Oct 10 18:18:09 BST 2007  Olly Betts <olly@survex.com>
21330         * docs/install.html: Improve the first half.
21332 Wed Oct 10 16:32:57 BST 2007  Olly Betts <olly@survex.com>
21334         * common/postlist.h: Rewrite header.
21335         * api/Makefile.mk,api/postlist.cc: Add new source file for virtual
21336           methods of Xapian::PostingIterator::Internal.
21337         * api/omdatabase.cc,backends/flint/flint_postlist.h,
21338           backends/quartz/quartz_alldocspostlist.cc,
21339           backends/quartz/quartz_postlist.h,matcher/valuerangepostlist.cc:
21340           Add missing '#include "autoptr.h"' which was previously pulled in
21341           implicitly via '#include "postlist.h"'.
21343 Wed Oct 10 16:25:08 BST 2007  Olly Betts <olly@survex.com>
21345         * tests/quartztest.cc: Remove quartztest's test_postlist1 and
21346           test_postlist2.
21347         * tests/api_db.cc: Enhance test_termstats to cover part of the removed
21348           tests.  Enhance test_postlist1 to check more long terms.  Eliminate
21349           the helper function from test_postlist3.
21350         * tests/api_wrdb.cc: Add test_postlist7 to cover the rest of what the
21351           removed tests checked which isn't already checked elsewhere.
21353 Wed Oct 10 02:29:44 BST 2007  Olly Betts <olly@survex.com>
21355         * HACKING: Update the release checklist.
21357 Wed Oct 10 02:01:03 BST 2007  Olly Betts <olly@survex.com>
21359         * matcher/scaleweightpostlist.cc,matcher/scaleweightpostlist.h: Move
21360           virtual dtor definition out of header.
21362 Wed Oct 10 01:41:05 BST 2007  Olly Betts <olly@survex.com>
21364         * matcher/msetpostlist.cc: Avoid virtual method overhead in
21365           MSetPostList::recalc_maxweight().
21367 Wed Oct 10 00:16:00 BST 2007  Olly Betts <olly@survex.com>
21369         * common/expandweight.h,expand/expand.cc,expand/expandweight.cc: We
21370           never actually use ExpandWeight::get_maxweight(), so remove it.
21372 Tue Oct 09 16:27:54 BST 2007  Olly Betts <olly@survex.com>
21374         * backends/flint/flint_database.cc,backends/flint/flint_version.cc,
21375           backends/flint/flint_version.h: Don't try to upgrade a flint
21376           database if we're only reading it, or it's already the latest
21377           version.
21379 Mon Oct 08 10:14:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21381         * tests/api_nodb.cc: Rename test_scaleweightmatchnothing1 to
21382           test_scaleweight3 so all the scaleweight tests can be run
21383           together more easily.  Add test_scaleweight4 to test that scaling
21384           by a weight close to 1 is optimised away.
21386 Sun Oct 07 12:20:14 BST 2007  Olly Betts <olly@survex.com>
21388         * include/xapian/database.h: Add explicit note that
21389           Database::get_metadata() returns an empty string when the backend
21390           doesn't support user-specified metadata, and that
21391           WritableDatabase::set_metadata() throws UnimplementedError in this
21392           case.  Add note about current behaviour with multidatabases.
21394 Sun Oct 07 10:58:24 BST 2007  Olly Betts <olly@survex.com>
21396         * api/omqueryinternal.cc: No need to use AutoPtr<> here now.
21398 Sun Oct 07 10:54:05 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21400         * common/remoteprotocol.h: Bump the network protocol minor
21401           revision, since we've added a query operator (OP_SCALE_WEIGHT)
21402           and the server will need to be updated to understand serialised
21403           queries containing it.
21405 Sun Oct 07 01:54:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21407         * api/omqueryinternal.cc,include/xapian/query.h,matcher/,
21408           tests/api_anydb.cc,tests/api_nodb.cc,tests/internaltest.cc:
21409           Rename OP_MULT_WEIGHT to OP_SCALE_WEIGHT and MultWeight to
21410           ScaleWeight, and move it to before OP_MULT_WEIGHT (to remove the
21411           gap in the enum).
21412           Don't do an epsilon test to compare the weight to zero (when
21413           checking if it's effectively a boolean query) - do an exact
21414           comparison instead.  Raise an exception if the parameter for
21415           OP_SCALE_WEIGHT is < 0 (instead of clipping it to 0).  Adjust
21416           weights accordingly.
21417           Add test_scaleweight2() to test a query with some weights
21418           multiplied by 0, and some by a different factor.
21420 Wed Oct 03 17:23:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21422         * api/omqueryinternal.cc,tests/api_nodb.cc: Fix (and test) for a
21423           double delete if OP_MULT_WEIGHT was applied to an empty query.
21425 Mon Oct 01 13:20:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21427         * NEWS: Update
21428         * net/remoteconnection.cc: Back out previous change - I was
21429           confused, the code was previously fine, and the change broke it.
21431 Mon Oct 01 13:13:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21433         * api/omqueryinternal.cc: Fix access of uninitialised member when
21434           unserialising a mult-weight query.
21435         * tests/internaltest.cc: Add a regression test for unserialisationg
21436           of mult-weight queries.
21438 Mon Oct 01 13:11:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21440         * net/remoteconnection.cc: After calling read(), check for received
21441           == 0 after checking for errors, so that if an EINTR occurs in
21442           read, we don't report EOF instead of retrying.
21444 Sun Sep 30 23:20:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21446         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h: Add
21447           OP_MULT_WEIGHT operator, and a new Query constructor which takes
21448           a single subquery and a "double" parameter - currently only
21449           useful for OP_MULT_WEIGHT.  Add dbl_parameter to Query::Internal,
21450           to hold this parameter.  Add serialisation of OP_MULT_WEIGHT
21451           using "." to represent the operator.  Drop OP_MULT_WEIGHT
21452           operators which have a parameter of 1 (or very close) when
21453           simplifying, since these have no effect.
21454         * matcher/multweightpostlist.cc,matcher/multweightpostlist.h: New
21455           files, implementing a postlist which multiplies the weights from
21456           its single sub-postlist by a parameter.
21457         * matcher/Makefile.mk: Add new files.
21458         * matcher/localmatch.cc: Add support for the OP_MULT_WEIGHT query
21459           operator, which produces a MultWeightPostList if the associated
21460           parameter is greater than DBL_EPSILON, and produces a boolean query
21461           otherwise.
21462         * tests/api_anydb.cc: Add tests for OP_MULT_WEIGHT operator with
21463           various queries, and various multipliers.
21464         * NEWS: Update
21466 Sun Sep 30 23:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21468         * tests/harness/testsuite.h: Add TEST_NOT_EQUAL_DOUBLE() macro.
21469         * tests/harness/testsuite.cc: Add special
21470           case to TEST_EQUAL_DOUBLE_() for exact equality of the supplied
21471           arguments.  This is tidier in general, because it avoids "inf"
21472           being produces by the calculation, but is only actually necessary
21473           in the case where the arguments are both exactly 0; it all works
21474           out nicely for other values of the arguments.
21476 Sun Sep 30 21:12:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21478         * tests/queryparsertest.cc: #define XAPIAN_DEPRECATED to disable
21479           compiler warnings about the deprecated forms of add_prefix() and
21480           add_boolean_prefix().
21482 Sun Sep 30 21:07:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21484         * api/Makefile.mk,docs/Makefile.am,docs/deprecation.rst,
21485           include/Makefile.mk,include/xapian.h,include/xapian/queryparser.h,
21486           queryparser/queryparser.cc,queryparser/queryparser.lemony,
21487           queryparser/queryparser_internal.h,tests/: Re-apply changes which
21488           needed more thought or more work before being included in a
21489           release.
21490         * NEWS: Update with current descriptions of these changes.
21492 Sun Sep 30 20:22:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21494         * tests/valgrind.supp: Add further suppressions needed for the
21495           version of zlib on ubuntu gutsy.
21497 Fri Sep 28 15:38:18 BST 2007  Olly Betts <olly@survex.com>
21499         * NEWS: Final (?) update for 1.0.3.
21501 Fri Sep 28 15:37:22 BST 2007  Olly Betts <olly@survex.com>
21503         * PLATFORMS: Another small update.
21505 Fri Sep 28 15:30:17 BST 2007  Olly Betts <olly@survex.com>
21507         * HACKING: Add link to the 1.0.N tracker bug.
21509 Fri Sep 28 14:04:06 BST 2007  Olly Betts <olly@survex.com>
21511         * PLATFORMS: More updates.
21513 Fri Sep 28 13:45:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21515         * include/xapian/database.h: Document that empty metadata keys will
21516           cause an exception from get_metadata() and set_metadata().
21517         * api/omdatabase.cc: Cause empty metadata keys to raise an
21518           InvalidArgumentError if they're passed to set_metadata() or
21519           get_metadata().
21520         * tests/api_wrdb.cc: Add test_metadata3, to check behaviour with an
21521           empty metadata key.
21523 Fri Sep 28 13:30:49 BST 2007  Olly Betts <olly@survex.com>
21525         * PLATFORMS: Updates from tinderbox.
21527 Fri Sep 28 13:22:16 BST 2007  Olly Betts <olly@survex.com>
21529         * include/xapian/database.h: Clarify support for empty metadata keys.
21531 Fri Sep 28 11:00:08 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21533         * tests/valgrind.supp: Add second version of the zlib end condition
21534           check which works for the version of zlib in Ubuntu gutsy; ie,
21535           version 1.2.3.3, where the error occurs in the function called
21536           directly by deflate, rather than two levels below it.
21538 Fri Sep 28 03:11:11 BST 2007  Olly Betts <olly@survex.com>
21540         * configure.ac: Update for 1.0.3.
21542 Fri Sep 28 03:05:10 BST 2007  Olly Betts <olly@survex.com>
21544         * api/Makefile.mk,docs/Makefile.am,docs/deprecation.rst,
21545           include/Makefile.mk,include/xapian.h,include/xapian/queryparser.h,
21546           queryparser/queryparser.cc,queryparser/queryparser.lemony,
21547           queryparser/queryparser_internal.h,tests/: Back out changes which
21548           need more thought or more work in the interests of getting 1.0.3
21549           out this month.
21551 Fri Sep 28 03:04:19 BST 2007  Olly Betts <olly@survex.com>
21553         * NEWS: Update with recent changes.
21555 Fri Sep 28 01:55:42 BST 2007  Olly Betts <olly@survex.com>
21557         * docs/deprecation.rst: Revert to the previous deprecation policy.
21559 Fri Sep 28 01:20:34 BST 2007  Olly Betts <olly@survex.com>
21561         * include/xapian/enquire.h: Rephrase since "should be in the MSet"
21562           might be misunderstood.
21564 Fri Sep 28 01:12:47 BST 2007  Olly Betts <olly@survex.com>
21566         * AUTHORS,docs/Makefile.am,docs/glossary.rst,docs/index.html: Add
21567           glossary put together by Jenny Black, also incorporating entries
21568           from Deron Meranda's glossary on the wiki.
21570 Thu Sep 27 23:06:30 BST 2007  Olly Betts <olly@survex.com>
21572         * docs/stemming.html: Reorder the initial paragraphs so we actually
21573           answer the question "What is a stemming algorithm?" up front.
21575 Thu Sep 27 22:15:36 BST 2007  Olly Betts <olly@survex.com>
21577         * matcher/valuerangepostlist.cc: Call ValueRangePostList::next()
21578           explicitly to avoid the overhead of virtual method dispatch.
21580 Thu Sep 27 14:43:25 BST 2007  Olly Betts <olly@survex.com>
21582         * common/termlist.h: Don't need to forward declare
21583           Xapian::Internal::ExpandWeight here.
21585 Thu Sep 27 14:36:00 BST 2007  Olly Betts <olly@survex.com>
21587         * common/termlist.h: Add missing (but indirectly included) '#include
21588           <xapian/base.h>'.
21590 Fri Sep 21 18:00:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21592         * docs/deprecation.rst: Add deprecation for
21593           Database::positionlist_begin() throwing DocNotFoundError , for
21594           same reason as deprecating it throwing RangeError.  Also, add
21595           deprecation for QueryParser::add_prefix(f, p) and
21596           add_boolean_prefix() - replaced by three argument form of
21597           add_prefix.  Also, add a policy that we don't add
21598           XAPIAN_DEPRECATED when there's no replacement for the deprecated
21599           feature in the last x.x.0 release.
21600         * include/xapian/queryparser.h: Add @deprecated to documentation
21601           comments for add_prefix(f, p) and add_boolean_prefix() (but don't
21602           add XAPIAN_DEPRECATED() macro for now).
21604 Fri Sep 21 16:13:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21606         * include/xapian/queryparser.h: Fix copy and paste errors in
21607           documentation comment, and hopefully clarify it somewhat.
21609 Fri Sep 21 15:50:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21611         * tests/queryparsertest.cc: Initialise the default prefix from
21612           prefixes.find(""), allowing multiple default prefixes to be set
21613           by calling add_prefix() with an empty field name.
21614         * queryparser/queryparser.lemony: Several more tests; mainly for
21615           the new default_prefix functionality, but also a bit more
21616           coverage for multiple prefixes in general.
21618 Fri Sep 21 15:04:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21620         * include/xapian/queryparser.h,queryparser/queryparser.cc: API
21621           addition: Revert previous change to behaviour of
21622           QueryParser::add_prefix and QueryParser::add_boolean_prefix
21623           methods, to avoid API change within a release series.  Add new
21624           QueryParser::add_prefix() form which takes three parameters; the
21625           third parameter is a value from a new "prefix_type" enum.
21626         * queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
21627           Internal changes to allow multiple filters to be set for a single
21628           field:
21629            - Remove the PrefixInfoList object again - instead add a list of
21630              prefixes to PrefixInfo.  We only aim to support one type of
21631              prefix for a given field, so the extra flexibility given by
21632              PrefixInfoList is a districation.
21633            - Change filter_group_id to be based on a list of prefixes,
21634              instead of a single prefix.
21635            - Change Term objects to store a list of prefixes instead of a
21636              single prefix.  make_term() now takes a prefix argument and
21637              makes a single term.  Term::as_... methods iterate through the
21638              prefix list and OR together the resulting terms.
21639            - Change TermList object to store a list of Terms instead of
21640              Queries, and also to keep track of whether the prefix lists
21641              for those Terms are all the same.  When they are the same,
21642              generate separate phrases for each prefix, and OR them
21643              togeher, instead of generating phrases of "OR" groups of
21644              terms.  Remove the unused "TermList::add_term()" method.
21645         * tests/queryparsertest.cc: Add simple tests of repeated inline
21646           fields, phrases with multiple prefixed fields, tests of backwards
21647           compatible behaviour of add_prefix(field, prefix), and
21648           add_boolean_prefix(), and of the new add_prefix() form with
21649           incompatible types.
21651 Thu Sep 20 02:13:36 BST 2007  Olly Betts <olly@survex.com>
21653         * NEWS: Update with changes since 1.0.2.
21655 Wed Sep 19 20:00:43 BST 2007  Olly Betts <olly@survex.com>
21657         * backends/flint/flint_table.cc: Fix "Key_" in exception message to
21658           say "Key" (the result of overzealous search-and-replace).
21660 Wed Sep 19 17:08:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21662         * include/xapian/queryparser.h,queryparser/queryparser.cc,
21663           queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
21664           Handle repeated calls to QueryParser::add_boolean_prefix() with
21665           the same field - this will generate multiple terms for each
21666           occurrence of the field in the query.  Involves reorganising the
21667           internal representation of prefixes, to hold a list of PrefixInfo
21668           objects for each field, instead of a single object.  This also
21669           paves the way towards handling for multiple calls to
21670           QueryParser:add_prefix() with the same field, and allowing
21671           add_{boolean_}prefix() with an empty field to set the default
21672           prefix handling, but the behaviour of this are currently
21673           unchanged.  Technically, this could be considered an API change,
21674           but the previous behaviour (of using only the most recent value
21675           set by add_boolean_prefix) was unintentional and undocumented,
21676           and seems unlikely to have been deliberately used.
21677         * tests/queryparsertest.cc: Add a very simple test for repeated
21678           boolean_prefix fields; several more are needed.  Also, a
21679           commented out test of repeated non-boolean prefix fields.
21681 Tue Sep 18 23:28:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21683         * queryparser/queryparser.lemony: Remove unused variable
21684           "term_group".
21686 Tue Sep 18 16:56:37 BST 2007  Olly Betts <olly@survex.com>
21688         * api/matchspy.cc,include/xapian/matchspy.h: Use a set rather than a
21689           map to store the "multivalues" flags.
21691 Mon Sep 17 14:10:47 BST 2007  Olly Betts <olly@survex.com>
21693         * include/xapian/matchspy.h: Fix documentation comment typo.
21695 Sun Sep 16 04:13:20 BST 2007  Olly Betts <olly@survex.com>
21697         * net/remoteconnection.cc: Fix compiler warning in mingw build.
21699 Sun Sep 16 02:59:54 BST 2007  Olly Betts <olly@survex.com>
21701         * backends/flint/flint_database.cc,tests/api_wrdb.cc: Check length of
21702           new terms is at most 245 bytes for flint in add_document() and
21703           replace_document() so that the API user gets an error there rather
21704           than when flush() is called (explicitly or implicitly).  Fixes
21705           bug#44.
21707 Sat Sep 15 20:11:36 BST 2007  Olly Betts <olly@survex.com>
21709         * backends/flint/flint_version.cc: Add missing include of
21710           msvc_posix_wrapper.h.
21712 Sat Sep 15 17:58:35 BST 2007  Olly Betts <olly@survex.com>
21714         * api/omdatabase.cc,backends/database.cc,
21715           backends/flint/flint_database.cc,backends/flint/flint_database.h,
21716           backends/flint/flint_version.cc,
21717           backends/inmemory/inmemory_database.cc,
21718           backends/inmemory/inmemory_database.h,common/database.h,
21719           include/xapian/database.h,tests/api_wrdb.cc: Add support for user
21720           specified metadata (bug#143).
21722 Sat Sep 15 02:26:40 BST 2007  Olly Betts <olly@survex.com>
21724         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h:
21725           Implement FlintCursor::find_entry_ge() a little more efficiently
21726           (we could do better still by modifying FlintTable too).
21728 Sat Sep 15 00:56:54 BST 2007  Olly Betts <olly@survex.com>
21730         * backends/flint/flint_cursor.cc: If we found the exact key, just copy
21731           it to current_key.
21733 Fri Sep 14 21:52:45 BST 2007  Olly Betts <olly@survex.com>
21735         * backends/flint/: Overhaul FlintAllDocsPostList.
21737 Fri Sep 14 19:20:56 BST 2007  Olly Betts <olly@survex.com>
21739         * backends/flint/flint_alltermslist.cc: Rework
21740           FlintAllTermsList::skip_to() to use FlintCursor::find_entry_ge().
21742 Fri Sep 14 17:45:06 BST 2007  Olly Betts <olly@survex.com>
21744         * backends/flint/flint_cursor.h: Improve documentation comment.
21746 Fri Sep 14 17:28:17 BST 2007  Olly Betts <olly@survex.com>
21748         * backends/flint/flint_spellingwordslist.cc,
21749           backends/flint/flint_synonym.cc: Use FlintCursor::find_entry_ge().
21750         * backends/flint/flint_synonym.h: Use FlintCursor::find_entry_lt().
21751         * backends/flint/flint_alltermslist.h: Use FlintCursor::find_entry_lt()
21752           and skip any keys before "\x00\xff" to allow for extra metadata
21753           keys.
21755 Fri Sep 14 15:26:04 BST 2007  Olly Betts <olly@survex.com>
21757         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: The
21758           reason why a deleted key is still visible to the cursor is that it
21759           is running over the previous revision of the tree.  So we don't
21760           need to call find_entry() at all - we can just call next().  Also
21761           extend FlintCursor::del() to return whether the cursor is positioned
21762           (like FlintCursor::next() does).
21763         * backends/flint/flint_postlist.cc: Use the return value of
21764           FlintCursor::del().
21766 Fri Sep 14 15:10:39 BST 2007  Olly Betts <olly@survex.com>
21768         * tests/Makefile.am: Reorder the testdata/flint-x.y.z files
21769           consistently.
21771 Fri Sep 14 12:48:04 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21773         * configure.ac: Add "tar-ustar" option to AM_INIT_AUTOMAKE.  This
21774           is needed to avoid a failure of make dist due to filepaths of
21775           more than 99 characters (in the generated documentation: the
21776           relevant filepaths are for the NumberValueRangeProcessor class,
21777           and extend to 103 characters).  Automake documentation implies
21778           that tar-v7 is the default format, which doesn't support
21779           filepaths longer than 99 characters portably; ustar allows 256
21780           characters.  The automake documentation says that the ustar
21781           format "is believed to be old enough to be portable"; if we come
21782           across problems due to the format change we could consider
21783           renaming files to reduce the filepath length.
21784         * tests/Makefile.am: Remove
21785           testdata/flint-1.0.2/{value,position}.{baseA,DB} from
21786           distribution, since they don't actually exist.  Fixes make dist.
21788 Fri Sep 14 10:45:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21790         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: Add
21791           FlintCursor::find_entry_gt(), and use it instead of
21792           flint_entry_ge() in FlintCuror::del().  This fixes failure of
21793           deldoc4 test.  I'm not sure why find_entry() can return true
21794           immediately after the key it's searching for was deleted with
21795           B->del(), though: that merits further investigation.
21797 Fri Sep 14 04:57:14 BST 2007  Olly Betts <olly@survex.com>
21799         * bin/xapian-inspect.cc: Avoid comparing char with 0 - on platforms
21800           where char is unsigned by default this can give a compiler warning.
21802 Fri Sep 14 03:40:18 BST 2007  Olly Betts <olly@survex.com>
21804         * bin/xapian-compact.cc: Removed unused variable.
21806 Fri Sep 14 01:56:36 BST 2007  Olly Betts <olly@survex.com>
21808         * backends/flint/flint_alltermslist.cc: Fix comment typo.
21810 Fri Sep 14 01:51:52 BST 2007  Olly Betts <olly@survex.com>
21812         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: Add
21813           FlintCursor::find_entry_lt() and FlintCursor::find_entry_ge()
21814           which we can implement more efficiently (in the future) than
21815           user code calling FlintCursor::find_entry() and then having to
21816           adjust the cursor position in some cases.
21818 Thu Sep 13 14:52:34 BST 2007  Olly Betts <olly@survex.com>
21820         * backends/flint/flint_alltermslist.cc: FlintCursor::after_end() is
21821           never true after FlintCursor::find_entry() so remove check for this
21822           case!
21824 Thu Sep 13 03:11:19 BST 2007  Olly Betts <olly@survex.com>
21826         * backends/flint/flint_alltermslist.h,backends/flint/flint_database.cc,
21827           backends/flint/flint_database.h: Don't pass FlintPostListTable
21828           pointer to FlintAllTermsList - it can find this via the database
21829           if we make it FlintDatabase instead of Database::Internal.
21831 Thu Sep 13 02:07:19 BST 2007  Olly Betts <olly@survex.com>
21833         * backends/flint/: Read/write the metainfo key from FlintDatabase to
21834           avoid having to pass a huge long list of values across once we start
21835           to store more statistics.
21837 Thu Sep 13 02:03:46 BST 2007  Olly Betts <olly@survex.com>
21839         * backends/database.cc,common/database.h: Move definitions of virtual
21840           methods out of the header file.
21842 Thu Sep 13 01:33:49 BST 2007  Olly Betts <olly@survex.com>
21844         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
21845           Store the total_length and lastdocid values in FlintDatabase object.
21847 Wed Sep 12 20:27:49 BST 2007  Olly Betts <olly@survex.com>
21849         * matcher/multimatch.cc: Eliminate a block which used to scope some
21850           variables which have now moved.  Unify debug output from different
21851           cases after the match.  Remove half-finished comment which doesn't
21852           seem to be trying to say anything useful.
21854 Wed Sep 12 20:20:18 BST 2007  Olly Betts <olly@survex.com>
21856         * tests/api_anydb.cc: In checkatleast2, the total number of matching
21857           documents in the database is 5, so use TEST_EQUAL instead of
21858           TEST_GREATER_OR_EQUAL to compare get_matches_lower_bound() with 5.
21860 Wed Sep 12 17:55:00 BST 2007  Olly Betts <olly@survex.com>
21862         * backends/flint/flint_database.h: Fix some comment typos and
21863           outdated information.  Remove some superfluous uses of "virtual".
21865 Wed Sep 12 17:15:58 BST 2007  Olly Betts <olly@survex.com>
21867         * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
21868           Failing to create a flint or quartz database because we couldn't
21869           create the directory for it now throws DatabaseCreateError not
21870           DatabaseOpeningError.
21871         * tests/api_db.cc: Update test cases.
21873 Wed Sep 12 15:40:16 BST 2007  Olly Betts <olly@survex.com>
21875         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
21876           If we reach the flush threshold during a transaction, flush the
21877           postlist changes, but don't actually commit them.
21879 Wed Sep 12 14:12:52 BST 2007  Olly Betts <olly@survex.com>
21881         * common/msvc_posix_wrapper.cc,common/msvc_posix_wrapper.h: Add
21882           msvc_posix_rename() which can rename a file on top of another file.
21883         * common/stringutils.h: Add common_prefix_length() function.
21884         * backends/flint/: Clean up FlintWritableDatabase - it now just
21885           inherits from FlintDatabase which allows several virtual methods
21886           which just forwarded to FlintDatabase to be dropped.  Also, we
21887           now no longer need to pass FlintTable objects to other classes
21888           - they can just find the tables they want via the database pointer.
21889           The never-used "store_termfreqs" flag has been dropped from the
21890           termlist table entries - existing 1.0.x flint databases will be
21891           automatically upgraded to the new version.  Opening a database
21892           now calls stat() less, so should be slightly more efficient.
21893           And TermIterator::positionlist_count() now works for the flint
21894           backend.
21895         * tests/Makefile.am,tests/api_db.cc,tests/testdata/flint-1.0.2/: New
21896           test flintbackwardcompat2 which tests that we can open a flint
21897           database from 1.0.2.
21898         * tests/api_wrdb.cc: New test adddoc4 which checks that termlists
21899           handle an initial term of any valid length correctly.
21900         * tests/testdata/flint-1.0.1/postlist.DB: Mark as a binary file in
21901           SVN.
21903 Tue Sep 11 23:02:56 BST 2007  Olly Betts <olly@survex.com>
21905         * backends/inmemory/inmemory_database.cc,
21906           backends/inmemory/inmemory_database.h: Implement
21907           TermIterator::positionlist_count() for the inmemory backend.
21908         * tests/api_posdb.cc: Add feature test for
21909           TermIterator::positionlist_count() (which currently skips for all
21910           backends except inmemory).
21912 Tue Sep 11 03:43:30 BST 2007  Olly Betts <olly@survex.com>
21914         * backends/flint/flint_database.cc: Make sure flush_threshold gets
21915           initialised.
21916         * backends/flint/flint_database.h: Change type of flush_threshold from
21917           `size_t' to `Xapian::doccount' for consistency with the type of
21918           changes_made.
21920 Tue Sep 11 03:19:37 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21922         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
21923           Change flush_threshold from static to non-static, and set it for
21924           each FlintWritableDatabase based on the value of the
21925           XAPIAN_FLUSH_THRESHOLD environment variable at the time the
21926           database was opened, instead of caching the value for each future
21927           database which is opened.
21929 Tue Sep 11 02:59:45 BST 2007  Olly Betts <olly@survex.com>
21931         * docs/Makefile.am: When running rst2html, use "--exit-status=warning"
21932           rather than "--strict".  The former actually gives a non-zero exit
21933           status for a warning or worse, while the former doesn't, but does
21934           include any "info" messages in the output HTML.
21936 Tue Sep 11 02:38:30 BST 2007  Olly Betts <olly@survex.com>
21938         * docs/deprecation.rst: Add "Database::positionlist_begin() throwing
21939           RangeError".
21941 Tue Sep 11 00:52:27 BST 2007  Olly Betts <olly@survex.com>
21943         * HACKING: Document a few more "coding standards".
21945 Mon Sep 10 21:34:23 BST 2007  Olly Betts <olly@survex.com>
21947         * examples/delve.cc,examples/simpleexpand.cc,net/tcpserver.cc,
21948           queryparser/queryparser.cc,queryparser/queryparser.lemony: Add more
21949           missing "#include <string.h>" instances.
21951 Mon Sep 10 20:24:25 BST 2007  Olly Betts <olly@survex.com>
21953         * net/serialise.cc: Add missing "#include <string.h>".
21955 Sun Sep 09 15:38:11 BST 2007  Olly Betts <olly@survex.com>
21957         * backends/flint/flint_spelling.h,backends/flint/flint_synonym.h,
21958           backends/flint/flint_table.h: Fix typo (Z_DEFAULT_COMPRESSION
21959           where it should be Z_DEFAULT_STRATEGY) which meant that zlib
21960           compression wasn't enabled for the spelling or synonym tables.
21962 Fri Sep 07 19:31:44 BST 2007  Olly Betts <olly@survex.com>
21964         * docs/spelling.rst: Fix typo.
21966 Thu Sep 06 15:02:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21968         * api/editdistance.cc: Fix off-by-one error in loop bounds when
21969           setting up fkp array initially.  Fixes bug #194.
21970         * tests/api_wrdb.cc: Add regression test for #194, spell5.
21972 Thu Sep 06 14:31:15 BST 2007  Olly Betts <olly@survex.com>
21974         * tests/harness/testsuite.cc: More localised fix for preserving the
21975           start of the valgrind report when in verbose mode.  Rework the code
21976           which pulls out the start of the report to summarise why the test
21977           failed.
21979 Thu Sep 06 14:17:44 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21981         * tests/harness/testsuite.cc: When displaying valgrind output, seek
21982           back to the start of the valgrind output for the current test
21983           before dumping it to stdout: previously, the earlier check for the
21984           valgrind error message to display (when not using -v) caused the
21985           first 1024 bytes of the valgrind output to get dropped.
21987 Tue Sep 04 20:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21989         * matcher/multimatch.cc: For remote submatches, keep a count of
21990           matches which we know exist, but we don't get passed from the
21991           submatch.  These can be detected by checking for the lowerbound
21992           on the matches in the submatch being greater than the index of
21993           the last item in the returned submset.  When the match is over,
21994           use this count, together with docs_matched, to adjust the lower
21995           bound and estimate (and upper bound, if we've not seen as many
21996           documents as we were asked to check for).  Fixes checkatleast2
21997           and checkatleast3 in the remote database case.
21998         * tests/harness/testsuite.h: Add TEST_GREATER_OR_EQUAL,
21999           TEST_GREATER, TEST_LESSER_OR_EQUAL and TEST_LESSER macros, which
22000           display the values of the arguments if they fail.
22001         * tests/api_anydb.cc: Use TEST_GREATER_OR_EQUAL and TEST_EQUAL in
22002           checkatleast2 and checkatleast3, to make failures easier to
22003           debug.
22005 Tue Sep 04 18:16:49 BST 2007  Olly Betts <olly@survex.com>
22007         * matcher/multimatch.cc: Restructure to make the control flow clearer.
22008           Rewrap some comments which got wrapped to ~82 columns somehow.
22010 Tue Sep 04 17:21:49 BST 2007  Olly Betts <olly@survex.com>
22012         * docs/overview.html: Restore the HTML header I accidentally deleted
22013           in November 2006.
22015 Tue Sep 04 17:15:30 BST 2007  Olly Betts <olly@survex.com>
22017         * docs/overview.html: Fix typo.
22019 Tue Sep 04 13:47:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22021         * tests/api_anydb.cc: Tighten test_checkatleast3 to check for
22022           previous bug (now fixed).
22024 Tue Sep 04 13:37:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22026         * matcher/multimatch.cc: If check_at_least is greater than
22027           maxitems, but there are fewer results than check_at_least, the
22028           lower and upper bounds reported should be equal (and exact).  Fix
22029           a bug which caused this not to be the case, by checking if
22030           docs_matched < check_at_least, and forcing the bounds (and
22031           estimate) to be docs_matched in this case.
22033           Also, fix a bug when sorting by anything other than relevance,
22034           which was causing potential matches which are too low in the
22035           ranking to make the mset not to be added to the count of
22036           docs_matched, even when docs_matched < check_at_least.
22038           Also, add a few extra explanatory comments and debug log messages
22039           in get_mset().
22041 Tue Sep 04 12:43:03 BST 2007  Olly Betts <olly@survex.com>
22043         * PLATFORMS: Update from debian buildd logs.
22045 Tue Sep 04 09:57:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22047         * Makefile.am,configure.ac,msvc/genversion.pl,msvc/version.h.in:
22048           Move msvc/genversion.pl and msvc/version.h.in to win32msvc in
22049           xapian-maintainer-tools.  Remove generation of msvc/version.h
22050           from configure.in, and AC_SUBST() of MAJOR_VERSION,
22051           MINOR_VERSION and REVISION, which were only in place for this
22052           generation.  Remove msvc/version.h from distribution tarballs.
22054 Tue Sep 04 02:56:00 BST 2007  Olly Betts <olly@survex.com>
22056         * matcher/andpostlist.cc: If the database has > 2G documents then the
22057           sum of termfreq_min can overflow, so handle this case correctly.
22059 Tue Sep 04 00:05:47 BST 2007  Olly Betts <olly@survex.com>
22061         * xapian-config.in: We always need to include dependency_libs in the
22062           output of `xapian-config --libs` if shared libraries are disabled.
22064 Mon Sep 03 16:28:33 BST 2007  Olly Betts <olly@survex.com>
22066         * bin/xapian-check.cc: Allow "xapian-check db/record." and
22067           "xapian-check db/record.DB".
22069 Mon Sep 03 02:16:43 BST 2007  Olly Betts <olly@survex.com>
22071         * docs/deprecation.rst,include/xapian/enquire.h: Deprecate
22072           Enquire::register_match_decider().
22073         * api/omenquire.cc,common/omenquireinternal.h: Remove mdecider_map
22074           since the set values are never used anywhere.
22076 Sun Sep 02 20:54:33 BST 2007  Olly Betts <olly@survex.com>
22078         * HACKING: Add "update the 1.0.N tracker bug" to the release
22079           checklist.
22081 Fri Aug 31 10:44:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22083         * tests/api_db.cc,tests/api_wrdb.cc: Fix compilation of apitest,
22084           which was broken on 64 bit platforms due to size_t instead of
22085           doccount bug.
22087 Fri Aug 24 11:56:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22089         * api/matchspy.cc,include/xapian/matchspy.h: Fix uses of size_t
22090           which should have been Xapian::doccount.  Was causing compile
22091           errors on platforms where size_t and Xapian::doccount were
22092           different sizes.
22094 Fri Aug 03 20:10:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22096         * tests/api_nodb.cc: Add test_stringlistserialise1() to test the
22097           StringListSerialiser and StringListUnserialiser.  Change the list
22098           of testcases to use the TESTCASE and END_OF_TESTCASES macros.
22100 Fri Aug 03 19:53:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22102         * api/matchspy.cc,include/xapian/matchspy.h: Add StringListSerialiser
22103           and StringListUnserialiser classes which can be used to serialise
22104           a list of strings into a single string.  Add flag to
22105           ValueCountMatchSpy to use this to unserialise the values read
22106           from the database into multiple strings, allowing several values
22107           to be stored for a particular slot in a database: this allows
22108           multiple values of a particular facet to be stored.
22110 Thu Jul 26 16:55:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22112         * backends/flint/flint_table.cc: Change STRINGIZE to om_tostring()
22113           in error message about a key which is too long; STRINGIZE doesn't
22114           work since FLINT_BTREE_MAX_KEY_LEN is no longer a preprocessor
22115           constant - it's a C++ constant; before this change, the error
22116           message contained the literal text "FLINT_BTREE_MAX_KEY_LEN".
22118 Tue Jul 17 12:20:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22120         * api/matchspy.cc,include/xapian/matchspy.h: Add a
22121           MultipleMatchDecider, which calls a list of deciders in order,
22122           until one returns false.
22123         * include/xapian/enquire.h: Expand comment to say which way round
22124           the return values of the MatchDecider operator are.
22125         * tests/api_db.cc: Add test_matchfunctor3() to test the
22126           MultipleMatchDecider - also tests the ValueCountMatchSpy,
22127           incidentally.
22129 Tue Jul 17 11:10:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22131         * api/matchspy.cc,include/xapian/matchspy.h: Make
22132           get_most_frequent_items() private, since I'm not convinced it's
22133           useful to make it available externally.  We can always make it
22134           public again if it's useful to do so.
22135         * test/api_wrdb.cc: Update tests accordingly.
22137 Sat Jul 14 00:17:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22139         * api/matchspy.cc,include/xapian/matchspy.h: Get rid of the
22140           TopValueMatchSpy in favour of a new function
22141           "get_most_frequent_items", which processes the output of a
22142           ValueCountMatchSpy.  Add a TermCountMatchSpy which counts the
22143           occurrences of terms with a given prefix, and gives output in
22144           the same form as ValueCountMatchSpy.  Add convenience methods
22145           ValueCountMatchSpy::get_top_values() and
22146           TermCountMatchSpy::get_top_terms() which use this to return the
22147           most frequent items seen by the matchspy.
22148         * tests/api_wrdb.cc: Test the ValueCountMatchSpy, and the
22149           get_most_frequent_items() function.
22151 Fri Jul 13 18:57:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22153         * matcher/andpostlist.cc,tests/api_anydb.cc: Improve the lower
22154           bound on the number of matching documents for an AND query - if
22155           the sum of the lower bounds for the two sides is greater than the
22156           number of documents in the database, then some of them must have
22157           both terms.  This greatly improves the lower bound for queries of
22158           the form "<alldocuments> FILTER foo" (since FILTER is a subclass
22159           of AND, and uses the same method), but is probably a useful
22160           improvement elsewhere.
22162 Fri Jul 13 17:53:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22164         * docs/valueranges.rst: Correct out-of-date reference to
22165           float_to_string, spotted by Enrico Zini.
22167 Wed Jul 11 22:54:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22169         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
22170           Move ValueAndFrequency out of the TopValueMatchSpy class - it
22171           doesn't seem to be possible to wrap it with swig without doing
22172           this, and it doesn't seem much less tidy.
22174 Wed Jul 11 18:03:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22176         * api/matchspy.cc,include/xapian/matchspy.h: Split MatchSpy into a
22177           base class (ValueCountMatchSpy), which just counts the values in
22178           the documents it sees, and a subclass (CategorySelectMatchSpy)
22179           which does the grouping into categories, and scores the
22180           categories.  Add another subclass (TopValueMatchSpy) which
22181           calculates a sorted vector holding the most frequent values.
22182         * tests/api_wrdb.cc: Update matchspy1 and matchspy2 to use
22183           CategorySelectMatchSpy instead of MatchSpy, and corresponding
22184           changes to the methods.  Add matchspy3 to test the
22185           TopValueMatchSpy.
22187 Mon Jul 09 15:40:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22189         * tests/termgentest.cc: Fix copyright: everything I've done in 2007
22190           has been for Lemur.
22192 Mon Jul 09 15:40:38 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22194         * include/xapian/version_h.cc: Fix type in comment.
22196 Fri Jul 06 12:14:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22198         * include/xapian/enquire.h: Add note to register_match_decider()
22199           documentation comment of what this function is for, and also that
22200           it doesn't currently do anything (other than store the values
22201           passed to it in the enquire internals).
22203 Thu Jul 05 20:52:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22205         * docs/categorisation.rst: Fix typo.
22207 Thu Jul 05 20:41:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22209         * tests/api_wrdb.cc: Rework matchspy2 to use approximate values to
22210           avoid failing on some platform due to differing precision.
22212 Thu Jul 05 12:21:48 BST 2007  Olly Betts <olly@survex.com>
22214         * docs/categorisation.rst: Complete half sentence.
22216 Thu Jul 05 12:17:20 BST 2007  Olly Betts <olly@survex.com>
22218         * docs/categorisation.rst: Add section on restricting by category
22219           values.
22221 Thu Jul 05 04:47:18 BST 2007  Olly Betts <olly@survex.com>
22223         * docs/Makefile.am,docs/categorisation.rst: Add topic document
22224           discussing use of Xapian::MatchSpy.
22226 Thu Jul 05 02:08:13 BST 2007  Olly Betts <olly@survex.com>
22228         * include/xapian.h,tests/api_wrdb.cc: Restore MatchSpy stuff.
22230 Thu Jul 05 01:38:38 BST 2007  Olly Betts <olly@survex.com>
22232         * HACKING: Note that RoadMap on the wiki needs updating for each
22233           release.
22235 Thu Jul 05 01:03:05 BST 2007  Olly Betts <olly@survex.com>
22237         * AUTHORS: Update.
22239 Thu Jul 05 00:31:00 BST 2007  Olly Betts <olly@survex.com>
22241         * NEWS: Minor tweaks and clarifications.
22243 Thu Jul 05 00:29:53 BST 2007  Olly Betts <olly@survex.com>
22245         * include/xapian.h,tests/api_wrdb.cc: Disable MatchSpy class for 1.0.2
22246           as it's not ready for release yet.
22248 Wed Jul 04 21:20:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22250         * NEWS: Update with release date for release 1.0.2
22252 Wed Jul 04 21:09:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22254         * AUTHORS: Add Tomek Jackowiak, for reporting bug #166 (missing
22255           Xapian::Query documentation).
22257 Wed Jul 04 20:45:56 BST 2007  Olly Betts <olly@survex.com>
22259         * configure.ac: Updated version and library version for 1.0.2.
22261 Wed Jul 04 20:36:07 BST 2007  Olly Betts <olly@survex.com>
22263         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
22264           Tidy up API for MatchSpy::build_numeric_ranges() and add tests.
22266 Wed Jul 04 19:40:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22268         * NEWS: Fully updated.
22270 Wed Jul 04 18:33:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22272         * NEWS: Move some of the changelog entries into news-style comments.
22274 Wed Jul 04 17:50:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22276         * tests/api_wrdb.cc: SKIP_TEST() spell3 on windows - it doesn't
22277           work there due to trying to delete (and then overwrite) an open
22278           database.  We shouldn't be doing this, so add a long FIXME
22279           explaining what we should be doing instead.
22281 Wed Jul 04 17:27:22 BST 2007  Olly Betts <olly@survex.com>
22283         * NEWS: Partly update.
22285 Wed Jul 04 17:19:51 BST 2007  Olly Betts <olly@survex.com>
22287         * AUTHORS: Add Simon Tatham for spotting the -INFINITY issue, and for
22288           a lot of useful advice during the CVS to SVN transition.
22290 Wed Jul 04 17:16:59 BST 2007  Olly Betts <olly@survex.com>
22292         * api/,include/xapian/queryparser.h,tests/queryparsertest.cc: Rename
22293           Xapian::NumberValueRangeProcessor::float_to_string() to
22294           Xapian::sortable_serialise() and
22295           Xapian::NumberValueRangeProcessor::string_to_float() to
22296           Xapian::sortable_unserialise().
22298 Wed Jul 04 17:16:16 BST 2007  Olly Betts <olly@survex.com>
22300         * HACKING: Add rationale for 2 space indents for "public", etc.
22302 Wed Jul 04 14:09:57 BST 2007  Olly Betts <olly@survex.com>
22304         * tests/queryparsertest.cc: Loops on integers and scale to doubles
22305           rather than looping on doubles and scaling to get integers.
22307 Wed Jul 04 13:01:11 BST 2007  Olly Betts <olly@survex.com>
22309         * tests/queryparsertest.cc: If the NumberValueRangeProcessor
22310           string encodings don't sort the same way, there's no need to report
22311           the string encodings in the error message as they are written to
22312           "tout" just before, along with the respective numbers they came
22313           from.  The string encodings can contain control characters, so are
22314           liable to corrupt the test failure message.
22316 Wed Jul 04 12:25:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22318         * api/valuerangeproc.cc: Fix encoding of extremely large, negative,
22319           non-IEEE representation to be -INFINITY, not +INFINITY.  Thanks
22320           to Simon Tatham for pointing this out.
22321         * include/xapian/queryparser.h: Add a documentation comment note
22322           that zero and -zero will be transformed to the same value.
22324 Wed Jul 04 10:09:33 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22326         * api/valuerangeproc.cc: Change encoding used for doubles to a much
22327           more compact scheme, and add support for +-INFINITY.  Also, some
22328           other tweaks to avoid unnecessary computation.
22329         * tests/queryparsertest.cc: Update test cases to expect new
22330           encoding of doubles, and add values for INFINITY and DBL_MAX and
22331           some other special numbers to the list of numbers that are
22332           specifically checked.
22334 Wed Jul 04 03:29:10 BST 2007  Olly Betts <olly@survex.com>
22336         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
22337           Category score now explicitly weights for having nearer the
22338           requested number of categories.  Category score is now normalised
22339           so values should be roughly comparable between different sized
22340           collections.  Add untested code to build ranges.
22342 Wed Jul 04 00:48:07 BST 2007  Olly Betts <olly@survex.com>
22344         * bin/xapian-compact.cc: Add new "--no-renumber" option to preserve
22345           document ids from source databases.  Fix bug in change to add
22346           support for spelling and synonym tables which was preventing any
22347           renumbering from happening!
22349 Wed Jul 04 00:25:52 BST 2007  Olly Betts <olly@survex.com>
22351         * backends/inmemory/inmemory_database.cc,
22352           backends/inmemory/inmemory_database.h,tests/api_wrdb.cc: Fix bug in
22353           inmemory backend - using replace_document() to add a document with a
22354           specific document id above the highest currently used would create
22355           empty documents for all document ids in between.
22357 Tue Jul 03 09:27:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22359         * HACKING: Add note that protection level declarations in classes
22360           and structs should only be indented by 2 spaces.
22362 Tue Jul 03 03:53:11 BST 2007  Olly Betts <olly@survex.com>
22364         * api/Makefile.mk,api/matchspy.cc,include/xapian/matchspy.h,
22365           tests/api_wrdb.cc: Add MatchSpy method to score how good a
22366           categorisation is.
22368 Tue Jul 03 01:24:19 BST 2007  Olly Betts <olly@survex.com>
22370         * include/xapian/queryparser.h: Replace `#include <xapian/stem.h>'
22371           with forward declaration of Stem.
22373 Tue Jul 03 01:14:12 BST 2007  Olly Betts <olly@survex.com>
22375         * include/xapian/errorhandler.h: Replace `#include <xapian/error.h>'
22376           with forward declaration of Error.
22377         * api/errorhandler.cc: Now needs to explicitly `#include
22378           <xapian/error.h>'.
22380 Tue Jul 03 01:08:30 BST 2007  Olly Betts <olly@survex.com>
22382         * include/xapian/dbfactory.h: Replace `#include <xapian/database.h>'
22383           with forward declarations of Database and WritableDatabase.
22385 Tue Jul 03 00:59:57 BST 2007  Olly Betts <olly@survex.com>
22387         * include/xapian/enquire.h: Remove `#include <xapian/error.h>'.
22389 Mon Jul 02 23:25:55 BST 2007  Olly Betts <olly@survex.com>
22391         * include/Makefile.mk,include/xapian.h,include/xapian/matchspy.h,
22392           tests/api_wrdb.cc: Implement "MatchSpy" class to tally values
22393           in matching documents.
22395 Mon Jul 02 18:15:18 BST 2007  Olly Betts <olly@survex.com>
22397         * api/omenquire.cc,include/xapian/enquire.h: Fix last change to
22398           preserve ABI compatibility.
22400 Mon Jul 02 17:52:10 BST 2007  Olly Betts <olly@survex.com>
22402         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
22403           include/xapian/enquire.h,matcher/multimatch.cc,net/remoteserver.cc,
22404           tests/api_db.cc: Add support for a "matchspy" - a MatchDecider which
22405           is documented to be tested on ever candidate document.  We plan to
22406           optimise the current matchdecider to be used as little as possible.
22408 Mon Jul 02 17:35:12 BST 2007  Olly Betts <olly@survex.com>
22410         * tests/api_db.cc: Enhance matchfunctor1 to test that the functor
22411           returns ALL matching documents, not just that all documents returned
22412           match.
22414 Mon Jul 02 16:36:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22416         * common/omassert.h: Fix to avoid warning in gcc-snapshot; use
22417           do{}while(0) to protect assertions, and remove the old "if (a) {}
22418           else {fail}" constructions which tried to do the same job.
22420 Mon Jul 02 14:56:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22422         * bin/xapian-inspect.cc: Add missing #include of <stdio.h> - fixes
22423           gcc-2.95 compilation.
22425 Mon Jul 02 14:54:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22427         * queryparser/termgenerator_internal.h: Fix for gcc-2.95
22428           compilation.
22430 Mon Jul 02 14:09:22 BST 2007  Olly Betts <olly@survex.com>
22432         * api/Makefile.mk,api/valuerangeproccompat.cc,
22433           include/xapian/queryparser.h: Put the new NumberValueRangeProcessor
22434           in a sub-namespace which we then import it from.  Restore the old
22435           NumberValueRangeProcessor implementation inside the library so that
22436           it is available to code linked against 1.0.0 or 1.0.1 to keep ABI
22437           compatibility.
22439 Sun Jul 01 15:32:30 BST 2007  Olly Betts <olly@survex.com>
22441         * include/xapian/queryparser.h: Clearer description of
22442           NumberValueRangeProcessor.  Don't document the number format in
22443           terms of strtod() - that's a bug, not a feature we want to be tied
22444           to.
22445         * include/xapian/query.h,include/xapian/queryparser.h: Use "@a" not
22446           "\a" for consistency with existing usage.
22448 Sun Jul 01 10:09:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22450         * matcher/localmatch.cc: When registering a term, check if it's
22451           empty, and if so use the document count as the term frequency,
22452           rather than calling the database to get the term frequency of an
22453           empty term (most database backends have an assertion that the
22454           term is not empty, and an empty term isn't a valid parameter to
22455           pass to get_termfreq() anyway).
22456         * matcher/multimatch.cc: For MatchAll queries, the "" term will not
22457           be found in the termlist of the top document, so check if a ""
22458           term is present in the query, and use it to increase the
22459           percent_scale if so.  This fixes an Assertion which checked that
22460           percent_scale was not 0.
22461         * tests/api_db.cc: Add test_matchall1() which tests running a query
22462           with a MatchAll query.
22463         * tests/api_nodb.cc: Rename test_emptyquery1 and test_emptyquery2
22464           to test_emptyquery2 and test_emptyquery3, respectively.  There
22465           was already a (different) test_emptyquery1 in api_anydb.cc.
22467 Sat Jun 30 18:04:06 BST 2007  Olly Betts <olly@survex.com>
22469         * tests/queryparsertest.cc: Write `2.0' rather than `(double)2'.
22471 Sat Jun 30 16:12:49 BST 2007  Olly Betts <olly@survex.com>
22473         * docs/valueranges.rst: Fix typo.  Fix ".. note:" to ".. note::" so
22474           it appears visibly in the HTML output rather than in an HTML
22475           comment!
22477 Sat Jun 30 15:14:33 BST 2007  Olly Betts <olly@survex.com>
22479         * api/omdocument.cc,common/document.h,include/xapian/document.h:
22480           Add Xapian::Document::get_docid() method.
22482 Sat Jun 30 04:00:57 BST 2007  Olly Betts <olly@survex.com>
22484         * matcher/multimatch.cc: If there's only one term in the query (a
22485           pretty common case) we don't need to look at the top document's
22486           termlist to determine that it matches all the query terms.
22488 Sat Jun 30 00:37:09 BST 2007  Olly Betts <olly@survex.com>
22490         * INSTALL: Add note that zlib must be installed before you can build
22491           Xapian.
22493 Fri Jun 29 22:40:58 BST 2007  Olly Betts <olly@survex.com>
22495         * backends/flint/: If doccount == lastdocid, all document ids up to
22496           lastdocid are used, so we provide a special really efficient version
22497           implementation of iterating all documents for this common case for
22498           flint.
22500 Fri Jun 29 00:39:04 BST 2007  Olly Betts <olly@survex.com>
22502         * common/stringutils.h: Add startswith() and endswith() overloads
22503           which take a single character.
22504         * backends/flint/flint_spellingwordslist.cc,bin/xapian-inspect.cc:
22505           Use new forms.
22506         * backends/flint/flint_spellingwordslist.cc: Fix comment typo.
22508 Thu Jun 28 21:43:49 BST 2007  Olly Betts <olly@survex.com>
22510         * backends/flint/flint_spellingwordslist.cc: Another begins_with()
22511           which I somehow missed.
22513 Thu Jun 28 19:51:03 BST 2007  Olly Betts <olly@survex.com>
22515         * api/valuerangeproc.cc,backends/flint/flint_alltermslist.cc,
22516           backends/flint/flint_synonym.cc,
22517           backends/inmemory/inmemory_alltermslist.cc,
22518           backends/quartz/quartz_alltermslist.cc,
22519           backends/quartz/quartz_metafile.cc,bin/xapian-inspect.cc,
22520           common/stringutils.h,tests/harness/testsuite.cc: Rename
22521           begins_with() to startswith() and ends_with() to endswith() for
22522           consistency with Python string operations.
22524 Thu Jun 28 18:49:50 BST 2007  Olly Betts <olly@survex.com>
22526         * queryparser/queryparser.lemony: Don't put a Z prefix on terms if the
22527           stemmer is "none", which matches what TermGenerator generates.
22529 Thu Jun 28 02:22:04 BST 2007  Olly Betts <olly@survex.com>
22531         * api/omqueryinternal.cc: Don't SEGV when Query::MatchNothing is used
22532           with OP_AND_NOT (fixes bug#176).
22533         * tests/api_nodb.cc: Add regression test emptyquery2.
22534         * AUTHORS: Thank bug reporter (Krzysztof Klemm).
22536 Wed Jun 27 13:05:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22538         * NEWS: Updated.
22540 Wed Jun 27 13:04:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22542         * examples/copydatabase.cc: Add support for copying the spelling
22543           data.
22545 Wed Jun 27 12:46:54 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22547         * NEWS: Updated.
22549 Wed Jun 27 12:13:50 BST 2007  Olly Betts <olly@survex.com>
22551         * bin/xapian-check.cc: Check spelling and synonym Btrees.
22553 Wed Jun 27 12:10:47 BST 2007  Olly Betts <olly@survex.com>
22555         * bin/xapian-compact.cc: Add merging for spelling and synonym tables.
22557 Wed Jun 27 12:09:34 BST 2007  Olly Betts <olly@survex.com>
22559         * backends/flint/flint_spelling.cc: Fix PrefixCompressedStringItor to
22560           not ignore the last entry.
22561         * tests/api_wrdb.cc: Regression test (spell4).
22563 Wed Jun 27 11:51:10 BST 2007  Olly Betts <olly@survex.com>
22565         * tests/api_wrdb.cc: Remove bogus comment.
22567 Wed Jun 27 04:12:56 BST 2007  Olly Betts <olly@survex.com>
22569         * backends/flint/flint_cursor.h: Make FlintCursor::after_end() const.
22571 Tue Jun 26 22:31:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22573         * tests/api_wrdb.cc: Add test_spell3(), which tests spelling
22574           correction with multi databases, and the results of the iterator
22575           from Database::spellings_begin() with single and multi databases.
22577 Tue Jun 26 20:51:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22579         * api/omtermlistiterator.cc: Handle pruning, so that multi-database
22580           spelling word iterators work.  Pruning should arguably always
22581           have been handled, but it's never been possible for the TermList
22582           passed to TermIterator to prune before, so it's not been an
22583           issue.
22585 Tue Jun 26 20:50:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22587         * backends/flint/flint_spellingwordslist.h: Don't bother testing
22588           whether we found an entry which was exactly "W" - if we do, the
22589           database is corrupt, but the best recovery strategy would just be
22590           to continue at the next matching entry.
22592 Tue Jun 26 20:26:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22594         * api/omdatabase.cc: Remove mistaken skip_to("W") - should be done
22595           by open_spelling_wordlist() rather than here.
22596         * backends/flint/flint_spellingwordslist.h: Only call
22597           cursor->prev() if find_entry("W") finds an entry.
22599 Tue Jun 26 17:46:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22601         * backends/flint/flint_alltermslist.cc,
22602           backends/flint/flint_spellingwordslist.cc,
22603           backends/flint/flint_synonym.cc: Remove calls to abort() which
22604           are followed immediately by an Assert() which checks the same
22605           condition.
22607 Tue Jun 26 17:26:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22609         * include/xapian/database.h: Add spellings_begin() and
22610           spellings_end(), to iterate through the spelling correction
22611           target words.
22612         * api/omdatabase.cc: Implement spellings_begin(), using the newly
22613           added FreqAdderOrTermList to join the spellings lists.
22614         * common/database.h,backends/database.cc: Add
22615           open_spelling_wordlist() to get iterator of spelling targets, if
22616           any, with default implementation which returns NULL.
22617         * backends/flint/flint_database.h,backends/flint/flint_database.cc:
22618           Implement open_spelling_wordlist() for flint.
22619         * backends/flint/flint_spelling.h: Make merge_changes() public, so
22620           it can be called when a writable database needs to open a
22621           spelling wordlist.
22622         * backends/flint/flint_spellingwordslist.h,
22623           backends/flint/flint_spellingwordslist.cc: New files,
22624           implementing an iterator over the spelling targets.
22626 Tue Jun 26 17:25:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22628         * common/ortermlist.h,expand/ortermlist.cc: Add a
22629           "FreqAdderOrTermList", which adds the term frequencies of the
22630           sublists, rather than requiring that they're equal for terms
22631           which are in both.
22633 Tue Jun 26 17:22:03 BST 2007  Olly Betts <olly@survex.com>
22635         * docs/admin_notes.rst: Update to mention spelling and synonym tables,
22636           and to document optional tables more clearly.
22638 Tue Jun 26 16:23:25 BST 2007  Olly Betts <olly@survex.com>
22640         * tests/termgentest.cc: Add feature test for TermGenerator spelling
22641           integration.
22643 Tue Jun 26 16:14:56 BST 2007  Olly Betts <olly@survex.com>
22645         * tests/termgentest.cc: Fix comment paste-o.
22647 Tue Jun 26 16:11:11 BST 2007  Olly Betts <olly@survex.com>
22649         * include/xapian/termgenerator.h,queryparser/termgenerator.cc,
22650           queryparser/termgenerator_internal.cc,
22651           queryparser/termgenerator_internal.h: Add support for generating
22652           spelling data to TermGenerator class.
22654 Tue Jun 26 15:22:12 BST 2007  Olly Betts <olly@survex.com>
22656         * bin/xapian-compact.cc: Don't skip "empty" source databases, as they
22657           may have spelling and/or synonym data.  Warn if more than one source
22658           database has spelling data and ignore all but the first.  Similarly
22659           warn and ignore for synonym data.
22661 Tue Jun 26 13:52:15 BST 2007  Olly Betts <olly@survex.com>
22663         * examples/copydatabase.cc: Fix code which extracts the leafname to
22664           handle a trailing directory separator.
22665         * examples/copydatabase.cc: Copy synonym data across.  Print warning
22666           that spelling data isn't copied (as there's no API to access it
22667           currently).
22669 Tue Jun 26 13:21:13 BST 2007  Olly Betts <olly@survex.com>
22671         * bin/xapian-compact.cc: Fix to compact spelling and synonym tables.
22673 Tue Jun 26 02:20:50 BST 2007  Olly Betts <olly@survex.com>
22675         * tests/api_wrdb.cc: Fix randomly indented line.
22677 Tue Jun 26 02:20:01 BST 2007  Olly Betts <olly@survex.com>
22679         * include/xapian/document.h: Change parameter name for
22680           Document::get_value() to match other parameter names in the class.
22682 Tue Jun 26 02:19:16 BST 2007  Olly Betts <olly@survex.com>
22684         * include/xapian/queryparser.h: FLAG_AUTO_MULTIWORD_SYNONYMS now
22685           implies FLAG_AUTO_SYNONYMS.
22687 Tue Jun 26 02:18:02 BST 2007  Olly Betts <olly@survex.com>
22689         * tests/queryparsertest.cc: Add test for a single word synonym in
22690           multi-synonym mode.
22692 Tue Jun 26 02:08:47 BST 2007  Olly Betts <olly@survex.com>
22694         * common/ortermlist.h,queryparser/termgenerator_internal.h: Fix
22695           warnings from Intel's C++ compiler.
22697 Tue Jun 26 01:45:09 BST 2007  Olly Betts <olly@survex.com>
22699         * HACKING: Snapshots and releases are now bootstrapped with libtool
22700           1.5.24, which includes all the patches we were applying on top of
22701           1.5.22.
22702         * HACKING: Expand note about preferring pre-increment to
22703           post-increment to mention preferring it to adding one, and to cover
22704           decrementing too.
22706 Tue Jun 26 01:34:41 BST 2007  Olly Betts <olly@survex.com>
22708         * backends/flint/flint_spelling.cc: Fix bug appending spelling data to
22709           an existing trigram.
22711 Tue Jun 26 01:34:07 BST 2007  Olly Betts <olly@survex.com>
22713         * backends/flint/flint_database.cc: Fix handling of exceptions during
22714           commit.
22716 Mon Jun 25 17:01:40 BST 2007  Olly Betts <olly@survex.com>
22718         * docs/spelling.rst: Update for Unicode spelling correction.
22720 Mon Jun 25 15:41:43 BST 2007  Olly Betts <olly@survex.com>
22722         * api/editdistance.cc,api/editdistance.h,api/omdatabase.cc:
22723           Convert to UTF-32 before calculating edit distances.
22724         * tests/api_wrdb.cc: Add test coverage for Unicode spelling
22725           correction.
22727 Mon Jun 25 14:03:34 BST 2007  Olly Betts <olly@survex.com>
22729         * tests/quartztest.cc: Remove tests for removed method
22730           QuartzPostList::get_collection_freq().
22732 Mon Jun 25 12:32:07 BST 2007  Olly Betts <olly@survex.com>
22734         * backends/flint/flint_spelling.cc: Replace abort() with exception
22735           throwing.
22737 Mon Jun 25 03:01:20 BST 2007  Olly Betts <olly@survex.com>
22739         * tests/harness/backendmanager.cc: Track the fd used to communicate
22740           with a xapian-tcpsrv child process so we can close it when we reap
22741           the child pid.
22743 Mon Jun 25 02:44:04 BST 2007  Olly Betts <olly@survex.com>
22745         * docs/valueranges.rst: Fix bad RST markup.
22747 Sun Jun 24 23:24:26 BST 2007  Olly Betts <olly@survex.com>
22749         * tests/harness/backendmanager.cc: Fix memory leak in test harness
22750           launching of xapian-tcpsrv so that "apitest -b remotetcp" now passes
22751           under valgrind.
22753 Sun Jun 24 19:39:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22755         * docs/valueranges.rst: Add documentation for the
22756           NumberValueRangeProcessor, now that it is fixed.
22758 Sun Jun 24 14:29:06 BST 2007  Olly Betts <olly@survex.com>
22760         * backends/remote/net_postlist.cc,backends/remote/net_postlist.h:
22761           Move NetworkPostList virtual methods out of the header.  Move the
22762           constructor into the header, since that can be inlined.
22764 Sun Jun 24 14:15:43 BST 2007  Olly Betts <olly@survex.com>
22766         * backends/flint/,backends/multi/multi_postlist.cc,
22767           backends/multi/multi_postlist.h,backends/quartz/,
22768           backends/remote/net_postlist.cc,backends/remote/net_postlist.h,
22769           backends/remote/remote-database.cc,common/emptypostlist.h,
22770           common/postlist.h,common/remote-database.h: For Flint and Quartz,
22771           refactor so we no longer create a postlist just to find the termfreq
22772           or collection frequency.  These were the only places which used
22773           PostList::get_collection_freq(), so eliminate it (bug#124).
22775 Sun Jun 24 09:40:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22777         * msvc/genversion.pl: Add a script to generate the version.h file
22778           for MSVC builds by parsing configure.ac to extract the version
22779           number, and then performing the appropriate substitutions on
22780           msvc/version.h.in.  Shouldn't be used for tarball builds (because
22781           version.h already exists) or for builds which use configure.
22783 Sun Jun 24 02:25:38 BST 2007  Olly Betts <olly@survex.com>
22785         * matcher/multimatch.cc: The check_at_least parameter to
22786           Enquire::get_mset() is now handled in a more efficient way - no
22787           extra memory is now required, and CPU overhead should be reduced
22788           (bug#174).
22790 Sun Jun 24 02:00:07 BST 2007  Olly Betts <olly@survex.com>
22792         * docs/synonyms.rst,docs/Makefile.am: New "topic" document describing
22793           synonym support.
22794         * docs/Makefile.am: HTML documentation generated from RST files wasn't
22795           being installed.
22797 Sun Jun 24 00:45:46 BST 2007  Olly Betts <olly@survex.com>
22799         * backends/remote/remote-database.cc,common/remote-database.h,
22800           common/remoteprotocol.h,common/submatch.h,docs/remote_protocol.html,
22801           matcher/,net/remoteserver.cc: Pass check_at_least to the remote
22802           server to reduce the amount of work required to produce the match
22803           on the remote server, and also reduce the serialised size of the
22804           returned MSet.
22806 Sun Jun 24 00:17:18 BST 2007  Olly Betts <olly@survex.com>
22808         * tests/api_anydb.cc: More check_at_least tests.
22810 Sat Jun 23 20:02:48 BST 2007  Olly Betts <olly@survex.com>
22812         * api/omdatabase.cc,tests/api_wrdb.cc: Add multi-database support
22813           for synonyms.
22815 Sat Jun 23 18:50:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22817         * include/xapian/database.h: Tiny fix to a documentation comment.
22819 Sat Jun 23 17:35:37 BST 2007  Olly Betts <olly@survex.com>
22821         * common/ortermlist.h,expand/ortermlist.cc: Comment out unused method
22822           OrTermList::get_collection_freq().  The same dummy implementation
22823           is provided by the parent class (TermList).
22825 Sat Jun 23 17:07:40 BST 2007  Olly Betts <olly@survex.com>
22827         * api/omdatabase.cc,backends/database.cc,backends/flint/,
22828           common/database.h,include/xapian/database.h,tests/api_wrdb.cc:
22829           Implement Database::synonym_keys_begin() to allow iteration over all
22830           the terms for which synonyms have been added.
22832 Sat Jun 23 04:19:54 BST 2007  Olly Betts <olly@survex.com>
22834         * matcher/multimatch.cc: Fix handling of check_at_least parameter -
22835           we weren't discarding matches above the requested MSet size
22836           correctly.
22837         * tests/api_anydb.cc: Add regression test checkatleast2.
22839 Sat Jun 23 03:00:45 BST 2007  Olly Betts <olly@survex.com>
22841         * docs/queryparser.html: Document synonyms.
22843 Sat Jun 23 02:50:55 BST 2007  Olly Betts <olly@survex.com>
22845         * queryparser/queryparser.lemony: Unapply commented out fragments
22846           towards supporting '~' on phrases, which I didn't mean to apply.
22848 Sat Jun 23 02:25:32 BST 2007  Olly Betts <olly@survex.com>
22850         * include/xapian/queryparser.h,queryparser/queryparser.lemony,
22851           tests/queryparsertest.cc: Add support for synonym operator ('~')
22852           to the QueryParser.
22854 Sat Jun 23 01:52:51 BST 2007  Olly Betts <olly@survex.com>
22856         * queryparser/queryparser.lemony: Fix two bugs in the query parser -
22857           now '+' and '-' work on bracketed subexpressions as documented.
22858         * tests/queryparsertest.cc: Add regression tests.
22860 Sat Jun 23 01:47:30 BST 2007  Olly Betts <olly@survex.com>
22862         * queryparser/queryparser.cc: Use "using namespace std;".
22864 Fri Jun 22 18:48:21 BST 2007  Olly Betts <olly@survex.com>
22866         * backends/flint/flint_synonym.cc: Fix iteration of unflushed
22867           synonyms.
22869 Fri Jun 22 18:21:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22871         * docs/deprecation.rst: Fix typo.
22873 Fri Jun 22 18:02:21 BST 2007  Olly Betts <olly@survex.com>
22875         * api/omdatabase.cc,backends/database.cc,backends/flint/,
22876           common/database.h,include/xapian/database.h,
22877           include/xapian/queryparser.h,queryparser/queryparser.lemony:
22878           Add support for storing synonyms for terms in a new optional Btree
22879           table in flint databases, and using them in the QueryParser.
22880         * tests/queryparsertest.cc: Feature tests for synonyms.
22882 Fri Jun 22 17:58:37 BST 2007  Olly Betts <olly@survex.com>
22884         * queryparser/queryparser.lemony: Removed superfluous "private:" in
22885           class State.  Make State::get_database() const.
22887 Fri Jun 22 17:58:15 BST 2007  Olly Betts <olly@survex.com>
22889         * tests/queryparsertest.cc: Make sure .flint subdirectory exists.
22891 Fri Jun 22 17:52:53 BST 2007  Olly Betts <olly@survex.com>
22893         * bin/xapian-inspect.cc: Don't die with an error if the user tries to
22894           move forward twice from the end.  Also, make "prev" from the end
22895           work.
22897 Fri Jun 22 17:47:36 BST 2007  Olly Betts <olly@survex.com>
22899         * queryparser/queryparser.lt: If an input token has a yyminor, report
22900           its name in the debug output.
22902 Fri Jun 22 14:47:17 BST 2007  Olly Betts <olly@survex.com>
22904         * NEWS: Updated with changes since 1.0.1.
22906 Thu Jun 21 21:12:49 BST 2007  Olly Betts <olly@survex.com>
22908         * backends/remote/remote-database.cc,common/remoteprotocol.h,
22909           common/remoteserver.h,net/remoteserver.cc: Protocol version
22910           increased to 30.2.  This difference from 30.1 is that
22911           MSG_DELETEDOCUMENT now send REPLY_DONE to allow DocNotFoundError
22912           to be propagated.  MSG_DELETEDOCUMENT now has a new number and
22913           the old number for MSG_DELETEDOCUMENT is now
22914           MSG_DELETEDOCUMENT_PRE_30_2 which is handled by the server so
22915           that older clients will continue to work.
22916         * docs/remote_protocol.html: Update.
22917         * tests/api_wrdb.cc: Add regression test for DocNotFoundError bug.
22919 Thu Jun 21 17:22:53 BST 2007  Olly Betts <olly@survex.com>
22921         * api/omdatabase.cc,tests/queryparsertest.cc,docs/spelling.rst: Add
22922           support for spelling correction when using multiple databases.
22924 Thu Jun 21 16:15:22 BST 2007  Olly Betts <olly@survex.com>
22926         * tests/queryparsertest.cc: Add feature tests for correcting spelling
22927           errors in the QueryParser.
22929 Thu Jun 21 15:01:00 BST 2007  Olly Betts <olly@survex.com>
22931         * tests/api_wrdb.cc: Check the edit distance 3 words are found if
22932           asked for.
22934 Thu Jun 21 14:59:15 BST 2007  Olly Betts <olly@survex.com>
22936         * api/omdatabase.cc,common/omdebug.h: Add some debug tracing for the
22937           spelling correction.
22939 Thu Jun 21 13:45:12 BST 2007  Olly Betts <olly@survex.com>
22941         * backends/flint/flint_spelling.cc,docs/spelling.rst: Generate
22942           "bookends" for four character words too, so that we suggest
22943           "fuor" -> "four".
22944         * tests/api_wrdb.cc: More testcases.
22946 Thu Jun 21 13:08:07 BST 2007  Olly Betts <olly@survex.com>
22948         * docs/spelling.rst: Assorted minor improvements.  Add note about not
22949           detecting single character substitutions in two character words.
22951 Thu Jun 21 13:02:57 BST 2007  Olly Betts <olly@survex.com>
22953         * tests/api_wrdb.cc: Check cases for single edits to a two character
22954           word work as expected.
22956 Thu Jun 21 04:13:46 BST 2007  Olly Betts <olly@survex.com>
22958         * tests/api_wrdb.cc: Add test cases to check we find all single edit
22959           errors for a three letter word.
22961 Thu Jun 21 04:08:11 BST 2007  Olly Betts <olly@survex.com>
22963         * backends/flint/flint_spelling.h: Now that
22964           FlintSpellingTable::merge_changes() is only called from within the
22965           class, make it a private method.  discard_changes() is only used
22966           once, and from within the class, so just inline it as that's
22967           clearer.  Make the comment about the overridden methods a doxygen
22968           grouping comment,
22970 Thu Jun 21 04:02:51 BST 2007  Olly Betts <olly@survex.com>
22972         * docs/spelling.rst: Update to mention "bookend" bigrams.
22974 Thu Jun 21 03:56:52 BST 2007  Olly Betts <olly@survex.com>
22976         * backends/flint/flint_spelling.cc: Generate "bookend" spelling
22977           entries for two and three letter terms, consisting of the prefix 'B'
22978           followed by the first and last letters.  This allows us to handle
22979           substitution or deletion of the middle character of a three letter
22980           word, or insertion in the middle of a two letter word.
22982 Thu Jun 21 03:18:28 BST 2007  Olly Betts <olly@survex.com>
22984         * tests/queryparsertest.cc: Some doubles in the list which
22985           value_range_serialise1 tests have the same values on some platforms,
22986           so test that adjacent numbers and their string counterparts compare
22987           the same way rather than that both are "<".
22989 Thu Jun 21 02:46:01 BST 2007  Olly Betts <olly@survex.com>
22991         * tests/api_wrdb.cc: Add "spell1" - a simple feature test for spelling
22992           based on Richard's python test.  Use TESTCASE() and END_OF_TESTCASES
22993           macros.
22995 Wed Jun 20 21:57:01 BST 2007  Olly Betts <olly@survex.com>
22997         * backends/flint/flint_database.cc: WritableDatabase::delete_document()
22998           no longer cancels pending changes if the document doesn't exist.
22999         * backends/quartz/quartz_database.cc: Same fix.
23001 Wed Jun 20 20:53:52 BST 2007  Olly Betts <olly@survex.com>
23003         * backends/flint/flint_database.cc: We may now need to flush even if
23004           there have been no documents added/replaced/deleted, as there may be
23005           changes to the spelling table.
23007 Wed Jun 20 20:46:30 BST 2007  Olly Betts <olly@survex.com>
23009         * backends/flint/flint_table.cc: Fix a function name in the debug
23010           loggging.
23012 Wed Jun 20 20:39:43 BST 2007  Olly Betts <olly@survex.com>
23014         * backends/flint/flint_spelling.cc: Fix FlintSpellingTermList not to
23015           report at_end() one entry too early.
23017 Wed Jun 20 19:21:45 BST 2007  Olly Betts <olly@survex.com>
23019         * tests/harness/backendmanager.cc: Don't touch <dbdir>/log for flint
23020           as flint doesn't create a log like quartz does.
23022 Wed Jun 20 17:10:29 BST 2007  Olly Betts <olly@survex.com>
23024         * backends/flint/flint_database.cc,backends/flint/flint_spelling.h:
23025           Push special handling for spelling_table into the FlintSpellingTable
23026           class.  This fixes "is_modified()" to take into account unflushed
23027           changes held in memory.
23029 Wed Jun 20 13:59:01 BST 2007  Olly Betts <olly@survex.com>
23031         * api/omdatabase.cc: Don't use RETURN() in methods which return void.
23033 Wed Jun 20 11:56:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23035         * api/editdistance.cc: Change an Assert in is_transposed() (which
23036           fails in some cases) to a test, since it seems legitimate that
23037           a value of pos2 <= 0 might be supplied to the function (though
23038           the answer will always be "false" in that case).
23040 Wed Jun 20 02:38:51 BST 2007  Olly Betts <olly@survex.com>
23042         * api/omdatabase.cc: Fix two incorrect return types in debug logging.
23044 Wed Jun 20 02:14:40 BST 2007  Olly Betts <olly@survex.com>
23046         * api/omdatabase.cc: Add missing implementations of
23047           WritableDatabase::add_spelling() and
23048           WritableDatabase::remove_spelling().
23050 Wed Jun 20 00:58:46 BST 2007  Olly Betts <olly@survex.com>
23052         * backends/flint/flint_spelling.h: Make the maps private.
23054 Wed Jun 20 00:05:15 BST 2007  Olly Betts <olly@survex.com>
23056         * HACKING: Snapshots now bootstrapped with automake 1.10.
23058 Wed Jun 20 00:03:42 BST 2007  Olly Betts <olly@survex.com>
23060         * backends/flint/flint_spelling.cc,common/Makefile.mk,
23061           expand/Makefile.mk,expand/ortermlist.h: Move ortermlist.h from
23062           "expand/" to "common/" so we can included it from flint_spelling.cc
23063           without a relative path.
23065 Tue Jun 19 22:41:08 BST 2007  Olly Betts <olly@survex.com>
23067         * api/,backends/database.cc,backends/flint/,common/database.h,
23068           docs/Makefile.am,docs/spelling.rst,include/xapian/database.h,
23069           include/xapian/queryparser.h,queryparser/queryparser.cc,
23070           queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
23071           Add support for spelling correction.
23073 Tue Jun 19 19:18:40 BST 2007  Olly Betts <olly@survex.com>
23075         * backends/flint/flint_database.cc,backends/flint/flint_table.cc,
23076           backends/flint/flint_table.h: Add new method
23077           FlintTable::key_exists() so we don't need to create a cursor to
23078           check if a key exists in FlintDatabase::term_exists() (the other
23079           alternative previously was to read the key and tag and ignore the
23080           tag, but that could involve reading more blocks if the tag is
23081           long, and it could involve uncompressing the tag too).
23083 Tue Jun 19 17:49:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23085         * tests/queryparsertest.cc: Cast the input to pow() to a double, to
23086           fix a problem on windows (which has several versions of pow(),
23087           and the version taking a float was being used by default,
23088           resulting in some of the tests overflowing the range of float).
23090 Tue Jun 19 17:48:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23092         * api/valuerangeproc.cc: Fix assertions, so that the code works
23093           with assertions turned on.
23095 Tue Jun 19 12:35:46 BST 2007  Olly Betts <olly@survex.com>
23097         * matcher/branchpostlist.cc: Add missing #include <config.h>.
23098         * matcher/branchpostlist.cc,matcher/branchpostlist.h: Move other
23099           virtual method definitions out of the header.
23101 Mon Jun 18 21:41:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23103         * matcher/branchpostlist.h: Add missed copyright statement.
23105 Mon Jun 18 21:36:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23107         * matcher/branchpostlist.cc,matcher/branchpostlist.h: Add get_wdf()
23108           method to BranchPostList (which just sums the wdf, which is
23109           useful for a synonym postlist, which is the only situation in
23110           which this will be called).  Add the method definition in a
23111           separate file, as per the comment I just added to HACKING.
23112         * matcher/Makefile.mk: Add branchpostlist.cc
23114 Mon Jun 18 21:33:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23116         * HACKING: Add note about virtual methods (saying that the
23117           shouldn't be defined in header files).
23119 Mon Jun 18 20:15:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23121         * matcher/phrasepostlist.cc,matcher/phrasepostlist.h,
23122           matcher/exactphrasepostlist.cc,matcher/exactphrasepostlist.cc:
23123           Add get_wdf() methods to NearPostList, PhrasePostList and
23124           ExactPhrasePostList - these use a very rough approximation (but
23125           there's a big long comment justifying it).
23127 Mon Jun 18 18:38:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23129         * matcher/mergepostlist.cc,matcher/mergepostlist.h: Add copyright
23130           statements for previous commit (and update license while I'm at
23131           it).
23133 Mon Jun 18 18:24:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23135         * matcher/mergepostlist.cc,matcher/mergepostlist.h: Add get_wdf()
23136           method to MergePostList (just passes through the value from the
23137           current postlist).  Not currently needed, but the expected
23138           behaviour is obvious, and this will be needed if there's a
23139           synonym postlist higher in the query tree (when synonym postlists
23140           are implemented).  Also, correct a documentation comment typo.
23142 Mon Jun 18 13:09:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23144         * api/valuerangeproc.cc: Cast the first parameter to ldexp() to
23145           double to fix compilation on some platforms, and add a few more
23146           explanatory code comments to
23147           NumberValueRangeProcessor::string_to_float()
23149 Mon Jun 18 11:33:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23151         * api/valuerangeproc.cc: Add static methods to
23152           NumberValueRangeProcessor to serialise and unserialise doubles.
23153           Change the code which tests a term for being a number to use
23154           strtod, and accept any string which strtod thinks is a number.
23155           If NumberValueRangeProcessor accepts a range, it now converts the
23156           begin and end values to strings using the serialise method.
23157           Also, expand some of the code comments.
23158         * include/xapian/queryparser.h: Add documentation comments to
23159           NumberValueRangeProcessor.
23160         * tests/queryparsertest.cc: Update value_range2_queries to expect
23161           new serialised forms in its output.  Update test_qp_value_range3
23162           to test a wider range of values (including negative, fractional,
23163           and more-than-single-digit).
23165 Mon Jun 18 03:36:38 BST 2007  Olly Betts <olly@survex.com>
23167         * queryparser/queryparser.lemony: Fix comment typo, and add brackets
23168           to make intended precedence clearer.
23170 Mon Jun 18 03:36:04 BST 2007  Olly Betts <olly@survex.com>
23172         * include/xapian/queryparser.h: Tweak wording of a couple of
23173           documentation comments.
23175 Mon Jun 18 02:00:31 BST 2007  Olly Betts <olly@survex.com>
23177         * docs/queryparser.html: Mention "AND NOT" as an alternative way to
23178           write "NOT".
23180 Mon Jun 18 01:43:00 BST 2007  Olly Betts <olly@survex.com>
23182         * queryparser/queryparser.lemony: Adjust precedence of boolean
23183           operators to match those in maths and programming languages.
23184           "NOT" now binds as tightly as "AND" (previously "AND NOT" would
23185           bind like "AND", but just "NOT" would bind like "OR"!)  Also
23186           "XOR" now binds more tightly than "OR", but less tightly than
23187           "AND" (previously it bound just like "OR").
23188         * tests/queryparsertest.cc: Add testcases for the new behaviour.
23190 Mon Jun 18 01:16:18 BST 2007  Olly Betts <olly@survex.com>
23192         * tests/queryparsertest.cc: Better test coverage of handling of random
23193           double quotes in queries.
23195 Sun Jun 17 16:17:34 BST 2007  Olly Betts <olly@survex.com>
23197         * include/xapian/unicode.h: Don't call operator++(0) from operator()
23198           as it does more work than we need.
23200 Sun Jun 17 14:14:16 BST 2007  Olly Betts <olly@survex.com>
23202         * bin/xapian-inspect.cc: Fix so that Ctrl+D doesn't cause an infinite
23203           loop!
23205 Sat Jun 16 22:19:11 BST 2007  Olly Betts <olly@survex.com>
23207         * bin/Makefile.mk,bin/xapian-inspect.cc,xapian-core.spec.in:
23208           New utility 'xapian-inspect' allowing interactive inspection of
23209           key/tag pairs in a flint Btree.  Useful for development and
23210           debugging, and an approximate replacement for quartzdump.
23212 Sat Jun 16 17:03:57 BST 2007  Olly Betts <olly@survex.com>
23214         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Update for
23215           doxygen 1.5.2 (using "doxygen -u").
23217 Sat Jun 16 10:17:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23219         * tests/Makefile.am: The "check-none" target should run all the
23220           tests which don't need a database, not just those in apitest: add
23221           internaltest, stemtest, queryparsertest and termgentest to the
23222           list of tests it runs.
23224 Sat Jun 16 09:36:10 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23226         * Makefile.am,bin/Makefile.mk,examples/Makefile.mk: Work around an
23227           apparent bug in automake which causes the entries in .libs
23228           subdirectories generated for targets of bin_PROGRAMS not to be
23229           removed on make clean.  (This was causing make distcheck to
23230           fail.)
23232 Sat Jun 16 04:42:16 BST 2007  Olly Betts <olly@survex.com>
23234         * HACKING,Makefile.am,tests/Makefile.am,tests/apitest.cc,
23235           tests/harness/backendmanager.cc,tests/harness/backendmanager.h: In
23236           the testsuite, rename the "void" pseudo-backend to "none" to more
23237           clearly reflect what it is.  And rename the "remote" backend to
23238           "remoteprog", to better differentiate it from "remotetcp".
23239         * HACKING: Fix error - "apitest -b=flint" doesn't work - it must be
23240           "apitest -bflint".
23242 Sat Jun 16 04:40:28 BST 2007  Olly Betts <olly@survex.com>
23244         * HACKING: Now using doxygen 1.5.2.
23246 Sat Jun 16 02:08:20 BST 2007  Olly Betts <olly@survex.com>
23248         * backends/flint/flint_table.cc: Fix to build with older zlib.  Not
23249           hugely important as zlib security fixes mean any well maintained
23250           box will be running a recent zlib, but the fix is trivial.
23252 Fri Jun 15 19:39:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23254         * HACKING: Document the new check-void, check-inmemory,
23255           check-remoteprog and check-remotetcp targets.
23257 Fri Jun 15 19:34:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23259         * Makefile.am,tests/Makefile.am: Add check-void, check-inmemory,
23260           check-remoteprog and check-remotetcp targets, to allow the tests
23261           for any of the backends to be performed in isolation.
23263 Fri Jun 15 19:29:19 BST 2007  Olly Betts <olly@survex.com>
23265         * Makefile.am,configure.ac,xapian-core.spec.in,xapian.spec.in:
23266           Rename xapian.spec to xapian-core.spec to match tarball name.
23267           Append the user name to BuildRoot.
23269 Fri Jun 15 14:51:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23271         * net/progclient.cc: Open the file handle pointing to /dev/null as
23272           O_WRONLY instead of O_RDONLY: doesn't affect whether the test
23273           passes (since nothing gets written to stderr in theory anyway),
23274           but makes more sense.
23276 Fri Jun 15 13:21:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23278         * net/progclient.cc: Better fix - rather than leaving stderr open,
23279           we close it, and then reopen it pointing to /dev/null.
23281 Fri Jun 15 12:55:07 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23283         * net/progclient.cc: Don't close stderr in the child before we call
23284           execve() - with this change, apitest passes under valgrind with
23285           the remote database backend: before it, the child seemed to be
23286           exiting without writing anything to the socket, causing the test
23287           to fail with a NetworkError (due to an unexpected EOF).
23289 Thu Jun 14 23:47:52 BST 2007  Olly Betts <olly@survex.com>
23291         * backends/flint/flint_database.cc: Replace duplicated code with calls
23292           to existing method set_revision_number(new_revision).
23294 Thu Jun 14 18:51:03 BST 2007  Olly Betts <olly@survex.com>
23296         * backends/flint/flint_database.cc: Stop including <sys/utsname.h>
23297           which we don't use here.
23299 Thu Jun 14 18:22:24 BST 2007  Olly Betts <olly@survex.com>
23301         * tests/Makefile.am: Fix typo from copy&paste.
23303 Thu Jun 14 16:46:45 BST 2007  Olly Betts <olly@survex.com>
23305         * docs/admin_notes.rst: Update for the "lazy table" changes.  Correct
23306           the description of xapian-compact --multipass (only the postlist
23307           tables are merged in multiple passes), correct description of how
23308           to use xapian-check on a single table (no trailing '.' should be
23309           specified).  Change the "how to upgrade 0.9.x flint databases" to
23310           talk about 1.0.y rather than 1.0.0.
23312 Thu Jun 14 16:25:55 BST 2007  Olly Betts <olly@survex.com>
23314         * backends/flint/: The value and position tables are now only created
23315           if there is anything to add to them.  So if you never use document
23316           values, there's no value_DB, value.baseA, or value.baseB.  This
23317           means the table doesn't need to be opened for searching (saving a
23318           file handle) and when flushing changes, we don't need to update
23319           baseA/baseB just to keep the revisions in step.  The flint database
23320           version has been increased, but the new code will happily open and
23321           read/update flint databases from Xapian 1.0.0 and 1.0.1.
23322         * bin/xapian-check.cc,bin/xapian-compact.cc: Update to handle
23323           databases without value and/or position tables.
23324         * tests/testdata/flint-1.0.1/: Empty example of a flint 1.0.1 format
23325           database.
23326         * tests/Makefile.am,tests/api_db.cc: Add check that a flint 1.0.1
23327           format database can be opened.
23329 Wed Jun 13 22:40:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23331         * include/xapian/queryparser.h: Document set_stemmer() and
23332           set_stemming_strategy() better - in particular, make it clear
23333           that the default value for the stemming strategy is STEM_NONE.
23335 Wed Jun 13 17:16:52 BST 2007  Olly Betts <olly@survex.com>
23337         * HACKING: Wrap overlong line.
23339 Wed Jun 13 16:47:07 BST 2007  Olly Betts <olly@survex.com>
23341         * msvc/version.h.in: Remote backend is now supported in the MSVC
23342           build.
23344 Wed Jun 13 04:18:51 BST 2007  Olly Betts <olly@survex.com>
23346         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
23347           Eliminate dont_close_handle as it's always false.
23349 Wed Jun 13 02:53:28 BST 2007  Olly Betts <olly@survex.com>
23351         * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h:
23352           Remove unused FlintTable_base constructor.
23354 Tue Jun 12 18:27:54 BST 2007  Olly Betts <olly@survex.com>
23356         * backends/flint/flint_table.cc: Add fix to allow compilation on
23357           OpenBSD, which uses off_t instead of uLong for total_out in
23358           zlib.h.  Remove Assert() which is followed by a better check of
23359           the same condition.
23360         * AUTHORS: Add Julien Touche for help with this fix.
23362 Tue Jun 12 13:34:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23364         * tests/harness/unixcmds.cc: On unix builds, set access permissions
23365           on copied directories to allow writes.  This fixes make
23366           distcheck, which was failing on tests because the copied
23367           directory was set to read-only, causing the later "rm -rf"
23368           command to fail.
23370 Mon Jun 11 20:10:26 BST 2007  Olly Betts <olly@survex.com>
23372         * docs/overview.html: Fix typo.
23374 Mon Jun 11 20:08:42 BST 2007  Olly Betts <olly@survex.com>
23376         * docs/Makefile.am: Ship and install internals.html.
23378 Mon Jun 11 17:46:04 BST 2007  Olly Betts <olly@survex.com>
23380         * docs/Makefile.am,docs/doxygen_full_conf.in: Disable generation of
23381           PDF version of doxygen-collated documentation of internals.  It
23382           keeps overflowing TeX limits and it seems likely that most people
23383           would prefer the HTML version of this anyway.
23385 Mon Jun 11 17:45:12 BST 2007  Olly Betts <olly@survex.com>
23387         * tests/internaltest.cc: Remove duplicated code.
23389 Mon Jun 11 03:55:53 BST 2007  Olly Betts <olly@survex.com>
23391         * NEWS: Probably the final update for 1.0.1.
23393 Mon Jun 11 03:47:37 BST 2007  Olly Betts <olly@survex.com>
23395         * examples/simpleindex.cc: Tweak the logic to be clearer.
23397 Sun Jun 10 21:59:21 BST 2007  Olly Betts <olly@survex.com>
23399         * HACKING,configure.ac: Drop automake requirement to 1.8.3 to allow
23400           RPM spec file to work on SLES 9.
23402 Sun Jun 10 21:48:51 BST 2007  Olly Betts <olly@survex.com>
23404         * configure.ac: Bump version to 1.0.1 and LIBRARY_VERSION_INFO to
23405           15:0:0.
23407 Sun Jun 10 21:46:57 BST 2007  Olly Betts <olly@survex.com>
23409         * xapian.spec.in: Add "# norootforbuild" comment which SuSE's build
23410           scripts look for.  Rename "Source0:" to "Source:" as there's only
23411           one tarball now.  Add gcc-c++ and zlib-devel to "Build-Requires:".
23413 Sun Jun 10 21:43:45 BST 2007  Olly Betts <olly@survex.com>
23415         * PLATFORMS: More updates.
23417 Sun Jun 10 18:01:19 BST 2007  Olly Betts <olly@survex.com>
23419         * api/error.cc,generate-exceptions.in: Make Error::error_string member
23420           std::string rather than char * to avoid problems with double free()
23421           with copied Error objects.  Also, Error::get_description() now
23422           converts my_errno to error_string if it hasn't been already.
23423         * tests/internaltest.cc: Add regression tests for both bugs.
23425 Sun Jun 10 13:33:21 BST 2007  Olly Betts <olly@survex.com>
23427         * tests/api_db.cc: New testcase in allterms6.
23429 Sun Jun 10 13:20:37 BST 2007  Olly Betts <olly@survex.com>
23431         * xapian-config.in: Add special case check for host_os matching linux*
23432           or k*bsd-gnu since vanilla libtool doesn't identify them as needing
23433           link_all_deplibs_CXX=no.
23435 Sun Jun 10 03:32:54 BST 2007  Olly Betts <olly@survex.com>
23437         * PLATFORMS: Updated from tinderbox.
23439 Sun Jun 10 02:14:58 BST 2007  Olly Betts <olly@survex.com>
23441         * NEWS: Updated.
23443 Sat Jun 09 17:28:32 BST 2007  Olly Betts <olly@survex.com>
23445         * queryparser/queryparser.lemony: Add the unstem entry for boolean
23446           prefixed terms in Term::make_term() as we do for other terms.
23448 Sat Jun 09 17:27:55 BST 2007  Olly Betts <olly@survex.com>
23450         * tests/queryparsertest.cc: Replace reference to Xapian "1.0" with
23451           "1.0.0".
23453 Sat Jun 09 17:12:44 BST 2007  Olly Betts <olly@survex.com>
23455         * queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
23456           Factor out the code which actually parses a term into a separate
23457           method.
23459 Fri Jun 08 23:31:23 BST 2007  Olly Betts <olly@survex.com>
23461         * tests/Makefile.am: Distribute tests/testdata/flint-0.9.9/.
23463 Fri Jun 08 19:20:36 BST 2007  Olly Betts <olly@survex.com>
23465         * NEWS: Updated.
23467 Fri Jun 08 18:55:43 BST 2007  Olly Betts <olly@survex.com>
23469         * examples/simplesearch.cc: Report "Matches 1-<N>:".
23471 Fri Jun 08 18:46:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23473         * api/omenquire.cc: Fix issue brought to my attention by Enrico
23474           Zini: if an uninitialised database is supplied to Enquire,
23475           performing a search will cause a segfualt.  It isn't completely
23476           clear whether using an uninitialised database should cause an
23477           error, or whether the search should return an empty result list,
23478           but for ease of implementation, and to avoid application errors
23479           going unnoticed, I've made Enquire's constructor report an
23480           InvalidArgumentError if the supplied database is uninitialised.
23481         * include/xapian/enquire.h: Document new exception case, and
23482           workaround if you want a search in this situation to return an
23483           empty result set, instead of getting an error.
23484         * tests/api_nodb.cc: Regression test for this fix.
23485         * AUTHORS: Mention Enrico Zini.
23487 Fri Jun 08 18:33:19 BST 2007  Olly Betts <olly@survex.com>
23489         * NEWS: Updated.
23491 Fri Jun 08 17:09:22 BST 2007  Olly Betts <olly@survex.com>
23493         * common/Makefile.mk: Distribute common/stringutils.h.
23495 Thu Jun 07 20:44:36 BST 2007  Olly Betts <olly@survex.com>
23497         * tests/harness/unixcmds.cc: It appears we need to create the target
23498           directory for xcopy to behave as we want.
23500 Thu Jun 07 19:34:18 BST 2007  Olly Betts <olly@survex.com>
23502         * tests/harness/unixcmds.cc: Fix typo to unbreak testsuite on Windows
23503           NT derivatives.
23505 Thu Jun 07 19:02:36 BST 2007  Olly Betts <olly@survex.com>
23507         * backends/inmemory/inmemory_alltermslist.cc: Another tweak - don't
23508           call map::lower_bound() in the ctor at all.  Also, prevent skip_to()
23509           from moving backwards, since that behaviour is user-visible.
23511 Thu Jun 07 18:36:49 BST 2007  Olly Betts <olly@survex.com>
23513         * common/stringutils.h: New header, providing inline functions
23514           begins_with() and ends_with() to check if a std::string has
23515           a given prefix or suffix.
23516         * api/valuerangeproc.cc,backends/flint/flint_alltermslist.cc,
23517           backends/inmemory/inmemory_alltermslist.cc,
23518           backends/quartz/quartz_alltermslist.cc,
23519           backends/quartz/quartz_metafile.cc,tests/harness/testsuite.cc:
23520           Make use of begins_with() and ends_with().
23521         * tests/harness/testsuite.cc: Tidy up guessing of srcdir.  In
23522           particular, fix comments to reflect that libtool won't create a
23523           wrapper script for the test programs on most platforms (because
23524           we now use --no-install when linking).
23525         * backends/inmemory/inmemory_alltermslist.cc: In the ctor, use
23526           std::map::lower_bound() to find the first term matching the
23527           given prefix, rather than iterating through from the start of
23528           the map.  Also, don't skip deleted terms here, but instead do
23529           that in next() - this avoids duplicating code, and the first
23530           operation might be skip_to() in which case we can avoid wasting
23531           effort.
23533 Thu Jun 07 17:16:12 BST 2007  Olly Betts <olly@survex.com>
23535         * queryparser/queryparser.lemony: Eliminate the QpQuery class and
23536           simplify various bits of the code.
23538 Thu Jun 07 14:32:22 BST 2007  Olly Betts <olly@survex.com>
23540         * tests/queryparsertest.cc: Enhance qp_value_customrange1.
23542 Thu Jun 07 14:31:40 BST 2007  Olly Betts <olly@survex.com>
23544         * docs/Makefile.am,docs/index.html,docs/valueranges.rst: Add document
23545           describing how to use Xapian::ValueRangeProcessor.
23547 Thu Jun 07 14:16:01 BST 2007  Olly Betts <olly@survex.com>
23549         * tests/queryparsertest.cc: Add test of custom ValueRangeProcessor
23550           subclass (qp_value_customrange1).
23552 Thu Jun 07 10:01:46 BST 2007  Olly Betts <olly@survex.com>
23554         * common/serialise.h,tests/harness/testsuite.h: Use XAPIAN_NORETURN()
23555           to mark functions which never return.
23557 Thu Jun 07 01:28:00 BST 2007  Olly Betts <olly@survex.com>
23559         * NEWS: Update.
23561 Thu Jun 07 01:02:22 BST 2007  Olly Betts <olly@survex.com>
23563         * examples/simpleexpand.cc: Fix off-by-one error when creating the
23564           fake RSet (picked up to 4 documents, not up to 5).
23566 Wed Jun 06 17:17:05 BST 2007  Olly Betts <olly@survex.com>
23568         * include/xapian/queryparser.h: Add documentation comments for
23569           ValueRangeProcessor and subclasses (mostly fixes bug#155, but
23570           I'd like to add an overview document too).
23572 Wed Jun 06 16:04:08 BST 2007  Olly Betts <olly@survex.com>
23574         * tests/testdata/flint-0.9.9/: Minimal example of a Flint database
23575           from Xapian 0.9.9.
23576         * tests/api_db.cc: Use a real 0.9.9 flint database instead of faking
23577           it by fudging with the "iamflint" file in a current one.
23578           flintdatabaseformaterror1 now also checks for opening with the
23579           Database ctor as well as with Flint::open().  The writing test from
23580           flintdatabaseformaterror1 is now flintdatabaseformaterror2 which
23581           additionally tests opening with the WritableDatabase ctor as well as
23582           with Flint::open().  The old flintdatabaseformaterror2 is now
23583           flintdatabaseformaterror3.
23585 Wed Jun 06 15:44:08 BST 2007  Olly Betts <olly@survex.com>
23587         * backends/flint/flint_database.cc: Don't check for pre-0.6 databases
23588           here (since they'll be quartz format anyway - the check is just an
23589           overenthusiastic cut-and-paste from quartz).
23591 Wed Jun 06 12:35:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23593         * matcher/valuerangepostlist.cc: Avoid calling db->get_lastdocid()
23594           repeatedly in ValueRangePostList::next() - was taking 25% of the
23595           time for a particular test case.
23597 Wed Jun 06 12:17:51 BST 2007  Olly Betts <olly@survex.com>
23599         * tests/harness/unixcmds.cc,tests/harness/unixcmds.h: Add "cp_R()"
23600           which does much the same as "cp -R" on Unix.
23602 Wed Jun 06 12:12:50 BST 2007  Olly Betts <olly@survex.com>
23604         * include/xapian/Makefile: New stub makefile for include/xapian.
23605         * bin/Makefile.mk,examples/Makefile.mk,include/Makefile.mk: Distribute
23606           missing stub Makefile and dir_contents files.
23608 Tue Jun 05 16:44:51 BST 2007  Olly Betts <olly@survex.com>
23610         * tests/harness/index_utils.cc: Back out linger line from r7758.
23611           Fix undefined behaviour in cases where a paragraph has <= 2
23612           characters.
23614 Mon Jun 04 15:31:08 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23616         * tests/harness/backendmanager.cc,tests/harness/index_utils.cc:
23617           Revert the recent changes to the indexing code, and also the
23618           change from revision r7758 which was intended to fix a problem
23619           with eof handling on windows (which is what broke the indexing of
23620           etext.txt).  Then, change backendmanager.cc to test "!from.eof()"
23621           instead of "from" to check for eof - hopefully this will work on
23622           windows - if not, we can investigate further.
23624 Mon Jun 04 13:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23626         * tests/harness/backendmanager.cc: Undo previous patch - only the
23627           patch to index_utils.cc was necessary; I mistakenly committed
23628           both files I'd been modifying.
23630 Mon Jun 04 09:06:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23632         * tests/api_db.cc: Add a check to consistency1 that the full mset
23633           size is as big as it should be, to make sure that we notice in
23634           future if the indexing goes wrong again.
23636 Mon Jun 04 08:59:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23638         * tests/harness/backendmanager.cc,tests/harness/index_utils.cc:
23639           Fix the indexing of the testdata, so that the "etext" example is
23640           properly indexed (previously, only the first line was being
23641           indexed, due to faulty end-of-file handling).  This only affects
23642           the "consistency1" test, which now runs a lot slower (but still
23643           passes, fortunately).
23645 Fri Jun 01 23:47:42 BST 2007  Olly Betts <olly@survex.com>
23647         * examples/simpleexpand.cc: Rewrite based on new simplesearch.cc.
23649 Fri Jun 01 00:50:00 BST 2007  Olly Betts <olly@survex.com>
23651         * examples/simpleindex.cc: Replacement "simpleindex" example which
23652           uses the TermGenerator class, which makes for a much smaller and
23653           simpler example.  It's also much more typical of what most users
23654           will want to do.
23656 Thu May 31 23:01:47 BST 2007  Olly Betts <olly@survex.com>
23658         * examples/simplesearch.cc: Replacement "simplesearch" example which
23659           uses the QueryParser.  That makes for a simpler example, and it's
23660           much more typical of what most users will want to do.
23662 Thu May 31 19:31:40 BST 2007  Olly Betts <olly@survex.com>
23664         * NEWS: Update.
23666 Thu May 31 19:18:41 BST 2007  Olly Betts <olly@survex.com>
23668         * HACKING,configure.ac: Relax automake requirement to 1.9.2 to allow
23669           RPM building on RHEL 4.
23670         * HACKING: automake 1.10 seems to work fine with Xapian.
23672 Thu May 31 03:04:42 BST 2007  Olly Betts <olly@survex.com>
23674         * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
23675           Check if the docid counter wraps and if it does throw DatabaseError
23676           (fixes bug#152).
23677         * tests/api_wrdb.cc: Add regression test (nomoredocids1).
23679 Thu May 31 02:01:31 BST 2007  Olly Betts <olly@survex.com>
23681         * backends/dbfactory_remote.cc,backends/remote/remote-database.cc,
23682           common/progclient.h,common/remote-database.h,common/tcpclient.h,
23683           net/progclient.cc: Stop a non-writable remote database from calling
23684           dtor_called() when it is destroyed, since that causes MSG_FLUSH to
23685           be sent to the server (fixes bug#149).
23687 Wed May 30 19:47:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23689         * include/xapian/query.h: New accessor method
23690           Xapian::Query::Internal::get_parameter().
23691         * queryparser/queryparser.lemony: Multiple boolean prefixed terms
23692           with the same term prefix are now combined with OR before such
23693           groups are combined with AND.  Similarly for multiple value ranges
23694           on the same value (fixes bug#157).
23695         * include/xapian/queryparser.h: Document new handling of multiple
23696           boolean prefixed terms.
23697         * tests/queryparsertest.cc: Testcases for new handling of multiple
23698           boolean prefixed terms and value ranges.
23700 Wed May 30 14:45:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23702         * docs/deprecation.rst: Update comment about QueryParserError to
23703           point out that you'll need to compile conditionally to work with
23704           0.9.x
23706 Wed May 30 14:33:29 BST 2007  Olly Betts <olly@survex.com>
23708         * NEWS: Update.  Put all the subheadings in the standard order used
23709           for previous releases.
23711 Wed May 30 12:58:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23713         * include/xapian/database.h,api/omdatabase.cc,backends/flint/,
23714           backends/inmemory/,backends/quartz/,
23715           backends/remote/remote-database.cc,
23716           common/database.h,common/remote-database.h,common/remoteprotocol.h,
23717           net/remoteserver.cc: Add a prefixed form of allterms_begin() and
23718           allterms_end(), which allows efficient iteration over only those
23719           terms which begin with the given prefix.  Requires bumping the
23720           remote protocol minor version number, but doesn't change any
23721           database formats.
23722         * queryparser/queryparser.lemony: Update the wildcard and partial
23723           query routines to use the prefixed form of allterms_begin().
23724           This fixes the performance problems noted in bug #153.
23725         * tests/api_db.cc: Add test_allterms6() to test the prefixed form
23726           of allterms iterators.
23728 Wed May 30 12:23:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23730         * backends/remote/remote-database.cc,common/remoteprotocol.h,
23731           docs/remote_protocol.html,net/remoteserver.cc: Apply patch from
23732           Olly (from bug #153) which implements minor version numbers for
23733           the remove protocol.  This will allow us to add new features to
23734           the protocol in future without forcing all clients to upgrade to
23735           exactly the same version as the servers.  Bump the major version
23736           to 30, since this is an incompatible change itself, though.
23738 Wed May 30 12:12:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23740         * include/xapian/query.h: Expand documentation of value range
23741           query constructor.
23743 Wed May 30 10:28:39 BST 2007  Olly Betts <olly@survex.com>
23745         * docs/deprecation.rst: Improve entry for QueryParserError.
23747 Wed May 30 01:30:35 BST 2007  Olly Betts <olly@survex.com>
23749         * backends/flint/,bin/xapian-compact.cc: Don't uncompress and
23750           recompress tags when compacting a database.  This speeds up
23751           xapian-compact rather a lot (by more than 50% in my quick test).
23753 Tue May 29 20:58:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23755         * queryparser/Makefile.mk: Fix multiple target rule for generating
23756           the queryparser source files in parallel builds, as described in
23757           HACKING, and as done for the SWIG rules in xapian-bindings.
23758         * queryparser/: Add queryparser_internal.lock and
23759           queryparser_internal.stamp to SVN ignores.
23761 Tue May 29 18:30:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23763         * tests/queryparsertest.cc: Use TEST_STRINGS_EQUAL when comparing
23764           queries against their expected output, since this makes it much
23765           easier to see the differences.
23767 Tue May 29 18:13:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23769         * NEWS: Bring up-to-date.
23771 Mon May 28 09:27:43 BST 2007  Olly Betts <olly@survex.com>
23773         * examples/copydatabase.cc: Fix to compile with GCC 2.95.
23775 Mon May 28 01:28:23 BST 2007  Olly Betts <olly@survex.com>
23777         * examples/copydatabase.cc: Rewrite to take advantage of
23778           being able to iterate over all the documents in a database.
23780 Sun May 27 12:20:03 BST 2007  Olly Betts <olly@survex.com>
23782         * include/xapian/termgenerator.h: Improve documentation comments
23783           for TermGenerator class.
23785 Sun May 27 12:15:02 BST 2007  Olly Betts <olly@survex.com>
23787         * backends/quartz/quartz_database.cc,bin/,examples/,net/tcpserver.cc,
23788           tests/api_db.cc,tests/harness/testsuite.cc,tests/harness/testutils.h,
23789           tests/queryparsertest.cc,tests/termgentest.cc: Make use of
23790           Xapian::Error::get_description(), which improves error reporting
23791           in a number of places.
23792         * tests/harness/testsuite.cc: If we get an exception with a long
23793           message in verbose mode, just report the whole message rather than
23794           reporting the truncated message followed by the whole message.
23795         * tests/queryparsertest.cc: Handle Xapian::QueryParserError specially
23796           (as we previously handled all Xapian::Error exceptions).  Other
23797           Xapian::Error exceptions now report the description not just the
23798           message.
23800 Sun May 27 11:33:11 BST 2007  Olly Betts <olly@survex.com>
23802         * api/error.cc,generate-exceptions.in: Add new API method
23803           Xapian::Error::get_description() to allow removal of
23804           essentially duplicated code in many places.  Also useful for
23805           users for the same reason.
23807 Sun May 27 09:56:21 BST 2007  Olly Betts <olly@survex.com>
23809         * generate-exceptions.in: Add vim modeline to force perl syntax
23810           highlighting.
23812 Sat May 26 22:53:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23814         * NEWS: Bring up-to-date.
23816 Sat May 26 22:49:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23818         * docs/deprecation.rst: Fix typo in deprecation list for the
23819           bindings pointed out by Thomas Waldmann.
23821 Sat May 26 09:39:36 BST 2007  Olly Betts <olly@survex.com>
23823         * HACKING: Add note about reasons for avoiding std::pair<> with an STL
23824           class as one or both members.
23826 Thu May 24 17:28:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23828         * queryparser/Makefile.mk: $(top_builddir)/queryparser is only
23829           required in include path for maintainer mode, so make it so for
23830           neatness.
23832 Tue May 22 11:04:04 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23834         * queryparser/Makefile.mk: Add $(top_builddir)/queryparser to include
23835           path for VPATH builds, to fix a problem with depcomp (triggered
23836           when compiling with gcc-2.95).
23837         * NEWS: Keep up to date.
23839 Mon May 21 13:38:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23841         * tests/queryparsertest.cc: Reduce the range of the test, so that
23842           it passes again, to let the autobuilders work and unbreak HEAD.
23844 Mon May 21 10:26:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23846         * tests/queryparsertest.cc: Remove FIXME from test_qp_flag_partial1:
23847           I've checked that the results look correct.  New test
23848           test_qp_value_range3, to test the NumberValueRangeProcessors -
23849           currently fails because "10" is considered to be between "1" and
23850           "2".
23851         * include/xapian/query.h: Fix typo in documentation comment.
23853 Mon May 21 10:09:34 BST 2007  Olly Betts <olly@survex.com>
23855         * tests/harness/testsuite.h: Put quotes around strings when reporting
23856           a failure in TEST_STRINGS_EQUAL().
23858 Mon May 21 10:08:18 BST 2007  Olly Betts <olly@survex.com>
23860         * tests/internaltest.cc: New tests serialiseerror1 which checks that
23861           the handling of errno/error_string.
23862         * common/serialise.h: Make unserialise_error externally visible for
23863           new test.
23865 Mon May 21 08:40:06 BST 2007  Olly Betts <olly@survex.com>
23867         * HACKING: Update release checklist.
23869 Fri May 18 02:10:39 BST 2007  Olly Betts <olly@survex.com>
23871         * generate-exceptions.in: Fix grammatical errors in Error::get_errno()
23872           deprecation explanation.
23874 Thu May 17 23:51:17 BST 2007  Olly Betts <olly@survex.com>
23876         * api/error.cc: Need <stdlib.h> for free() to build with GCC 4.3
23877           snapshot.
23879 Thu May 17 23:11:53 BST 2007  Olly Betts <olly@survex.com>
23881         * NEWS: Fix line wrapping (ok, isn't wasn't final!)
23883 Thu May 17 22:28:44 BST 2007  Olly Betts <olly@survex.com>
23885         * NEWS: Final update before release.
23887 Thu May 17 19:10:27 BST 2007  Olly Betts <olly@survex.com>
23889         * configure.ac: Bump version to 1.0.0 and update LIBRARY_VERSION_INFO.
23891 Thu May 17 19:10:11 BST 2007  Olly Betts <olly@survex.com>
23893         * NEWS: Minor wording tweak.
23895 Thu May 17 19:06:34 BST 2007  Olly Betts <olly@survex.com>
23897         * docs/Makefile.am: Run rst2html with --strict --verbose options to
23898           reject .rst files with problems.
23899         * docs/deprecation.rst: Add more entries gleaned from the NEWS file.
23901 Thu May 17 18:30:01 BST 2007  Olly Betts <olly@survex.com>
23903         * NEWS: Update with fixes from Jenny's proof-reading and a few other
23904           tweaks.
23906 Thu May 17 18:27:53 BST 2007  Olly Betts <olly@survex.com>
23908         * AUTHORS: Update.
23910 Thu May 17 18:25:39 BST 2007  Olly Betts <olly@survex.com>
23912         * PLATFORMS: Updates from the tinderbox.
23914 Thu May 17 18:08:13 BST 2007  Olly Betts <olly@survex.com>
23916         * common/safesysstat.h: Need the 2 argument mkdir() wrapper for Mingw
23917           too.  Define S_ISDIR() and S_ISREG() if they aren't already defined
23918           rather than conditional on _MSC_VER.
23920 Thu May 17 17:58:43 BST 2007  Olly Betts <olly@survex.com>
23922         * docs/admin_notes.rst: "flint-check" -> "xapian-check".
23924 Thu May 17 17:46:36 BST 2007  Olly Betts <olly@survex.com>
23926         * NEWS: Update for Xapian 1.0.0.
23928 Thu May 17 17:41:15 BST 2007  Olly Betts <olly@survex.com>
23930         * docs/: Update documentation for 1.0.0; add new document describing
23931           new term generation strategy as implemented by TermGenerator class;
23932           link in "lost" documents to the index page.
23934 Thu May 17 03:54:36 BST 2007  Olly Betts <olly@survex.com>
23936         * exception_data.pm: Fix to work with Perl 5.6.
23938 Thu May 17 01:20:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23940         * backends/multi/multi_alltermslist.cc: Check that iterators are
23941           not at_end() before calling skip_to() on them.
23943 Thu May 17 00:49:03 BST 2007  Olly Betts <olly@survex.com>
23945         * backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc,
23946           backends/quartz/btree.cc,common/Makefile.mk,
23947           common/msvc_posix_wrapper.cc,common/msvc_posix_wrapper.h: Use
23948           msvc_posix_wrapper.h functions for all __WIN32__ builds, not just
23949           for MSVC.
23951 Wed May 16 23:55:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23953         * api/omdatabase.cc: Fix return type in debug macro in
23954           replace_document().
23956 Wed May 16 23:45:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23958         * tests/apitest.cc: Add collfreq and allterms tests to the tests
23959           for the remote and remotetcp backends.  They all pass.
23961 Wed May 16 15:11:00 BST 2007  Olly Betts <olly@survex.com>
23963         * configure.ac: Need to try -zdll for mingw as well.
23965 Wed May 16 14:45:23 BST 2007  Olly Betts <olly@survex.com>
23967         * tests/queryparsertest.cc: Add two more testcases.
23969 Wed May 16 14:32:46 BST 2007  Olly Betts <olly@survex.com>
23971         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix
23972           double-free on invalid range query.
23974 Wed May 16 10:08:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23976         * tests/queryparsertest.cc: Add some more test cases to the value
23977           range processor.  These currently fail with a SIGSEGV message.
23979 Wed May 16 02:22:17 BST 2007  Olly Betts <olly@survex.com>
23981         * queryparser/termgenerator_internal.cc: Fix handling of stemming of
23982           prefixed terms.
23983         * tests/termgentest.cc: Fix testcases.
23985 Wed May 16 01:54:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23987         * tests/termgentest.cc: Add a test for parsing of capitalised words
23988           with a prefix, which currently fails.
23990 Wed May 16 01:09:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23992         * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
23993           a method to get the current document from the term generator.
23994           Helps avoid users having to pass around a structure encapsulating
23995           the generator and the document assigned to it.
23997 Wed May 16 00:50:07 BST 2007  Olly Betts <olly@survex.com>
23999         * docs/deprecation.rst: Add <xapian/output.h>.
24001 Tue May 15 22:46:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24003         * tests/termgentest.cc: Use resize(0) instead of clear(), for g++2.95
24005 Tue May 15 20:25:07 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24007         * net/remoteconnection.cc: Add a comment noting why we test
24008           __STDC_SECURE_LIB__ even though its an undocumented macro.
24010 Tue May 15 20:14:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24012         * tests/termgentest.cc: Add several more tests - some converted
24013           from the query tests, some more initial tests, and some number
24014           tests.
24016 Tue May 15 18:31:21 BST 2007  Olly Betts <olly@survex.com>
24018         * queryparser/termgenerator_internal.cc: Revert previous change - we
24019           need to generate Zibm and Zpc from text `I.B.M. P.C.' or else a
24020           search for `ibm pc' won't match.
24022 Tue May 15 18:22:44 BST 2007  Olly Betts <olly@survex.com>
24024         * queryparser/termgenerator_internal.cc: Sort out stemming of
24025           initials.
24027 Tue May 15 18:04:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24029         * tests/termgentest.cc: Add some more tests, and rework the array
24030           of tests so that there's just a single string holding any options
24031           we want to set for the following tests.
24033 Tue May 15 16:49:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24035         * tests/Makefile.am,tests/termgentest.cc: Add new test file, for
24036           testing the term generator.  Only has a single test so far.
24038 Tue May 15 16:20:20 BST 2007  Olly Betts <olly@survex.com>
24040         * include/xapian/unicode.h: Make single parameter ctor explicit.
24042 Tue May 15 16:00:24 BST 2007  Olly Betts <olly@survex.com>
24044         * queryparser/termgenerator_internal.cc: Add special handling for
24045           acronyms/initialisms, so I.B.M -> term ibm, etc.
24047 Tue May 15 14:07:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24049         * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
24050           a set_termpos() method, too.
24052 Tue May 15 13:54:34 BST 2007  Olly Betts <olly@survex.com>
24054         * include/xapian/database.h: Document the issue of the monotonic
24055           docid counter wrapping around.
24057 Tue May 15 10:58:37 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24059         * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
24060           get_termpos() method to get the current value of the termpos.
24061           Makes it easier to integrate with different term generators.
24063 Tue May 15 03:44:50 BST 2007  Olly Betts <olly@survex.com>
24065         * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
24066           Include '.', ',', and a few other characters in terms if they are
24067           between two decimal digits.
24068         * queryparser/termgenerator_internal.cc: Don't stem terms which start
24069           with a number.
24070         * tests/queryparsertest.cc: Update results for real world queries to
24071           match new results (better in every case but one!)
24073 Tue May 15 01:24:08 BST 2007  Olly Betts <olly@survex.com>
24075         * HACKING: Fix a few typos.  Add "feisty" to the list of debs to
24076           build.
24078 Tue May 15 00:51:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24080         * HACKING: Document that the bootstrap script should be run from
24081           srcdir, and that the generated configure can be run from a
24082           different builddir.  Tidy up a few other lines.
24084 Mon May 14 23:52:33 BST 2007  Olly Betts <olly@survex.com>
24086         * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
24087           Expand check_infix to include some of characters Unicode does.
24088         * tests/queryparsertest.cc: Update the single test query which now
24089           parses differently.
24091 Mon May 14 23:42:53 BST 2007  Olly Betts <olly@survex.com>
24093         * tests/harness/testsuite.h: New macro TEST_STRINGS_EQUAL() which
24094           displays the strings on separate lines so the differences can
24095           be clearly seen.
24096         * tests/queryparsertest.cc: Use TEST_STRINGS_EQUAL().
24098 Mon May 14 20:14:17 BST 2007  Olly Betts <olly@survex.com>
24100         * include/xapian/enquire.h: Make the "uses string sort" warning in
24101           the documentation for the methods which enable sorting by value
24102           more prominent, and fix several miscellaneous typos.
24104 Mon May 14 19:28:21 BST 2007  Olly Betts <olly@survex.com>
24106         * queryparser/dir_contents: Update to mention TermGenerator.
24108 Mon May 14 19:12:12 BST 2007  Olly Betts <olly@survex.com>
24110         * queryparser/queryparser.lemony: Fix handling of WILDCARD_TERM and
24111           PARTIAL_TERM for prefixed terms.
24112         * tests/queryparsertest.cc: Add test coverage for this.
24114 Mon May 14 18:02:22 BST 2007  Olly Betts <olly@survex.com>
24116         * tests/queryparsertest.cc: Add more testcases for wildcarded queries.
24118 Mon May 14 17:39:30 BST 2007  Olly Betts <olly@survex.com>
24120         * queryparser/queryparser.lemony: Fix handling of partial queries.
24122 Mon May 14 16:49:46 BST 2007  Olly Betts <olly@survex.com>
24124         * net/remoteconnection.cc: closesocket() seems to work equally as
24125           well as CloseHandle() but it's what we use elsewhere and Charlie
24126           thinks it's a better choice here too so use that instead.  Rename
24127           the wrapper call from close_fd_or_handle() to close_fd_or_socket().
24128           And mark close_fd_or_socket() as "inline" under UNIX, since it
24129           should always be inlined.
24131 Mon May 14 15:30:13 BST 2007  Olly Betts <olly@survex.com>
24133         * tests/api_anydb.cc: Add FIXME about moving wildquery1.
24135 Mon May 14 15:21:59 BST 2007  Olly Betts <olly@survex.com>
24137         * bin/xapian-progsrv.cc: Improve comments.
24139 Mon May 14 11:29:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24141         * net/remoteconnection.cc: Deal with invalid parameter exceptions
24142           on windows when closing file descriptors or handles.
24144 Mon May 14 05:04:16 BST 2007  Olly Betts <olly@survex.com>
24146         * tests/api_anydb.cc: Fix wildquery1 to work with the new term
24147           stemming scheme.
24149 Sun May 13 19:15:17 BST 2007  Olly Betts <olly@survex.com>
24151         * include/xapian/unicode.h: Count control characters as whitespace
24152           (which is certainly what we want for TAB, CR, LF, and FF).
24154 Sun May 13 17:50:19 BST 2007  Olly Betts <olly@survex.com>
24156         * include/xapian/unicode.h: Add CONNECTOR_PUNCTUATION to is_wordchar()
24157           - this category includes '_' and characters which fulfil similar
24158           roles.
24159         * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
24160           No longer need to special case '_'.
24161         * queryparser/queryparser.lemony: Test for Unicode "whitespace" rather
24162           than just ASCII.
24164 Sun May 13 04:43:37 BST 2007  Olly Betts <olly@survex.com>
24166         * queryparser/queryparser.lemony: Normalise Unicode characters used
24167           for apostrophe to ASCII apostrophe.
24169 Sun May 13 03:56:17 BST 2007  Olly Betts <olly@survex.com>
24171         * include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode
24172           routines to use Unicode 5.0.0 and support characters outside the BMP
24173           (so we now support all Unicode characters in the latest version of
24174           the standard).
24175         * tests/api_unicode.cc: Add test unicode1 which performs some simple
24176           tests of the categorisation function, include one which tests for a
24177           character added in Unicode 5.0.0.
24179 Sat May 12 06:01:50 BST 2007  Olly Betts <olly@survex.com>
24181         * queryparser/queryparser.lemony: Update comment.
24183 Sat May 12 04:23:01 BST 2007  Olly Betts <olly@survex.com>
24185         * queryparser/queryparser.lemony: Improve description of Term class.
24187 Sat May 12 04:16:47 BST 2007  Olly Betts <olly@survex.com>
24189         * queryparser/queryparser.lemony: Update to implement the new stemming
24190           scheme.
24191         * tests/queryparsertest.cc: Update testcases, and check that the new
24192           parses are all reasonable.
24194 Sat May 12 04:03:55 BST 2007  Olly Betts <olly@survex.com>
24196         * include/xapian/unicode.h: Xapian::Unicode::get_category() now checks
24197           for characters outside the BMP, and assumes they're of category
24198           OTHER_LETTER.  Remove BMP check from all functions which use
24199           Xapian::Unicode::get_category().
24201 Sat May 12 04:02:52 BST 2007  Olly Betts <olly@survex.com>
24203         * include/xapian/queryparser.h: Fix typo in comment.
24205 Fri May 11 05:45:38 BST 2007  Olly Betts <olly@survex.com>
24207         * net/remoteserver.cc: Make "Server is read-only" be of type
24208           InvalidOperationError not NetworkError.  This is arguably more
24209           appropriate anyway, but in particular it avoids a worrying looking
24210           (but harmless) warning when a read-only connection is closed, due
24211           dtor_called() calling flush() on a read-only database.
24213 Fri May 11 01:35:31 BST 2007  Olly Betts <olly@survex.com>
24215         * docs/Makefile.am: Disable more documentation rules if
24216           MAINTAINER_NO_DOCS is true.
24218 Thu May 10 23:01:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24220         * net/remoteconnection.cc: Remove definition of unused macro
24221           XAPIAN_MSVC_INVALID_PARAMETER_HANDLER.
24223 Thu May 10 19:24:23 BST 2007  Olly Betts <olly@survex.com>
24225         * include/xapian/enquire.h: Try quoting qualified identifiers in
24226           #pragma deprecated.
24228 Thu May 10 15:58:37 BST 2007  Olly Betts <olly@survex.com>
24230         * include/xapian/enquire.h: Give full scope in '#pragma deprecated'
24231           to try to avoid false positives.
24233 Thu May 10 14:53:08 BST 2007  Olly Betts <olly@survex.com>
24235         * include/xapian/enquire.h: Use '#pragma deprecated' to work around
24236           MSVC stupidity (you get a warning for deprecating a declaration).
24238 Thu May 10 13:42:49 BST 2007  Olly Betts <olly@survex.com>
24240         * configure.ac: Some GCC 3.x versions produce bogus warnings, so only
24241           automatically enable -Werror on --enable-maintainer-mode under GCC
24242           if we're using GCC >= 4.0.  Most developers will be using GCC 4.x
24243           soon if they aren't already anyway.
24244         * HACKING: Update documentation in line with the above.  Mention that
24245           we also enable -Werror for Intel's C++ compiler.
24247 Thu May 10 05:06:22 BST 2007  Olly Betts <olly@survex.com>
24249         * configure.ac: Detect __WIN32__ by running the preprocessor so we
24250           don't get confused by building mingw in a cygwin environment.
24252 Thu May 10 04:52:21 BST 2007  Olly Betts <olly@survex.com>
24254         * net/tcpserver.cc: Exit with EX_UNAVAILABLE if the mutex tells us
24255           xapian-tcpsrv is already running on this port.
24257 Thu May 10 04:44:10 BST 2007  Olly Betts <olly@survex.com>
24259         * common/Makefile.mk,common/safe.cc,common/safeunistd.h: Pulling
24260           in safewindows.h from safeunistd.h causes clashes with NEAR
24261           in the QueryParser, so use a helper function to call Sleep
24262           and just call that from the header.
24264 Thu May 10 04:36:19 BST 2007  Olly Betts <olly@survex.com>
24266         * net/tcpserver.cc: Fix compilation error.
24268 Thu May 10 04:26:31 BST 2007  Olly Betts <olly@survex.com>
24270         * common/tcpserver.h,net/tcpserver.cc: Just pass the mutex to
24271           get_listening_socket() by reference to avoid MSVC warnings.
24273 Thu May 10 04:19:13 BST 2007  Olly Betts <olly@survex.com>
24275         * common/safeunistd.h: Use Sleep() instead of _sleep() as the latter
24276           gives deprecation warnings.  Sadly that means that safeunistd.h
24277           now has to pull in safewindows.h.
24279 Thu May 10 04:07:53 BST 2007  Olly Betts <olly@survex.com>
24281         * common/tcpserver.h,net/tcpserver.cc: Keep track of the mutex so
24282           we can release it right after we close the listening socket.
24283           Throw an error if we fail to get the mutex to avoid a possible
24284           race condition (we might end up with the socket listening but
24285           without the mutex locked).  Always call closesocket() on the
24286           listening socket under __WIN32__ to ensure resources are released.
24288 Thu May 10 02:48:31 BST 2007  Olly Betts <olly@survex.com>
24290         * net/tcpserver.cc: Use a mutex under Cygwin and WIN32 to allow use to
24291           use Microsoft's broken SO_REUSEADDR on our listening socket, but
24292           avoid being able to run two copies of xapian-tcpsrv on the same port
24293           at once (tweaked patch from MarkH).
24294         * net/tcpserver.cc: Don't try to set SO_EXCLUSIVEADDRUSE if a previous
24295           setsockopt() call failed as we might stomp on the error code.
24297 Thu May 10 02:15:20 BST 2007  Olly Betts <olly@survex.com>
24299         * Makefile.am,bin/Makefile.mk,configure.ac,docs/Makefile.am,
24300           examples/Makefile.mk: Add new Automake conditional
24301           "MAINTAINER_NO_DOCS" to allow use to disable references to built
24302           documentation in maintainer builds if --disable-documentation is
24303           specified.  This allows Mark's buildbot to work without installing
24304           so many tools, some of which aren't packaged for Cygwin.
24306 Thu May 10 02:03:44 BST 2007  Olly Betts <olly@survex.com>
24308         * Makefile.am: Build rules for running generate-exceptions should be
24309           controlled by MAINTAINER_MODE not DOCUMENTATION_RULES, part II.
24311 Thu May 10 01:49:42 BST 2007  Olly Betts <olly@survex.com>
24313         * docs/deprecation.rst: Add Error::get_type().
24315 Thu May 10 01:25:37 BST 2007  Olly Betts <olly@survex.com>
24317         * api/error.cc,generate-exceptions.in: Add new constructors which
24318           allow error_string to be set directly, for use by the Xapian::Error
24319           unserialising code.
24320         * generate-exceptions.in: Xapian::Error::get_type() now returns
24321           const char * not std::string.
24322         * backends/quartz/quartz_database.cc: Fix code to handle changed
24323           return type of Xapian::Error::get_type().
24324         * net/serialise.cc: Include error_string in the serialisation.
24325         * common/remoteprotocol.h,docs/remote_protocol.html: Bump protocol
24326           version to 29 because of change in Xapian::Error serialisation.
24328 Wed May 09 14:42:33 BST 2007  Olly Betts <olly@survex.com>
24330         * queryparser/queryparser.lemony: Renaming match_nothing_
24331           member of QpQuery to match_nothing.  Comment out unused
24332           QpQuery::get_description().  Add FIXME comment about
24333           apparently redundant logic (now's not really the time
24334           to be fiddling with such things).
24336 Wed May 09 14:27:02 BST 2007  Olly Betts <olly@survex.com>
24338         * queryparser/queryparser.lemony: Update to match new TermGenerator
24339           class.  '_' is now a term character, not a phrase generator.  We
24340           only keep a suffix which has 3 or fewer characters, and we no longer
24341           count '-' as a suffix character.
24342         * tests/queryparsertest.cc: Update test cases to match new behaviour.
24343           In almost every case the new rules give a better result.
24345 Wed May 09 14:15:38 BST 2007  Olly Betts <olly@survex.com>
24347         * languages/compiler/space.c: Add sanity check to b_to_s(),
24348           highlighted by MSVC warning.
24350 Wed May 09 14:06:24 BST 2007  Olly Betts <olly@survex.com>
24352         * tests/btreetest.cc: Return filesize as off_t to avoid MSVC warning
24353           about truncating from 64 to 32 bits (the filesize will never be
24354           more than a few K here, so this is essentially a cosmetic issue).
24356 Wed May 09 04:04:03 BST 2007  Olly Betts <olly@survex.com>
24358         * common/tcpserver.h,net/tcpserver.cc: Always starting the server in a
24359           new thread in "one-shot" mode is trickier than it looked, so revert
24360           that change for now.  Always call closesocket() on our sockets under
24361           __WIN32__.
24363 Wed May 09 01:53:43 BST 2007  Olly Betts <olly@survex.com>
24365         * common/tcpserver.h,net/tcpserver.cc: Make UNIX signal handling
24366           functions and WIN32 CrtlHandler static.  TcpServer::run() is now
24367           generic, calling an OS-specific TcpServer::run_once().  Now we
24368           always run the server in a new thread in "one-shot" mode, which
24369           gives better code coverage in apitest as it runs more like a normal
24370           xapian-tcpsrv would.  CtrlHandler now lets the OS handle the event
24371           if it doesn't have a socket to close, or if closesocket() fails.
24373 Wed May 09 01:42:33 BST 2007  Olly Betts <olly@survex.com>
24375         * net/remoteconnection.cc: DWORD is unsigned, so received can't be
24376           negative - tidy up the ReadFile() loop taking this into account.
24378 Wed May 09 01:28:48 BST 2007  Olly Betts <olly@survex.com>
24380         * net/remoteconnection.cc: ReadFile() doesn't set errno, so remove
24381           test for EINTR which is just a hangover from the UNIX code.
24383 Tue May 08 23:50:33 BST 2007  Olly Betts <olly@survex.com>
24385         * queryparser/termgenerator_internal.cc: Treat '_' as a word character
24386           which seems to be the correct thing to do in general.  Generate
24387           unstemmed terms with positional information for all words without a
24388           prefix, and stemmed terms without positional information for
24389           non-stopwords with a 'Z' prefix.  This means we can implement exact
24390           phrase search, and prefixing stemmed forms (rather than unstemmed
24391           as Omega < 1.0 does) means fewer terms with the prefix.  Only
24392           stemming non-stopwords cuts a significant amount of the database
24393           size in my tests.
24395 Tue May 08 18:22:30 BST 2007  Olly Betts <olly@survex.com>
24397         * net/tcpserver.cc: Fix remaining use of handle_one_request in
24398           __WIN32__-specific code.
24400 Tue May 08 18:10:12 BST 2007  Olly Betts <olly@survex.com>
24402         * api/error.cc: Really fix it...
24404 Tue May 08 17:38:04 BST 2007  Olly Betts <olly@survex.com>
24406         * api/error.cc: Fix another paste-o!
24408 Tue May 08 17:28:29 BST 2007  Olly Betts <olly@survex.com>
24410         * api/error.cc: Remove bogus statement in __WIN32__ case left over
24411           from cut-and-paste.
24413 Tue May 08 17:10:53 BST 2007  Olly Betts <olly@survex.com>
24415         * common/tcpserver.h,net/tcpserver.cc: Rename
24416           TcpServer::handle_one_request() to
24417           TcpServer::handle_one_connection() (to make it clearer that it
24418           handles a connection rather than a single MSG/REPLY exchange), and
24419           use it in UNIX builds too to avoid duplicating its code.  Catch
24420           NetworkTimeoutError here and report it if we're in verbose mode.
24421         * net/remoteserver.cc: If we catch NetworkTimeoutError then try to
24422           propagate it only if we can send it right away, then rethrow it
24423           to close the connection and let the caller log it.  If we catch
24424           any other NetworkError then just rethrow it.
24426 Tue May 08 16:52:50 BST 2007  Olly Betts <olly@survex.com>
24428         * common/noreturn.h: Add missing '#endif'.
24430 Tue May 08 16:19:05 BST 2007  Olly Betts <olly@survex.com>
24432         * common/Makefile.mk,common/noreturn.h: New header which defines
24433           XAPIAN_NORETURN() to allow functions which don't return to be
24434           marked as such so the compiler can take this into account when
24435           generating code.
24436         * api/error.cc,tests/harness/backendmanager.cc: Remove any trailing
24437           "\r\n" from the output of FormatMessage().
24439 Tue May 08 16:16:55 BST 2007  Olly Betts <olly@survex.com>
24441         * include/xapian/deprecated.h: Use `__attribute__((__deprecated__))'
24442           instead of `__attribute__((deprecated))' so we're even robust
24443           against some clown doing `#define deprecated foo'.
24445 Tue May 08 16:15:30 BST 2007  Olly Betts <olly@survex.com>
24447         * bin/quartzcheck.cc,tests/harness/backendmanager.cc: In these files
24448           we have to disable XAPIAN_DEPRECATED() since we need to be able to
24449           use Quartz::open() - move this to the start of the #include block
24450           to avoid problems with any intermediate header implicitly including
24451           <xapian.h>.
24453 Tue May 08 14:51:37 BST 2007  Olly Betts <olly@survex.com>
24455         * HACKING: Move section on "Configure Options" to a more logical spot
24456           just before "Makefile Portability".  Add section on how to use
24457           XAPIAN_DEPRECATED() noting the issue with GCC 3.3.5 not allowing
24458           it to be used on an inline method definition.
24459         * include/xapian/deprecated.h: Add pointers to HACKING and
24460           docs/deprecated.rst.
24462 Tue May 08 13:57:17 BST 2007  Olly Betts <olly@survex.com>
24464         * generate-exceptions.in: We can't use XAPIAN_DEPRECATED() on
24465           a function definition with GCC 3.3.5, so use it on a declaration
24466           and then define inline but out of the class.
24468 Tue May 08 13:45:48 BST 2007  Olly Betts <olly@survex.com>
24470         * net/tcpserver.cc: We must call closesocket() (instead of just
24471           close()) under __WIN32__ or else the socket remains in the
24472           CLOSE_WAIT state.
24474 Tue May 08 12:17:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24476         * docs/deprecation.rst: Add Error::get_errno() to the deprecation
24477           list for the bindings, too.
24479 Tue May 08 10:09:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24481         * docs/deprecation.rst: Change the xapian_version functions to be
24482           marked for removal in 1.1.0, and also note them in the bindings
24483           section.
24485 Tue May 08 04:27:37 BST 2007  Olly Betts <olly@survex.com>
24487         * backends/remote/remote-database.cc,common/remote-database.h: The
24488           timeout parameter to RemoteDatabase wasn't being used, instead the
24489           client would wait indefinitely for the server to respond.
24491 Tue May 08 04:16:45 BST 2007  Olly Betts <olly@survex.com>
24493         * generate-exceptions.in: Initialise error_string in Xapian::Error
24494           ctor.
24496 Tue May 08 03:48:47 BST 2007  Olly Betts <olly@survex.com>
24498         * api/error.cc: Fix compilation when HAVE_HSTRERROR isn't defined.
24500 Tue May 08 02:35:04 BST 2007  Olly Betts <olly@survex.com>
24502         * api/error.cc,bin/xapian-tcpsrv.cc,examples/delve.cc,
24503           generate-exceptions.in,tests/harness/testsuite.cc: Error subclasses
24504           now store the error_string in the class, converting it from the
24505           error code in my_errno lazily.  Also, get_error_string() now returns
24506           const char *.
24508 Tue May 08 01:34:56 BST 2007  Olly Betts <olly@survex.com>
24510         * Makefile.am: Build rules for running generate-exceptions should be
24511           controlled by MAINTAINER_MODE not DOCUMENTATION_RULES.
24513 Tue May 08 01:23:22 BST 2007  Olly Betts <olly@survex.com>
24515         * bin/xapian-tcpsrv.cc,docs/deprecation.rst,generate-exceptions.in,
24516           net/tcpserver.cc,tests/harness/testsuite.cc: Deprecate
24517           Error::get_errno() in favour of Error::get_error_string().  We can't
24518           pass errno values from remote server to client as they aren't
24519           portable and the server and client may be running on entirely
24520           different platforms!
24521         * generate-exceptions.in: Mark as generated with @configure_input@.
24523 Tue May 08 01:20:43 BST 2007  Olly Betts <olly@survex.com>
24525         * backends/flint/flint_database.cc,backends/flint/flint_lock.h: Make
24526           FlintLock's dtor release the lock (if held) which avoids the need
24527           for any special handling in FlintDatabase.
24529 Mon May 07 21:15:33 BST 2007  Olly Betts <olly@survex.com>
24531         * tests/harness/unixcmds.cc: Use O_BINARY when opening a file to
24532           "touch" it.
24534 Mon May 07 17:28:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24536         * backends/flint/flint_database.cc: Add try{}catch(...){} block to
24537           ensure that lock is released if an exception occurs in the
24538           FlintDatabase() constructor.
24539         * tests/api_db.cc: Add regression test for releasing lock on error
24540           in constructor.
24542 Mon May 07 11:10:33 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24544         * HACKING: Update section on multiple output rules to detail the
24545           workaround described in the automake manual.
24547 Mon May 07 10:03:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24549         * backends/flint/flint_database.cc,backends/flint/flint_database.h,
24550           backends/flint/flint_version.cc,backends/quartz/,exception_data.pm,
24551           include/xapian/database.h,tests/api_db.cc: Throw
24552           DatabaseVersionError instead of DatabaseOpeningError when database
24553           version is unsupported.  This is a new error class, which is a
24554           subclass of DatabaseOpeningError, so most existing scripts
24555           shouldn't need changing, but makes it easy for application
24556           writers to determine whether a database needs upgrading or
24557           whether the problem is something else.  Should fix #144.
24559 Mon May 07 09:22:01 BST 2007  Olly Betts <olly@survex.com>
24561         * net/progclient.cc: Under __WIN32__, use byte mode on pipes because
24562           message mode fails for message > 256 bytes, and use "overlapped"
24563           mode so we don't block waiting for a reply so that timeouts work.
24564           (Patch from Mark Hammond).
24566 Mon May 07 03:03:10 BST 2007  Olly Betts <olly@survex.com>
24568         * tests/api_anydb.cc,tests/apitest.cc,tests/harness/: Now
24569           TEST_EQUAL_DOUBLE() should work everywhere.  Move the helper
24570           function out of the header.  Use TEST_EQUAL_DOUBLE() instead
24571           of doubles_are_equal_enough() and weights_are_equal_enough()
24572           which do much the same job.
24574 Mon May 07 01:13:29 BST 2007  Olly Betts <olly@survex.com>
24576         * tests/harness/testsuite.h: Report extra info to try to work out why
24577           MSVC build is failing expandweights1.
24579 Mon May 07 00:26:59 BST 2007  Olly Betts <olly@survex.com>
24581         * tests/harness/testsuite.h: Another tweak to TEST_EQUAL_DOUBLE().
24583 Sun May 06 22:30:26 BST 2007  Olly Betts <olly@survex.com>
24585         * docs/quickstart.html: Remove reference to DA databases since the
24586           muscat36 backend has been removed.  Update to recommend GCC 3.3
24587           or later, as we do elsewhere.  Change references to "quartz" to
24588           say "flint", or remove them.
24590 Sun May 06 16:02:28 BST 2007  Olly Betts <olly@survex.com>
24592         * configure.ac: Set version to mythical 0.9.99.
24594 Sun May 06 15:06:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24596         * tests/api_db.cc: Add test_flintdatabaseformaterror1() which
24597           checks what happens when an old-format flint database is opened.
24598           It generates the old-format database by making a fake "iamflint"
24599           file containing an old version number.
24601 Sun May 06 04:00:39 BST 2007  Olly Betts <olly@survex.com>
24603         * expand/ortermlist.cc: Remove incorrect assertion check in
24604           OrTermList::next(), replacing it with anexplanatory comment.
24606 Sun May 06 02:42:30 BST 2007  Olly Betts <olly@survex.com>
24608         * net/remoteconnection.cc: Fix typo.
24610 Sun May 06 02:39:23 BST 2007  Olly Betts <olly@survex.com>
24612         * net/remoteconnection.cc: Aha!  Richard's patch failed to compile
24613           because stdlib.h was in "#ifndef __WIN32__" not "#ifdef __WIN32__".
24615 Sun May 06 02:27:18 BST 2007  Olly Betts <olly@survex.com>
24617         * net/remoteconnection.cc: Protect _set_invalid_parameter_handler, etc
24618           by _MSC_VER >= 1400 (MSVC 2005) and __STDC_SECURE_LIB__ (undocumented
24619           but cribbed from the Python sources).  Refactor into a handy class
24620           (MSVCIgnoreInvalidParameter) which just needs to be instantiated in
24621           the scope where you want to allow invalid parameters to be passed.
24623 Sun May 06 01:42:06 BST 2007  Olly Betts <olly@survex.com>
24625         * net/remoteconnection.cc: Rework use of _invalid_parameter_handler to
24626           only apply when _MSC_VER is defined, to fix the mingw build.
24628 Sat May 05 22:30:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24630         * net/remoteconnection.cc: Under __WIN32__, add an invalid
24631           parameter handler which ignores the error and use it for the
24632           calls to _get_osfhandle() which are sometimes expected to fail.
24633           Requires stdlib.h according to msdn, so also #include that.
24635 Sat May 05 20:43:29 BST 2007  Olly Betts <olly@survex.com>
24637         * bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/remoteconnection.h,
24638           common/remoteserver.h,common/tcpserver.h,net/remoteserver.cc,
24639           net/tcpserver.cc: Open a fresh copy of the database(s) on each
24640           connection to a xapian-tcpsrv rather than relying on being able to
24641           share a database across fork() or between threads (which we don't
24642           promise will work).  Largely based on patch from Mark Hammond.
24643           Fixes some of bug#141 and all of bug#142.
24645 Sat May 05 02:19:39 BST 2007  Olly Betts <olly@survex.com>
24647         * api/omdatabase.cc: Use RETURN() not return in methods with debug
24648           logging.
24650 Sat May 05 02:19:11 BST 2007  Olly Betts <olly@survex.com>
24652         * bin/xapian-compact.cc: Fix typo in comment.
24654 Fri May 04 23:59:54 BST 2007  Olly Betts <olly@survex.com>
24656         * backends/flint/flint_version.cc: Remove the "u" suffix from
24657           FLINT_VERSION as it's confusing in the "wrong format version"
24658           error message and doesn't seem needed in the code.
24660 Fri May 04 23:56:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24662         * backends/flint/: Revert patch from revision 8426 (except for the
24663           bit which removed the unused prototypes), to avoid the
24664           possibility that it introduces bugs into the code just before
24665           1.0.0.  The patch is attached to bug #143 for later reference.
24667 Fri May 04 23:50:39 BST 2007  Olly Betts <olly@survex.com>
24669         * examples/delve.cc: Report the error string if we catch Xapian::Error
24670           while trying to open a database.
24672 Fri May 04 22:50:54 BST 2007  Olly Betts <olly@survex.com>
24674         * docs/intro_ir.html: Fix a few typos; elaborate on a few points.
24676 Fri May 04 20:07:44 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24678         * queryparser/termgenerator_internal.cc: Fix bug in termgenerator -
24679           arguments to add_posting were the wrong way round.
24681 Fri May 04 20:00:40 BST 2007  Olly Betts <olly@survex.com>
24683         * queryparser/termgenerator_internal.cc: Limit term length, handle
24684           infix and suffix characters, and convert apostrophes to ASCII
24685           representation.
24687 Fri May 04 19:47:43 BST 2007  Olly Betts <olly@survex.com>
24689         * include/xapian/unicode.h: Fill in remaining missing documentation
24690           comments.
24692 Fri May 04 19:30:56 BST 2007  Olly Betts <olly@survex.com>
24694         * include/xapian/termgenerator.h: Add convenience version of
24695           index_text() and index_text_without_positions() which take a
24696           std::string instead of a Utf8Iterator.
24698 Fri May 04 17:11:11 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24700         * unicode/utf8itor.cc: Fix segfault bug in Utf8Iterator::operator*().
24701           If this was called when the iterator had reached end, invalid
24702           memory was accessed because p was compared to end, p will always
24703           be set to NULL when the iterator reaches the end.  No regression
24704           test, but the smoketest tests I'm implementing in the bindings
24705           will exercise this code.
24707 Fri May 04 16:29:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24709         * include/xapian/unicode.h: Add documentation comments to
24710           Utf8Iterator, so I don't have to work out how it works again.
24712 Fri May 04 14:55:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24714         * include/xapian/unicode.h: Add assign() function which takes a
24715           string, for symmetry with the constructors.  Also makes
24716           implementing the bindings easier.
24718 Fri May 04 13:04:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24720         * include/Makefile.mk: Add termgenerator.h to distribution
24721           tarballs.
24723 Fri May 04 03:41:56 BST 2007  Olly Betts <olly@survex.com>
24725         * tests/harness/testsuite.h: Test against pow(10, -DBL_DIG) rather
24726           than DBL_EPSILON.  DBL_EPSILON is a little bit smaller, but we use
24727           DBL_DIG for displaying the numbers and it looks stupid to say two
24728           numbers which are displayed identically should be nearly the same!
24730 Fri May 04 03:33:51 BST 2007  Olly Betts <olly@survex.com>
24732         * HACKING: Fix reference to --enable-maitainer-mode and documentation
24733           rebuilding.
24735 Fri May 04 03:32:57 BST 2007  Olly Betts <olly@survex.com>
24737         * configure.ac: Fix now erroneous references to tools "required in
24738           maintainer mode" to "required to build documentation".
24740 Fri May 04 01:49:05 BST 2007  Olly Betts <olly@survex.com>
24742         * HACKING: Document --enable-documentation.
24744 Fri May 04 01:38:44 BST 2007  Olly Betts <olly@survex.com>
24746         * Makefile.am,bin/Makefile.mk,configure.ac,docs/Makefile.am,
24747           examples/Makefile.mk: Add new configure option
24748           "--enable-documentation" which enables the make rules to rebuild the
24749           documentation.  By default this follows the setting of
24750           "--enable-maintainer-mode" (so giving much the same behaviour as
24751           currently), but the documentation rules can now be controlled
24752           independently.  Also, if documentation isn't being built, the
24753           configure probes for tools required to rebuild it are no longer run
24754           which should shorten configure time a bit for end-users building
24755           releases.
24757 Thu May 03 22:07:39 BST 2007  Olly Betts <olly@survex.com>
24759         * common/remoteserver.h: Remove unused default values for
24760           active_timeout_ and idle_timeout_ parameters.  Fix repeated typo
24761           in documentation comments ('millisrconds' -> 'milliseconds').
24763 Thu May 03 15:05:24 BST 2007  Olly Betts <olly@survex.com>
24765         * include/xapian.h,include/xapian/termgenerator.h,queryparser/:
24766           Initial cut of TermGenerator class.
24768 Thu May 03 15:04:09 BST 2007  Olly Betts <olly@survex.com>
24770         * generate-exceptions.in: Hide the internal constructors of generated
24771           error classes in the doxygen-generated API docs.
24773 Thu May 03 04:37:51 BST 2007  Olly Betts <olly@survex.com>
24775         * expand/ortermlist.cc,expand/ortermlist.h: Fix compilation error when
24776           --enable-assertions is used.
24778 Thu May 03 03:57:42 BST 2007  Olly Betts <olly@survex.com>
24780         * common/safeunistd.h: Provide a POSIX-compatible sleep() function.
24781         * common/utils.h: Remove inferior POSIX-compatible sleep() function.
24783 Thu May 03 03:17:02 BST 2007  Olly Betts <olly@survex.com>
24785         * include/xapian/: Mark all @internal member variables and functions
24786           which aren't private with @private so doxygen doesn't document them.
24788 Thu May 03 02:33:09 BST 2007  Olly Betts <olly@survex.com>
24790         * include/xapian/: Mark DocIDWrapper, RefCntBase, RefCntPtr,
24791           TermNameWrapper, and TermPosWrapper as "@internal" so that they don't
24792           show up in the doxygen-generated API documentation.  In particular,
24793           this makes the class collaboration diagrams much more useful.
24794         * include/xapian/errorhandler.h: Declare the class in namespace Xapian
24795           rather than with namespace Xapian:: since the latter seems to
24796           confuse doxygen.
24798 Thu May 03 02:31:33 BST 2007  Olly Betts <olly@survex.com>
24800         * include/xapian/unicode.h: Fix wrapping of comment.
24802 Thu May 03 00:05:23 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24804         * backends/flint/: Remove unused (and unimplemented) declarations
24805           of begin_transaction_(), commit_transaction_() and
24806           cancel_transaction_() from FlintWritableDatabase class.  Tidy up
24807           handling of metainfo (total_length and lastdocid) to avoid
24808           repeatedly parsing the special record, and make it easier to
24809           store additional metainfo in future.
24810           Also, remove code which ensures that there is always a special
24811           record - this was added in revision 5459 when the special record
24812           was stored in the record table, so that the number of documents
24813           in the database could always be calculated by subtracting 1 from
24814           the number of entries in the record table.  Now that the special
24815           record is stored in the postlist table, this is no longer
24816           necessary.
24818 Wed May 02 17:56:39 BST 2007  Olly Betts <olly@survex.com>
24820         * backends/dbfactory_remote.cc,include/xapian/dbfactory.h:
24821           Remote::open_writable() now defaults to no (active) timeout.  The
24822           connection timeouts for Remote::open() and Remote::open_writable()
24823           now default to 10 seconds rather than defaulting to the same as
24824           the active timeout (which defaults to 10 seconds).
24826 Wed May 02 16:00:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24828         * common/safeunistd.h,tests/harness/backendmanager.cc: Fix
24829           compilation on windows - safeunistd.h was undefining ssize_t
24830           and thus overriding the definition in config.h, and include
24831           safewindows.h for backendmanager.cc
24833 Wed May 02 15:34:33 BST 2007  Olly Betts <olly@survex.com>
24835         * common/safeunistd.h: Don't define ssize_t here for MSVC - do it in
24836           config.h instead.  This avoids pulling in <windows.h> which will
24837           hopefully fix another macro redefinition warning under MSVC.
24839 Wed May 02 15:20:56 BST 2007  Olly Betts <olly@survex.com>
24841         * common/safewindows.h: Define NOGDI before including windows.h to
24842           prevent it from defining a macro called "ERROR" which collides with
24843           the generated queryparser sources, causing a warning in the MSVC
24844           build.
24846 Wed May 02 14:38:33 BST 2007  Olly Betts <olly@survex.com>
24848         * common/termlist.h: Forward declare ExpandStats as "class" not
24849           "struct" for consistency with the actual declaration.
24851 Wed May 02 14:30:41 BST 2007  Olly Betts <olly@survex.com>
24853         * configure.ac: Try '-lzlib' for zlib, which mingw reportedly needs.
24855 Wed May 02 14:21:40 BST 2007  Olly Betts <olly@survex.com>
24857         * common/remoteconnection.h,include/xapian/dbfactory.h,
24858           net/remoteserver.cc: A timeout of `0' in the remote backend now
24859           means "no timeout" (code patch from Mark Hammond).
24861 Wed May 02 04:17:28 BST 2007  Olly Betts <olly@survex.com>
24863         * Makefile.am,api/,backends/alltermslist.cc,backends/flint/,
24864           backends/inmemory/inmemory_database.cc,
24865           backends/inmemory/inmemory_database.h,
24866           backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
24867           backends/quartz/,backends/remote/net_termlist.cc,
24868           backends/remote/net_termlist.h,backends/remote/remote-database.cc,
24869           common/,expand/,matcher/: Split expand functionality out of
24870           "matcher" subdirectory into new "expand" subdirectory since it's
24871           not really connected to query matching and the matcher subdirectory
24872           is one of the largest.  Rewrite OrTermList, eliminating
24873           BranchTermList entirely.  Alter expand to pass in an object (of
24874           class Xapian::Internal::ExpandWeight) which accumulates statistics
24875           instead of returning OmExpandBits objects which we then have to
24876           merge (and eliminating the need for LeafTermList entirely).  Query
24877           expansion for multiple databases should now give results more like
24878           that for a single database with the same documents (if
24879           USE_EXACT_TERMFREQ is used, the results should be the same).  Debug
24880           logging from expand is now all of type EXPAND (some was of types
24881           MATCHER and WTCALC before).
24883 Wed May 02 03:35:17 BST 2007  Olly Betts <olly@survex.com>
24885         * docs/deprecation.rst: Add deprecation info for Omega too.
24887 Wed May 02 00:24:13 BST 2007  Olly Betts <olly@survex.com>
24889         * tests/api_anydb.cc: Add test expandweights1 as a regression test for
24890           the previous commit.
24891         * tests/harness/testsuite.h: Set the precision for TEST_EQUAL_DOUBLE
24892           so we don't claim two numbers to be different yet display them the
24893           same!
24895 Tue May 01 23:27:10 BST 2007  Olly Betts <olly@survex.com>
24897         * backends/remote/net_termlist.cc,backends/remote/remote-database.cc,
24898           common/remoteprotocol.h,docs/remote_protocol.html,
24899           net/remoteserver.cc: Fix handling of the document length in the
24900           termlist for the remote backend.
24902 Tue May 01 23:17:28 BST 2007  Olly Betts <olly@survex.com>
24904         * tests/api_db.cc: Several tests were marked as "local db only" for
24905           historical reasons.  Enable them for remote backends too.
24906         * backends/remote/net_postlist.cc,tests/api_db.cc: Fix a bug in
24907           NetworkPostList::skip_to() which apitest's postlist4 reveals.
24909 Tue May 01 21:00:26 BST 2007  Olly Betts <olly@survex.com>
24911         * api/omtermlistiterator.cc,api/omvalueiterator.cc,
24912           backends/multi/multi_alltermslist.cc: Add explicit
24913           `#include "omassert.h"'.
24914         * backends/multi/multi_alltermslist.cc: Remove all explicit
24915           std:: qualifiers and add `using namespace std;'.
24917 Tue May 01 20:56:10 BST 2007  Olly Betts <olly@survex.com>
24919         * common/multialltermslist.h: Add explicit std:: qualifiers for
24920           string, for consistency with std::vector in this header.
24922 Tue May 01 15:19:53 BST 2007  Olly Betts <olly@survex.com>
24924         * matcher/branchpostlist.h: Don't check for NULL pointer before
24925           calling delete.
24927 Tue May 01 02:29:10 BST 2007  Olly Betts <olly@survex.com>
24929         * common/document.h,common/documentterm.h,common/multialltermslist.h,
24930           matcher/rset.cc,queryparser/queryparser.cc: Add some explicit
24931           includes for headers which were previously only implicitly included
24932           (in preparation for a forthcoming change which removes some of the
24933           implicit inclusions).
24935 Tue May 01 01:20:53 BST 2007  Olly Betts <olly@survex.com>
24937         * backends/database.cc,bin/quartzcheck.cc,docs/deprecation.rst,
24938           include/xapian/dbfactory.h,tests/api_db.cc,
24939           tests/harness/backendmanager.cc,tests/quartztest.cc: Deprecate
24940           the Quartz backend and related functions and utilities.
24942 Fri Apr 27 12:56:13 BST 2007  Olly Betts <olly@survex.com>
24944         * tests/Makefile.am: Pass '-no-install' when linking test programs,
24945           since we don't ever install them.  This means libtool doesn't need
24946           to generate shell script wrappers on most platforms.  Also prefer
24947           '$(ldflags)' to '@ldflags' as the former allows the user to override
24948           when they run 'make' which is sometimes useful.
24950 Fri Apr 27 03:44:15 BST 2007  Olly Betts <olly@survex.com>
24952         * docs/intro_ir.html: Add links for the various researchers mentioned
24953           by name.
24955 Thu Apr 26 17:57:10 BST 2007  Olly Betts <olly@survex.com>
24957         * docs/bm25.html,docs/intro_ir.html: Assorted documentation
24958           improvements.
24960 Thu Apr 26 15:43:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24962         * docs/deprecation.rst: Update with changes to Python bindings.
24964 Thu Apr 26 06:01:45 BST 2007  Olly Betts <olly@survex.com>
24966         * common/expandweight.h,matcher/expandweight.cc: Better handling of
24967           expand with multiple databases.
24969 Wed Apr 25 18:35:13 BST 2007  Olly Betts <olly@survex.com>
24971         * api/omenquire.cc: Delete nonsensical comment.
24973 Wed Apr 25 17:41:58 BST 2007  Olly Betts <olly@survex.com>
24975         * docs/deprecation.rst: Use the collective term "features" rather than
24976           overloading the term "functions".  Casual readers may miss the
24977           definition altogether, and even dedicated readers will probably
24978           already have a strong mental image of what a "function" is in the
24979           context of an API.
24981 Wed Apr 25 14:52:11 BST 2007  Olly Betts <olly@survex.com>
24983         * docs/intro_ir.html: Improve the look of the formulae.
24985 Wed Apr 25 03:56:18 BST 2007  Olly Betts <olly@survex.com>
24987         * common/omqueryinternal.h,languages/generate-allsnowballheaders.in,
24988           matcher/msetcmp.h,queryparser/queryparser_internal.h: Add missing
24989           multiple inclusion guards.
24991 Wed Apr 25 03:12:50 BST 2007  Olly Betts <olly@survex.com>
24993         * queryparser/queryparser_internal.h: Don't include <config.h> in
24994           a header file.
24996 Wed Apr 25 03:05:09 BST 2007  Olly Betts <olly@survex.com>
24998         * queryparser/queryparser.cc: Initialise `internal' member inline
24999           for consistency with other classes.
25001 Tue Apr 24 04:55:45 BST 2007  Olly Betts <olly@survex.com>
25003         * configure.ac: Add missing ')' to the error messages when zlib stuff
25004           isn't found.
25006 Tue Apr 24 02:56:57 BST 2007  Olly Betts <olly@survex.com>
25008         * backends/flint/flint_database.h,
25009           backends/inmemory/inmemory_database.h,
25010           backends/quartz/quartz_database.h: MSVC doesn't handle using
25011           properly.
25013 Tue Apr 24 01:25:34 BST 2007  Olly Betts <olly@survex.com>
25015         * matcher/bm25weight.cc,matcher/expandweight.cc: Fix typo in comments:
25016           'releveant' -> 'relevant'.
25018 Mon Apr 23 23:00:23 BST 2007  Olly Betts <olly@survex.com>
25020         * api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h,
25021           tests/api_anydb.cc,tests/api_db.cc: Deprecate
25022           Enquire::include_query_terms and Enquire::use_exact_termfreq in
25023           favour of capitalised versions Enquire::INCLUDE_QUERY_TERMS and
25024           Enquire::USE_EXACT_TERMFREQ (for consistency with our other
25025           manifest constants, and general C/C++ conventions).
25027 Mon Apr 23 18:14:20 BST 2007  Olly Betts <olly@survex.com>
25029         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Support for
25030           VLAs in C++ is a GCC extension, so eliminate the need for them.
25032 Mon Apr 23 16:32:07 BST 2007  Olly Betts <olly@survex.com>
25034         * docs/: svn:ignore deprecation.html. svn:ignore apidoc.pdf and
25035           sourcedoc.pdf rather than *.pdf.
25037 Mon Apr 23 16:08:53 BST 2007  Olly Betts <olly@survex.com>
25039         * tests/quartztest.cc: Resolve FIXME about MapTermList.
25041 Mon Apr 23 16:06:38 BST 2007  Olly Betts <olly@survex.com>
25043         * api/valuerangeproc.cc,backends/flint/flint_check.cc,
25044           backends/flint/flint_table.cc,backends/quartz/btree.cc,
25045           backends/quartz/btreecheck.cc,bin/xapian-tcpsrv.cc,examples/,
25046           languages/steminternal.h,tests/harness/testsuite.cc,
25047           tests/harness/testsuite.h,tests/stemtest.cc: Fix compilation with
25048           GCC 4.3 snapshot.
25050 Mon Apr 23 15:20:55 BST 2007  Olly Betts <olly@survex.com>
25052         * common/safeunistd.h: Comment tweaks.
25054 Mon Apr 23 11:54:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25056         * common/safeunistd.h: Include <process.h> on windows to get
25057           getpid() instead of using a #define.
25059 Mon Apr 23 11:30:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25061         * api/maptermlist.h: Fix typo in error message.
25063 Mon Apr 23 11:08:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25065         * api/maptermlist.h: Throw an InvalidOperationError() if
25066           MapTermList::get_termfreq() is called, instead of simply having
25067           Assert(false): this gets called if a term iterator is accessed
25068           for a freshly created Document, and the get_termfreq() method is
25069           called on it.  The error message is specific to this situation,
25070           since this is the only place in which MapTermList is used.
25072 Mon Apr 23 03:22:54 BST 2007  Olly Betts <olly@survex.com>
25074         * backends/flint/flint_database.cc,backends/flint/flint_lock.cc,
25075           backends/flint/flint_lock.h: Report why we failed to get a write
25076           lock on a flint database.
25078 Mon Apr 23 01:44:13 BST 2007  Olly Betts <olly@survex.com>
25080         * backends/flint/flint_version.cc: Update the flint format version
25081           since older flint versions can't read compressed tags.
25083 Mon Apr 23 01:25:25 BST 2007  Olly Betts <olly@survex.com>
25085         * configure.ac: Probe for zlib.h and -lz.
25086         * backends/flint/,bin/xapian-compact.cc: Use zlib to compress tags
25087           in the record and termlist tables.
25088         * tests/Makefile.am,tests/runtest.in,tests/valgrind.supp: Add a
25089           valgrind suppression for zlib (a known issue - for speed zlib
25090           deliberately reads past the end of the buffer in some cases).
25092 Sun Apr 22 04:24:06 BST 2007  Olly Betts <olly@survex.com>
25094         * backends/flint/: Remove documentation for blocksize_ parameters
25095           which were removed some time ago.
25097 Sun Apr 22 00:02:13 BST 2007  Olly Betts <olly@survex.com>
25099         * matcher/multimatch.cc: Track the minimum weight required to be
25100           considered for the MSet separately from the minimum item which
25101           could be considered.  Trying to combine the two is causing subtle
25102           bugs (fixed bug#86).
25104 Sun Apr 22 00:00:39 BST 2007  Olly Betts <olly@survex.com>
25106         * HACKING: Add notes about the files Omega uses from xapian-core.
25108 Sat Apr 21 23:49:58 BST 2007  Olly Betts <olly@survex.com>
25110         * queryparser/queryparser.cc: Clear the stoplist when we parse a new
25111           query.
25112         * tests/queryparsertest.cc: Add regression test.
25114 Sat Apr 21 23:27:33 BST 2007  Olly Betts <olly@survex.com>
25116         * Makefile.am,common/Makefile.mk,getopt/: Move getopt.cc from getopt/
25117           to common/.  Having a whole directory for a single source file
25118           is a bit extravagant, and putting it in common/ allows us to share a
25119           copy with omega easily.
25121 Sat Apr 21 21:38:20 BST 2007  Olly Betts <olly@survex.com>
25123         * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc,
25124           backends/quartz/quartz_log.cc,common/omdebug.h,common/safeunistd.h,
25125           tests/harness/testsuite.cc: safeunistd.h now defines getpid() to
25126           GetCurrentProcessId() for MSVC, and we now include this where we
25127           want to use getpid() rather than conditionally defining getpid().
25129 Sat Apr 21 04:13:12 BST 2007  Olly Betts <olly@survex.com>
25131         * configure.ac: Explicitly set AM_CXXFLAGS to an empty value to start
25132           with to avoid issues if it's set in the environment.  Cache the
25133           results of the test to see if the C++ compiler actually works, and
25134           in the XAPIAN_TEST_LINKER_FLAG macro.
25135         * configure.ac, include/xapian/visibility.h: Add --disable-visibility
25136           option to configure to completely disable use of -fvisibility.
25137         * INSTALL: Document all --enable-backend-* options explicitly.
25138           Document how to disable use of -fvisibility and
25139           -Bsymbolic-functions should you want/need to.  Improve wording in
25140           a few places.
25142 Fri Apr 20 19:20:23 BST 2007  Olly Betts <olly@survex.com>
25144         * HACKING,configure.ac: Revert to requiring autoconf 2.59 so that the
25145           .spec file for building RPMs can run `autoreconf' to work around a
25146           libtool bug.
25148 Fri Apr 20 18:12:51 BST 2007  Olly Betts <olly@survex.com>
25150         * docs/deprecation.rst: Document return type of ExpandDecider::Apply()
25151           and MatchDecider::Apply() in C# is now bool instead of int.
25153 Fri Apr 20 18:01:18 BST 2007  Olly Betts <olly@survex.com>
25155         * xapian.spec.in: Package xapian-check and its man page.
25157 Fri Apr 20 14:38:00 BST 2007  Olly Betts <olly@survex.com>
25159         * docs/deprecation.rst: Note changed return type of
25160           ExpandDecider::operator() and MatchDecider::operator().
25162 Fri Apr 20 14:28:39 BST 2007  Olly Betts <olly@survex.com>
25164         * include/xapian/enquire.h: MatchDecider::operator() now returns
25165           `bool' not `int'.  Remove declaraction of ExpandDecider.
25166         * include/xapian/expanddecider.h: Move declaration of ExpandDecider
25167           to here.  ExpandDecider::operator() now returns `bool' not `int'.
25168           ExpandDeciderAnd now names parameters `first' and `second' and
25169           documents the order in which they are applied (useful if you have
25170           an expensive and a cheap test).  ExpandDeciderAnd can now take
25171           parameters by reference instead of pointer.
25172         * api/Makefile.mk,include/xapian/enquire.h,api/omenquire.cc,
25173           api/expanddecider.cc: New home for definitions of virtual methods of
25174           ExpandDecider and subclasses.
25175         * api/omenquire.cc,common/expand.h,matcher/expand.cc: Eliminate
25176           internal class ExpandDeciderAlways - just test pointer against NULL
25177           instead.
25178         * tests/api_anydb.cc,tests/api_db.cc: Update for change in return
25179           type from MatchDecider::operator() and ExpandDecider::operator().
25181 Fri Apr 20 10:35:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25183         * HACKING: Add note on rules with multiple targets.
25185 Thu Apr 19 19:02:42 BST 2007  Olly Betts <olly@survex.com>
25187         * PLATFORMS: Remove reports for 0.7.* and demote reports for 0.8.* to
25188           "older reports" status.  All SF compilefarm machines are now "no
25189           longer available", so update the symbols and key to reflect this.
25191 Thu Apr 19 13:27:59 BST 2007  Olly Betts <olly@survex.com>
25193         * HACKING: Fix vim magic comment.  Add space after URL to stop
25194           '::' getting glued to it.
25196 Thu Apr 19 11:36:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25198         * HACKING: Turn syntax highlighting off, since it's broken for the
25199           restructured text in this file anyway.
25201 Thu Apr 19 03:26:28 BST 2007  Olly Betts <olly@survex.com>
25203         * backends/flint/flint_database.h,
25204           backends/inmemory/inmemory_database.h,
25205           backends/quartz/quartz_database.h:
25206           The trick of importing base class methods with 'using' breaks
25207           compilation with GCC 2.95 which doesn't issue the warning we're
25208           trying to avoid, so add a preprocessor check,
25210 Thu Apr 19 03:20:31 BST 2007  Olly Betts <olly@survex.com>
25212         * common/progclient.h,net/progclient.cc: Always use pid_t not int for
25213           holding a process id.
25215 Thu Apr 19 01:08:57 BST 2007  Olly Betts <olly@survex.com>
25217         * docs/deprecation.rst: Update '#callable' footnote.
25219 Thu Apr 19 00:07:02 BST 2007  Olly Betts <olly@survex.com>
25221         * backends/flint/flint_database.h,
25222           backends/inmemory/inmemory_database.h,
25223           backends/quartz/quartz_database.h: Add using declarations to
25224           subclasses of Xapian::Database::Internal which don't override the
25225           term forms of delete_document() and replace_document() to prevent
25226           compiler warnings about these methods being hidden.
25228 Wed Apr 18 23:22:29 BST 2007  Olly Betts <olly@survex.com>
25230         * net/remoteconnection.cc: Remove code which can't actually be
25231           reached, which fixes a warning in the mingw build.
25233 Wed Apr 18 23:07:45 BST 2007  Olly Betts <olly@survex.com>
25235         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
25236           include/xapian/enquire.h,matcher/Makefile.mk,
25237           matcher/biaspostlist.h,matcher/multimatch.cc,net/remoteserver.cc:
25238           Remove Enquire::set_bias().
25239         * docs/deprecation.rst: Update wrt Enquire::set_bias().  Fix typo.
25241 Wed Apr 18 18:51:42 BST 2007  Olly Betts <olly@survex.com>
25243         * configure.ac: Require autoconf 2.60 or newer.  Drop docdir
25244           compatibility hack which is no longer required.
25245         * HACKING: Document requirement.  Fix typo (or out-of-date info) for
25246           automake requirement (we require 1.9.5 not 1.8.5).
25248 Wed Apr 18 18:27:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25250         * docs/deprecation.rst: Note the deprecation of get_description()
25251           methods for Python.
25253 Wed Apr 18 14:57:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25255         * HACKING: Minimal changes to make this into valid restructured
25256           text.
25258 Wed Apr 18 11:27:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25260         * configure.ac: Require autoconf version 2.59c or later:
25261           AC_TYPE_SSIZE_T isn't present in earlier versions.
25263 Wed Apr 18 11:08:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25265         * docs/deprecation.rst: Fix table formatting error
25267 Wed Apr 18 01:32:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25269         * docs/deprecation.rst: Update with methods which have been removed
25270           from the bindings.
25272 Wed Apr 18 00:24:00 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25274         * docs/deprecation.rst: Move methods which have just been removed
25275           from the list of deprecated methods to the list of removed
25276           methods.
25278 Tue Apr 17 23:58:53 BST 2007  Olly Betts <olly@survex.com>
25280         * api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/,
25281           languages/stem.cc,tests/api_db.cc: Remove methods we're deprecating
25282           for 1.0.
25284 Tue Apr 17 23:50:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25286         * docs/deprecation.rst: Note that is_empty() is not deprecated for
25287           PHP after all!
25289 Tue Apr 17 22:17:41 BST 2007  Olly Betts <olly@survex.com>
25291         * queryparser/queryparser.lemony: GCC 2.95 doesn't support
25292           std::string::clear(), so use resize(0) instead.
25293         * HACKING: Document the above issue in a reworked section on C++
25294           STL features.  Update the section on safeXXX.h headers.
25296 Tue Apr 17 22:07:39 BST 2007  Olly Betts <olly@survex.com>
25298         * common/safesysselect.h: Correct typo in #error message.
25300 Tue Apr 17 19:18:00 BST 2007  Olly Betts <olly@survex.com>
25302         * configure.ac: Factor out code to test for a linker flag into macro
25303           XAPIAN_TEST_LINKER_FLAG.  With g++, use XAPIAN_TEST_LINKER_FLAG to
25304           see if -Bsymbolic-functions is supported (it requires a very recent
25305           version of ld currently).  This option reduces the size and load
25306           time of the shared library by resolving references within the
25307           library when it's created.  Currently untested on a box which
25308           supports -Bsymbolic-functions.
25310 Tue Apr 17 12:01:46 BST 2007  Olly Betts <olly@survex.com>
25312         * unicode/utf8itor.cc: Tidy up code layout.
25314 Tue Apr 17 02:06:39 BST 2007  Olly Betts <olly@survex.com>
25316         * include/xapian/unicode.h,unicode/utf8itor.cc: Make nonascii_to_utf8
25317           a public method.  Make get_case_type(), get_category(), and
25318           get_delta() internal, but provide a public get_category() function
25319           which takes a Unicode character value.
25321 Tue Apr 17 02:05:32 BST 2007  Olly Betts <olly@survex.com>
25323         * backends/flint/Makefile.mk: Distribute flint_check.h.
25325 Tue Apr 17 01:47:05 BST 2007  Olly Betts <olly@survex.com>
25327         * tests/api_posdb.cc: The remote backend now supports all database
25328           operations, so merge localpositionaldb_tests into
25329           positionaldb_tests.
25330         * tests/: Remove the trivial separate api_XXXdb.h headers, some of
25331           which were out-of-step with their respective .cc sources.  Instead
25332           just keep the array external declarations in apitest.h.
25333         * tests/apitest.h,tests/api_transdb.cc: Move TESTCASE and
25334           END_OF_TESTCASES macros into header.
25335         * tests/api_db.cc: Remove test collapsekey2 - it's only relevant for
25336           the Muscat 3.6 backend, so it's unused now that has been removed.
25337         * tests/: Add unicode tests, adapted from Omega's utftest.
25339 Tue Apr 17 00:14:16 BST 2007  Olly Betts <olly@survex.com>
25341         * Makefile.am,include/Makefile.mk,include/xapian.h,
25342           include/xapian/unicode.h,queryparser/,unicode/: Expose Unicode and
25343           UTF-8 related classes and functions as a public API.
25345 Mon Apr 16 16:06:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25347         * docs/deprecation.rst: Bring document fully up-to-date, listing
25348           all the planned deprecations for the bindings.  Also, include the
25349           full upgrade notes in the listings, so they can be preserved
25350           accessibly for posterity.  I even retrieved the notes for the
25351           already-removed QueryParser::set_stemming_options from 0.9.10.
25353 Mon Apr 16 11:36:18 BST 2007  Olly Betts <olly@survex.com>
25355         * net/tcpclient.cc: Call WSAGetLastError() instead of socket_errno()
25356           when we want to compare the result against WSAEWOULDBLOCK.
25358 Mon Apr 16 11:19:21 BST 2007  Olly Betts <olly@survex.com>
25360         * common/remoteconnection.h,common/safewinsock2.h: Need to negate the
25361           POSIX error codes we define in terms of winsock ones.
25363 Fri Apr 13 16:24:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25365         * docs/doxygen_api_conf.in: Turn on XML output, so that we can use
25366           it to populate docstrings for the python bindings.
25368 Fri Apr 13 11:38:39 BST 2007  Olly Betts <olly@survex.com>
25370         * backends/Makefile.mk,backends/alltermslist.cc,common/alltermslist.h:
25371           Split AllTermsList into header and code.  AllTermsList::get_wdf()
25372           now throws InvalidOperationError() rather than asserting in a
25373           debug build and returning 0 in a non-debug build.
25374         * backends/Makefile.mk: Correct list for "how to add a new backend".
25376 Fri Apr 13 10:17:46 BST 2007  Olly Betts <olly@survex.com>
25378         * api/version.cc: Simpler and cleaner fix - the prototypes for the
25379           version functions had moved from xapian/version.h to xapian.h so we
25380           were including the wrong header and not seeing the prototypes with
25381           visibility markup!
25383 Fri Apr 13 09:29:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25385         * api/version.cc: Add visibility annotations to definitions of
25386           version functions: the annotation apparently needs to be applied
25387           to the definition as well as the declaration or it is ignored:
25388           possibly the annotation on the declaration is ignored anyway,
25389           but it should be kept there for documentation purposes in any
25390           case.  Fixes link error with bindings under gcc 4.1.
25392 Fri Apr 13 01:39:57 BST 2007  Olly Betts <olly@survex.com>
25394         * common/remoteconnection.h,net/progclient.cc,net/remoteconnection.cc:
25395           GetLastError() has an unsigned return type, so need to cast to int
25396           before negating.
25398 Fri Apr 13 01:39:20 BST 2007  Olly Betts <olly@survex.com>
25400         * docs/deprecation.rst: Add xapian_version_string() and friends.
25402 Fri Apr 13 01:24:53 BST 2007  Olly Betts <olly@survex.com>
25404         * tests/api_nodb.cc: More 'tout' output.
25406 Fri Apr 13 01:19:20 BST 2007  Olly Betts <olly@survex.com>
25408         * api/Makefile.mk,api/error.cc,bin/xapian-tcpsrv.cc,
25409           common/remoteconnection.h,common/safeerrno.h,configure.ac,
25410           generate-exceptions.in,net/,tests/harness/testsuite.cc: On
25411           MS Windows, if Xapian::Error::my_errno is the result of
25412           GetLastError() or WSAGetLastError(), negate it (the error codes can
25413           overlap with errno codes).  On UNIX, put h_errno negated in my_errno
25414           if a call to gethostbyname() fails.  Add
25415           Xapian::Error::get_error_string() method which decodes my_errno
25416           in the appropriate way to give a string, and use this instead of
25417           strerror(error.get_errno()).
25419 Fri Apr 13 01:17:08 BST 2007  Olly Betts <olly@survex.com>
25421         * languages/generate-allsnowballheaders.in: win32 makefiles don't keep
25422           the snowball header list in sorted order like we do, so fix that
25423           here.  Also allow for '\' as path separator.
25425 Fri Apr 13 00:58:09 BST 2007  Olly Betts <olly@survex.com>
25427         * tests/api_nodb.cc: Add "tout" debug output to stemlangs1.
25429 Thu Apr 12 21:37:04 BST 2007  Olly Betts <olly@survex.com>
25431         * tests/Makefile.am: Add support for QUIET= and QUIET=y arguments to
25432           "make".
25434 Thu Apr 12 21:35:50 BST 2007  Olly Betts <olly@survex.com>
25436         * docs/Makefile.am: Use a substitution for RSTHTML (like we do for the
25437           snowball generated sources).
25439 Thu Apr 12 20:41:18 BST 2007  Olly Betts <olly@survex.com>
25441         * api/omqueryinternal.cc: Add validate_query() calls to the "term" and
25442           "value range" constructors.
25444 Thu Apr 12 20:00:14 BST 2007  Olly Betts <olly@survex.com>
25446         * api/omqueryinternal.cc,include/xapian/query.h: Only validate a
25447           Query object when it's either constructed or changed to avoid O(n^2)
25448           behaviour in some cases.
25450 Thu Apr 12 19:59:13 BST 2007  Olly Betts <olly@survex.com>
25452         * queryparser/lemon.c: Fix nasty function casting for argument to
25453           qsort - it's (at least technically) not portable.
25455 Thu Apr 12 17:47:47 BST 2007  Olly Betts <olly@survex.com>
25457         * configure.ac: Fix GCC version test to only turn on
25458           -fvisibility=hidden for GCC >= 4.
25460 Thu Apr 12 16:47:56 BST 2007  Olly Betts <olly@survex.com>
25462         * backends/flint/flint_btreebase.h,backends/flint/flint_cursor.h,
25463           backends/flint/flint_table.h,backends/quartz/,common/,configure.ac,
25464           generate-exceptions.in,include/Makefile.mk,include/xapian.h,
25465           include/xapian/: Add visibility annotations to the library, which
25466           when using GCC >= 4 reduces the size and load time of the library
25467           and increase the runtime speed a little.  Under x86_64, the stripped
25468           library is 6.4% smaller (1.5% smaller with debug information).
25470 Thu Apr 12 16:45:57 BST 2007  Olly Betts <olly@survex.com>
25472         * api/version.cc: Add missing "#include <config.h>".
25474 Thu Apr 12 13:41:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25476         * tests/quartztest.cc: Put removedir() function back for now to fix
25477           build.
25479 Thu Apr 12 13:02:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25481         * net/progclient.cc: Some (but not all) versions of MSVC need
25482           "#include <io.h>" to get the _open_osfhandle identifier.  Add it.
25484 Thu Apr 12 12:00:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25486         * backends/remote/net_postlist.cc: Include config.h
25488 Thu Apr 12 11:54:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25490         * backends/multi/multi_termlist.cc: Include config.h to get system
25491           specific defines.
25492         * common/safesysstat.h: Change signature of mkdir to take mode_t
25493           instead of int, to match unixy definition.
25495 Thu Apr 12 10:19:49 BST 2007  Olly Betts <olly@survex.com>
25497         * configure.ac: Probe for mode_t.
25499 Thu Apr 12 01:10:18 BST 2007  Olly Betts <olly@survex.com>
25501         * backends/flint/flint_positionlist.cc: Move BitReader class inside
25502           Xapian namespace to avoid namespace pollution.
25503         * bin/xapian-check.cc: Include BitReader::decode_interpolative()
25504           - previously we were relying on using the copy from the library.
25506 Thu Apr 12 01:02:53 BST 2007  Olly Betts <olly@survex.com>
25508         * common/safesysstat.h: Under __WIN32__, provide a POSIX-like mkdir()
25509           wrapper which takes 2 arguments, but ignores the file mode, so we
25510           can just call mkdir with a mode argument everywhere.
25511         * common/utils.h: Remove special case handling of mkdir.
25512         * bin/xapian-compact.cc: Replace uses of om_tostring() with a call
25513           to sprintf.  No longer need to `#include "utils.h"'.
25515 Thu Apr 12 00:44:18 BST 2007  Olly Betts <olly@survex.com>
25517         * api/,backends/inmemory/inmemory_positionlist.cc,common/,matcher/,
25518           net/remoteconnection.cc,net/serialise.cc: omdebug.h only includes
25519           omassert.h for the trivial "STRINGIZE" macro, so just duplicate
25520           that rather than pulling in an extra header everywhere.  Then fix
25521           up the two dozen files which were relying on this implicit
25522           inclusion!
25524 Thu Apr 12 00:10:48 BST 2007  Olly Betts <olly@survex.com>
25526         * tests/harness/testsuite.cc: Tweak #ifdef XAPIAN_DEBUG_VERBOSE to
25527           include DEBUGLINE() for clarity (no change in behaviour).
25529 Wed Apr 11 23:36:10 BST 2007  Olly Betts <olly@survex.com>
25531         * queryparser/queryparser.lemony: Fix regression introduced by
25532           Richard's change, and restructure to make the handling for each case
25533           more obvious.
25534         * tests/queryparsertest.cc: Add a couple of testcases for the
25535           regression.
25536         * queryparser/queryparser_internal.h: Remove reference to "bool" in
25537           comment which no longer applies.
25539 Wed Apr 11 21:25:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25541         * queryparser/queryparser_internal.h: Refactor boolean "flag"
25542           member in BoolAndString class into an enum of possible prefix
25543           types.  Rename "flag" to "type".  Rename BoolAndString to
25544           PrefixInfo.
25545         * queryparser/queryparser.cc: Change add_prefix() and
25546           add_boolean_prefix() to match changes to queryparser_internal.h
25547         * queryparser/queryparser.lemony: Refactor handling of prefixed
25548           terms to match queryparser_internal, and to use a switch()
25549           structure: no functional changes, but code is considerably more
25550           readable (I hope).
25552 Wed Apr 11 21:13:31 BST 2007  Olly Betts <olly@survex.com>
25554         * tests/api_db.cc,tests/quartztest.cc: Rework quartztest's "open1"
25555           into API level tests for quartz and flint in apitest.
25557 Wed Apr 11 14:01:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25559         * docs/deprecation.rst: Remove documentation of the "#define
25560           XAPIAN_DEPRECATED(D) D" hack, and clarify documentation on how
25561           long we support deprecated functions.
25563 Wed Apr 11 09:25:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25565         * docs/Makefile.am,docs/deprecation.rst: Add initial draft of
25566           deprecation policy document, with list of all API items currently
25567           marked for deprecation.
25568         * HACKING: Add note about keeping deprecation.rst up-to-date when
25569           making a release.
25571 Tue Apr 10 19:07:24 BST 2007  Olly Betts <olly@survex.com>
25573         * configure.ac: --enable-quiet now uses AS_HELP_STRING.
25575 Tue Apr 10 18:53:32 BST 2007  Olly Betts <olly@survex.com>
25577         * tests/harness/index_utils.cc: Return the empty document we already
25578           have rather than constructing another.
25580 Tue Apr 10 17:45:11 BST 2007  Olly Betts <olly@survex.com>
25582         * net/remoteconnection.cc: Fix typo in comment.
25584 Tue Apr 10 17:35:57 BST 2007  Olly Betts <olly@survex.com>
25586         * tests/harness/backendmanager.cc: Fix "if" to "is" typo in 3
25587           comments.
25589 Tue Apr 10 16:46:09 BST 2007  Olly Betts <olly@survex.com>
25591         * tests/harness/backendmanager.cc: Define XAPIAN_TCPSRV and
25592           XAPIAN_PROGSRV under UNIX too, and use them everywhere.
25594 Tue Apr 10 16:33:48 BST 2007  Olly Betts <olly@survex.com>
25596         * tests/harness/backendmanager.h: Remove "BackendManager::" from
25597           method declaration.
25599 Tue Apr 10 15:35:50 BST 2007  Olly Betts <olly@survex.com>
25601         * configure.ac: Define HAVE_SOCKETPAIR if we have socketpair().
25603 Tue Apr 10 15:29:49 BST 2007  Olly Betts <olly@survex.com>
25605         * net/progclient.cc: Fix #endif placement so it compiles on UNIX.
25607 Tue Apr 10 14:18:06 BST 2007  Olly Betts <olly@survex.com>
25609         * net/remoteconnection.cc: Remove debugging code.
25611 Tue Apr 10 12:57:51 BST 2007  Olly Betts <olly@survex.com>
25613         * backends/dbfactory_remote.cc,common/progclient.h,net/progclient.cc,
25614           net/remoteconnection.cc,tests/api_db.cc,tests/apitest.cc,
25615           tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
25616           Add support for the "prog" variant of the remote backend (patch
25617           started by me, finished by Mark Hammond).
25619 Tue Apr 10 12:23:46 BST 2007  Olly Betts <olly@survex.com>
25621         * api/omqueryinternal.cc,backends/inmemory/inmemory_database.cc,
25622           backends/quartz/quartz_alldocspostlist.cc,matcher/localmatch.cc,
25623           matcher/multimatch.cc,tests/harness/testutils.cc: Prefer
25624           `CONTAINER.empty()' to `CONTAINER.size() == 0'.
25626 Tue Apr 10 12:09:45 BST 2007  Olly Betts <olly@survex.com>
25628         * api/omqueryinternal.cc: Tighten up an assertion.
25630 Mon Apr 09 20:56:23 BST 2007  Olly Betts <olly@survex.com>
25632         * configure.ac,tests/harness/backendmanager.cc,tests/runsrv.in,
25633           tests/runtest.in: Run the remote backend server using new "runsrv"
25634           script instead of "runtest".  This doesn't echo anything to stdout,
25635           and if valgrind is in use, runs the remote server under
25636           "--tool=none" which is much quicker than using valgrind's default
25637           memcheck tool (we need to run the remote server under valgrind
25638           because valgrind's emulation of excess FP precision isn't exact and
25639           otherwise we get tests failing because of these differences).
25641 Mon Apr 09 20:24:30 BST 2007  Olly Betts <olly@survex.com>
25643         * tests/api_anydb.cc,tests/api_nodb.cc: Move test poscollapse2 to the
25644           "no database" category, since it doesn't require a database!
25646 Mon Apr 09 18:04:40 BST 2007  Olly Betts <olly@survex.com>
25648         * docs/remote_protocol.html: Correct documentation - MSG_REOPEN gives
25649           a response of REPLY_UPDATE.
25651 Mon Apr 09 15:08:44 BST 2007  Olly Betts <olly@survex.com>
25653         * ./: svn:eol-style not svn:eolstyle.
25655 Mon Apr 09 15:00:30 BST 2007  Olly Betts <olly@survex.com>
25657         * ./: Set svn:eolstyle to native for most text files.
25659 Mon Apr 09 14:50:40 BST 2007  Olly Betts <olly@survex.com>
25661         * backends/flint/flint_database.cc: Delete the corresponding entry
25662           (if any) from doclens in delete_document().  Add assertion to
25663           add_document_() that the corresponding entry in doclens isn't
25664           already set, but in a non-debug build overwrite any existing
25665           entry as that's more likely to be correct.
25666         * backends/quartz/quartz_database.cc: Ditto.
25668 Mon Apr 09 14:08:55 BST 2007  Olly Betts <olly@survex.com>
25670         * backends/quartz/quartz_database.cc: Just assign to doclens[did].
25672 Mon Apr 09 14:06:58 BST 2007  Olly Betts <olly@survex.com>
25674         * backends/flint/flint_database.cc: Just assign to doclens[did].
25676 Mon Apr 09 11:29:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25678         * backends/quartz/quartz_database.cc: Apply same change to quartz.
25680 Mon Apr 09 11:24:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25682         * backends/flint/flint_database.cc: Fix bug with document lengths
25683           in replace document.  Was using doclens.insert() to set the new
25684           document length, but this has no effect if the entry already
25685           exists.  This fixes replacedoc3 for flint (and thus for remote
25686           databases), but the same change is needed for quartz.
25687         * backends/flint/flint_postlist.cc: Add some debugging lines.
25689 Mon Apr 09 01:43:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25691         * backends/flint/: Add some more debugging messages to help track
25692           down the problem with document lengths shown up by previous
25693           change.
25695 Mon Apr 09 01:40:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25697         * tests/api_wrdb.cc: Add asserts to check that the value of
25698           get_doclength() on the database and on the posting list are
25699           correct.  Currently fails with the value from the posting list
25700           for the document which has been replaced (or sooner if assertions
25701           are turned on).
25703 Sun Apr 08 23:24:20 BST 2007  Olly Betts <olly@survex.com>
25705         * Makefile.am,configure.ac: `./configure --enable-quiet' allows you to
25706           specify at configure time to pass `--quiet' to libtool.  Now you can
25707           override this at make-time by using `make QUIET=' (to turn off
25708           `--quiet') or `make QUIET=y' (to turn on `--quiet').
25710 Sun Apr 08 23:23:50 BST 2007  Olly Betts <olly@survex.com>
25712         * HACKING: Mention AssertEqParanoid and AssertNeParanoid.
25714 Sun Apr 08 22:45:45 BST 2007  Olly Betts <olly@survex.com>
25716         * common/omassert.h: Add AssertEqParanoid and AssertNeParanoid macros.
25717         * backends/flint/flint_table.cc,backends/inmemory/inmemory_database.cc,
25718           backends/multi/multi_postlist.cc,backends/quartz/btree.cc: Use them.
25719         * backends/multi/multi_postlist.cc: Add extra assertions to
25720           MultiPostList::get_doclength().
25722 Sun Apr 08 22:16:11 BST 2007  Olly Betts <olly@survex.com>
25724         * configure.ac: Fix typos: `AC_CHECK_SSIZE_T' -> `AC_TYPE_SSIZE_T';
25725           `AC_CHECK_PID_T' -> `AC_TYPE_PID_T'.
25727 Sun Apr 08 22:04:54 BST 2007  Olly Betts <olly@survex.com>
25729         * HACKING: Snapshots and releases are now generated with autoconf 2.61.
25731 Sun Apr 08 21:42:03 BST 2007  Olly Betts <olly@survex.com>
25733         * configure.ac: Use AC_CHECK_SSIZE_T instead of our own test.  Add
25734           AC_CHECK_PID_T for any platforms which don't have `pid_t'.
25735         * net/tcpserver.cc: Use `pid_t' instead of `int'.
25736         * common/progclient.h,net/progclient.cc: Cleaner rewritten version of
25737           progclient.h.
25739 Sun Apr 08 19:59:43 BST 2007  Olly Betts <olly@survex.com>
25741         * backends/flint/flint_lock.cc: If kill() fails, don't bother calling
25742           waitpid().
25744 Sun Apr 08 19:41:11 BST 2007  Olly Betts <olly@survex.com>
25746         * net/remoteconnection.cc: Don't explicitly pass "0" for errno.
25748 Sun Apr 08 16:58:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25750         * queryparser/queryparser.lt: Fix warnings in debugging builds on
25751           gcc 4.1 due to comparison of signed and unsigned types.  Also,
25752           use the ParseTokenName function instead of explicitly doing a
25753           range check each time an entry is looked up in yyTokenName, and
25754           add a ParseRuleName function for looking up things in yyRuleName,
25755           and use it similarly.
25757 Sun Apr 08 15:55:42 BST 2007  Olly Betts <olly@survex.com>
25759         * configure.ac: Fix lingering references to enable_debug.
25761 Sun Apr 08 15:48:13 BST 2007  Olly Betts <olly@survex.com>
25763         * tests/api_anydb.cc,tests/api_wrdb.cc: Remove hacks to automatically
25764           SKIP tests which failed because of lack of support for some features
25765           by the remote backend.
25767 Sun Apr 08 15:14:11 BST 2007  Olly Betts <olly@survex.com>
25769         * queryparser/queryparser.lemony,queryparser/queryparser.lt: More
25770           tweaks.
25772 Sun Apr 08 15:04:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25774         * queryparser/queryparser.lt: Always include "omdebug.h", and put
25775           one of the pieces of debugging code in #ifdef
25776           XAPIAN_DEBUG_VERBOSE, to fix non-logging message builds.
25778 Sun Apr 08 14:23:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25780         * docs/remote_protocol.html: Update for protocol version 27 by
25781           adding documentation for MSG_POSTLIST and replies.  Also, fix a
25782           typo.
25784 Sun Apr 08 13:50:20 BST 2007  Olly Betts <olly@survex.com>
25786         * common/omdebug.h,queryparser/queryparser.lemony,
25787           queryparser/queryparser.lt: Hook the debug tracing in the lemon
25788           generated parser into Xapian's debug logging framework.
25790 Sun Apr 08 12:35:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25792         * backends/remote/,common/remote-database.h,common/remoteprotocol.h,
25793           common/remoteserver.h,net/remoteserver.cc: Implement postlists
25794           for the remote database.  Increases
25795           XAPIAN_REMOTE_PROTOCOL_VERSION to 27.
25797 Sun Apr 08 12:33:02 BST 2007  Olly Betts <olly@survex.com>
25799         * HACKING,INSTALL,configure.ac: Rename --enable-debug* - conflating the
25800           options to "turn on assertions" and "turn on logging" still confuses
25801           me to the extent I need to read the documentation every time I use
25802           them.  `--enable-debug[=partial]' become `--enable-assertions';
25803           `--enable-debug-verbose' becomes `--enable-log' and
25804           `--enable-debug=full' becomes `--enable-assertions --enable-log'.
25805           For now the old options give an error telling you the new
25806           equivalent.
25808 Sun Apr 08 10:45:40 BST 2007  Olly Betts <olly@survex.com>
25810         * configure.ac: Eliminate use_quiet - just use enable_quiet instead.
25812 Fri Apr 06 19:06:07 BST 2007  Olly Betts <olly@survex.com>
25814         * net/progclient.cc: Close stderr of the spawned backend program.
25816 Fri Apr 06 18:59:24 BST 2007  Olly Betts <olly@survex.com>
25818         * net/progclient.cc: msecs_timeout_ -> msecs_timeout.
25820 Fri Apr 06 18:12:36 BST 2007  Olly Betts <olly@survex.com>
25822         * net/remoteconnection.cc: Fix comment grammar.
25824 Fri Apr 06 18:10:31 BST 2007  Olly Betts <olly@survex.com>
25826         * net/remoteconnection.cc: Deal with the exceptional case first.
25828 Fri Apr 06 17:51:20 BST 2007  Olly Betts <olly@survex.com>
25830         * net/remoteconnection.cc: Use string::append(ptr, size) in preference
25831           to string::append(ptr, ptr + size).
25833 Fri Apr 06 11:45:39 BST 2007  Olly Betts <olly@survex.com>
25835         * api/omqueryinternal.cc,backends/flint/flint_database.cc,
25836           backends/flint/flint_database.h,backends/flint/flint_postlist.cc,
25837           backends/inmemory/inmemory_database.cc,
25838           backends/inmemory/inmemory_database.h,
25839           backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
25840           backends/quartz/quartz_postlist.cc,
25841           backends/remote/remote-database.cc,common/database.h,
25842           common/remote-database.h: Refactor to eliminate do_open_post_list
25843           and any unnecessary call to term_exists().
25845 Fri Apr 06 11:44:25 BST 2007  Olly Betts <olly@survex.com>
25847         * tests/api_wrdb.cc: Just use TEST on a boolean value rather than
25848           TEST_EQUAL against true/false.
25850 Fri Apr 06 08:53:46 BST 2007  Olly Betts <olly@survex.com>
25852         * net/remoteserver.cc: Remove "N" which we calculate but never use!
25854 Fri Apr 06 08:17:00 BST 2007  Olly Betts <olly@survex.com>
25856         * backends/flint/Makefile.mk,backends/flint/flint_check.cc,
25857           backends/flint/flint_check.h,bin/Makefile.mk,bin/xapian-check.cc:
25858           Fix xapian-check not to use libquartzcheck.la.
25860 Fri Apr 06 07:20:47 BST 2007  Olly Betts <olly@survex.com>
25862         * bin/Makefile.mk,bin/xapian-check.cc: Add new "xapian-check" program
25863           which performs consistency checks on a flint database.
25865 Fri Apr 06 06:25:36 BST 2007  Olly Betts <olly@survex.com>
25867         * bin/quartzcheck.cc: Test if this is a quartz database by looking at
25868           "meta" not "record_DB".  If "record_DB" is >= 2GB and we don't have
25869           a LFS aware stat function then stat can fail even though the file is
25870           there.  Also open the database explicitly as a Quartz database for
25871           extra robustness.
25873 Fri Apr 06 06:23:33 BST 2007  Olly Betts <olly@survex.com>
25875         * AUTHORS: Thank Daniel Ménard.
25877 Thu Apr 05 18:20:53 BST 2007  Olly Betts <olly@survex.com>
25879         * tests/harness/testsuite.cc: No need to explicitly initialise
25880           std::string to ""; not doing so results in a smaller object
25881           file.
25883 Thu Apr 05 18:20:12 BST 2007  Olly Betts <olly@survex.com>
25885         * common/remoteprotocol.h: Note other changes in protocol version 26.
25887 Thu Apr 05 17:34:10 BST 2007  Olly Betts <olly@survex.com>
25889         * tests/runtest.in: Pass "--leak-resolution=high" to valgrind to
25890           prevent unrelated leak reports related to STL classes from being
25891           combined.
25893 Thu Apr 05 17:26:39 BST 2007  Olly Betts <olly@survex.com>
25895         * tests/api_wrdb.cc: Remove stray line left over from debugging.
25897 Thu Apr 05 16:47:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25899         * tests/internaltest.cc: Fix test_serialiselength2: implementation
25900           was correct, but test was failing.  Needed special casing for n=0
25901           and 1, and was using arguments to string::append(size_type,
25902           charT) the wrong way round (stupid C++ API).  Also, make it check
25903           the return value of decode_length(), since we know what the
25904           answer ought to be.
25906 Thu Apr 05 14:26:30 BST 2007  Olly Betts <olly@survex.com>
25908         * api/omqueryinternal.cc,backends/remote/remote-database.cc,
25909           common/serialise.h,net/remoteserver.cc,net/serialise.cc,
25910           tests/internaltest.cc: Add a flag parameter to decode_length()
25911           to indicate if the decoded value indicates the length of a
25912           string in the protocol stream, and if it does, check it against
25913           p_end - p after the length has been decoded (fixes bug#117).
25915 Thu Apr 05 14:08:02 BST 2007  Olly Betts <olly@survex.com>
25917         * tests/api_wrdb.cc: In test uniqueterm1, check the document length
25918           after every delete or replace for better coverage.
25920 Thu Apr 05 12:41:04 BST 2007  Olly Betts <olly@survex.com>
25922         * net/serialise.cc: Encode deltas between docids (rather than the
25923           docids themselves) in the RSet serialisation which reduces the
25924           size of the encoding if a lot of large docids with small gaps
25925           between them are present.
25926         * backends/remote/remote-database.cc,net/remoteserver.cc: Encode
25927           deltas between termpositions in REPLY_POSITIONLIST, for similar
25928           reasons.  No need to encode the term length for
25929           MSG_DELETEDOCUMENTTERM as it's the last (indeed only) item, and more
25930           consistent not to.
25931         * common/remoteprotocol.h: Bump protocol version to 26.
25932         * docs/remote_protocol.html: Document the new messages
25933           MSG_DELETEDOCUMENTTERM and MSG_REPLACEDOCUMENTTERM.  Correct
25934           reference to REPLY_DOCUMENT to REPLY_DOCDATA.  Fix documentation for
25935           MSG_QUERY to include the serialised Weight and RSet objects.  Fix
25936           "copy and paste" error in the description of Flush (should of course
25937           be MSG_FLUSH not MSG_CANCEL).  Update for changes above.
25939 Thu Apr 05 12:18:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25941         * backends/database.cc: Keep a RefCntPtr to the LeafPostList used
25942           in implementations of delete_document and replace_document with a
25943           unique term, so that the postlist isn't leaked.
25945 Thu Apr 05 11:56:57 BST 2007  Olly Betts <olly@survex.com>
25947         * backends/database.cc: Database::Internal can't call the
25948           PostingIterator(PostingIterator::Internal*) ctor (at least under
25949           g++ 3.3.5) because it isn't a friend (only class Database is).
25950           Can't seem to forward define Database::Internal to make
25951           Database::Internal a friend so just use LeafPostList directly
25952           as that seems less bad than pulling in the whole of database.h
25953           or making PostingIterator::internal public.
25955 Thu Apr 05 08:27:26 BST 2007  Olly Betts <olly@survex.com>
25957         * HACKING: Need to run svn-tag-release on ixion.
25959 Thu Apr 05 01:50:10 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25961         * backends/remote/remote-database.cc,common/remote-database.h,
25962           common/remoteprotocol.h,common/remoteserver.h,net/remoteserver.cc:
25963           Implement unique term variants of delete and replace document for
25964           the remote database.  Involves adding two new message types to the
25965           protocol (and therefore bumping the protocol version to 25), and
25966           overriding the standard implementations of delete_document(term)
25967           and replace_document(term) in RemoteDatabase.
25968         * tests/api_wrdb.cc: Correct text in SKIP_TEST() message.
25970 Thu Apr 05 01:04:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25972         * api/omdatabase.cc,backends/database.cc,common/database.h: Move
25973           implementation of delete_document and replace_document with a
25974           unique_term from WritableDatabase to Xapian::Database::Internal.
25975           This will allow it to be overridden for databases which need a
25976           special implementation (such as the remote database).
25978 Tue Apr 03 14:30:45 BST 2007  Olly Betts <olly@survex.com>
25980         * common/remote-database.h: Remove unused and undefined method
25981           RemoteDatabase::get_spawned_socket().
25983 Tue Apr 03 09:18:51 BST 2007  Olly Betts <olly@survex.com>
25985         * tests/harness/backendmanager.cc: Under __WIN32__, launch
25986           xapian-tcpsrv as a child process communicating via a pipe and handle
25987           the port being already in use by trying the next port up (as we do
25988           under UNIX).
25990 Tue Apr 03 06:50:48 BST 2007  Olly Betts <olly@survex.com>
25992         * net/tcpserver.cc: For __WIN32__ and __CYGWIN__, use
25993           SO_EXCLUSIVEADDRUSE (if available) on on listening sockets for
25994           xapian-tcpsrv.
25996 Tue Apr 03 04:37:02 BST 2007  Olly Betts <olly@survex.com>
25998         * include/xapian/positioniterator.h,include/xapian/postingiterator.h:
25999           Fix mangled comment start in (C) headers.
26001 Tue Apr 03 03:27:12 BST 2007  Olly Betts <olly@survex.com>
26003         * include/xapian/,generate-exceptions.in: Mark the following
26004           constructors 'explicit': DocIDWrapper(docid), TermPosWrapper(const
26005           std::string &), Query::Internal(const std::string &), Database(const
26006           std::string &), all Error subclass constructors taking const
26007           std::string &.  Only the Database and Error subclass changes should
26008           be able to affect user code at all.
26009         * include/xapian/,api/omenquire.cc: Make the following methods
26010           'const': RSet::contains(MSetIterator), Enquire::get_query().  This
26011           shouldn't affect the validity of any user code.
26013 Mon Apr 02 11:44:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26015         * HACKING: Add note on "Building from SVN on Windows with MSVC"
26017 Mon Apr 02 11:32:51 BST 2007  Olly Betts <olly@survex.com>
26019         * api/omqueryinternal.cc: Fix assertion to allow for OP_VALUE_RANGE.
26021 Mon Apr 02 11:14:10 BST 2007  Olly Betts <olly@survex.com>
26023         * autoconf/rjb_find_stlport.m4: Fix check that the user didn't say
26024           `./configure --with-stlport-compiler' (without `=gcc' or similar
26025           after it).
26027 Mon Apr 02 10:38:35 BST 2007  Olly Betts <olly@survex.com>
26029         * tests/api_db.cc,tests/apitest.cc: Under __WIN32__ disable tests
26030           which require the prog variant of the remote backend.
26032 Mon Apr 02 09:44:13 BST 2007  Olly Betts <olly@survex.com>
26034         * net/tcpserver.cc: Don't use SO_REUSEADDR under __CYGWIN__ or
26035           __WIN32__ as it has incorrect semantics.
26037 Mon Apr 02 09:37:14 BST 2007  Olly Betts <olly@survex.com>
26039         * tests/harness/backendmanager.cc: Pull `1239' out as `DEFAULT_PORT'.
26040           On Windows, cycle through 10 ports starting at DEFAULT_PORT so that
26041           we can have multiple databases open at once.  Add a monotonic count
26042           to the name of the log file created from the output of each
26043           xapian-tcpsrv to avoid failures because the log file is already
26044           open.
26046 Mon Apr 02 07:41:57 BST 2007  Olly Betts <olly@survex.com>
26048         * tests/api_anydb.cc: Avoid having the same database open twice at
26049           once.  Xapian itself copes, but the BackendManager class in the test
26050           harness struggles in the remotetcp case under mingw.
26052 Mon Apr 02 07:14:13 BST 2007  Olly Betts <olly@survex.com>
26054         * include/xapian/enquire.h: Make Enquire constructor explicit since
26055           it can take a single parameter (of type Database).
26057 Mon Apr 02 02:32:23 BST 2007  Olly Betts <olly@survex.com>
26059         * net/tcpserver.cc: Add "#error" if neither HAVE_FORK nor __WIN32__
26060           is defined (otherwise we'd failed with a rather obscure link error
26061           much later!)
26063 Mon Apr 02 01:54:20 BST 2007  Olly Betts <olly@survex.com>
26065         * matcher/multimatch.cc: Remove unused variable left over from
26066           recent change.
26068 Mon Apr 02 01:22:56 BST 2007  Olly Betts <olly@survex.com>
26070         * net/tcpserver.cc: Actually remove SOCKOPT_OPTIONS_TYPE.
26072 Mon Apr 02 01:16:03 BST 2007  Olly Betts <olly@survex.com>
26074         * net/tcpclient.cc,net/tcpserver.cc: Pass the 4th parameter of
26075           setsockopt() as char* which works whether the function actually
26076           takes char* or void* (since C++ allows implicit conversion from
26077           char* to void*).  Only call socket_errno() after gethostbyname()
26078           under __WIN32__ - on UNIX the error code is in h_errno (with
26079           incompatible values to errno) and we don't want to confuse things by
26080           reporting some random value of errno.
26082 Mon Apr 02 00:44:56 BST 2007  Olly Betts <olly@survex.com>
26084         * tests/harness/backendmanager.cc: Factor out localhost address into
26085           LOCALHOST.  Use new xapian-tcpsrv --interface option to only listen
26086           for connections on localhost.  Run xapian-tcpsrv with "start /B" on
26087           MS Windows (this stops the "flickbook of console windows" effect).
26089 Mon Apr 02 00:41:31 BST 2007  Olly Betts <olly@survex.com>
26091         * common/Makefile.mk,common/safesyssocket.h: Oops, I checked
26092           in safesysselect.h as safesyssocket.h!
26094 Mon Apr 02 00:30:54 BST 2007  Olly Betts <olly@survex.com>
26096         * include/xapian/queryparser.h: Fix SimpleStopper::add to take
26097           `const std::string &' not `const std::string'.
26099 Mon Apr 02 00:20:45 BST 2007  Olly Betts <olly@survex.com>
26101         * bin/xapian-tcpsrv.cc,net/tcpserver.cc: Add "--interface" option to
26102           allow the hostname or address of the interface to listen on to be
26103           specified (default is the previous behaviour of listening on all
26104           interfaces).
26105         * net/remoteconnection.cc,net/tcpclient.cc,common/safesysselect.h:
26106           Factor out portability code for sys/select.h.
26107         * common/Makefile.mk: Ship common/safesysselect.h.
26108         * net/tcpserver.cc: Rename parameter of run_thread from "_param" to
26109           "param_" (identifiers with leading underscores are reserved for the
26110           compiler).
26111         * common/tcpclient.h,net/tcpclient.cc,common/tcpserver.h: Rewrite
26112           headers with comments which are actually accurate and up-to-date!
26113           TcpClient ctor is small so put inline in the header.  Pass
26114           std::string by const reference.
26115         * common/tcpclient.h,common/tcpserver.h: TcpClient and TcpServer
26116           classes now inherit from WinsockInitializer under __WIN32__ (as
26117           a mixin class) instead of having a member of type WinsockInitializer
26118           (the member is initialised too late, at least under mingw).
26120 Sun Apr 01 19:14:11 BST 2007  Olly Betts <olly@survex.com>
26122         * common/omdebug.cc: Fix retrying of write to retry the part of
26123           the string not already written!
26125 Sun Apr 01 18:37:15 BST 2007  Olly Betts <olly@survex.com>
26127         * common/remoteconnection.h: Note in comments about use as a "mixin"
26128           class.
26130 Sun Apr 01 17:42:19 BST 2007  Olly Betts <olly@survex.com>
26132         * tests,examples,bin: Add .exe versions of built executables to
26133           svn:ignore.
26135 Sun Apr 01 16:28:26 BST 2007  Olly Betts <olly@survex.com>
26137         * common/omdebug.cc: Remove unused '#include <stdio.h>' - we switched
26138           to using unbuffered I/O for logging long ago!
26140 Sun Apr 01 15:21:04 BST 2007  Olly Betts <olly@survex.com>
26142         * common/safewinsock2.h: No, don't typedef socklen_t here - we use
26143           SOCKLEN_T everywhere and have `#define SOCKLEN_T int' in
26144           config.h.win32.
26146 Sun Apr 01 13:32:21 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26148         * common/omdebug.cc: Include necessary headers to get O_CREAT and
26149           friends defined (according to documentation in linux manpage),
26150           to fix compile error.  Also, don't ignore the return value of
26151           write() to fix compile warning (and to ensure that the whole
26152           output gets written if possible).
26154 Sun Apr 01 13:19:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26156         * queryparser/queryparser.cc: Fix Assert() on a RefCountPtr to
26157           check the value of the pointer, to fix compile with asserts
26158           turned on.
26160 Sun Apr 01 12:57:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26162         * common/safewinsock2.h: Define socklen_t under MS compiler (since
26163           Olly reported build success with mingw, presumably it's not
26164           needed there).
26166 Sun Apr 01 06:42:14 BST 2007  Olly Betts <olly@survex.com>
26168         * languages/Makefile.mk: $(snowball_algorithms:.sbl=.cc) is portable
26169           according to the automake list so use that so we only need to list
26170           the .sbl sources.
26172 Sun Apr 01 05:53:29 BST 2007  Olly Betts <olly@survex.com>
26174         * common/tcpserver.h,net/tcpserver.cc: TcpServer's port member
26175           variable is set but never used so remove it.
26177 Sun Apr 01 03:27:30 BST 2007  Olly Betts <olly@survex.com>
26179         * bin/Makefile.mk,examples/Makefile.mk: Add $(EXEEXT) to dependency on
26180           binaries in man page generation rules so they work on Windows.
26182 Sat Mar 31 22:17:55 BST 2007  Olly Betts <olly@survex.com>
26184         * common/multimatch.h,matcher/multimatch.cc: When using a MatchDecider
26185           with remote database(s), don't rerun the MatchDecider on documents
26186           which a remote server has already checked.
26188 Sat Mar 31 10:44:26 BST 2007  Olly Betts <olly@survex.com>
26190         * tests/harness/backendmanager.cc: Sort out path to xapian-tcpsrv
26191           under mingw.  If neither HAVE_FORK nor __WIN32__ is defined,
26192           make compilation fail with a suitable #error.
26194 Sat Mar 31 10:17:06 BST 2007  Olly Betts <olly@survex.com>
26196         * api/Makefile,backends/Makefile,backends/flint/Makefile,
26197           backends/inmemory/Makefile,backends/multi/Makefile,
26198           backends/quartz/Makefile,backends/remote/Makefile,bin/Makefile,
26199           common/Makefile,examples/Makefile,getopt/Makefile,include/Makefile,
26200           languages/Makefile,matcher/Makefile,net/Makefile,
26201           queryparser/Makefile,tests/harness/Makefile: Don't pass $(MAKEFLAGS)
26202           on the command line to $(MAKE) when invoking the top level Makefile
26203           from a static Makefile.  It's passed automatically anyway, and also
26204           $(MAKEFLAGS) doesn't have a leading '-' so "make -s" tries to do
26205           "make s" at the top level.
26207 Sat Mar 31 09:28:06 BST 2007  Olly Betts <olly@survex.com>
26209         * tests/api_nodb.cc: Fix end of loop handling.
26211 Sat Mar 31 09:03:26 BST 2007  Olly Betts <olly@survex.com>
26213         * tests/api_nodb.cc: Fix to compile.
26215 Sat Mar 31 07:53:25 BST 2007  Olly Betts <olly@survex.com>
26217         * common/safewindows.h,common/safewinsock2.h: safewindows.h is
26218           included by a lot of files so we want to keep it lightweight
26219           so split winsock2.h related stuff into safewinsock2.h.
26220         * common/remoteconnection.h: Move WinsockInitializer here.
26221         * common/safeerrno.h: #include "safewinsock2.h" not <winsock2.h>.
26223 Sat Mar 31 07:19:06 BST 2007  Olly Betts <olly@survex.com>
26225         * common/remoteserver.h: Stop trying to include "remoteserver.h"
26226           because that's the SAME HEADER!
26228 Sat Mar 31 07:16:23 BST 2007  Olly Betts <olly@survex.com>
26230         * common/tcpclient.h,common/tcpserver.h: Fix comments - the class is
26231           called WinsockInitializer not WinsockInitialiser.
26233 Sat Mar 31 06:54:22 BST 2007  Olly Betts <olly@survex.com>
26235         * net/progclient.cc: Don't compile any code from this file if
26236           __WIN32__ is defined (for mingw).
26238 Sat Mar 31 06:52:27 BST 2007  Olly Betts <olly@survex.com>
26240         * tests/api_nodb.cc: Simplify code in test_stemlangs1().
26242 Sat Mar 31 06:22:26 BST 2007  Olly Betts <olly@survex.com>
26244         * net/remoteconnection.cc: Use const_cast to avoid GCC warning
26245           about casting away const.  Use string::data() rather than
26246           string::c_str() since we don't need a terminating zero byte.
26248 Sat Mar 31 06:20:07 BST 2007  Olly Betts <olly@survex.com>
26250         * backends/dbfactory_remote.cc: Suppress "unused parameter" warnings.
26252 Sat Mar 31 06:17:35 BST 2007  Olly Betts <olly@survex.com>
26254         * net/tcpserver.cc: Make global variable and function used only in
26255           this file static.  Don't call delete on a void* (that's undefined
26256           behaviour) - delete the cast version of the pointer instead.
26258 Sat Mar 31 06:17:20 BST 2007  Olly Betts <olly@survex.com>
26260         * AUTHORS: Add a number of bug reporters I missed before.
26262 Sat Mar 31 04:49:27 BST 2007  Olly Betts <olly@survex.com>
26264         * configure.ac: Clean up handling of --enable-backend-* options.  Let
26265           mingw try to build the remote backend.
26267 Sat Mar 31 03:47:49 BST 2007  Olly Betts <olly@survex.com>
26269         * tests/internaltest.cc: Don't compile test_serialisequery1
26270           if the remote backend is disabled to avoid an "unused
26271           function" warning (we were already disabling the use of
26272           it).
26274 Fri Mar 30 22:43:27 BST 2007  Olly Betts <olly@survex.com>
26276         * HACKING: Correct several inaccuracies: --enable-debug and
26277           --enable-debug=partial don't cause the build system to compile in
26278           debugging symbols (configure defaults to adding "-g" for GCC, while
26279           for other compilers you must enable them by hand).  Also,
26280           --enable-debug doesn't "produce warnings", but causes
26281           Xapian::AssertionError to be thrown.  Add explanation for why
26282           --enable-debug=partial" exists.  CC_FOR_BUILD is now needed for
26283           snowball as well as lemon.
26285 Fri Mar 30 19:53:05 BST 2007  Olly Betts <olly@survex.com>
26287         * common/utils.cc: Avoid GCC warning on format string "%I64d".
26289 Fri Mar 30 16:48:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26291         * common/tcpserver.h,net/tcpserver.cc: Patch from Mark Hammond:
26292           implement for windows.
26294 Fri Mar 30 16:21:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26296         * common/tcpclient.h,net/tcpclient.cc: Patch from Mark Hammond:
26297           implement for windows.
26299 Fri Mar 30 15:52:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26301         * tests/harness/backendmanager.cc: Patch from Mark Hammond:
26302           implement launcher for tcpserver, so that remotetcp tests can run
26303           on windows.
26305 Fri Mar 30 15:42:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26307         * common/safewindows.h: Include xapian/error.h so
26308           WinsockInitialiser can throw an exception.
26310 Fri Mar 30 14:59:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26312         * More code from Mark Hammond's patch
26313         * common/remoteconnection.h: Add explicit destructor and (for
26314           windows compiles) a declare a helper method to calculate the
26315           number of milliseconds until a timeout.
26316         * net/remoteconnection.cc: Implement windows versions for functions
26317           which need it: constructor and destructor now do create and close
26318           the overlapped IO stuff, read_at_least() and send_message() have
26319           windows specific implementations.
26321 Fri Mar 30 13:05:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26323         * More code adapted from Mark Hammond's patch
26324         * common/safewindows.h: When remote databases are compiled in,
26325           include the winsock stuff, and define some useful bits and pieces
26326           for using it.
26327         * common/remoteconnection.h: Add a member to RemoteConnection on
26328           windows to hold an overlapped IO structure.
26329         * net/progclient.cc: Don't include winsock stuff directly (it's now
26330           brought in by "safewindows.h"), and don't include <sys/wait.h> on
26331           windows.
26332         * net/remoteserver.cc: Ignore more SIGPIPE stuff on windows.
26334 Fri Mar 30 12:37:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26336         * Patch from Mark Hammond
26337         * backends/dbfactory_remote.cc: Ignore code to handle SIGPIPE on
26338           windows, where it doesn't exist.
26339         * backends/remote/remote-database.cc: Raise UnimplementedError on
26340           windows if a progclient backend is requested.
26342 Fri Mar 30 12:11:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26344         * tests/harness/testsuite.cc: Fix srcdir guessing on windows -
26345           search for windows style directory separators, and remove .exe
26346           suffix from executable name.  Adapted from Mark Hammond's patch.
26348 Thu Mar 29 18:32:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26350         * Changes related to Mark Hammond's patch:
26351         * common/safeerrno.h: Define a new inline function "socket_errno()"
26352           which returns an error number relating to the last error caused
26353           by a socket function on platforms which make such a distinction,
26354           and the value of errno on other platforms.
26355         * net/tcpclient.cc,net/tcpserver.cc: Use the socket_errno()
26356           function instead of checking the value of errno.  Also, check for
26357           WSAEWOULDBLOCK instead of EINPROGRESS on windows.
26359 Thu Mar 29 15:36:45 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26361         * bin/xapian-tcpsrv.cc,tests/harness/testsuite.cc: First of many
26362           parts of a large patch from Mark Hammond working towards enabling
26363           remote databases on windows.  When displaying errors which might
26364           be socket errors, display the error number as well as the output
26365           of strerror - on windows, strerror doesn't display useful
26366           information for socket errors.
26367         * AUTHORS: Add Mark Hammond
26369 Thu Mar 29 06:07:35 BST 2007  Olly Betts <olly@survex.com>
26371         * api/omqueryinternal.cc: Unserialisation shouldn't reject a
26372           serialised query which ends after a termname.
26373         * tests/internaltest.cc: Add regression test.
26375 Wed Mar 28 17:17:42 BST 2007  Olly Betts <olly@survex.com>
26377         * tests/queryparsertest.cc: Add feature tests for "prefer_mdy" and
26378           "epoch" arguments of DateValueRangeProcessor.
26380 Wed Mar 28 04:52:34 BST 2007  Olly Betts <olly@survex.com>
26382         * tests/queryparsertest.cc: Add more test cases for parsing of value
26383           ranges.
26385 Wed Mar 28 04:18:14 BST 2007  Olly Betts <olly@survex.com>
26387         * languages/compiler/generator.c,languages/compiler/header.h,
26388           languages/steminternal.cc,languages/steminternal.h: For among with
26389           functions (only used by finnish and lovins stemmers currently),
26390           change to generating an array of unsigned byte offsets into an array
26391           of function pointers rather than just an array of function pointers
26392           - this generally requires a lot less space.
26394 Wed Mar 28 03:28:37 BST 2007  Olly Betts <olly@survex.com>
26396         * queryparser/queryparser.lemony: Fix parsing of `hello a..b'.
26397         * tests/queryparsertest.cc: Add regression test for above.  Refactor
26398           qp_value_range1 to use a table of queries.
26400 Wed Mar 28 00:35:50 BST 2007  Olly Betts <olly@survex.com>
26402         * languages: Update svn:ignore for recent romanian changes.
26404 Wed Mar 28 00:08:11 BST 2007  Olly Betts <olly@survex.com>
26406         * api/valuerangeproc.cc: Need #include <stdio.h> for snprintf or
26407           sprintf.
26409 Tue Mar 27 23:53:18 BST 2007  Olly Betts <olly@survex.com>
26411         * queryparser/queryparser.lemony: Fix infinite loop in value range
26412           processing.  Fix value range to work as a filter when used with a
26413           probabilistic query.
26414         * tests/queryparsertest.cc: Add regression tests for the above two
26415           issues.  Refactor qp_value_range2 to use a table of queries.
26417 Tue Mar 27 22:09:57 BST 2007  Olly Betts <olly@survex.com>
26419         * api/valuerangeproc.cc: Assume that the start date is before the
26420           end date to help decide ambiguous cases.
26422 Tue Mar 27 21:49:15 BST 2007  Olly Betts <olly@survex.com>
26424         * api/valuerangeproc.cc: Refactor to simplify and reduce duplication.
26426 Tue Mar 27 21:41:38 BST 2007  Olly Betts <olly@survex.com>
26428         * configure.ac: datarootdir is new in 2.60 too, so use datadir when
26429           setting docdir for 2.59.
26431 Tue Mar 27 18:39:11 BST 2007  Olly Betts <olly@survex.com>
26433         * api/Makefile.mk,api/valuerangeproc.cc,include/xapian/queryparser.h:
26434           Move NumberValueRangeProcessor::operator()() out of the header as
26435           it's too complex for sane inlining.  Implement handling of dmy and
26436           mdy dates and epochs for 2 digit years.
26437         * tests/queryparsertest.cc: Add tests.
26439 Tue Mar 27 11:57:53 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26441         * languages/romanian.sbl: Add Martin Porter's new romanian stemming
26442           algorithm.
26443         * languages/romanian1.sbl,languages/romanian2.sbl: Remove old
26444           romanian stemming algorithms.
26445         * languages/Makefile.mk: Replace romanian1 and romanian2 by
26446           romanian.
26447         * languages/stem.cc: Use romanian stemmer when asked for "ro" or
26448           "romanian".  No longer give a stemmer for "romanian1" or
26449           "romanian2".
26451 Tue Mar 27 04:50:36 BST 2007  Olly Betts <olly@survex.com>
26453         * languages/german2.sbl: Copy over "hop 3" in utf-8 case from
26454           snowball's latest version.
26456 Tue Mar 27 04:44:52 BST 2007  Olly Betts <olly@survex.com>
26458         * tests/stemtest.cc: Remove lower casing of dictionary words before
26459           stemming - instead we'll make sure the dictionary is already the
26460           right case.
26462 Tue Mar 27 04:28:10 BST 2007  Olly Betts <olly@survex.com>
26464         * languages/compiler/analyser.c,languages/compiler/generator.c,
26465           languages/compiler/header.h,languages/steminternal.cc,
26466           languages/steminternal.h: Add handling of among with functions.
26467           We use a "shim" functions for each method we want to call in
26468           this way.  The shim function is passed the "this" pointer and
26469           calls a particular method on this.  Split the functions into
26470           an optional separate array, since they're not used by most of
26471           the stemming algorithms.
26472         * languages/Makefile.mk,languages/stem.cc: Enable the finnish
26473           and lovins stemmers.
26475 Tue Mar 27 04:24:37 BST 2007  Olly Betts <olly@survex.com>
26477         * languages/steminternal.cc: Fix typo bug in slice_to - if we needed
26478           to increase the capacity of a snowball string variable, we trashed
26479           the variable with p (bug discovered while trying to enable the
26480           finnish stemmer).
26482 Tue Mar 27 02:55:51 BST 2007  Olly Betts <olly@survex.com>
26484         * include/xapian/queryparser.h: Implement handling of ISO format dates
26485           in DateValueRangeProcessor.
26486         * tests/queryparsertest.cc: Add feature tests.
26488 Tue Mar 27 01:47:36 BST 2007  Olly Betts <olly@survex.com>
26490         * include/xapian/queryparser.h: Implement prefix and suffix handling
26491           for NumberValueRangeProcessor.
26492         * tests/queryparsertest.cc: Add feature tests.
26494 Mon Mar 26 22:26:48 BST 2007  Olly Betts <olly@survex.com>
26496         * queryparser/utf8itor.h: Add is_currency() predicate function.
26497         * queryparser/queryparser.lemony: Rejig parsing of RANGE_START to
26498           allow all characters which are likely to be required.
26499         * tests/queryparsertest.cc: Test RANGE_START can contain "/".
26500         * queryparser/queryparser.lemony: Set "syntax=yacc" for vim, which
26501           give fairly decent syntax highlighting.
26503 Mon Mar 26 15:43:50 BST 2007  Olly Betts <olly@survex.com>
26505         * configure.ac: Use m4 comments not shell (dnl not #).
26507 Mon Mar 26 15:41:41 BST 2007  Olly Betts <olly@survex.com>
26509         * configure.ac: Add code to ensure that docdir is set for autoconf
26510           2.59 (starting from 2.60, it is defined as standard).
26511         * docs/Makefile.am: Use docdir for installing docs.
26513 Sun Mar 25 15:41:16 BST 2007  Olly Betts <olly@survex.com>
26515         * bin/xapian-compact.cc: Prune unused docids off the start of each
26516           source database's range of docid.
26518 Sat Mar 24 23:07:42 GMT 2007  Olly Betts <olly@survex.com>
26520         * include/xapian/base.h: Add a note explaining why it's OK that
26521           RefCntBase doesn't have a virtual destructor.
26523 Sat Mar 24 01:30:17 GMT 2007  Olly Betts <olly@survex.com>
26525         * HACKING,configure.ac: Bump the automake required version to 1.9.5.
26526           It was in Debian sarge, so any modern Linux distro should include
26527           packages, and we've actually been bootstrapping with 1.9.6 for ages.
26529 Thu Mar 22 00:53:35 GMT 2007  Olly Betts <olly@survex.com>
26531         * configure.ac: Disable probes for f77 more completely by preventing
26532           the probe code from even appearing in configure.  Similarly
26533           eliminate the code for gcj and rc probes - in total these changes
26534           reduce the size of configure by 209KB (~25%).
26536 Fri Mar 09 14:28:01 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26538         * Makefile.am: Add include/xapian/error.h to list of headers to
26539           install.
26541 Thu Mar 08 17:16:08 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26543         * generate-exceptions.in,exception_data.pm: Split definitions of
26544           the exception hierarchy into a separate file, so it can be reused
26545           elsewhere.
26546         * Makefile.am: Add exception_data.pm as a dependency for generating
26547           error.h, and add it to EXTRA_DIST.
26549 Fri Mar 09 06:42:40 GMT 2007  Olly Betts <olly@survex.com>
26551         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: We
26552           always ignore the return value from FlintCursor::get_key() because
26553           we only call it when it shouldn't fail, so restructure the code so
26554           it can't fail and change the return value to void.
26556 Fri Mar 09 06:33:09 GMT 2007  Olly Betts <olly@survex.com>
26558         * configure.ac: Suppress another aCC warning.
26560 Thu Mar 08 20:39:46 GMT 2007  Olly Betts <olly@survex.com>
26562         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow
26563           arbitrary characters in a range end (anything except whitespace
26564           and ')').
26566 Thu Mar 08 19:46:46 GMT 2007  Olly Betts <olly@survex.com>
26568         * Makefile.am,languages/Makefile.mk: Depend on the autoconf
26569           substituted version of a script, not the template version.  The
26570           only thing we substitute is @PERL@, but configure won't update
26571           a substituted file which hasn't changed so it's better to put
26572           the dependency on the script itself where it belongs.
26574 Thu Mar 08 17:09:21 GMT 2007  Olly Betts <olly@survex.com>
26576         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Keep any
26577           non-whitespace, non-term prefix for a term in case it turns out
26578           to be the start of a range, so "$50..100" works.
26580 Thu Mar 08 16:21:14 GMT 2007  Olly Betts <olly@survex.com>
26582         * HACKING: Add my "create docs/GNUmakefile" trick to avoid doxygen
26583           delays.
26585 Thu Mar 08 16:13:39 GMT 2007  Olly Betts <olly@survex.com>
26587         * HACKING: A few more coding guidelines.
26589 Thu Mar 08 14:26:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26591         * HACKING: Adjust wording to indicate that the build system is
26592           indended not to break after SVN updates.
26594 Thu Mar 08 07:34:22 GMT 2007  Olly Betts <olly@survex.com>
26596         * include/xapian/queryparser.h,tests/queryparsertest.cc: Add simple
26597           implementations of DateValueRangeProcessor and
26598           NumberValueRangeProcessor and add qp_value_range2 to check that
26599           chaining ValueRangeProcessor subclasses works as intended.
26601 Thu Mar 08 06:06:15 GMT 2007  Olly Betts <olly@survex.com>
26603         * docs/overview.html: Fix links to error classes in generated API
26604           documentation.
26606 Thu Mar 08 05:37:13 GMT 2007  Olly Betts <olly@survex.com>
26608         * include/xapian/queryparser.h,queryparser/queryparser.cc,
26609           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
26610           tests/queryparsertest.cc: Add the ability to parse "value ranges"
26611           to the QueryParser (e.g. "10..50") which translate into a Query
26612           with operator OP_VALUE_RANGE.
26614 Thu Mar 08 04:27:54 GMT 2007  Olly Betts <olly@survex.com>
26616         * include/xapian/queryparser.h,queryparser/queryparser.cc: Remove
26617           QueryParser::set_stemming_options() which has been deprecated
26618           since 0.9.0.
26620 Thu Mar 08 03:37:07 GMT 2007  Olly Betts <olly@survex.com>
26622         * backends/flint/flint_lock.cc: Handle write failing to send a single
26623           byte down down the pipe to tell the parent we've got the lock (a
26624           potential bug noticed by _FORTIFY_SOURCE!)  Handle read() failing
26625           with an unexpected error on the parent side by failing the lock
26626           attempt rather than risking an infinite loop.
26628 Thu Mar 08 02:52:26 GMT 2007  Olly Betts <olly@survex.com>
26630         * include/xapian/types.h: Rewritten, with more accurate documentation
26631           comments.  Add constant Xapian::BAD_VALUENO which is -1 cast to
26632           Xapian::valueno.
26633         * api/omenquire.cc,include/xapian/enquire.h,matcher/multimatch.cc: Use
26634           Xapian::BAD_VALUENO instead of Xapian::valueno(-1).
26636 Thu Mar 08 01:47:08 GMT 2007  Olly Betts <olly@survex.com>
26638         * docs/Makefile.am: Try putting apidoc/html in EXTRA_DIST instead of
26639           using dist-hook.
26641 Wed Mar 07 23:16:52 GMT 2007  Olly Betts <olly@survex.com>
26643         * docs/Makefile.am: Stop shipping docs/apidoc/latex/* in the
26644           xapian-core tarballs since it's just useless bloat.  Removing it
26645           more than halves the size of the tarball (55% reduction!)
26647 Wed Mar 07 22:07:31 GMT 2007  Olly Betts <olly@survex.com>
26649         * tests/runtest.in: If we aren't using valgrind, turn on
26650           MALLOC_CHECK_ and MALLOC_PERTURB_ for glibc.
26652 Wed Mar 07 20:02:31 GMT 2007  Olly Betts <olly@survex.com>
26654         * INSTALL: CVS -> SVN.
26656 Wed Mar 07 20:00:37 GMT 2007  Olly Betts <olly@survex.com>
26658         * configure.ac: Define _FORTIFY_SOURCE in config.h if GCC is in use
26659           and it's not already set.  That way the user can easily override.
26660         * INSTALL: Document this.
26662 Wed Mar 07 19:53:15 GMT 2007  Olly Betts <olly@survex.com>
26664         * INSTALL: Remove reference to muscat36 backend.
26666 Wed Mar 07 17:37:07 GMT 2007  Olly Betts <olly@survex.com>
26668         * configure.ac: Note GCC and glibc versions needed for _FORTIFY_SOURCE
26669           support.
26671 Wed Mar 07 16:29:02 GMT 2007  Olly Betts <olly@survex.com>
26673         * queryparser/lemon.c: Increase the length allowed for the filename
26674           in an error message, as it was being truncated which makes for a
26675           confusing error message and stops editors jumping to the line with
26676           the error in.
26678 Wed Mar 07 15:57:15 GMT 2007  Olly Betts <olly@survex.com>
26680         * common/Makefile.mk: Ship common/msvc_posix_wrapper.h and
26681           common/msvc_posix_wrapper.cc.
26683 Wed Mar 07 10:01:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26685         * configure.ac: Add -D_FORTIFY_SOURCE to AM_CXXFLAGS for GCC
26686           builds.  According to glibc CVS support for this was added in
26687           October 2004, but it doesn't seem to be documented very well,
26688           other than in features.h.  This adds some extra checking for
26689           array bounds, partially at compile time, but doesn't currently
26690           find any problems (or cause any noticeable slowdown).
26692 Wed Mar 07 04:49:01 GMT 2007  Olly Betts <olly@survex.com>
26694         * api/omqueryinternal.cc: Include str_parameter in swap() and the copy
26695           constructor.
26696         * tests/api_anydb.cc: get_mset(0, 20) not get_mset(1, 20)!  Also check
26697           that we didn't miss any documents which should match the filter, not
26698           just that we didn't get any documents which shouldn't.
26700 Wed Mar 07 03:07:49 GMT 2007  Olly Betts <olly@survex.com>
26702         * tests/harness/unixcmds.h: Fixed reverse sense include guard test.
26703         * tests/api_db.cc: Still need #include "utils.h".
26704         * tests/harness/backendmanager.cc: Update for rmdir.h -> unixcmds.h
26705           and rmdir() -> rm_rf().
26707 Wed Mar 07 02:22:30 GMT 2007  Olly Betts <olly@survex.com>
26709         * backends/quartz/btree.cc,backends/quartz/quartz_database.cc,
26710           backends/quartz/quartz_log.cc,common/utils.h,net/remoteconnection.cc,
26711           net/tcpclient.cc,tests/api_db.cc,tests/btreetest.cc,tests/harness/,
26712           tests/quartztest.cc: Rename rmdir() to rm_rf() since it does the
26713           same as "rm -rf" not "rmdir".  The "touch()" function is only used
26714           in the testsuite so move it from common/utils.h into
26715           tests/harness/rmdir.cc and rename rmdir.cc to unixcmds.cc.
26716           common/utils.h no longer include safefcntl.h, so add explicit
26717           includes to the files which were previous relying on utils.h pulling
26718           it in.
26720 Wed Mar 07 02:21:18 GMT 2007  Olly Betts <olly@survex.com>
26722         * xapian.spec.in: Include ChangeLog.examples.
26724 Wed Mar 07 02:17:59 GMT 2007  Olly Betts <olly@survex.com>
26726         * docs/index.html,docs/internals.html: Create a separate index page
26727           for the "internal" documentation.
26729 Tue Mar 06 23:47:58 GMT 2007  Olly Betts <olly@survex.com>
26731         * common/utils.cc,common/utils.h: Remove map_string_to_value() which
26732           is no longer used.
26733         * common/utils.h: Remove prototype for rmdir() which I failed to
26734           remove with the earlier commit.
26736 Tue Mar 06 22:51:51 GMT 2007  Olly Betts <olly@survex.com>
26738         * tests/harness/rmdir.cc: Fix rmdir() on Unix to not be O(n^2) in the
26739           worst case.
26741 Tue Mar 06 22:46:30 GMT 2007  Olly Betts <olly@survex.com>
26743         * docs/Makefile.am: Use the "inline test || echo" idiom to merge the
26744           VPATH and non-VPATH cases for distributing and installing the HTML
26745           apidocs.
26747 Tue Mar 06 22:13:03 GMT 2007  Olly Betts <olly@survex.com>
26749         * api/omqueryinternal.cc: Fix Query::get_description() on an
26750           OP_VALUE_RANGE query.
26752 Tue Mar 06 09:03:33 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26754         * HACKING: Note on running preautoreconf and autoreconf to keep SVN
26755           builds working.
26756         * PLATFORMS: Update with success reports for windows builds.
26758 Tue Mar 06 01:57:23 GMT 2007  Olly Betts <olly@survex.com>
26760         * tests/internaltest.cc: Comment out the "unsigned long long" testcase
26761           in tostring1 since the library doesn't currently have (or need) the
26762           utility function for that case.
26764 Tue Mar 06 01:49:55 GMT 2007  Olly Betts <olly@survex.com>
26766         * common/utils.cc,tests/btreetest.cc,tests/harness/,
26767           tests/quartztest.cc: rmdir() is only used in the test suite, and not
26768           in the library code, so move it into the testsuite.  Also, bow out
26769           early if the pathname passed is empty, and on Unix protect against
26770           filenames which start with "-".
26772 Mon Mar 05 02:52:49 GMT 2007  Olly Betts <olly@survex.com>
26774         * configure.ac: Suppress more unhelpful aCC warnings.
26776 Mon Mar 05 02:15:29 GMT 2007  Olly Betts <olly@survex.com>
26778         * tests/internaltest.cc: Add testcase autoptr1 which tests that an
26779           autoptr correctly handles self-assignment.
26781 Mon Mar 05 02:05:53 GMT 2007  Olly Betts <olly@survex.com>
26783         * tests/internaltest.cc: Rename "omtostring1" to "tostring1" (we don't
26784           want to perpetuate references to "om"!)  Add more test cases to this
26785           test.
26787 Mon Mar 05 01:18:17 GMT 2007  Olly Betts <olly@survex.com>
26789         * configure.ac: Update in line with 0.9.10.
26791 Sun Mar 04 23:58:29 GMT 2007  Olly Betts <olly@survex.com>
26793         * AUTHORS: Add reporters of bugs fixed in 0.9.10 to the "thanks" list.
26795 Sun Mar 04 00:44:17 GMT 2007  Olly Betts <olly@survex.com>
26797         * api/errorhandler.cc,include/xapian/errorhandler.h: Move virtual
26798           dtor for ErrorHandler out of the header.  Same reasons as previous
26799           commit.
26801 Sun Mar 04 00:40:44 GMT 2007  Olly Betts <olly@survex.com>
26803         * api/omenquire.cc,include/xapian/enquire.h,matcher/Makefile.mk,
26804           matcher/weight.cc: Move virtual method definitions out of headers
26805           for MatchDecider, ExpandDecider, Weight, BoolWeight.  This fixes
26806           warnings from aCC, and it's rare that the compiler would be able
26807           to inline a virtual method anyway.
26809 Sat Mar 03 21:40:43 GMT 2007  Olly Betts <olly@survex.com>
26811         * configure.ac: For HP's aCC, we no longer need to suppress warning
26812           #336 (empty translation unit) since dummy.cc is history.  But we
26813           do want to suppress a couple of frequently reported "remarks" which
26814           are unavoidable and don't indicate a problem.  Experimentally, add
26815           "+wlint" for "link-like" warnings.
26817 Sat Mar 03 21:38:52 GMT 2007  Olly Betts <olly@survex.com>
26819         * include/xapian.h,include/xapian/version_h.cc: Move function
26820           prototypes into a non-generated header.
26821         * configure.ac,msvc/version.h.in: Generate version.h suitable for use
26822           with MSVC.
26823         * Makefile.am: Distribute msvc/version.h.
26825 Sat Mar 03 19:49:11 GMT 2007  Olly Betts <olly@survex.com>
26827         * tests/harness/backendmanager.cc: Rework how we start and handle
26828           xapian-tcpsrv - it's now started by exec from a child process.
26829           This means that the mechanism to try higher port numbers works
26830           reliably, and we no longer leak file descriptors (which was causing
26831           tests to fail on some platforms).
26833 Sat Mar 03 19:46:03 GMT 2007  Olly Betts <olly@survex.com>
26835         * bin/xapian-tcpsrv.cc: Put "e.get_errno()" in a variable for clearer
26836           code.
26838 Sat Mar 03 16:01:17 GMT 2007  Olly Betts <olly@survex.com>
26840         * common/msvc_posix_wrapper.cc: Change `#include <fcntl.h>' to
26841           `#include "safefcntl.h"' (currently makes no difference on
26842           Windows, but it's more consistent to always use the safeXXX
26843           headers).
26844         * common/msvc_posix_wrapper.cc: Merge two ECHILD cases.
26845         * common/msvc_posix_wrapper.cc: Make sure dwCreationDisposition
26846           is initialised even if flags has a bogus value.
26847         * common/msvc_posix_wrapper.cc: Be consistent and always use O_CREAT,
26848           etc, instead of sometimes using the MS alternative forms _O_CREAT,
26849           etc.
26851 Sat Mar 03 03:25:05 GMT 2007  Olly Betts <olly@survex.com>
26853         * generate-exceptions.in: The GCC visibility docs aren't clear whether
26854           you need to make *thrown* exception types visible, or also *caught*
26855           exception types.  But I've just been having odd problems catching
26856           Xapian::DocNotFoundError with "const Xapian::Error &", so let's mark
26857           the exception virtual baseclass Xapian::Error as visible too.
26859 Fri Mar 02 22:34:04 GMT 2007  Olly Betts <olly@survex.com>
26861         * languages/Makefile.mk,languages/generate-allsnowballheaders.in:
26862           Convert unreadable make rule for generating allsnowballheaders.h
26863           to a perl script.
26864         * configure.ac: Substitute languages/allsnowballheaders.
26866 Fri Mar 02 14:31:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26868         * tests/internaltest.cc: Add a test for om_tostring(), mainly
26869           aimed at 64 bit types on windows platforms.  Mingw builds report
26870           a warning in this code, which merits further investigation - see
26871           Bug #112 for details.
26873 Fri Mar 02 14:15:44 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26875         * common/msvc_posix_wrapper.cc: Improve accuracy of emulation of
26876           posix open, and fix a bug which caused it to misinterpret the
26877           "flags" argument - files were always being opened for writing:
26878           O_RDONLY is 0, so the old test (flags & O_RDONLY) always
26879           failed.
26881 Fri Mar 02 12:44:33 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26883         * common/msvc_posix_wrapper.cc: Fix whitespace issues.
26885 Fri Mar 02 12:18:42 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26887         * HACKING: Add note about how to generate ChangeLog timestamps
26888           using the unix date command - and I've started generating them in
26889           the same format as Olly is. (I hope.)
26891 Fri Mar  2 11:49:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26893         * common/msvc_posix_wrapper.h,common/safeerrno.h,
26894           common/msvc_posix_wrapper.cc,backends/quartz/btree.cc,
26895           backends/flint/flint_table.cc,backends/flint/flint_btreebase.cc:
26896           Move MSVC specific code for opening files into
26897           msvc_posix_wrapper.cc, and just leave a few conditional includes
26898           and function calls elsewhere.
26900 Thu Mar 01 22:51:42 GMT 2007  Olly Betts <olly@survex.com>
26902         * queryparser/queryparser.lemony: Add casts to U_isupper(), etc to
26903           suppress warnings from aCC.
26904         * queryparser/queryparser.lemony: Use U_isdigit() instead of
26905           C_isdigit(), etc - the truncation to a char can cause false
26906           positives.
26907         * tests/queryparsertest.cc: Add a (rather contrived) regression test
26908           for the above change.
26910 Thu Mar 01 21:49:37 GMT 2007  Olly Betts <olly@survex.com>
26912         * queryparser/utf8itor.h: Add cast to suppress warning from aCC.
26914 Thu Mar  1 15:27:09 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26916         * common/utils.c,common/utils.h: For windows, add an om_tostring()
26917           function for 64 bit integers: time() and GetProcessId() return
26918           these, and without this, backends/quartz/quartz_log.cc reports
26919           an error.
26921 Thu Mar  1 13:48:46 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26923         * queryparser/queryparser.lemony: Fix handling of hated wildcards
26924           which don't expand to any terms.
26926 Thu Mar  1 13:45:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26928         * tests/queryparsertest.cc: Fix last two test cases for hated
26929           wildcards to check for exactly what should be returned.
26931 Thu Mar  1 12:02:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26933         * common/safeerrno.h: Some of Microsoft's C++ compiler versions
26934           earlier than 2005 do not have _set_errno, so #define it in this
26935           case.
26937 Thu Mar 01 04:28:23 GMT 2007  Olly Betts <olly@survex.com>
26939         * backends/quartz/btree.h: Correct comment ("read" -> "write").
26941 Thu Mar 01 04:21:52 GMT 2007  Olly Betts <olly@survex.com>
26943         * backends/flint/flint_table.h: Correct comment ("read" -> "write").
26945 Thu Mar 01 01:30:02 GMT 2007  Olly Betts <olly@survex.com>
26947         * tests/queryparsertest.cc: Add some test cases for hated wildcards
26948           which don't expand to any terms.
26950 Thu Mar 01 01:21:42 GMT 2007  Olly Betts <olly@survex.com>
26952         * api/omqueryinternal.cc: Complete truncated comment.  Prefer
26953           preincrement to postincrement.
26955 Wed Feb 28 20:13:35 GMT 2007  Olly Betts <olly@survex.com>
26957         * api/omdocument.cc: Really tweak OmDocumentTerm::add_position() so
26958           that adding position 0 to an empty termlist takes the shortcut.
26960 Wed Feb 28 15:04:25 GMT 2007  Olly Betts <olly@survex.com>
26962         * common/safeerrno.h: Correct <safeerrno.h> to "safeerrno.h" in
26963           message in #error directive.
26965 Wed Feb 28 14:59:29 GMT 2007  Olly Betts <olly@survex.com>
26967         * include/xapian/query.h: Removed documentation comment for
26968           Xapian::Query::Internal which is no longer relevant (Query objects
26969           are now immutable once constructed, so parameters can no longer be
26970           set separately).
26972 Wed Feb 28 02:42:31 GMT 2007  Olly Betts <olly@survex.com>
26974         * api/omqueryinternal.cc: Add support for serialising OP_VALUE_RANGE
26975           queries.  Add support for OP_VALUE_RANGE queries to
26976           Query::get_description().  If an OP_VALUE_RANGE query has a start
26977           bound strictly greater than its end bound, simplify it by knowing
26978           that it can't match anything.
26979         * common/remoteprotocol.h,docs/remote_protocol.html: Bump remote
26980           protocol version to 24.
26982 Wed Feb 28 01:15:00 GMT 2007  Olly Betts <olly@survex.com>
26984         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
26985           matcher/: Add new Query operator OP_VALUE_RANGE which allows
26986           a query to be filtered by checking if a value lies between
26987           two limits.
26988         * tests/api_anydb.cc: Add feature test valuerange1.
26990 Wed Feb 28 01:07:53 GMT 2007  Olly Betts <olly@survex.com>
26992         * tests/harness/testsuite.cc: Only hook the testsuite into valgrind if
26993           env var XAPIAN_TESTSUITE_VALGRIND is set, to make it simple to run a
26994           test program under valgrind normally.
26995         * tests/runtest.in: Set XAPIAN_TESTSUITE_VALGRIND if automatically
26996           running a test program under valgrind.
26998 Tue Feb 27 23:51:34 GMT 2007  Olly Betts <olly@survex.com>
27000         * tests/Makefile.am: Turn subdir-objects back on here so that the
27001           harness objects end up in the harness subdirectory.
27003 Tue Feb 27 22:45:04 GMT 2007  Olly Betts <olly@survex.com>
27005         * examples/delve.cc: Rename "-k" to "-V" since "keys" were renamed to
27006           "values" long ago.  Keep "-k" as an alias for now, but don't
27007           advertise it.  Add handling so "-V3" shows value #3 for every
27008           document in the database.
27010 Tue Feb 27 21:35:35 GMT 2007  Olly Betts <olly@survex.com>
27012         * tests/Makefile.am,tests/remotetest.cc: Get rid of remotetest since
27013           it no longer does anything.
27015 Tue Feb 27 21:28:28 GMT 2007  Olly Betts <olly@survex.com>
27017         * tests/api_db.cc,tests/remotetest.cc: Move netstats1 from remotetest
27018           to apitest.  It will now run for "remotetcp" as well as "remote".
27020 Tue Feb 27 21:27:17 GMT 2007  Olly Betts <olly@survex.com>
27022         * tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
27023           Inline trivial getter and setter methods in the header.  Make
27024           getter method const.
27026 Tue Feb 27 20:22:58 GMT 2007  Olly Betts <olly@survex.com>
27028         * examples/delve.cc: Change to not stem terms by default.  Add
27029           "-s/--stemmer" option to allow a stemmer to be specified.
27031 Tue Feb 27 17:50:13 GMT 2007  Olly Betts <olly@survex.com>
27033         * backends/flint/flint_table.cc: Test revision_supplied rather than
27034           revision_ so that behaviour matches comments.
27036 Tue Feb 27 16:58:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27038         * tests/api_wrdb.cc: Enhance crashrecovery1 to check that the
27039           readers reference a database with the expected number of
27040           documents.  This checks that the base files which were removed
27041           were the correct ones to leave the current database valid.
27043 Tue Feb 27 16:54:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27045         * backends/quartz/btree.cc,backends/quartz/btree.h,
27046           backends/quartz/quartz_database.cc: Apply fix for opening
27047           databases while under heavy modification to quartz, using Olly's
27048           attachment to bug #108:
27049           http://www.xapian.org/cgi-bin/bugzilla/attachment.cgi?id=43
27050           Verified with loadtest that this resolves the issue.
27052 Tue Feb 27 13:12:31 GMT 2007  Olly Betts <olly@survex.com>
27054         * tests/harness/backendmanager.h: Add get_dbtype() method to allow the
27055           current backend type to be read.
27056         * tests/apitest.cc,tests/apitest.h: Add get_dbtype() function to allow
27057           BackendManager::get_dbtype() to be called by tests.
27058         * tests/api_wrdb.cc: Add new test crashrecovery1 to verify that the
27059           backend can recover from the latest revision missing some of the
27060           base files.
27062 Tue Feb 27 12:45:00 GMT 2007  Olly Betts <olly@survex.com>
27064         * tests/harness/backendmanager.cc: Fix how we start xapian-progsrv
27065           when running under valgrind.
27067 Tue Feb 27 11:34:22 GMT 2007  Olly Betts <olly@survex.com>
27069         * backends/flint/flint_database.cc: Remove the old throw for
27070           DatabaseOpeningError so the new throw for DatabaseModifiedError will
27071           actually be used.
27073 Tue Feb 27 09:22:52 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27075         * flint_table.cc,flint_table.h,flint_database.cc: If a database is
27076           being frequently modified (ie, transactions committed extremely
27077           frequently), flint can fail open all the tables at a consistent
27078           revision on the first attempt.  The code to handle this in
27079           flint_database.cc was not firing because flint_table.cc was
27080           reporting all failures to open a table for reading by throwing an
27081           exception.  This commit changes flint_table.cc to report failure
27082           to open at a specific revision by returning false.
27084           In addition, there was a bug in flint_database.cc which caused
27085           the attempts to re-try opening a database in this situation to
27086           fail.  This is now fixed.
27088           Finally, flint_database.cc now throws a DatabaseModified error if
27089           100 attempts to reopen the database fail because of continual
27090           modifications - previously, it would have thrown a
27091           DatabaseOpening error.
27093           There is no easy regression test - but my "loadtest.cc" program
27094           attached to bug #108 shows the problem (if you comment out the
27095           code which ignores DatabaseOpeningErrors).
27097 Tue Feb 27 01:25:00 GMT 2007  Olly Betts <olly@survex.com>
27099         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Need to
27100           define DOXYGEN so that the previous change to the generated
27101           errordispatch.h works.  Remove obsolete macros from
27102           EXPAND_AS_DEFINED and PREDEFINED.
27103         * docs/doxygen_full_conf.in: Increase MAX_DOT_GRAPH_WIDTH from
27104           800 to 1024 to match doxygen_api_conf.in.
27106 Tue Feb 27 00:41:47 GMT 2007  Olly Betts <olly@survex.com>
27108         * matcher/multimatch.cc: Fix warning with SGI's CC.
27110 Tue Feb 27 00:35:06 GMT 2007  Olly Betts <olly@survex.com>
27112         * generate-exceptions.in: Wrap errordispatch.h in "#ifndef DOXYGEN"
27113           and "#endif" because doxygen gets confused by a header full of
27114           code.
27116 Mon Feb 26 21:53:41 GMT 2007  Olly Betts <olly@survex.com>
27118         * tests/findheaders.pl: Remove long unused perl script.
27120 Mon Feb 26 19:23:50 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27122         * tests/api_wrdb.c: test_emptyterm2 used to delete a writable
27123           database whilst the database was open.  Unfortunately, this
27124           doesn't work on windows (and it doesn't seem to be easy to make
27125           it work), so this patch changes the test to close each database
27126           before opening the next writable database at the same path.
27127           Fortunately, this seems to be the only test which behaves like
27128           this.  Also, added a note to the win32 README file to document
27129           this restriction.
27131 Mon Feb 26 19:19:34 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27133         * docs/Makefile.am: touch apidoc/html/index.html after apidoc.pdf
27134           is created so that make doesn't attempt to regenerate it due to
27135           the dependency of apidoc/html/index.html on apidoc.pdf.
27136           Similarly for sourcedoc/html/index.html.
27138 Mon Feb 26 18:36:22 GMT 2007  Olly Betts <olly@survex.com>
27140         * tests/harness/backendmanager.cc: Indent with tabs not spaces.
27141         * tests/harness/index_utils.cc: Add missing space after "if";
27142           prefer "X.empty()" to "X.size() == 0".
27144 Mon Feb 26 16:10:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27146         * tests/harness/index_utils.cc,tests/harness/backendmanager.cc:
27147           Fix for windows: windows file handling seems to have a bug
27148           causing end of file conditions in ifstream to be missed.  As a
27149           result, an empty string was being returned from the get_paragraph
27150           function in the test harness, resulting in an out-of-bounds error
27151           when generating a value from the paragraph.  Add a check that the
27152           paragraph returned isn't empty, and return an empty document if
27153           it is.  Then, check for empty documents (ie, contain some terms)
27154           before adding them to the test database.
27156 Mon Feb 26 16:05:07 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27158         * backends/quartz/btree_base.cc,backends/flint/flint_btreebase.cc:
27159           Fix for windows: string append method with a pointer and length
27160           causes a segfault-type error on windows if the pointer is NULL,
27161           even if the length is also 0.  Check for this case when appending
27162           the bitmap to the base block, since a NULL pointer is passed for
27163           an empty bitmap when a new database is being created.
27165           Also, initialise the bit_map0 and bitmap members to 0 in the
27166           FlintTable_base constructor which takes a string and a char
27167           argument - they had been omitted from this and were only being
27168           initialised by the constructor which takes no argument.  This
27169           didn't seem to be having any negative effect, but doing it makes
27170           the code neater.
27172 Sun Feb 25 23:21:11 GMT 2007  Olly Betts <olly@survex.com>
27174         * backends/inmemory/inmemory_database.cc: Create the RefCntPtr to this
27175           as an explicit variable to make the code more readable.
27177 Sun Feb 25 19:20:33 GMT 2007  Olly Betts <olly@survex.com>
27179         * matcher/multimatch.cc: Fix inconsistent ordering between pages with
27180           set_sort_by_value_then_relevance (fixes bug#110).
27181         * tests/api_wrdb.cc: Enabled test consistency2.
27183 Sun Feb 25 17:28:09 GMT 2007  Olly Betts <olly@survex.com>
27185         * matcher/: Also apply the "decreasing weights with remote database"
27186           optimisations which we use in the sort_by_relevance case in the
27187           sort_by_relevance_then_value case.
27189 Sat Feb 24 19:35:41 GMT 2007  Olly Betts <olly@survex.com>
27191         * backends/inmemory/inmemory_database.cc: If replace_document is used
27192           to set the docid of a newly added document which has previously
27193           existed, then we need to mark that document as valid (caught by
27194           existing test replacedoc4 in a debug build).
27196 Sat Feb 24 17:11:22 GMT 2007  Olly Betts <olly@survex.com>
27198         * tests/api_wrdb.cc: Add regression test consistency2 for bug#110
27199           (currently skipped since the bug isn't fixed yet).
27201 Thu Feb 22 15:18:53 GMT 2007  Olly Betts <olly@survex.com>
27203         * configure.ac: Add proper detection for SGI's C++ (check stderr
27204           output of "CC -v").  Automatically pass -ptused in CXXFLAGS for
27205           xapian-core and any applications using xapian-config --cxxflags
27206           since it seems to be required to avoid template linking errors.
27208 Thu Feb 22 09:04:30 GMT 2007  Olly Betts <olly@survex.com>
27210         * docs/Makefile.am: Ship generated RSTHTML files.
27212 Wed Feb 21 19:01:06 GMT 2007  Olly Betts <olly@survex.com>
27214         * languages/turkish.sbl: Make some simplifications to the code of the
27215           turkish stemmer.
27217 Wed Feb 21 19:00:11 GMT 2007  Olly Betts <olly@survex.com>
27219         * languages/Makefile.mk,languages/stem.cc,languages/turkish.sbl:
27220           Add turkish stemmer.
27222 Wed Feb 21 18:55:03 GMT 2007  Olly Betts <olly@survex.com>
27224         * languages/compiler/generator.c: Number m_test and c_test variables
27225           to avoid variable shadowing warnings.
27227 Wed Feb 21 18:07:50 GMT 2007  Olly Betts <olly@survex.com>
27229         * languages/compiler/generator.c: Remove duplicate copy of function
27230           resulting from ham-fisted reverting and applying of patches.
27232 Wed Feb 21 18:03:12 GMT 2007  Olly Betts <olly@survex.com>
27234         * languages/compiler/generator.c,languages/compiler/header.h: Number
27235           mlimit variables to avoid variable shadowing warnings.
27236         * languages/compiler/generator.c: Use "if (foo() == -1) return -1;"
27237           which avoids a temporary variable (improving readability of
27238           generated code) and producing very slightly faster code.
27239         * languages/compiler/header.h: Use "#ifdef DISABLE_JAVA" around Java
27240           generator specific struct members and prototypes.
27242 Wed Feb 21 17:47:13 GMT 2007  Olly Betts <olly@survex.com>
27244         * languages/compiler/generator.c: Add "~C" comments to generated
27245           source for more operations.
27247 Tue Feb 20 20:24:30 GMT 2007  Olly Betts <olly@survex.com>
27249         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Ensure
27250           both_bases is set to false if we don't have both bases when
27251           opening a table using an existing object.
27253 Tue Feb 20 15:57:05 GMT 2007  Olly Betts <olly@survex.com>
27255         * preautoreconf: Fix to handle generating dependencies on generated
27256           objects, at least for the "checked out tree from SVN" case.  Fixing
27257           this fully is trickier, but currently this is stopped snapshots
27258           from bootstrapping.
27260 Tue Feb 20 14:28:02 GMT 2007  Charlie Hull
27262         * backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc,
27263           backends/quartz/btree.cc: Use MS Windows API calls to delete
27264           files and open files we might want to delete while they are
27265           still open (i.e. the flint and quartz btree base files).  This
27266           fixes a problem when a writer can't discard an old revision at the
27267           exact moment a reader is opening it (bug #108).
27269 Tue Feb 20 14:13:43 GMT 2007  Richard Boulton <richard@tartarus.org>
27271         * .: Add generate-exceptions to svn:ignore property.
27273 Tue Feb 20 13:36:27 GMT 2007  Olly Betts <olly@survex.com>
27275         * generate-exceptions.in: Add missing '}' to close 'namespace Xapian'
27276           in generated header 'xapian/error.h'.
27278 Tue Feb 20 13:26:19 GMT 2007  Olly Betts <olly@survex.com>
27280         * Makefile.am: Put generated exception headers in BUILT_SOURCES.
27282 Tue Feb 20 12:10:18 GMT 2007  Olly Betts <olly@survex.com>
27284         * Makefile.am,configure.ac,generate-exceptions.in,include/Makefile.mk,
27285           include/xapian/error.h,include/xapian/errortypes.h,net/serialise.cc:
27286           Replace macro gymnastics with errortypes.h by a perl script which
27287           generates the headers we require.  It's more flexible, and easier to
27288           get doxygen to generate documentation from.
27289         * queryparser/queryparser.cc,tests/queryparsertest.cc: Throw new
27290           Error subclass QueryParserError instead of throwing const char *
27291           (fixes bug#101).
27293 Tue Feb 20 10:37:54 GMT 2007  Olly Betts <olly@survex.com>
27295         * languages/steminternal.cc: p is never NULL once the class is
27296           successfully constructed, so just use Assert() to confirm this.
27298 Tue Feb 20 10:29:25 GMT 2007  Olly Betts <olly@survex.com>
27300         * queryparser/lemon.c: Fix compiler warnings.
27302 Mon Feb 19 18:50:12 GMT 2007  Olly Betts <olly@survex.com>
27304         * common/serialise-double.cc,net/remoteconnection.cc: Throw
27305           NetworkError rather than InternalError for invalid data received
27306           over the remote protocol.
27308 Mon Feb 19 18:12:21 GMT 2007  Olly Betts <olly@survex.com>
27310         * tests/internaltest.cc: Just disable serialisequery1 if the remote
27311           backend is disabled, like we do for serialiselength1 and
27312           serialisedoc1 rather than assuming InternalError is due to the
27313           code being disabled.
27315 Mon Feb 19 09:48:02 GMT 2007  Olly Betts <olly@survex.com>
27317         * docs/Makefile.am,docs/XapianAdminNotes.txt,docs/admin_notes.rst:
27318           Generated file "XapianAdminNotes.html" doesn't fit the naming
27319           conventions of other files at all, so renamed to "admin_notes.html".
27320           Rename the source to ".rst" so we can use an implicit rule for
27321           the conversion, in anticipation of other documentation in ReST
27322           format.
27324 Mon Feb 19 09:10:48 GMT 2007  Olly Betts <olly@survex.com>
27326         * docs/Makefile.am: Fix typos which stopped parallel make from working
27327           correctly in "docs" subdirectory.
27329 Sun Feb 18 22:36:46 GMT 2007  Olly Betts <olly@survex.com>
27331         * common/Makefile.mk,common/omstringstream.h,common/output.h,
27332           include/Makefile.mk,include/xapian/output.h: Move
27333           "<xapian/output.h>" to being an internal header in "common/" since
27334           it hasn't been included by "<xapian.h>" since 0.7.0.
27336 Sun Feb 18 22:18:33 GMT 2007  Olly Betts <olly@survex.com>
27338         * include/xapian/dbfactory.h: Add documentation comment for the "prog"
27339           form of Remote::open_writable().
27341 Sun Feb 18 19:31:20 GMT 2007  Olly Betts <olly@survex.com>
27343         * tests/queryparsertest.cc: Add test for "associative NEAR".
27345 Sun Feb 18 18:27:40 GMT 2007  Olly Betts <olly@survex.com>
27347         * tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
27348           Merge BackendManager::change_names_to_paths() into
27349           index_files_to_database() and make the latter a method of
27350           class BackendManager.
27351         * tests/harness/backendmanager.cc: Remove mention of muscat36 backends
27352           from error message listing valid backends.
27353         * tests/harness/backendmanager.h: Comment out prototypes for currently
27354           disabled methods getdb_inmemoryerr, getwritedb_inmemory, etc.
27356 Sat Feb 17 15:38:05 GMT 2007  Olly Betts <olly@survex.com>
27358         * backends/flint/flint_table.cc: new throws if allocation fails
27359           so we don't need to check the return value.
27361 Sat Feb 17 02:08:22 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27363         * backends/flint/flint_table.cc: Fix memory double-frees if
27364           FlintTable::close() is called twice on a table (without an open()
27365           being called in between).  This was happening after a transaction
27366           failed when the table was next opened.
27367         * backends/quartz/btree.cc: Fix double-frees, similarly.
27369 Fri Feb 16 20:11:13 GMT 2007  Olly Betts <olly@survex.com>
27371         * languages/compiler/generator.c: Add missing "~Z" for compatibility
27372           with C code generation (which we don't use for Xapian).
27374 Fri Feb 16 19:51:26 GMT 2007  Olly Betts <olly@survex.com>
27376         * queryparser/tclUniData.h,queryparser/utf8itor.h: The tcl unicode
27377           routines only have tables for characters in the BMP.  For other
27378           characters, assume they're word characters, but can't be forced to
27379           lowercase.
27381 Fri Feb 16 19:26:00 GMT 2007  Olly Betts <olly@survex.com>
27383         * queryparser/utf8itor.cc: Fix bug in decoding of 4 byte utf-8
27384           sequences - the returned value was 0x400000 too large!
27386 Thu Feb 15 19:37:26 GMT 2007  Olly Betts <olly@survex.com>
27388         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Keep
27389           embedded apostrophe's in terms rather than generating a phrase
27390           search for them.
27392 Thu Feb 15 18:42:49 GMT 2007  Olly Betts <olly@survex.com>
27394         * languages/compiler/generator.c,languages/steminternal.cc,
27395           languages/steminternal.h: Tweak the "grouping" functions to allow
27396           skipping past multiple occurrences and use this to implement "goto"
27397           or "gopast" followed by a grouping or "non" grouping more
27398           efficiently.
27400 Thu Feb 15 17:57:43 GMT 2007  Olly Betts <olly@survex.com>
27402         * languages/compiler/generator.c,languages/steminternal.cc,
27403           languages/steminternal.h: Inline lose_s().  Since lose_s()
27404           checks if p is NULL, remove checks prior to calling lose_s().
27405         * languages/steminternal.h: Cast from symbol * to int * via
27406           void * to try to suppress over-eager warnings about alignment.
27408 Thu Feb 15 12:43:04 GMT 2007  Olly Betts <olly@survex.com>
27410         * languages/stem.cc: Add support for two letter ISO 639 codes.
27412 Thu Feb 15 10:40:40 GMT 2007  Olly Betts <olly@survex.com>
27414         * docs/Makefile.am: Don't try to ship mkdoc.pl.
27416 Thu Feb 15 09:58:48 GMT 2007  Olly Betts <olly@survex.com>
27418         * docs/gen_codestructure_doc.in: Fix to work in a VPATH build.
27420 Thu Feb 15 09:54:55 GMT 2007  Olly Betts <olly@survex.com>
27422         * languages/compiler/generator.c: Fix Stem::get_description() to
27423           return the right string.
27425 Thu Feb 15 09:44:54 GMT 2007  Olly Betts <olly@survex.com>
27427         * docs/gen_codestructure_doc.in: Add links to viewvcs on
27428           svn.xapian.org.
27430 Thu Feb 15 09:26:07 GMT 2007  Olly Betts <olly@survex.com>
27432         * configure.ac,docs/Makefile.am,docs/gen_codestructure_doc.in,
27433           docs/mkdoc.pl,preautoreconf: Rework how code_structure.html
27434           is generated.  Nicer output, and the html document is now
27435           regenerated if any of the dir_contents files change.
27437 Thu Feb 15 07:43:39 GMT 2007  Olly Betts <olly@survex.com>
27439         * Makefile.am,bin/Makefile.mk,configure.ac,examples/Makefile.mk,
27440           makemanpage.in: Add "makemanpage" script which takes care of all
27441           the magic needed to generate a man page using help2man.  This
27442           script is written in perl, but so is help2man, and they're both
27443           only used in maintainer-mode.
27445 Thu Feb 15 06:33:41 GMT 2007  Olly Betts <olly@survex.com>
27447         * bin/Makefile.mk: Fix typos in man page generation rules.
27449 Thu Feb 15 06:30:54 GMT 2007  Olly Betts <olly@survex.com>
27451         * examples/Makefile.mk: Fix typos in previous commit.
27453 Thu Feb 15 06:03:35 GMT 2007  Olly Betts <olly@survex.com>
27455         * Makefile.am,configure.ac,examples/Makefile,examples/Makefile.am,
27456           examples/Makefile.mk: Convert examples subdirectory to use
27457           non-recursive make.  Fixes wishlist bug#97.
27459 Thu Feb 15 05:48:38 GMT 2007  Olly Betts <olly@survex.com>
27461         * Makefile.am,bin/Makefile,bin/Makefile.am,bin/Makefile.mk,
27462           configure.ac: Convert bin subdirectory to use non-recursive make.
27464 Wed Feb 14 19:08:49 GMT 2007  Olly Betts <olly@survex.com>
27466         * tests/Makefile.am: There's no longer a need to remove the temporary
27467           directories for muscat36 backend tests, since we've removed the
27468           muscat36 backend code.
27470 Wed Feb 14 18:58:31 GMT 2007  Olly Betts <olly@survex.com>
27472         * languages/Makefile.mk: Move adjusting of INCLUDES to the top of the
27473           file.
27474         * queryparser/Makefile.mk: Adjust INCLUDES for a VPATH build.
27476 Wed Feb 14 18:38:16 GMT 2007  Olly Betts <olly@survex.com>
27478         * languages/Makefile.mk: Need -Ilanguages for VPATH builds from SVN.
27480 Wed Feb 14 18:37:54 GMT 2007  Olly Betts <olly@survex.com>
27482         * languages/steminternal.cc,languages/steminternal.h: Add
27483           SET_CAPACITY() macro.
27485 Wed Feb 14 17:39:50 GMT 2007  Olly Betts <olly@survex.com>
27487         * languages/steminternal.h: Don't cast away const.
27489 Wed Feb 14 17:14:14 GMT 2007  Olly Betts <olly@survex.com>
27491         * include/Makefile: Add stub makefile.
27493 Wed Feb 14 17:12:41 GMT 2007  Olly Betts <olly@survex.com>
27495         * configure.ac: ac_abs_srcdir, etc aren't available in configure
27496           itself, so we have to do the work ourselves.
27498 Wed Feb 14 12:54:26 GMT 2007  Olly Betts <olly@survex.com>
27500         * configure.ac: Fix typo in last commit.
27502 Wed Feb 14 12:19:18 GMT 2007  Olly Betts <olly@survex.com>
27504         * Makefile.am,configure.ac,languages/Makefile.mk: Define automake
27505           conditional VPATH_BUILD so we can only add extra entries to
27506           INCLUDES in VPATH builds.
27508 Wed Feb 14 11:59:02 GMT 2007  Olly Betts <olly@survex.com>
27510         * languages/Makefile.mk: Ick, we need $(top_srcdir)/languages in
27511           INCLUDES as the generated sources need to find non-generated
27512           headers.
27514 Wed Feb 14 11:46:43 GMT 2007  Olly Betts <olly@survex.com>
27516         * backends/database.cc,backends/remote/remote-database.cc,
27517           common/database.h,common/remote-database.h,common/remoteprotocol.h,
27518           docs/remote_protocol.html,net/remoteserver.cc: Support
27519           get_lastdocid() on remote databases.
27521 Wed Feb 14 11:20:33 GMT 2007  Olly Betts <olly@survex.com>
27523         * Makefile.am,configure.ac,include/Makefile.am,include/Makefile.mk:
27524           Convert include subdirectory to use non-recursive make.
27526 Wed Feb 14 11:05:00 GMT 2007  Olly Betts <olly@survex.com>
27528         * Makefile.am,bin/Makefile.am,configure.ac,examples/Makefile.am,
27529           getopt/Makefile,getopt/Makefile.am,getopt/Makefile.mk,
27530           tests/Makefile.am: Convert getopt subdirectory to use non-recursive
27531           make.
27533 Wed Feb 14 10:56:15 GMT 2007  Olly Betts <olly@survex.com>
27535         * tests/harness/Makefile.am: Remove as no longer used.
27537 Wed Feb 14 10:38:27 GMT 2007  Olly Betts <olly@survex.com>
27539         * backends/quartz/Makefile.mk,bin/Makefile.am,tests/Makefile.am: Move
27540           backends/quartz/libbtreecheck.la to libquartzcheck.la.
27541         * getopt/Makefile.am: Distribute getopt/dir_contents.
27543 Wed Feb 14 10:20:14 GMT 2007  Olly Betts <olly@survex.com>
27545         * preautoreconf: Handle variables set with "+=" and ":=".
27547 Wed Feb 14 10:16:29 GMT 2007  Olly Betts <olly@survex.com>
27549         * include/xapian/database.h: Add documentation comments for DB_*
27550           constants.
27552 Wed Feb 14 10:11:37 GMT 2007  Olly Betts <olly@survex.com>
27554         * examples/.cvsignore: Remove lingering relic of CVS days.
27556 Wed Feb 14 10:07:14 GMT 2007  Olly Betts <olly@survex.com>
27558         * Makefile.am,configure.ac,net/Makefile,net/Makefile.am,
27559           net/Makefile.mk: Convert net subdirectory to use non-recursive make.
27560           Now libxapian.la is built completely non-recursively.
27561         * docs/Makefile.am,docs/mkdoc.pl: Fix mkdoc.pl to handle directories
27562           which use non-recursive make.
27564 Wed Feb 14 09:10:27 GMT 2007  Olly Betts <olly@survex.com>
27566         * Makefile.am,backends/Makefile,backends/Makefile.am,
27567           backends/Makefile.mk,backends/flint/Makefile,
27568           backends/flint/Makefile.am,backends/flint/Makefile.mk,
27569           backends/inmemory/Makefile,backends/inmemory/Makefile.am,
27570           backends/inmemory/Makefile.mk,backends/multi/Makefile,
27571           backends/multi/Makefile.am,backends/multi/Makefile.mk,
27572           backends/quartz/Makefile,backends/quartz/Makefile.am,
27573           backends/quartz/Makefile.mk,backends/remote/Makefile,
27574           backends/remote/Makefile.am,backends/remote/Makefile.mk,
27575           configure.ac: Convert backends subdirectory (and subdirectories
27576           thereof) to non-recursive make.
27578 Wed Feb 14 08:49:02 GMT 2007  Olly Betts <olly@survex.com>
27580         * preautoreconf: Fix handling of backslash at the end of a line in
27581           included files.
27582         * preautoreconf: Our handling of which directory a nested include is
27583           sought from is consistent with automake, so remove the FIXME comment
27584           about it.
27586 Wed Feb 14 08:07:07 GMT 2007  Olly Betts <olly@survex.com>
27588         * Makefile.am,configure.ac,matcher/Makefile,matcher/Makefile.am,
27589           matcher/Makefile.mk: Convert matcher subdirectory to non-recursive
27590           make.
27592 Wed Feb 14 07:50:19 GMT 2007  Olly Betts <olly@survex.com>
27594         * Makefile.am,api/Makefile,api/Makefile.am,api/Makefile.mk,
27595           configure.ac: Convert api subdirectory to non-recursive make.
27597 Wed Feb 14 07:48:45 GMT 2007  Olly Betts <olly@survex.com>
27599         * preautoreconf: No need to `chdir' to the current directory.
27600         * preautoreconf: Don't bother looking at the file we generate
27601           when considering included files.
27602         * preautoreconf: Add included files to the dependency list.
27604 Wed Feb 14 07:38:19 GMT 2007  Olly Betts <olly@survex.com>
27606         * preautoreconf: Generate dummy rules for the files which
27607           preautoreconf depends on, so that "make" still works if one
27608           of them is removed (by build system restructuring).
27610 Wed Feb 14 07:24:07 GMT 2007  Olly Betts <olly@survex.com>
27612         * common,languages,tests/harness: svn:ignore: We do need to ignore
27613           .dirstamp files after all.
27615 Wed Feb 14 07:22:29 GMT 2007  Olly Betts <olly@survex.com>
27617         * Makefile.am,common/Makefile,common/Makefile.am,common/Makefile.mk,
27618           configure.ac: Convert common subdirectory to non-recursive make.
27620 Wed Feb 14 07:03:27 GMT 2007  Olly Betts <olly@survex.com>
27622         * .: svn:ignore: Ignore all vim swapfiles.  No need to ignore .deps
27623           now that dummy.cc is history.
27625 Wed Feb 14 06:34:44 GMT 2007  Olly Betts <olly@survex.com>
27627         * tests/stemtest.cc: Force ASCII capitals in sample vocabulary to
27628           lower case before stemming.
27630 Wed Feb 14 06:14:42 GMT 2007  Olly Betts <olly@survex.com>
27632         * Makefile.am,configure.ac,queryparser/Makefile,
27633           queryparser/Makefile.am,queryparser/Makefile.mk:
27634           Convert queryparser subdirectory to non-recursive make.
27635         * Makefile.am: Enable automake option "subdir-objects" so
27636           that built objects for a non-recursively made directory
27637           go into that directory.
27639 Wed Feb 14 06:12:29 GMT 2007  Olly Betts <olly@survex.com>
27641         * tests/harness: svn:ignore: remove .dirstamp and depcomp.
27643 Wed Feb 14 06:10:44 GMT 2007  Olly Betts <olly@survex.com>
27645         * languages/Makefile.mk: In maintainer-mode, remove snowball and
27646           generated allsnowballheaders.h on "make clean".  When not in
27647           maintainer-mode, remove them on "make maintainer-clean".
27648         * languages/: svn:ignore all vim swap files.
27650 Wed Feb 14 05:54:32 GMT 2007  Olly Betts <olly@survex.com>
27652         * languages/Makefile.mk: Distribute the stub languages/Makefile.
27653         * tests/harness/Makefile.mk: No need to explicitly distribute
27654           harness/Makefile.mk.
27656 Wed Feb 14 05:52:08 GMT 2007  Olly Betts <olly@survex.com>
27658         * languages/Makefile.mk: Distribute languages/dir_contents.
27660 Wed Feb 14 05:44:10 GMT 2007  Olly Betts <olly@survex.com>
27662         * api/Makefile.am,api/vectortermlist.h,common/Makefile.am,
27663           queryparser/Makefile.am: We use vectortermlist.h from the
27664           queryparser directory, so move it from api to common.
27666 Wed Feb 14 05:27:13 GMT 2007  Olly Betts <olly@survex.com>
27668         * languages/Makefile.mk,languages/stem.cc: Disable finnish and lovins
27669           temporarily, until I sort out merging the support for among with
27670           functions properly.
27672 Wed Feb 14 05:24:36 GMT 2007  Olly Betts <olly@survex.com>
27674         * languages/steminternal.cc,languages/steminternal.h: Temporarily
27675           back out the changes to handling of among with functions.
27677 Tue Feb 13 19:11:57 GMT 2007  Olly Betts <olly@survex.com>
27679         * tests/harness/testsuite.cc: If a test throws an unknwon exception,
27680           say so in the test failure message.  If it throws std::string,
27681           report the first 40 character (or first line) of the string.
27683 Tue Feb 13 17:48:11 GMT 2007  Olly Betts <olly@survex.com>
27685         * languages/steminternal.cc: Fix decoding of 3 byte utf-8 sequences.
27687 Tue Feb 13 17:47:22 GMT 2007  Olly Betts <olly@survex.com>
27689         * languages/Makefile.mk: Fix dependency of generated
27690           languages/allsnowballheaders.h to be on languages/Makefile.mk.
27692 Tue Feb 13 17:46:42 GMT 2007  Olly Betts <olly@survex.com>
27694         * languages/compiler/generator.c: Fix missing ";" in generated
27695           code.
27697 Tue Feb 13 15:40:15 GMT 2007  Olly Betts <olly@survex.com>
27699         * languages/Makefile.mk,languages/compiler/driver.c,
27700           languages/compiler/generator.c,languages/compiler/header.h:
27701           Changes towards getting C++ generation working.
27703 Tue Feb 13 15:39:23 GMT 2007  Olly Betts <olly@survex.com>
27705         * languages/steminternal.cc,languages/steminternal.h: Revert to match
27706           currently generated code.
27708 Tue Feb 13 14:09:31 GMT 2007  Olly Betts <olly@survex.com>
27710         * languages/compiler/: Sync with current snowball SVN + submitted
27711           patches.
27713 Tue Feb 13 10:53:34 GMT 2007  Olly Betts <olly@survex.com>
27715         * tests/harness/backendmanager.cc: If we fail to start
27716           xapian-tcpsrv, report why (give errno or the error output).
27718 Tue Feb 13 10:28:43 GMT 2007  Olly Betts <olly@survex.com>
27720         * tests/remotetest.cc: Prune test cases which are redundant now that
27721           apitest tests remote and remotetcp: apitest's simplequery1 performs
27722           a superset of what netmatch1 and tcpmatch1 do; apitest's multidb1
27723           performs a superset of what netmatch2 does; and the coverage given
27724           by our netexpand1 is provided by various apitest tests.
27726 Mon Feb 12 06:36:58 GMT 2007  Olly Betts <olly@survex.com>
27728         * languages/compiler/generator.c: In backward mode, among
27729           can't match if there are fewer characters before the current
27730           position than the minimum length string in the among.
27732 Mon Feb 12 05:56:31 GMT 2007  Olly Betts <olly@survex.com>
27734         * configure.ac: Make sure that the languages subdirectory exists in
27735           case this is a fresh SVN checkout and srcdir != builddir.
27737 Mon Feb 12 05:46:49 GMT 2007  Olly Betts <olly@survex.com>
27739         * languages/Makefile.mk,languages/compiler/driver.c: -DDISABLE_JAVA
27740           to not compile in Java support (inline with Richard's patch to
27741           the upstream snowball sources).
27742         * languages/Makefile.mk: Remove inaccurate comment about processing
27743           with automake.  Fix -n option we pass (remove directory name).
27744           Use "" instead of <> in generated file allsnowballheaders.h.  Remove
27745           snowball compiler and generated files on "make maintainer-clean".
27747 Mon Feb 12 01:08:50 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27749         * languages/compiler/header.h: Remove commented out header for
27750           sort() prototype, to match snowball sources.
27752 Sun Feb 11 19:28:50 GMT 2007  Olly Betts <olly@survex.com>
27754         * languages/api.h,languages/header.h: Remove headers which are no
27755           longer used.
27757 Sun Feb 11 19:26:50 GMT 2007  Olly Betts <olly@survex.com>
27759         * languages/api.cc,languages/utilities.cc: Remove sources which are
27760           no longer used.
27762 Sun Feb 11 16:22:16 GMT 2007  Olly Betts <olly@survex.com>
27764         * languages/compiler/driver.c: Use #ifdef instead of #if.
27766 Sun Feb 11 16:20:44 GMT 2007  Olly Betts <olly@survex.com>
27768         * languages/compiler/driver.c: Disable java support, since we don't
27769           use it and it means one less source file.
27771 Sun Feb 11 16:08:49 GMT 2007  Olly Betts <olly@survex.com>
27773         * languages/compiler/analyser.c,languages/compiler/header.h: Use qsort
27774           instead the snowball's own sort implementation to reduce the number
27775           of source files we need for the snowball compiler.
27777 Sun Feb 11 16:04:19 GMT 2007  Olly Betts <olly@survex.com>
27779         * languages/Makefile: Add stub Makefile to allow "make", "make check",
27780           and "make clean" from the languages subdirectory.
27782 Sun Feb 11 16:00:51 GMT 2007  Olly Betts <olly@survex.com>
27784         * languages/compiler/analyser.c: Cast the arguments, not the function
27785           pointer as ISO C allows `void*' and `struct amongvec*' to have
27786           different representations.
27788 Sun Feb 11 15:43:49 GMT 2007  Olly Betts <olly@survex.com>
27790         * languages/compiler/space.c: Fix a typo of a function name in a
27791           comment.
27793 Sun Feb 11 15:23:51 GMT 2007  Olly Betts <olly@survex.com>
27795         * languages/compiler/header.h,languages/compiler/tokeniser.c: Give
27796           syswords and syswords2 .h extensions for clarity.
27798 Sun Feb 11 15:17:28 GMT 2007  Olly Betts <olly@survex.com>
27800         * Makefile.am,api/Makefile.am,api/omstem.cc,configure.ac,dummy.cc,
27801           languages/Makefile.am,languages/Makefile.mk,languages/compiler/,
27802           languages/: Update the stemmers to use utf-8 and the latest snowball
27803           version (based on r421 from snowball SVN).  Further patches are
27804           required to generate C++ classes from snowball, I'm checking in the
27805           vanilla compiler first to help us track the patches.
27807 Sun Feb 11 14:16:35 GMT 2007  Olly Betts <olly@survex.com>
27809         * api/omstem.cc: Add definition for Xapian::Stem::stem_word().
27811 Sun Feb 11 13:15:11 GMT 2007  Olly Betts <olly@survex.com>
27813         * tests/api_anydb.cc,tests/api_db.cc,tests/api_posdb.cc: Prefer
27814           Xapian::Stem::operator() to Xapian::Stem::stem_word().
27816 Sat Feb 10 19:10:31 GMT 2007  Olly Betts <olly@survex.com>
27818         * queryparser/queryparser.lemony: Prefer Xapian::Stem::operator() to
27819           Xapian::Stem::stem_word().
27821 Sat Feb 10 18:34:41 GMT 2007  Olly Betts <olly@survex.com>
27823         * include/xapian/stem.h: Make Xapian::Stem::Internal as @internal for
27824           doxygen.  Mark Xapian::Stem::stem_word() as deprecated.
27826 Sat Feb 10 18:34:05 GMT 2007  Olly Betts <olly@survex.com>
27828         * HACKING: Add brief note about coding style.
27830 Sat Feb 10 18:24:28 GMT 2007  Olly Betts <olly@survex.com>
27832         * preautoreconf: Add licence and copyright notice.  Add support for
27833           automake include directives.  Warn about unknown variables.
27835 Sat Feb 10 18:19:26 GMT 2007  Olly Betts <olly@survex.com>
27837         * tests/harness/testsuite.cc: Conditionalise all the valgrind specific
27838           code on RUNNING_ON_VALGRIND to minimise the overhead if valgrind
27839           is installed but we aren't running tests under it.
27841 Sat Feb 10 17:42:05 GMT 2007  Olly Betts <olly@survex.com>
27843         * tests/harness/index_utils.cc,tests/stemtest.cc: Prefer
27844           Xapian::Stem::operator() to Xapian::Stem::stem_word().
27846 Sat Feb 10 17:27:27 GMT 2007  Olly Betts <olly@survex.com>
27848         * examples/delve.cc,examples/simpleindex.cc,examples/simplesearch.cc:
27849           Prefer Xapian::Stem::operator() to Xapian::Stem::stem_word().
27851 Wed Feb 07 04:23:09 GMT 2007  Olly Betts <olly@survex.com>
27853         * queryparser/queryparser.lemony,queryparser/queryparser.lt: Use
27854           new/delete instead of malloc/free to allocate struct yyParser
27855           and pass it around as "yyParser *" instead of "void *".
27857 Wed Feb 07 03:44:16 GMT 2007  Olly Betts <olly@survex.com>
27859         * include/xapian/queryparser.h,queryparser/queryparser.cc,
27860           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
27861           tests/queryparsertest.cc: Allow the default prefix to be specified
27862           so you can use QueryParser to parse a text entry box for "author"
27863           etc.
27864         * configure.ac: Note API change for LIBRARY_VERSION_INFO updating.
27866 Wed Feb 07 01:14:37 GMT 2007  Olly Betts <olly@survex.com>
27868         * common/safeunistd.h: Add '#include <sys/types.h>' so that we've seen
27869           a typedef for off_t before we hide it behind a #define to avoid a
27870           compilation error if <sys/types.h> or <wchar.h> is included after
27871           we are.
27873 Tue Feb 06 06:26:24 GMT 2007  Olly Betts <olly@survex.com>
27875         * INSTALL: Mention MSVC makefiles.  Note that we still test build with
27876           GCC 2.95.4 even though we recommend using a newer version.
27878 Tue Feb 06 06:13:48 GMT 2007  Olly Betts <olly@survex.com>
27880         * AUTHORS,HACKING,backends/flint/,backends/quartz/btree.cc,
27881           backends/quartz/quartz_database.cc,bin/quartzcompact.cc,
27882           bin/xapian-compact.cc,common/,tests/btreetest.cc,
27883           tests/harness/backendmanager.cc,tests/harness/testsuite.cc,
27884           tests/quartztest.cc: Support large files in stat() and fstat()
27885           when building with MSVC.  Factor MSVC specific header magic
27886           into new replacement headers "safeunistd.h" and "safesysstat.h".
27887         * AUTHORS: Thanks to Charlie Hull for the original patch to support
27888           stat() on large files with MSVC (and past MSVC related stuff!)
27890 Sat Jan 13 02:06:15 GMT 2007  Olly Betts <olly@survex.com>
27892         * include/xapian/database.h: Add pointer from
27893           WritableDatabase::add_document() to replace_document() in case the
27894           user wants to specify the docid themselves.  Also improve the
27895           wording of the warning about changes not being committed to disk
27896           right away.
27898 Tue Jan  2 15:49:43 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27900         * backends/quartz/btree.cc,backends/flint/flint_io.h: Patches from
27901           Charlie Hull to allow 2GB+ index files work when compiled using
27902           Visual C++.
27904 Sat Dec 30 13:48:54 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27906         * queryparser/queryparser.lemony,include/xapian/queryparser.h:
27907           Add support for partially entered queries, to better support
27908           incremental searching.  Also fix a typo in a comment.
27909         * docs/queryparser.html: Document the new partial query option, and
27910           what it's useful for.
27911         * tests/queryparsertest.cc: Test partial queries.
27913 Wed Dec 20 16:42:24 GMT 2006  Olly Betts <olly@survex.com>
27915         * PLATFORMS: Updated with success reports from debian buildds.
27917 Wed Dec 20 00:53:19 GMT 2006  Olly Betts <olly@survex.com>
27919         * api/omqueryinternal.cc: Fix "unused parameter" warning when building
27920           with the remote backend disabled.  Also update a comment - the query
27921           serialisation isn't really one line of text since we now store term
27922           names with the length prefixed, and they can contain arbitrary
27923           characters including linefeeds.
27925 Tue Dec 19 20:40:27 GMT 2006  Olly Betts <olly@survex.com>
27927         * tests/Makefile.am: Need libgetopt.la for test programs which
27928           use the test harness for platforms where GNU getopt isn't in
27929           the standard C library.
27931 Tue Dec 19 20:34:16 GMT 2006  Olly Betts <olly@survex.com>
27933         * queryparser/utf8itor.h: Need <string.h> for strlen.
27935 Tue Dec 19 16:35:58 GMT 2006  Olly Betts <olly@survex.com>
27937         * common/omstringstream.h: Fix "warning: comparison between signed and
27938           unsigned".
27940 Tue Dec 19 15:33:19 GMT 2006  Olly Betts <olly@survex.com>
27942         * backends/flint/flint_positionlist.cc: Turn the second (and
27943           potentially slightly deeper) recursion in encode_interpolative
27944           and decode_interpolative into explicit iteration in case the
27945           compiler fails to optimise the tail recursion.
27947 Mon Dec 18 03:39:41 GMT 2006  Olly Betts <olly@survex.com>
27949         * matcher/: Add ExactPhrasePostList to handle the common special case
27950           where the window size of OP_PHRASE is equal to the number of terms
27951           in the phrase.
27953 Mon Dec 18 02:21:32 GMT 2006  Olly Betts <olly@survex.com>
27955         * tests/harness/testsuite.cc: Remove accidentally committed "NO
27956           PROBLEM" message when running under valgrind.
27958 Wed Dec 13 21:15:57 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27960         * include/xapian/document.h: Another tweak to the documentation
27961           comment.
27963 Wed Dec 13 18:07:51 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27965         * include/xapian/document.h: Improve documentation comment for
27966           Document::get_value().
27968 Wed Dec 13 03:38:37 GMT 2006  Olly Betts <olly@survex.com>
27970         * include/xapian/enquire.h: In the description of the TradWeight
27971           class, replace reference to "Muscat 3.6" (meaningless to most
27972           people) with a generally useful explanation.
27974 Wed Dec 13 03:27:14 GMT 2006  Olly Betts <olly@survex.com>
27976         * docs/: svn:ignore XapianAdminNotes.html.
27978 Wed Dec 13 03:16:44 GMT 2006  Olly Betts <olly@survex.com>
27980         * configure.ac: Yet more valgrind test improvements!  Give up testing
27981           valgrind features if VALGRIND_COUNT_LEAKS isn't supported.  Fix the
27982           common shortcut case to not try logging to /dev/null.<pid> so it
27983           can actually get used.  Also don't use /dev/null in the --logfile
27984           case either as it will probably cause problems there too (though I
27985           don't have an old enough valgrind handy to verify this).  Also report
27986           results of valgrind tests in a couple more places.
27988 Wed Dec 13 00:31:04 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27990         * docs/Makefile.am: New rules for generating XapianAdminNotes.html
27991           from XapianAdminNotes.txt
27992         * configure.ac: Check for rst2html, and require it in maintainer
27993           mode.
27994         * HACKING: document rst2html as a requirement.
27996 Tue Dec 12 23:58:13 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27998         * docs/XapianAdminNotes.txt: Add new document giving an
27999           introduction to Xapian concepts for system administrators.
28001 Tue Dec 12 21:33:38 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28003         * docs/quartzdesign.html: Fix an unmatched bracket.
28005 Tue Dec 12 21:18:54 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28007         * backends/quartz/quartz_alldocspostlist.cc: Fix memory leak
28008           discovered by valgrind in QuartzAllDocsPostList constructor: was
28009           failing to delete the Bcursor.
28011 Tue Dec 12 21:05:47 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28013         * queryparser/queryparser.lemony: Fix parsing of queries of the
28014           form "+foo* bar", where no terms in the database match the
28015           wildcard "foo*", but bar does exist in the database.  Previously,
28016           such queries would be equivalent to "bar".  Now, they will match
28017           no documents.  This required using a new "QpQuery" object
28018           internally so we can distinguish between deliberately "match
28019           nothing" queries, and empty lists of queries.
28020         * tests/api_anydb.cc,tests/queryparsertest.cc: Test above fix, and
28021           general parsing of wildcard queries with +terms, and test
28022           performing a match with a query resulting from a wildcard query
28023           which matches nothing.
28025 Tue Dec 12 21:05:15 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28027         * tests/api_nodb.cc,api/omqueryinternal.cc,api/omquery.cc: Fix some
28028           copyright assertions I missed.
28030 Tue Dec 12 19:38:39 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28032         * include/xapian/query.h,api/omqueryinternal.cc,api/omquery.cc: Add
28033           two static Query objects: Xapian::Query::MatchAll and
28034           Xapian::Query::MatchNothing, which match all documents and no
28035           documents in the database, respectively.  (Equivalent to
28036           Query("") and Query()).  Allow empty queries such as MatchNothing
28037           to be combined with other queries.  Change methods of
28038           Xapian::Query::Internal to use pointers to query internals
28039           instead of references, so they can handle the NULL pointer
28040           internals of an empty query.
28041         * tests/api_nodb.cc: Test combining of MatchNothing queries with
28042           other queries with OP_AND and OP_OR.
28044 Tue Dec 12 20:01:58 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28046         * configure.ac: Fix valgrind better: --log-file-exactly isn't what
28047           is wanted, because it messes up if multiple processes are traced.
28048           Instead, use a temporary file instead of /dev/null, so we don't
28049           get the permission denied error.
28051 Tue Dec 12 19:15:20 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28053         * configure.ac: Fix detection of valgrind for newer valgrind.  My
28054           version of valgrind (valgrind-3.2.1-Debian, from ubuntu feisty)
28055           treats the parameter supplied to --log-file as a base path, and
28056           appends a process ID. This caused the test for the log-file
28057           option to fail with permission denied errors due to trying to
28058           write to files of the form '/dev/null.16098'.  Solution - test
28059           for the --log-file-exactly option, and use that.  Also, change
28060           configure.ac to display the result of the tests for valgrind; was
28061           displaying that it had found it, but not mentioning that it
28062           couldn't make it work.
28064 Tue Dec 05 21:12:12 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28066         * include/xapian/query.h,api/omqueryinternal.cc: Fix query
28067           serialisation bug.  Was failing to propagate "curpos" parameter
28068           across subqueries, resulting in incorrect serialisation of
28069           termpositions.
28070         * tests/internaltest.cc: Regression test for this bug.
28072 Tue Dec 05 01:34:07 GMT 2006  Olly Betts <olly@survex.com>
28074         * HACKING: Clarify how XAPIAN_DEBUG_FLAGS works.
28076 Tue Dec 05 01:23:12 GMT 2006  Olly Betts <olly@survex.com>
28078         * examples/quest.cc: Add "--stemmer" option to allow stemming language
28079           to be set, or stemming to be disabled.
28081 Sun Dec 03 00:34:27 GMT 2006  Olly Betts <olly@survex.com>
28083         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Add entries
28084           to the "unstem" map for prefixed boolean filters (e.g. type:html).
28085           Also don't corrupt non-ASCII characters in a prefixed boolean
28086           filter.
28088 Sat Nov 25 04:17:23 GMT 2006  Olly Betts <olly@survex.com>
28090         * backends/flint/flint_database.cc,backends/flint/flint_version.cc:
28091           The "my_fls()" change actually results in a different interpolative
28092           encoding in a few cases - the old encoding could vary between
28093           architectures so we have to change it.  So bump the FLINT_VERSION
28094           and change the "flicklock" file to be "flintlock" as it should have
28095           been all along!
28097 Wed Nov 22 18:55:42 GMT 2006  Olly Betts <olly@survex.com>
28099         * xapian-config.in: Improve --version output so that help2man produces
28100           a better man page.
28102 Mon Nov 20 07:21:07 GMT 2006  Olly Betts <olly@survex.com>
28104         * backends/flint/flint_positionlist.cc: Fix another off-by-one
28105           error (> should be >=).
28107 Mon Nov 20 07:12:11 GMT 2006  Olly Betts <olly@survex.com>
28109         * backends/flint/flint_positionlist.cc: Fix off-by-one error in code
28110           which calls my_fls().
28112 Sat Nov 18 08:32:08 GMT 2006  Olly Betts <olly@survex.com>
28114         * backends/flint/flint_positionlist.cc: "const static" -> "static
28115           const".
28117 Sat Nov 18 08:05:17 GMT 2006  Olly Betts <olly@survex.com>
28119         * backends/flint/flint_positionlist.cc: Make decode_interpolative
28120           a member function of BitReader.
28122 Sat Nov 18 07:45:19 GMT 2006  Olly Betts <olly@survex.com>
28124         * backends/flint/flint_positionlist.cc: Add highly optimised fls()
28125           implementation and make use of it.
28127 Thu Nov 16 04:22:36 GMT 2006  Olly Betts <olly@survex.com>
28129         * m4/xapian.m4: If XAPIAN_CONFIG wasn't specified and xapian-config
28130           wasn't found, see if the library seems to be present - if so give
28131           a different error message which suggests the user needs to install
28132           a -dev or -devel package.
28134 Thu Nov 16 02:11:34 GMT 2006  Olly Betts <olly@survex.com>
28136         * docs/install.html: omega tarball is now xapian-omega.
28138 Tue Nov 14 22:42:05 GMT 2006  Olly Betts <olly@survex.com>
28140         * tests/harness/Makefile: Add static Makefile so you can make all,
28141           check, and clean from the subdirectory.
28142         * tests/harness/Makefile.mk: Ship Makefile.mk and Makefile.
28144 Tue Nov 14 21:53:45 GMT 2006  Olly Betts <olly@survex.com>
28146         * tests/: Remove muscat36 temporary directories from svn:ignore
28147           property.
28149 Tue Nov 14 19:47:30 GMT 2006  Olly Betts <olly@survex.com>
28151         * configure.ac,tests/Makefile.am,tests/harness/Makefile.mk: Use
28152           non-recursive make to build the test harness, so it only gets
28153           built if "make check" is run.
28155 Tue Nov 14 19:43:48 GMT 2006  Olly Betts <olly@survex.com>
28157         * tests/quartztest.cc: Removed unused static function unlink_table.
28159 Tue Nov 14 17:41:26 GMT 2006  Olly Betts <olly@survex.com>
28161         * include/xapian/queryparser.h,queryparser/queryparser.lemony,
28162           tests/queryparsertest.cc: Add QueryParser::FLAG_PURE_NOT to allow
28163           pure NOT queries to be enabled (they are now disabled by default).
28165 Tue Nov 14 04:19:40 GMT 2006  Olly Betts <olly@survex.com>
28167         * backends/database.cc,backends/flint/dir_contents,
28168           backends/quartz/dir_contents,docs/overview.html,
28169           docs/quartzdesign.html,docs/scalability.html: Make flint the default
28170           backend.
28172 Tue Nov 14 03:25:19 GMT 2006  Olly Betts <olly@survex.com>
28174         * tests/api_nodb.cc: Xapian::Query("") now builds a query which
28175           matches all documents rather than throwing InvalidArgumentError
28176           so fix emptyquery1 test.
28178 Tue Nov 14 02:03:29 GMT 2006  Olly Betts <olly@survex.com>
28180         * api/omdocument.cc: Tweak OmDocumentTerm::add_position() so that
28181           adding position 0 to an empty termlist takes the shortcut.
28183 Mon Nov 13 05:46:15 GMT 2006  Olly Betts <olly@survex.com>
28185         * docs/queryparser.html: Document the new pure NOT feature.
28187 Mon Nov 13 05:24:30 GMT 2006  Olly Betts <olly@survex.com>
28189         * api/omqueryinternal.cc,queryparser/queryparser.lemony,
28190           tests/queryparsertest.cc: Allow "pure NOT" queries - e.g.
28191           "NOT apples".  Fixes bug #99.
28193 Mon Nov 13 04:54:04 GMT 2006  Olly Betts <olly@survex.com>
28195         * api/omqueryinternal.cc: Undo changes accidentally committed in last
28196           check-in.
28198 Mon Nov 13 04:47:57 GMT 2006  Olly Betts <olly@survex.com>
28200         * api/omqueryinternal.cc,backends/Makefile.am,backends/database.cc,
28201           backends/muscat36/,configure.ac,docs/overview.html,
28202           docs/quartzdesign.html,docs/tests.html,include/xapian/dbfactory.h,
28203           include/xapian/version_h.cc,tests/api_anydb.cc,tests/apitest.cc,
28204           tests/harness/backendmanager.cc,tests/harness/backendmanager.h,
28205           tests/harness/index_utils.cc: Remove support for the old Muscat 3.6
28206           backends.
28208 Mon Nov 13 04:02:27 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28210         * common/database.h,api/omdatabase.cc,
28211           backends/inmemory/inmemory_database.cc,
28212           backends/inmemory/inmemory_database.h,
28213           backends/quartz/Makefile.am,backends/quartz/quartz_database.cc,
28214           backends/quartz/quartz_alldocspostlist.h,
28215           backends/quartz/quartz_alldocspostlist.cc,
28216           backends/flint/Makefile.am,backends/flint/flint_database.cc,
28217           backends/flint/flint_alldocspostlist.cc,
28218           backends/flint/flint_alldocspostlist.h:
28219           Implement posting lists which return a list of all documents in
28220           the database.  Such a posting list is obtained by calling
28221           Xapian::Database::postlist_begin() with an empty term (ie, "").
28222           Also, all Xapian::Database methods which take a termname now
28223           accept an empty term, and return appropriate values (ie,
28224           get_termfreq("") and get_collection_freq("") return the number of
28225           documents in the database, and term_exists("") returns true
28226           unless the database is empty).  Fixes Bug #47.
28227         * docs/quartzdesign.html: Document the inefficiency of all-document
28228           postlists for Quartz.
28229         * tests/api_anydb.cc,tests/api_db.cc,tests/api_wrdb.cc: Add tests for
28230           all-document postlists, and for passing an empty term to all the
28231           applicable database methods.  This defines the new tests
28232           allpostlist1, allpostlist2, emptyterm1, and emptyterm2.  These
28233           tests currently skip for the remote backend where postlist_begin()
28234           isn't yet implemented.
28236 Mon Nov 13 02:06:03 GMT 2006  Olly Betts <olly@survex.com>
28238         * Merge in utf8 branch:
28240         Thu Sep 14 23:49:48 BST 2006  Olly Betts <olly@survex.com>
28242                 * queryparser/,tests/queryparsertest.cc: Update to work with
28243                   UTF-8.  Stop normalising accents - the general sentiment
28244                   seems to be firmly against it, and where it is still
28245                   appropriate we should get the stemmers to do it.
28247 Sun Nov 12 22:38:56 GMT 2006  Olly Betts <olly@survex.com>
28249         * NEWS: Update from ChangeLog file in preparation for branching and
28250           merging.
28252 Sun Nov 12 19:32:01 GMT 2006  Olly Betts <olly@survex.com>
28254         * backends/flint/flint_database.cc,
28255           backends/inmemory/inmemory_database.cc,
28256           backends/inmemory/inmemory_database.h,
28257           backends/quartz/quartz_database.cc: Fix replace_document() not to
28258           lose positional information for a document if it is replaced with
28259           itself with unmodified postings.
28260         * tests/api_wrdb.cc: Add testcase replace_document5 as regression test
28261           for the replace_document bug.
28262         * backends/remote/remote-database.cc: Fix
28263           RemoteDatabase::has_positions() to refetch the cached value if it
28264           might be out of date.
28266 Sun Nov 12 17:07:00 GMT 2006  Olly Betts <olly@survex.com>
28268         * docs/Makefile.am: Need to increase pool_size further still to build
28269           sourcedoc.pdf (2000000 now).
28271 Sun Nov 12 16:24:15 GMT 2006  Olly Betts <olly@survex.com>
28273         * HACKING: Add "update ReleaseNotes on wiki" to release checklist.
28275 Sun Nov 12 16:23:19 GMT 2006  Olly Betts <olly@survex.com>
28277         * xapian.spec.in: Remove "." from end of "Summary:".  Package
28278           new man page for xapian-progsrv.
28280 Sun Nov 12 00:43:36 GMT 2006  Olly Betts <olly@survex.com>
28282         * docs/stemming.html: Update another "CVS" reference to say "SVN".
28284 Sun Nov 12 00:42:22 GMT 2006  Olly Betts <olly@survex.com>
28286         * docs/install.html: Update reference to "CVS" to say "SVN".
28288 Thu Nov 09 01:11:52 GMT 2006  Olly Betts <olly@survex.com>
28290         * HACKING: Reorder the release checklist a little.  I've fixed
28291           update_website.sh to get the latest version from version.php, so
28292           now only version.php needs updating.
28294 Thu Nov 09 00:17:35 GMT 2006  Olly Betts <olly@survex.com>
28296         * NEWS,PLATFORMS,configure.ac: Update for 0.9.9.
28298 Wed Nov 08 20:54:31 GMT 2006  Olly Betts <olly@survex.com>
28300         * xapian.spec.in: Apply changes from Neal Becker to run "autoreconf
28301           --force" so that we don't set rpath for /usr/lib64, and add "libs"
28302           to %post and %postun.
28303         * AUTHORS: Thank Neal Becker.
28305 Wed Nov 08 04:27:17 GMT 2006  Olly Betts <olly@survex.com>
28307         * docs/tests.html: Update for "testsuite" -> "tests/harness".  Mark
28308           paths and programs with <code>...</code>.  Improve wording in a few
28309           places.
28311 Wed Nov 08 03:10:37 GMT 2006  Olly Betts <olly@survex.com>
28313         * bin/xapian-tcpsrv.cc: Need '#include "safeerrno.h"' for EADDRINUSE.
28315 Wed Nov 08 02:36:59 GMT 2006  Olly Betts <olly@survex.com>
28317         * bin/Makefile.am,bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc:
28318           xapian-progsrv now uses getopt for option processing, and we can
28319           now generate a man page using help2man.  Fixes Bug #98.
28321 Wed Nov 08 01:47:19 GMT 2006  Olly Betts <olly@survex.com>
28323         * bin/xapian-tcpsrv.cc: If the port requested is in use, exit with
28324           code 69 (EX_UNAVAILABLE) which is useful if you're trying to
28325           automate launching of xapian-tcpsrv instances.
28326         * tests/harness/backendmanager.cc: If we can't start xapian-tcpsrv
28327           because the port is in use, try higher numbered ports.
28328         * tests/harness/testsuite.cc: Catch and report std::string exceptions.
28330 Tue Nov 07 22:40:58 GMT 2006  Olly Betts <olly@survex.com>
28332         * net/tcpclient.cc: Turn on TCP_NODELAY for the client too.
28334 Tue Nov 07 21:46:39 GMT 2006  Olly Betts <olly@survex.com>
28336         * net/tcpserver.cc: Turn on TCP_NODELAY for xapian-tcpsrv which
28337           increases throughput for the remote backend over tcp.
28339 Tue Nov 07 21:08:57 GMT 2006  Olly Betts <olly@survex.com>
28341         * backends/flint/flint_btreebase.cc: Add missing '#include'-s.
28343 Tue Nov 07 17:57:22 GMT 2006  Olly Betts <olly@survex.com>
28345         * backends/quartz/btree_base.cc: Add missing '#include'-s.
28347 Tue Nov 07 05:12:40 GMT 2006  Olly Betts <olly@survex.com>
28349         * backends/flint/flint_positionlist.h,backends/flint/flint_table.cc,
28350           backends/quartz/btree.cc: Add missing '#include <vector>' which
28351           "utils.h" was implicitly pulling in.
28352         * common/utils.h: Move '#include "safefcntl.h"' to more logical place.
28354 Tue Nov 07 04:18:27 GMT 2006  Olly Betts <olly@survex.com>
28356         * common/safefcntl.h: Actually add the new file to SVN.
28358 Tue Nov 07 03:36:59 GMT 2006  Olly Betts <olly@survex.com>
28360         * HACKING,backends/flint/flint_io.h,backends/flint/flint_lock.cc,
28361           backends/flint/flint_lock.h,backends/muscat36/io_system.cc,common/,
28362           net/tcpserver.cc,tests/harness/backendmanager.cc,
28363           tests/harness/testsuite.cc: Create "safefcntl.h" as a replacement
28364           for <fcntl.h> instead of using "utils.h" for this purpose, since
28365           "utils.h" pulls in many other things we often don't want.
28366         * common/utils.cc,common/utils.h,net/progclient.cc: Move split_words
28367           to progclient.cc which is the only user of it.  Rewrite it to not
28368           modified the string being split which risks being O(n^2).
28369         * net/progclient.cc,common/progclient.h: Pass std::string by const
28370           reference.
28371         * configure.ac: Fix DJGPP build (fork is present but always fails).
28373 Tue Nov 07 03:21:24 GMT 2006  Olly Betts <olly@survex.com>
28375         * matcher/biaspostlist.h: Don't need '#include "utils.h"'.
28377 Tue Nov 07 01:15:14 GMT 2006  Olly Betts <olly@survex.com>
28379         * common/c_strtod.cc: Remove file which was checked in but is unused!
28381 Mon Nov 06 15:24:02 GMT 2006  Olly Betts <olly@survex.com>
28383         * tests/internaltest.cc: Disable serialiselength1 and serialisedoc1
28384           when the remote backend is disabled.
28386 Mon Nov 06 15:23:40 GMT 2006  Olly Betts <olly@survex.com>
28388         * tests/Makefile.am: Fix typo in recent check-in.
28390 Mon Nov 06 01:43:37 GMT 2006  Olly Betts <olly@survex.com>
28392         * tests/Makefile.am: Need "harness" in "$(srcdir)" for VPATH builds to
28393           work.
28395 Sun Nov 05 19:55:26 GMT 2006  Olly Betts <olly@survex.com>
28397         * backends/quartz/Makefile.am: Remove explicit dependency of
28398           libbtreecheck.la on libxapian.la.  We always link in libxapian.la
28399           and the explicit dependency makes it hard to build things in a
28400           sane order.
28402 Sun Nov 05 19:29:17 GMT 2006  Olly Betts <olly@survex.com>
28404         * net/tcpserver.cc: Don't define on_SIGCHLD() unless we'll use it.
28405         * tests/harness/backendmanager.cc: Use a proper signal handler for
28406           SIGCHLD if we have waitpid() - POSIX leaves the semantics of
28407           SIG_IGN on SIGCHLD unspecified.
28409 Sun Nov 05 19:11:36 GMT 2006  Olly Betts <olly@survex.com>
28411         * backends/quartz/Makefile.am,backends/quartz/btreecheck.cc,
28412           backends/quartz/btreecheck.h,bin/Makefile.am,tests/Makefile.am,
28413           tests/harness/: Use _exit(0) instead of exit(0) in the child
28414           process which closes the pipe to xapian-tcpsrv in BackendManager
28415           since we don't want to call atexit functions from the child.  Move
28416           btreecheck stuff into backends/quartz.
28418 Sun Nov 05 17:12:05 GMT 2006  Olly Betts <olly@survex.com>
28420         * Makefile.am,bin/Makefile.am,configure.ac,tests/Makefile.am,
28421           tests/harness/Makefile.am,tests/harness/dir_contents,testsuite/:
28422           Move the testsuite harness from "testsuite/" to "tests/harness/".
28424 Sun Nov 05 16:36:56 GMT 2006  Olly Betts <olly@survex.com>
28426         * testsuite/backendmanager.cc,testsuite/backendmanager.h: Now needs
28427           <stdio.h>.  Set SIG_IGN for SIG_CHLD so we don't get zombie child
28428           processes.
28430 Sun Nov 05 03:53:24 GMT 2006  Olly Betts <olly@survex.com>
28432         * tests/apitest.cc: Make backendmanager static.
28434 Sun Nov 05 03:51:36 GMT 2006  Olly Betts <olly@survex.com>
28436         * bin/xapian-tcpsrv.cc: Output "Listening..." once the socket is
28437           open and read for connections.
28438         * testsuite/backendmanager.cc: Use popen() to run xapian-tcpsrv
28439           and wait for "Listening..." before returning rather than just
28440           sleeping for 1 second and hoping that's enough.
28442 Sun Nov 05 02:54:23 GMT 2006  Olly Betts <olly@survex.com>
28444         * tests/api_db.cc: Remove unnecessary inclusion of backendmanager.h.
28446 Fri Nov 03 02:09:26 GMT 2006  Olly Betts <olly@survex.com>
28448         * HACKING: Update debian packaging checklist.
28450 Fri Nov 03 00:57:35 GMT 2006  Olly Betts <olly@survex.com>
28452         * docs/Makefile.am: Building sourcedoc.pdf needs a larger pool_size
28453           now.
28455 Thu Nov 02 19:12:34 GMT 2006  Olly Betts <olly@survex.com>
28457         * AUTHORS: Updated.
28459 Thu Nov 02 15:41:46 GMT 2006  Olly Betts <olly@survex.com>
28461         * HACKING,NEWS,configure.ac: Update for 0.9.8.
28463 Thu Nov 02 15:20:05 GMT 2006  Olly Betts <olly@survex.com>
28465         * PLATFORMS: Update from tinderbox.
28467 Thu Nov 02 11:53:53 GMT 2006  Olly Betts <olly@survex.com>
28469         * configure.ac: GCC's -Wendif-labels is enabled by default on versions
28470           which support it, which simplifies our tests.
28472 Thu Nov 02 00:22:44 GMT 2006  Olly Betts <olly@survex.com>
28474         * backends/remote/dir_contents: Update.
28476 Wed Nov 01 15:33:12 GMT 2006  Olly Betts <olly@survex.com>
28478         * common/omstringstream.h: Fix our implementation of om_ostringstream
28479           to work with OmTime.
28481 Wed Nov 01 03:27:36 GMT 2006  Olly Betts <olly@survex.com>
28483         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Don't
28484           require a prefixed boolean term to start with an alphanumeric
28485           - allow the same set of characters as we do for the second and
28486           subsequent characters.
28488 Sat Oct 28 04:12:13 BST 2006  Olly Betts <olly@survex.com>
28490         * bin/quartzcheck.cc: Add catch for unknown exceptions.
28492 Sat Oct 28 03:49:19 BST 2006  Olly Betts <olly@survex.com>
28494         * HACKING,configure.ac,docs/Makefile.am,docs/doxygen_api_conf.in,
28495           docs/doxygen_full_conf.in: Produce a PDF for apidoc rather than
28496           PostScript, since the PDF is smaller, and easier to view for most
28497           users.  Use pdflatex to generate the PDF directly rather than
28498           going via a DVI file.  This also avoids problems on some Linux
28499           distros where latex is a symlink to pdfelatex (bug#81, bug#95).
28501 Thu Oct 26 22:12:20 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28503         * bin/quartzcheck.cc: Catch (and display) any exceptions which are
28504           of type "const char *error".  btreecheck.cc raises an exception
28505           of this type if a btree error is found, and this avoids
28506           quartzcheck dying quite so horribly in this case.
28508 Wed Oct 25 23:30:26 BST 2006  Olly Betts <olly@survex.com>
28510         * configure.ac: -Wendif-labels is new in GCC 3.3.
28511         * configure.ac: Revert accidental change which turned on -Werror in
28512           non-maintainer builds.
28513         * configure.ac: Avoid non-portable use of double quotes in
28514           double-quoted backticks.
28516 Wed Oct 25 01:19:24 BST 2006  Olly Betts <olly@survex.com>
28518         * configure.ac: Redhat's GCC 2.96 doesn't support -Wundef even
28519           though real GCC version before and after it do!  Also, use
28520           -Wshadow and -Wendif-labels even when not in maintainer mode.
28522 Tue Oct 24 04:17:58 BST 2006  Olly Betts <olly@survex.com>
28524         * backends/flint/flint_lock.cc,bin/quartzcheck.cc: Eliminate
28525           a couple of variables whose value is never used.
28527 Tue Oct 24 00:31:25 BST 2006  Olly Betts <olly@survex.com>
28529         * backends/quartz/quartz_database.cc: Only force a flush on
28530           WritableDatabase::allterms_begin() if there are actually pending
28531           changes.
28533 Mon Oct 23 23:49:52 BST 2006  Olly Betts <olly@survex.com>
28535         * backends/flint/flint_database.cc: Only force a flush on
28536           WritableDatabase::allterms_begin() if there are actually pending
28537           changes.
28539 Mon Oct 23 02:24:12 BST 2006  Olly Betts <olly@survex.com>
28541         * configure.ac: When checking if we need -lm, don't use a constant
28542           argument to log as the compiler might simply evaluate the whole
28543           expression at compile time.
28545 Sat Oct 21 20:42:52 BST 2006  Olly Betts <olly@survex.com>
28547         * HACKING: Mention automake 1.10 is out but we've not tested it yet.
28549 Sat Oct 21 20:39:57 BST 2006  Olly Betts <olly@survex.com>
28551         * HACKING: Add entries to release checklist: make sure new API methods
28552           are wrapped by the bindings, and that bug submitters are thanked.
28554 Fri Oct 20 13:56:50 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28556         * backends/flint/flint_io.cc: Fix compilation on windows (needs to
28557           #include "safewindows.h" to get definition of SSIZE_T).
28559 Tue Oct 17 02:16:37 BST 2006  Olly Betts <olly@survex.com>
28561         * testsuite/backendmanager.cc: Fix compilation when valgrind is
28562           detected by configure.
28564 Thu Oct 12 13:30:05 BST 2006  Olly Betts <olly@survex.com>
28566         * xapian.spec.in: Package xapian-progsrv.
28568 Thu Oct 12 00:49:47 BST 2006  Olly Betts <olly@survex.com>
28570         * HACKING: Note that on Debian, tetex-extra is needed for
28571           fancyhdr.sty.
28572         * HACKING: Note that dch can be used to update debian/changelog.
28574 Wed Oct 11 23:35:08 BST 2006  Olly Betts <olly@survex.com>
28576         * docs/Makefile.am: If running latex on refman.ps fails, cat
28577           refman.log since that is likely to show what failed.
28579 Tue Oct 10 17:24:00 BST 2006  Olly Betts <olly@survex.com>
28581         * NEWS: Bump release date.
28583 Sun Oct 08 21:41:04 BST 2006  Olly Betts <olly@survex.com>
28585         * NEWS,PLATFORMS,configure.ac: Update for 0.9.7.
28587 Sun Oct 08 10:06:51 BST 2006  Olly Betts <olly@survex.com>
28589         * testsuite/testsuite.cc: Use lseek() to skip existing valgrind output
28590           instead of repeated calls to read.  Handle the old valgrind naming
28591           convention for log files.
28593 Sun Oct 08 09:35:59 BST 2006  Olly Betts <olly@survex.com>
28595         * matcher/multimatch.cc: Fix a couple of typos in comments.
28597 Sun Oct 08 05:36:36 BST 2006  Olly Betts <olly@survex.com>
28599         * configure.ac: Disable probing and short-cut tests for a FORTRAN
28600           compiler.  We don't use one, but current libtool versions always
28601           check for it regardless.
28603 Sat Oct 07 21:19:35 BST 2006  Olly Betts <olly@survex.com>
28605         * configure.ac,tests/runtest.in,testsuite/backendmanager.cc,
28606           testsuite/testsuite.cc: Fix testsuite harness to show valgrind
28607           output when a test fails (when running under valgrind in verbose
28608           mode).  This probably stopped working due to changes in valgrind 3.
28609         * testsuite/backendmanager.cc: Run xapian-tcpsrv under valgrind if
28610           apitest is.
28612 Fri Oct  6 18:27:13 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28614         * tests/runtest.in: export $LIBTOOL, $VALGRIND and $VG_LOG_FD.
28615         * testsuite/backendmanager.cc: If $LIBTOOL, $VALGRIND and
28616           $VG_LOG_FD are set, run progsrv under valgrind.  Fixes
28617           Bug #94.
28618         * net/remoteserver.cc: Use an AutoPtr to hold the unserialised
28619           query, so it gets deleted if an exception is thrown.
28620         * api/omqueryinternal.cc: Use AutoPtr in one place, and a try-catch
28621           in another, to ensure that partially unserialised queries get
28622           deleted if exceptions are thrown.
28623         * tests/internaltest.cc: Add copyright notices to file for recent
28624           change.
28625         * AUTHORS: Add myself as a current developer, now that I've started
28626           committing to the core again.
28628 Fri Oct 06 17:44:21 BST 2006  Olly Betts <olly@survex.com>
28630         * api/omqueryinternal.cc: Fix memory leak in query unserialisation.
28632 Fri Oct  6 17:34:59 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28634         * tests/runtest.in: Cache result of test for $VG_LOG_FD if we
28635           find the new option.  Saves 2 seconds for each invocation on my
28636           machine, which is half the time when running just a single simple
28637           test.
28639 Fri Oct  6 16:35:46 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28641         * tests/internaltest.cc: Check serialisation and unserialisation of
28642           Query objects.  Currently fails under valgrind due to a memory
28643           leak somewhere in the unserialisation code.
28645 Thu Oct 05 14:13:55 BST 2006  Olly Betts <olly@survex.com>
28647         * include/xapian/error.h: Only enable the SWIG visibility hook when
28648           using GCC 4 or later.
28650 Wed Oct 04 20:32:43 BST 2006  Olly Betts <olly@survex.com>
28652         * m4/xapian.m4: Remove overquoting.
28654 Wed Oct  4 13:28:09 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28656         * common/utils.h: MSVC seems to #define open.  However, the
28657           workaround for this problem implemented for old versions of
28658           solaris doesn't work for windows, so avoid applying the fix for
28659           windows, and just #undef open.  (Windows seems to define some
28660           open() functions, as well as #defining open!)
28662 Wed Oct  4 13:26:18 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28664         * net/serialise.cc: Use "unsigned char" instead of "char" when
28665           serialising lengths, to avoid problems on platforms where char is
28666           signed (eg, windows).
28668 Wed Oct 04 12:25:51 BST 2006  Olly Betts <olly@survex.com>
28670         * backends/flint/flint_version.cc: Remove "100" from start of file so
28671           it actually compiles.
28673 Mon Oct 02 13:57:56 BST 2006  Olly Betts <olly@survex.com>
28675         * xapian-config.in: Fix typo - "@libdir" should be "@libdir@".
28676           This would lead to -L/usr/lib not being pruned, which is really
28677           just a cosmetic problem (the typo was introduced in 0.9.3).
28679 Thu Sep 28 02:00:05 BST 2006  Olly Betts <olly@survex.com>
28681         * matcher/multimatch.cc: Reserve the right number of entries in the
28682           subrsets vector.
28684 Fri Sep 22 07:48:32 BST 2006  Olly Betts <olly@survex.com>
28686         * common/serialise-double.cc: Fix warning with aCC.
28688 Fri Sep 22 04:43:06 BST 2006  Olly Betts <olly@survex.com>
28690         * HACKING: Expand note on _GLIBCXX_DEBUG;  Now using autoconf 2.60 for
28691           snapshots and releases;  Now using a libtool patch which improves
28692           support for -library=stlport4 with Sun's C++;  Give URL to Alexandre
28693           Duret-Lutz's autotools tutorial, which is much more up-to-date than
28694           the "goat book".
28696 Fri Sep 22 04:42:08 BST 2006  Olly Betts <olly@survex.com>
28698         * common/serialise-double.cc: Fix a few compiler warnings.
28700 Fri Sep 22 04:29:18 BST 2006  Olly Betts <olly@survex.com>
28702         * backends/flint/flint_lock.cc: Retry on EINTR from fcntl or waitpid.
28704 Fri Sep 22 03:39:12 BST 2006  Olly Betts <olly@survex.com>
28706         * include/xapian/version_h.cc: Only check _GLIBCXX_DEBUG for GCC 3.4
28707           and later (which are the versions which support it).
28709 Fri Sep 22 03:37:02 BST 2006  Olly Betts <olly@survex.com>
28711         * bin/xapian-tcpsrv.cc: Report errno if we catch a Xapian::Error which
28712           has it set.
28714 Fri Sep 22 03:30:25 BST 2006  Olly Betts <olly@survex.com>
28716         * configure.ac: Turn on -Wportability to help ensure our Makefile.am's
28717           are written in a portable way.
28719 Fri Sep 22 03:29:25 BST 2006  Olly Betts <olly@survex.com>
28721         * tests/runtest.in: Turn on GLIBCXX_FORCE_NEW when running tests under
28722           valgrind.
28724 Tue Sep 19 06:28:47 BST 2006  Olly Betts <olly@survex.com>
28726         * tests/internaltest.cc: Check that the the destructor on a temporary
28727           object gets called at the correct time (Sun C++ deliberately gets
28728           this wrong by default).
28730 Tue Sep 19 04:32:04 BST 2006  Olly Betts <olly@survex.com>
28732         * include/xapian/enquire.h: Revert change to Xapian::Weight's copy
28733           constructor because it prevents Omega from compiling.
28735 Tue Sep 19 04:01:14 BST 2006  Olly Betts <olly@survex.com>
28737         * configure.ac: Make the argument of log() a double to avoid
28738           potential compiler warnings.
28740 Mon Sep 18 22:58:19 BST 2006  Olly Betts <olly@survex.com>
28742         * include/xapian/enquire.h: Xapian::Weight's copy constructor should
28743           be private not protected (direct copying isn't allowed).
28745 Mon Sep 18 07:03:51 BST 2006  Olly Betts <olly@survex.com>
28747         * configure.ac: We reportedly need "-lm" to get maths functions on
28748           some versions of Sun's C++ compiler.
28750 Sat Sep 16 12:08:25 BST 2006  Olly Betts <olly@survex.com>
28752         * configure.ac: Sun's C++ compiler implements non-standards-conforming
28753           lifetimes for temporary objects (for "backwards compatibility" with
28754           old Sun C++ specific code).  We don't care about such code, so
28755           always pass "-features=tmplife" for Sun C++.
28757 Sat Sep 16 03:04:57 BST 2006  Olly Betts <olly@survex.com>
28759         * bin/xapian-progsrv.cc: Oops, fix compilation error.
28761 Sat Sep 16 02:13:22 BST 2006  Olly Betts <olly@survex.com>
28763         * bin/xapian-progsrv.cc: Fix messages send by xapian-progsrv if an
28764           exception is thrown while opening the database.
28766 Fri Sep 15 06:29:55 BST 2006  Olly Betts <olly@survex.com>
28768         * tests/internaltest.cc: 1/DBL_MAX may be less than DBL_MIN but on
28769           platforms like x86 which hold results in registers with extra
28770           precision, this is still representable, but not reliably so
28771           the test sometimes fails.
28773 Fri Sep 15 02:40:52 BST 2006  Olly Betts <olly@survex.com>
28775         * backends/flint/flint_btreebase.cc: Avoid copying beyond the end of
28776           the bitmap block.
28778 Thu Sep 14 02:01:58 BST 2006  Olly Betts <olly@survex.com>
28780         * backends/flint/flint_version.cc: Fix warning from GCC 4.1.0.
28782 Wed Sep 13 18:12:43 BST 2006  Olly Betts <olly@survex.com>
28784         * backends/flint/flint_io.cc,backends/flint/flint_io.h,
28785           backends/flint/flint_version.cc: Fix compiler warnings.
28787 Wed Sep 13 06:09:40 BST 2006  Olly Betts <olly@survex.com>
28789         * backends/flint/flint_version.cc,backends/flint/flint_version.h:
28790           Actually commit the new files!
28792 Wed Sep 13 05:21:04 BST 2006  Olly Betts <olly@survex.com>
28794         * backends/flint/,common/utils.h: Rewrite some of flint's low level IO
28795           functions, and the "iamflint" handling class.
28797 Tue Sep 12 20:22:57 BST 2006  Olly Betts <olly@survex.com>
28799         * backends/remote/remote-database.cc: Fix to compile.
28801 Tue Sep 12 18:56:16 BST 2006  Olly Betts <olly@survex.com>
28803         * backends/remote/remote-database.cc,common/remote-database.h:
28804           Fix bug in remote backend which incorrectly returned an empty MSet
28805           under certain circumstances!
28807 Tue Sep 12 11:51:31 BST 2006  Olly Betts <olly@survex.com>
28809         * matcher/msetcmp.cc: "static inline" -> "inline" since the static is
28810           superfluous and Sun's C++ warns.
28812 Mon Sep 11 23:42:28 BST 2006  Olly Betts <olly@survex.com>
28814         * configure.ac: Check $CXX not $CC to identify which C++ compiler we
28815           have.
28817 Mon Sep 11 16:32:37 BST 2006  Olly Betts <olly@survex.com>
28819         * api/omenquire.cc,api/vectortermlist.h,
28820           backends/flint/flint_positionlist.cc,configure.ac,
28821           net/remoteconnection.cc,net/tcpclient.cc,
28822           queryparser/queryparser.lemony,tests/api_anydb.cc,tests/api_db.cc,
28823           tests/api_nodb.cc: I've discovered that -library=stlport4 puts
28824           Sun's compiler into an "ANSI C++ compliant" mode, so do that
28825           automatically in configure and throw away all the annoying special
28826           bits of alternative code we'd accumulated just for this one
28827           compiler.
28829 Mon Sep 11 16:01:20 BST 2006  Olly Betts <olly@survex.com>
28831         * tests/api_wrdb.cc: Speed up deldoc4 when run in verbose mode
28832           - some stringstream implementations are very inefficient when
28833           the string grows long.
28835 Mon Sep 11 05:30:29 BST 2006  Olly Betts <olly@survex.com>
28837         * HACKING: Add some advice regarding debugging using -D_GLIBCXX_DEBUG,
28838           valgrind, and gdb.
28840 Sun Sep 10 02:24:47 BST 2006  Olly Betts <olly@survex.com>
28842         * configure.ac: Fix last check-in to actually work.
28844 Sat Sep 09 04:19:44 BST 2006  Olly Betts <olly@survex.com>
28846         * configure.ac: Ensure that if _GLIBCXX_DEBUG has been specified that
28847           it also passed when generating version.h.
28849 Sat Sep 09 04:01:40 BST 2006  Olly Betts <olly@survex.com>
28851         * tests/internaltest.cc: Give more useful output should the double
28852           serialisation test fail.
28854 Sat Sep 09 03:19:20 BST 2006  Olly Betts <olly@survex.com>
28856         * include/xapian/version_h.cc: Add a check that _GLIBCXX_DEBUG is
28857           set compatibly if we're compiling with GNU C++.
28859 Sat Sep 09 02:55:38 BST 2006  Olly Betts <olly@survex.com>
28861         * backends/flint/flint_modifiedpostlist.cc: Fix potential access to
28862           iterator which has already reached its end.
28864 Fri Sep 08 04:05:28 BST 2006  Olly Betts <olly@survex.com>
28866         * backends/remote/remote-database.cc,common/,matcher/bm25weight.cc,
28867           matcher/tradweight.cc,net/,tests/internaltest.cc: Split the double
28868           serialisation code off into its own file - it is used by BM25Weight
28869           and TradWeight, so it needs to be compiled in even when the remote
28870           backend is disabled.
28872 Thu Sep 07 00:09:41 BST 2006  Olly Betts <olly@survex.com>
28874         * testsuite/backendmanager.cc: Discard stderr from xapian-tcpsrv
28875           so we don't get "write error" messages appearing in the testsuite
28876           output when we've just closed the connection at the client side.
28878 Tue Sep 05 21:07:40 BST 2006  Olly Betts <olly@survex.com>
28880         * api/omqueryinternal.cc: Fix warning when remote backend
28881           is disabled.
28883 Tue Sep 05 20:58:52 BST 2006  Olly Betts <olly@survex.com>
28885         * docs/Makefile.am: Add extra dependencies so that parallel make
28886           doesn't try to run latex twice simultaneously.
28888 Tue Sep 05 20:58:13 BST 2006  Olly Betts <olly@survex.com>
28890         * AUTHORS: Updated.
28892 Tue Sep 05 20:56:50 BST 2006  Olly Betts <olly@survex.com>
28894         * Makefile.am: Fix typo.
28896 Tue Sep 05 03:23:14 BST 2006  Olly Betts <olly@survex.com>
28898         * docs/queryparser.html,queryparser/queryparser.lemony,
28899           tests/queryparsertest.cc: Implement "ADJ" operator - like
28900           "NEAR" except the terms must appear in matching documents in the
28901           same order as in the query.
28903 Tue Sep 05 03:19:12 BST 2006  Olly Betts <olly@survex.com>
28905         * backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
28906           matcher/bm25weight.cc,matcher/tradweight.cc,net/remoteserver.cc,
28907           net/serialise.cc,tests/internaltest.cc: Change how doubles are
28908           serialised by TradWeight, BM25Weight, and in the remote backend
28909           protocol.  The new encoding allows us to transfer any double
28910           value which can be represented by both machines precisely and
28911           compactly.
28913 Tue Sep 05 02:27:36 BST 2006  Olly Betts <olly@survex.com>
28915         * docs/queryparser.html,queryparser/queryparser.lemony,
28916           tests/queryparsertest.cc: Allow a distance to be specified
28917           for NEAR - e.g. "cats NEAR/3 dogs" (bug#92).
28919 Fri Sep 01 00:29:10 BST 2006  Olly Betts <olly@survex.com>
28921         * backends/remote/remote-database.cc,common/remote-database.h:
28922           Fix RemoteDatabase::reopen() to not be const so it actually
28923           overrides the virtual method it is supposed to.
28925 Thu Aug 31 21:40:53 BST 2006  Olly Betts <olly@survex.com>
28927         * testsuite/backendmanager.h: Remove unneeded BackendManager::
28928           qualifications.
28930 Thu Aug 31 17:08:16 BST 2006  Olly Betts <olly@survex.com>
28932         * matcher/msetpostlist.cc,matcher/msetpostlist.h: Move #include
28933           "omenquireinternal.h" into the header to fix compilation error
28934           with older versions of GCC.
28936 Thu Aug 31 16:38:33 BST 2006  Olly Betts <olly@survex.com>
28938         * PLATFORMS: Added success report for Nexenta (alpha 5).
28940 Wed Aug 30 23:41:08 BST 2006  Olly Betts <olly@survex.com>
28942         * configure.ac: Fix generation of version.h to work with Solaris sed.
28944 Sat Aug 26 15:28:22 BST 2006  Olly Betts <olly@survex.com>
28946         * docs/index.html: Add links to the wiki.
28948 Sun Jul 16 03:48:26 BST 2006  Olly Betts <olly@survex.com>
28950         * common/Makefile.am: Ship remoteprotocol.h.
28952 Sun Jul 16 02:23:54 BST 2006  Olly Betts <olly@survex.com>
28954         * common/remote-database.h: Add new file I missed in the previous
28955           commit.
28957 Sun Jul 16 01:58:25 BST 2006  Olly Betts <olly@survex.com>
28959         * Makefile.am,api/,backends/Makefile.am,backends/database.cc,
28960           backends/dbfactory_remote.cc,backends/flint/flint_database.cc,
28961           backends/flint/flint_termlist.cc,backends/flint/flint_termlist.h,
28962           backends/inmemory/inmemory_database.cc,
28963           backends/inmemory/inmemory_database.h,
28964           backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
28965           backends/net/,backends/quartz/quartz_termlist.cc,
28966           backends/quartz/quartz_termlist.h,backends/remote/,bin/Makefile.am,
28967           bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/,configure.ac,
28968           docs/remote_protocol.html,include/xapian/,matcher/,net/,tests/,
28969           testsuite/backendmanager.cc,testsuite/backendmanager.h: Rewrite
28970           most of the remote backend.  It now supports most operations
28971           which a local database does (including writing!), the protocol
28972           used is more compact, and a number of layers of classes have
28973           been eliminated and the sequences of method calls simplified, so the
28974           code should be easier to understand and maintain despite doing more.
28975           A number of bugs have been fixed in the process.
28977 Sat Jul 15 05:10:38 BST 2006  Olly Betts <olly@survex.com>
28979         * tests/api_nodb.cc: Doesn't need <iostream>.
28981 Sat Jul 15 01:06:27 BST 2006  Olly Betts <olly@survex.com>
28983         * README: Add link to the wiki.  Tweak wording.
28985 Fri Jul 14 15:21:39 BST 2006  Olly Betts <olly@survex.com>
28987         * configure.ac: Note in error message that dot is in graphviz.
28989 Fri Jul 14 15:17:36 BST 2006  Olly Betts <olly@survex.com>
28991         * docs/overview.html: Add discussion of uses of terms vs values.
28993 Fri Jul 14 15:01:04 BST 2006  Olly Betts <olly@survex.com>
28995         * docs/overview.html: Rewrite the section on Xapian::Document to
28996           remove some very out-of-date information and make it clearer.
28998 Tue Jul 11 18:41:07 BST 2006  Olly Betts <olly@survex.com>
29000         * queryparser/queryparser.lemony: Fix problem I believe was introduced
29001           by previous fix.
29002         * tests/queryparsertest.cc: Add regression test and some additional
29003           related test cases.
29005 Tue Jul 11 03:32:48 BST 2006  Olly Betts <olly@survex.com>
29007         * queryparser/queryparser.lemony: Fix bug in how we handle prefixed
29008           quoted phrases and prefixed brackets.
29009         * tests/queryparsertest.cc: Add regression tests.
29011 Mon Jul 10 23:17:58 BST 2006  Olly Betts <olly@survex.com>
29013         * include/xapian/database.h: Note that automatically allocated
29014           document IDs don't reuse IDs from deleted document.
29016 Wed Jul 05 01:06:35 BST 2006  Olly Betts <olly@survex.com>
29018         * tests/api_wrdb.cc: Tweak whitespace.
29020 Mon Jun 26 23:56:02 BST 2006  Olly Betts <olly@survex.com>
29022         * PLATFORMS: Added success reports for MSVC and sparc linux.
29024 Sat Jun 17 02:01:35 BST 2006  Olly Betts <olly@survex.com>
29026         * Makefile.am,tests/Makefile.am: Tweak new check-* rules to be more
29027           portable and robust.
29029 Sun Jun 11 23:29:48 BST 2006  Olly Betts <olly@survex.com>
29031         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix parsing
29032           of loved and hated prefixed phrases and bracketted expressions.  Fix
29033           handling of stopwords in boolean expressions.  Don't ignore a
29034           stopword if it's the only query term.  Add regression tests for all
29035           these cases.
29037 Fri Jun 09 15:21:07 BST 2006  Olly Betts <olly@survex.com>
29039         * docs/queryparser.html: Add pointer to set_database when describing
29040           FLAG_WILDCARD.
29042 Fri Jun 09 13:51:03 BST 2006  Olly Betts <olly@survex.com>
29044         * include/xapian/queryparser.h: Add note that FLAG_WILDCARD requires
29045           you to call set_database.
29047 Fri Jun 09 13:49:34 BST 2006  Olly Betts <olly@survex.com>
29049         * api/omqueryinternal.cc: Don't compile query serialisation if the
29050           remote backend is disabled.
29052 Fri Jun 09 01:48:25 BST 2006  Olly Betts <olly@survex.com>
29054         * api/omdocument.cc,tests/api_nodb.cc: add_value failed to replace an
29055           existing value with the same number, contrary to what the
29056           documentation says (bug #82).
29058 Thu Jun 08 21:36:54 BST 2006  Olly Betts <olly@survex.com>
29060         * matcher/multimatch.cc: Don't fetch the document data when fetching
29061           the value to sort on.  Simple benchmarking showed this to speed
29062           up sort by value by a factor of between 3 and 9!
29064 Sun Jun 04 17:36:01 BST 2006  Olly Betts <olly@survex.com>
29066         * backends/flint/: Remove forced flush when iterating the posting list
29067           of a term which has modified posting pending.
29069 Sat Jun 03 21:38:43 BST 2006  Olly Betts <olly@survex.com>
29071         * backends/flint/flint_database.cc,backends/flint/flint_termlist.cc,
29072           backends/quartz/quartz_database.cc,tests/api_wrdb.cc: We can't flush
29073           during a transaction, which means that we can't use flush to avoid
29074           having to handle corner cases (like deleting a document right after
29075           adding it before it's been flushed) so handle corner cases properly
29076           (except for postlist_begin() and allterms_begin() which are
29077           harder - these now throw UnimplementedError at least...)
29078         * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
29079           replace_document(did, doc) was double-incrementing the "changes"
29080           counter when document did didn't exist - fixed.
29082 Sat Jun 03 17:53:41 BST 2006  Olly Betts <olly@survex.com>
29084         * HACKING: Document "make check-flint" and "make check-quartz".
29086 Sat Jun 03 17:49:25 BST 2006  Olly Betts <olly@survex.com>
29088         * Makefile.am,tests/Makefile.am: Added make targets "check-flint" and
29089           "check-quartz" which run the subset of tests which test the flint
29090           and quartz backends respectively.
29092 Sat Jun 03 04:03:00 BST 2006  Olly Betts <olly@survex.com>
29094         * api/omdatabase.cc,backends/database.cc,
29095           backends/flint/flint_database.cc,backends/flint/flint_database.h,
29096           backends/inmemory/inmemory_database.cc,
29097           backends/inmemory/inmemory_database.h,backends/quartz/dir_contents,
29098           backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
29099           common/database.h,include/xapian/database.h,tests/apitest.cc:
29100           Rework transactions to support "unflushed" transactions, and so
29101           they work with quartz as well as with flint.
29103 Sat Jun 03 03:18:22 BST 2006  Olly Betts <olly@survex.com>
29105         * HACKING: Document "make check-remote".
29107 Sat Jun 03 00:23:46 BST 2006  Olly Betts <olly@survex.com>
29109         * backends/database.cc,backends/flint/dir_contents,
29110           backends/flint/flint_database.cc,backends/flint/flint_database.h,
29111           backends/quartz/dir_contents,common/database.h,
29112           include/xapian/database.h,tests/: Implement transactions for
29113           flint.
29115 Sat Jun 03 00:14:37 BST 2006  Olly Betts <olly@survex.com>
29117         * tests/apitest.cc: Run tests on flint if flint is enabled, rather
29118           than if quartz is enabled.
29120 Sun May 28 23:01:45 BST 2006  Olly Betts <olly@survex.com>
29122         * common/omtime.h: Add operator+ and operator+= with argument of
29123           type Xapian::timeout.
29125 Sun May 28 22:02:30 BST 2006  Olly Betts <olly@survex.com>
29127         * include/xapian/errorhandler.h: Fix typos in private assignment
29128           operator and copy ctor (Error -> ErrorHandler!)
29130 Sun May 28 21:54:05 BST 2006  Olly Betts <olly@survex.com>
29132         * Makefile.am,tests/Makefile.am: Add "check-remote" target which runs
29133           the subset of tests which test the remote backend.
29135 Thu May 25 16:06:06 BST 2006  Olly Betts <olly@survex.com>
29137         * api/omdatabase.cc,backends/database.cc,common/database.h:
29138           Merge Xapian::Internal::open_database() into the Xapian::Database
29139           ctor which calls it; merge Xapian::Internal::open_writable_database()
29140           into the Xapian::WritableDatabase ctor which calls it.
29142 Wed May 24 08:28:40 BST 2006  Olly Betts <olly@survex.com>
29144         * net/socketserver.cc: OmLineBuf -> OmSocketLineBuf.
29146 Wed May 24 08:27:22 BST 2006  Olly Betts <olly@survex.com>
29148         * common/socketserver.h: OmLineBuf -> OmSocketLineBuf.
29150 Wed May 24 07:50:51 BST 2006  Olly Betts <olly@survex.com>
29152         * common/Makefile.am,common/omlinebuf.h,common/socketcommon.h,
29153           net/Makefile.am,net/omlinebuf.cc,net/socketcommon.cc:
29154           Merge OmLineBuf into OmSocketLineBuf.
29155         * common/Makefile.am: Fix netutils.cc to be conditionally included
29156           when the remote backend is enabled, not the quartz backend!
29158 Tue May 23 18:59:09 BST 2006  Olly Betts <olly@survex.com>
29160         * api/Makefile.am,api/errorhandler.cc,api/omerror.cc,
29161           include/xapian/error.h,include/xapian/errorhandler.h:
29162           Redo the Xapian::Error and Xapian::ErrorHandler classes.
29163           The new versions have better, clearer documentation comments
29164           and are cleaner internally.
29165         * include/xapian/error.h: Add hook to allow SWIG bindings to
29166           be built using GCC's visibility support.
29168 Tue May 23 10:08:02 BST 2006  Olly Betts <olly@survex.com>
29170         * backends/quartz/btree.cc: Remove superfluous '#include <autoptr.h>'.
29172 Tue May 23 09:42:52 BST 2006  Olly Betts <olly@survex.com>
29174         * backends/Makefile.am,backends/database.cc,
29175           backends/dbfactory_remote.cc,backends/net/net_database.cc,
29176           backends/net/net_termlist.cc,backends/net/net_termlist.h,common/,
29177           include/xapian/dbfactory.h,matcher/,net/socketclient.cc,
29178           net/socketcommon.cc: Eliminate the NetClient class by merging
29179           it into NetDatabase.
29181 Mon May 22 08:51:16 BST 2006  Olly Betts <olly@survex.com>
29183         * common/omtime.h: Fix OmTime::operator> which failed to return false
29184           if the seconds were strictly less but the microsecond fraction was
29185           more.
29187 Sun May 21 11:53:29 BST 2006  Olly Betts <olly@survex.com>
29189         * Makefile.am,bin/Makefile.am,docs/Makefile.am,examples/Makefile.am:
29190           Make use of the dist_ prefix to avoid having to list files in
29191           EXTRA_DIST as well as in *_DATA and man_MANS.
29193 Sun May 21 05:55:00 BST 2006  Olly Betts <olly@survex.com>
29195         * api/dir_contents,getopt/dir_contents,queryparser/dir_contents:
29196           Add missing dir_contents files.
29198 Sun May 21 05:45:44 BST 2006  Olly Betts <olly@survex.com>
29200         * tests/remotetest.cc: Remove unnecessary "#include <sys/wait.h>".
29202 Sat May 20 11:02:43 BST 2006  Olly Betts <olly@survex.com>
29204         * docs/Makefile.am: doxygen_api_conf and doxygen_full_conf are
29205           generated, so aren't in srcdir!
29207 Sat May 20 10:14:52 BST 2006  Olly Betts <olly@survex.com>
29209         * docs/Makefile.am: automake adds suitable rules for rebuilding
29210           doxygen_api_conf and doxygen_source_conf, so remove our less
29211           accurate versions.
29213 Fri May 19 14:43:47 BST 2006  Olly Betts <olly@survex.com>
29215         * docs/Makefile.am,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in:
29216           Remove "XAPIAN_DEPRECATED" from generated documentation.
29217         * docs/Makefile.am: Fix dependencies for regenerating the doxygen
29218           documentation.
29220 Fri May 19 08:12:51 BST 2006  Olly Betts <olly@survex.com>
29222         * docs/scalability.html: quartzcompact and xapian-compact now allow
29223           you to set the blocksize, so there's no need to use copydatabase
29224           if you want to migrate a database to a larger blocksize.  Mention
29225           gmane.  Other minor tweaks.
29227 Fri May 19 07:52:23 BST 2006  Olly Betts <olly@survex.com>
29229         * bin/quartzcompact.cc: Add --blocksize option to allow the blocksize
29230           to be set (default is 8K as before.)
29232 Fri May 19 07:47:13 BST 2006  Olly Betts <olly@survex.com>
29234         * bin/xapian-compact.cc: Add --blocksize option to allow the blocksize
29235           to be set (default is 8K as before.)
29237 Thu May 18 11:24:17 BST 2006  Olly Betts <olly@survex.com>
29239         * api/vectortermlist.h: Whitespace tweak.
29241 Tue May 16 10:09:53 BST 2006  Olly Betts <olly@survex.com>
29243         * HACKING: Update details of the debian stable backport version
29244           numbering scheme.
29246 Tue May 16 06:55:14 BST 2006  Olly Betts <olly@survex.com>
29248         * configure.ac: Remove unused variable from snprintf testing code.
29250 Tue May 16 04:32:34 BST 2006  Olly Betts <olly@survex.com>
29252         * HACKING: Expand on the debian package building checklist.
29254 Tue May 16 04:32:07 BST 2006  Olly Betts <olly@survex.com>
29256         * include/xapian/enquire.h: Note that "set_sort_by_relevance" is the
29257           default setting.
29259 Mon May 15 06:59:01 BST 2006  Olly Betts <olly@survex.com>
29261         * HACKING: Update debian package building checklist.
29263 Mon May 15 03:53:53 BST 2006  Olly Betts <olly@survex.com>
29265         * PLATFORMS: Update one more result before the actual release.
29267 Mon May 15 02:15:18 BST 2006  Olly Betts <olly@survex.com>
29269         * NEWS,configure.ac: Updated for 0.9.6.
29271 Mon May 15 01:35:33 BST 2006  Olly Betts <olly@survex.com>
29273         * PLATFORMS: Updated in preparation for the next release.
29275 Sun May 14 19:05:37 BST 2006  Olly Betts <olly@survex.com>
29277         * backends/flint/flint_lock.h: Added workaround for newlib header bug.
29279 Sat May 13 07:04:14 BST 2006  Olly Betts <olly@survex.com>
29281         * configure.ac: Fix snprintf tests.
29283 Sat May 13 04:52:53 BST 2006  Olly Betts <olly@survex.com>
29285         * configure.ac: Tweak version.h generation to cope with CXXCPP putting
29286           carriage returns into its output as can happen on cygwin.
29288 Fri May 12 21:49:33 BST 2006  Olly Betts <olly@survex.com>
29290         * HACKING: Update with the libtool patches we're now using.
29292 Fri May 12 21:43:02 BST 2006  Olly Betts <olly@survex.com>
29294         * include/xapian/version_h.cc: Trim trailing whitespace.
29296 Fri May 12 20:43:47 BST 2006  Olly Betts <olly@survex.com>
29298         * configure.ac,include/xapian/version_h.cc: Replace @@ with " instead
29299           of @, so we can write @deprecated.  Fix more compilation problems.
29301 Fri May 12 19:00:08 BST 2006  Olly Betts <olly@survex.com>
29303         * include/xapian/version_h.cc: Fix compilation problem.
29305 Fri May 12 01:19:14 BST 2006  Olly Betts <olly@survex.com>
29307         * api/version.cc,include/xapian/version_h.cc: Rename
29308           Xapian::xapian_version_string() and companions to
29309           Xapian::version_string().  Keep the old functions as aliases
29310           which are marked as deprecated.
29312 Wed May 10 18:25:59 BST 2006  Olly Betts <olly@survex.com>
29314         * include/xapian/enquire.h: Remove bogus documentation for a
29315           parameter which doesn't exist.
29317 Tue May 09 19:17:23 BST 2006  Olly Betts <olly@survex.com>
29319         * bin/Makefile.am: Remove trailing whitespace.
29320         * bin/xapian-compact.cc: Fix renaming of "iamflint.tmp" for MS Windows
29321           where you can't rename an open file.
29323 Tue May 09 15:57:26 BST 2006  Olly Betts <olly@survex.com>
29325         * configure.ac: Fix reversed conditional in test for snprintf (which
29326           affects cygwin).
29328 Mon May 01 21:49:46 BST 2006  Olly Betts <olly@survex.com>
29330         * tests/queryparsertest.cc: Add another prefix testcase to improve
29331           coverage.
29333 Sat Apr 29 20:16:46 BST 2006  Olly Betts <olly@survex.com>
29335         * docs/remote_protocol.html: Document keep-alive messages.
29337 Thu Apr 13 14:49:48 BST 2006  Olly Betts <olly@survex.com>
29339         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Add rules
29340           to handle a boolean filter with a "+" in front (such as
29341           +site:xapian.org).
29343 Wed Apr 12 18:42:31 BST 2006  Olly Betts <olly@survex.com>
29345         * PLATFORMS: More updates for 0.9.5.
29347 Tue Apr 11 19:56:16 BST 2006  Olly Betts <olly@survex.com>
29349         * matcher/Makefile.am: Need to add "-I${top_builddir}/include" to
29350           INCLUDES so that xapian/version.h is found.
29352 Tue Apr 11 19:24:59 BST 2006  Olly Betts <olly@survex.com>
29354         * backends/database.cc,configure.ac,include/xapian/version_h.cc,
29355           matcher/multimatch.cc,matcher/stats.cc,tests/apitest.cc,
29356           testsuite/backendmanager.cc,testsuite/backendmanager.h:
29357           Eliminate XAPIAN_BUILD_BACKEND_* from config.h and just use
29358           XAPIAN_HAS_*_BACKEND from xapian/version.h instead.
29360 Tue Apr 11 18:32:52 BST 2006  Olly Betts <olly@survex.com>
29362         * include/Makefile.am: Add xapian/version.h.timestamp as a dependency
29363           on all-local so that xapian/version.h actually gets regenerated
29364           when required.
29366 Tue Apr 11 17:52:24 BST 2006  Olly Betts <olly@survex.com>
29368         * api/omenquire.cc,backends/flint/flint_btreebase.cc,
29369           backends/quartz/btree_base.cc,common/utils.h,configure.ac:
29370           Disable MSVC warning 4800 (on int to bool conversions) in config.h
29371           and then we can remove the "fixes" elsewhere.
29373 Tue Apr 11 16:28:01 BST 2006  Olly Betts <olly@survex.com>
29375         * configure.ac: Simpler check for VALGRIND being set to empty value.
29377 Tue Apr 11 01:04:32 BST 2006  Olly Betts <olly@survex.com>
29379         * PLATFORMS: Add a summary.
29381 Tue Apr 11 00:45:55 BST 2006  Olly Betts <olly@survex.com>
29383         * PLATFORMS: Updates from boxes which were down when I did the
29384           release.
29386 Mon Apr 10 17:06:46 BST 2006  Olly Betts <olly@survex.com>
29388         * api/omenquire.cc,backends/flint/flint_btreebase.cc,
29389           backends/flint/flint_utils.h,backends/quartz/btree_base.cc,
29390           backends/quartz/quartz_utils.h,common/omassert.h:
29391           Fix more MSVC7 warnings (I spoke too soon).
29393 Mon Apr 10 15:56:52 BST 2006  Olly Betts <olly@survex.com>
29395         * include/xapian/query.h: Another MSVC7 warning fix.  Should be free
29396           of warnings now.
29398 Mon Apr 10 14:46:34 BST 2006  Olly Betts <olly@survex.com>
29400         * backends/flint/flint_database.cc,backends/flint/flint_utils.h,
29401           backends/quartz/quartz_utils.h,bin/quartzcompact.cc,
29402           bin/xapian-compact.cc,common/omdebug.h,common/utils.h,
29403           include/xapian/query.h,languages/header.h,matcher/multimatch.cc:
29404           Fix assorted MSVC7 warnings.
29406 Sun Apr 09 04:56:09 BST 2006  Olly Betts <olly@survex.com>
29408         * HACKING: Expand on details of what's required when changing Xapian
29409           (discuss documentation requirements, expand on why feature tests
29410           are vital).
29411         * HACKING: Update section on building debian packages.
29413 Sat Apr 08 20:02:19 BST 2006  Olly Betts <olly@survex.com>
29415         * NEWS,PLATFORMS,configure.ac: Updated for 0.9.5.
29417 Fri Apr 07 23:53:08 BST 2006  Olly Betts <olly@survex.com>
29419         * tests/api_anydb.cc,tests/api_db.cc,tests/btreetest.cc: Correct
29420           spelling of "existant" to "existent".
29422 Fri Apr 07 19:13:24 BST 2006  Olly Betts <olly@survex.com>
29424         * configure.ac: We don't use strcasecmp, so don't probe for it.
29426 Fri Apr 07 18:30:40 BST 2006  Olly Betts <olly@survex.com>
29428         * common/utils.h: Fixes for MSVC7 compilation.
29430 Fri Apr 07 17:19:43 BST 2006  Olly Betts <olly@survex.com>
29432         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Fixes for
29433           MSVC compilation.
29435 Fri Apr 07 16:04:08 BST 2006  Olly Betts <olly@survex.com>
29437         * backends/flint/flint_cursor.h: Fix incorrect example code in
29438           documentation comment.
29439         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
29440           Remove unused method FlintTable::find_key().
29442 Fri Apr 07 16:02:40 BST 2006  Olly Betts <olly@survex.com>
29444         * AUTHORS: Updated.
29446 Fri Apr 07 15:58:31 BST 2006  Olly Betts <olly@survex.com>
29448         * debian/control.in: copydatabase and xapian-compact are packaged
29449           in xapian-tools, so add them to the documented list of tools
29450           included.
29452 Fri Apr 07 15:12:43 BST 2006  Olly Betts <olly@survex.com>
29454         * net/tcpserver.cc: Set xapian-tcpsrv to allow 5 connections in the
29455           listen queue instead of just one.
29457 Fri Apr 07 13:28:15 BST 2006  Olly Betts <olly@survex.com>
29459         * tests/remotetest.cc: Check mset size in tcpmatch1.
29461 Fri Apr 07 01:26:03 BST 2006  Olly Betts <olly@survex.com>
29463         * xapian.spec.in: Man pages may be gzipped.
29465 Thu Apr 06 14:41:29 BST 2006  Olly Betts <olly@survex.com>
29467         * HACKING: aclocal is part of automake, not autoconf.
29469 Thu Apr 06 01:29:21 BST 2006  Olly Betts <olly@survex.com>
29471         * bin/,examples/copydatabase.cc,examples/delve.cc,examples/quest.cc:
29472           In the "--help" output, add "Options:" before the list of options.
29474 Thu Apr 06 01:11:31 BST 2006  Olly Betts <olly@survex.com>
29476         * xapian-config.in: Tweak to improve help2man output.
29478 Wed Apr 05 16:26:15 BST 2006  Fabrice Colin
29480         * xapian.spec.in: Package man pages.
29482 Wed Apr 05 16:23:49 BST 2006  Olly Betts <olly@survex.com>
29484         * Makefile.am,bin/Makefile.am,examples/Makefile.am: Include generated
29485           man pages in the distribution tarball.
29487 Wed Apr 05 02:48:27 BST 2006  Olly Betts <olly@survex.com>
29489         * debian/TODO: Updated.
29491 Wed Apr 05 02:44:15 BST 2006  Olly Betts <olly@survex.com>
29493         * ./,examples: svn:ignore man pages.
29495 Wed Apr 05 02:43:08 BST 2006  Olly Betts <olly@survex.com>
29497         * bin/Makefile.am,examples/Makefile.am: No need to make man pages
29498           depend on config.h, since the binaries will already.
29500 Wed Apr 05 02:42:42 BST 2006  Olly Betts <olly@survex.com>
29502         * Makefile.am: Generate man page for xapian-config.
29504 Wed Apr 05 00:59:53 BST 2006  Olly Betts <olly@survex.com>
29506         * examples/Makefile.am: Use help2man to generate manpages for the
29507           installed binaries in examples.
29509 Wed Apr 05 00:56:11 BST 2006  Olly Betts <olly@survex.com>
29511         * bin/omtcpsrv.cc: Rename to bin/xapian-tcpsrv.cc.
29512         * bin/omprogsrv.cc: Rename to bin/xapian-progsrv.cc.
29513         * HACKING,bin/Makefile.am,configure.ac: Use help2man to generate
29514           manpages for the installed binaries in bin.
29516 Tue Apr 04 16:44:54 BST 2006  Olly Betts <olly@survex.com>
29518         * include/xapian/enquire.h: Note example of BM25Weight parameters
29519           which make set_sort_by_relevance_then_value useful.
29521 Tue Apr 04 16:35:58 BST 2006  Olly Betts <olly@survex.com>
29523         * api/omenquire.cc,include/xapian/enquire.h,matcher/,tests/api_db.cc:
29524           Implement Enquire::set_sort_by_relevance_then_value().
29526 Tue Apr 04 01:05:41 BST 2006  Olly Betts <olly@survex.com>
29528         * common/omenquireinternal.h: sort_key no longer needs to be mutable
29529           now that MSetSortCmp has been removed.
29531 Mon Apr 03 02:03:12 BST 2006  Olly Betts <olly@survex.com>
29533         * matcher/multimatch.cc: Removed dead code (class MSetSortCmp).
29535 Sun Apr 02 16:37:38 BST 2006  Olly Betts <olly@survex.com>
29537         * net/tcpserver.cc: Don't perform a name lookup on the IP address
29538           which an incoming connection is from as that could easily slow
29539           down the search response - instead just print the IP address itself
29540           if output is verbose.
29542 Sun Apr 02 13:28:31 BST 2006  Olly Betts <olly@survex.com>
29544         * api/omenquire.cc,common/,docs/remote_protocol.html,
29545           matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h,
29546           net/socketclient.cc,net/socketserver.cc: Change bool
29547           sort_by_relevance to enum sort_by in preparation for adding
29548           "sort_by_relevance_then_value".
29550 Fri Mar 31 22:32:16 BST 2006  Olly Betts <olly@survex.com>
29552         * examples/copydatabase.cc,examples/quest.cc: Add --help and --version
29553           options.
29554         * examples/delve.cc: Tidy up output from --help and --version options.
29556 Fri Mar 31 19:01:25 BST 2006  Olly Betts <olly@survex.com>
29558         * bin/quartzcheck.cc: Fix SEGV when run with no arguments (introduced
29559           by last change).
29561 Fri Mar 31 17:57:27 BST 2006  Olly Betts <olly@survex.com>
29563         * bin/quartzcheck.cc: Add --version option.  Tidy up output from
29564           --help.
29566 Fri Mar 31 17:43:25 BST 2006  Olly Betts <olly@survex.com>
29568         * bin/quartzcompact.cc: Include --help and --version in --help output.
29569         * bin/quartzdump.cc: Add --help and --version options.  Terminate list
29570           of long options so that "quartzdump --foo" no longer segfaults.
29572 Fri Mar 31 17:27:09 BST 2006  Olly Betts <olly@survex.com>
29574         * bin/quartzcompact.cc: Tweak --help and --version output for
29575           consistency with other binaries.  Terminate list of long options so
29576           that "quartzcompact --foo" no longer segfaults.
29578 Fri Mar 31 16:47:02 BST 2006  Olly Betts <olly@survex.com>
29580         * bin/omtcpsrv.cc: Make OPT_HELP and OPT_VERSION positive numbers.
29581           Only give synopsis line for --help, not for syntax error.
29582         * bin/xapian-compact.cc: List --help and --version in --help output.
29583           Terminate list of long options so that "xapian-compact --foo" no
29584           longer segfaults.
29586 Fri Mar 31 16:20:24 BST 2006  Olly Betts <olly@survex.com>
29588         * bin/omtcpsrv.cc: Added --help and --version options.
29590 Thu Mar 30 11:51:21 BST 2006  Philip Neustrom
29592         * docs/remote_protocol.html: Document messages for requesting and
29593           sending a termlist and a document.
29595 Wed Mar 29 19:39:05 BST 2006  Olly Betts <olly@survex.com>
29597         * backends/flint/flint_termlist.cc,backends/quartz/quartz_termlist.cc:
29598           Add missing spaces in debug output.
29600 Fri Mar 17 09:22:54 GMT 2006  Olly Betts <olly@survex.com>
29602         * api/vectortermlist.h,backends/net/net_termlist.cc,
29603           backends/net/net_termlist.h,common/alltermslist.h,common/termlist.h,
29604           matcher/branchtermlist.h: Make TermList::positionlist_begin() pure
29605           virtual and put dummy implementations in BranchTermList and other
29606           subclasses which can't (or don't) implement it.  This makes it
29607           hard to accidentally fail to implement it in a backend's TermList
29608           subclass.
29609         * backends/net/net_termlist.h: positionlist_begin() now throws
29610           UnimplementedError instead of InvalidOperationError.
29612 Fri Mar 17 08:46:52 GMT 2006  Olly Betts <olly@survex.com>
29614         * api/omdatabase.cc: There's no need for the MultiTermList wrapper in
29615           the common case where we're only dealing with a single database.
29617 Fri Mar 17 07:54:54 GMT 2006  Olly Betts <olly@survex.com>
29619         * backends/net/net_termlist.h: Remove unused "positions" member.
29621 Fri Mar 17 07:07:57 GMT 2006  Olly Betts <olly@survex.com>
29623         * backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
29624           tests/api_posdb.cc: Fix TermIterator::positionlist_begin() to work
29625           on TermIterator from Database::termlist_begin().
29627 Fri Mar 17 03:47:04 GMT 2006  Olly Betts <olly@survex.com>
29629         * include/xapian/enquire.h: Fix "unused parameter" warning from
29630           previous change.
29632 Thu Mar 16 05:20:16 GMT 2006  Olly Betts <olly@survex.com>
29634         * api/omenquire.cc,include/xapian/enquire.h:  Move
29635           Enquire::get_matching_terms_end() inline in header.
29637 Thu Mar 16 04:28:20 GMT 2006  Olly Betts <olly@survex.com>
29639         * api/omdocument.cc,configure.ac,include/xapian/document.h: Move
29640           Document::termlist_end() inline in header.
29642 Fri Mar 10 04:55:57 GMT 2006  Olly Betts <olly@survex.com>
29644         * INSTALL: Improve wording.
29646 Fri Mar 10 04:49:09 GMT 2006  Olly Betts <olly@survex.com>
29648         * backends/quartz/bcursor.h: Fix incorrect method name in
29649           documentation comment.
29651 Fri Mar 10 04:39:45 GMT 2006  Olly Betts <olly@survex.com>
29653         * backends/quartz/btree.cc,backends/quartz/btree.h: Btree::find_key()
29654           is unused so remove it.
29656 Fri Mar 10 04:29:46 GMT 2006  Olly Betts <olly@survex.com>
29658         * HACKING: Note that we now use a lightly patched version of libtool
29659           1.5.22.
29661 Fri Mar 10 02:55:48 GMT 2006  Olly Betts <olly@survex.com>
29663         * docs/overview.html: Bring up to date.
29665 Wed Mar 08 02:32:49 GMT 2006  Olly Betts <olly@survex.com>
29667         * queryparser/queryparser.lemony: Fix FLAG_BOOLEAN_ANY_CASE to really
29668           allow any case combination - previously it only allowed all
29669           uppercase or all lowercase.
29670         * tests/queryparsertest.cc: Add feature and regression tests for
29671           FLAG_BOOLEAN_ANY_CASE.
29672         * tests/queryparsertest.cc: Rename test cases to more descriptive
29673           names.
29675 Tue Mar 07 19:59:54 GMT 2006  Olly Betts <olly@survex.com>
29677         * queryparser/queryparser.lemony,tests/queryparsertest.cc:
29678           Fix QueryParser's handling of terms with trailing "#", "+",
29679           or "-" when set_database has been called and the term doesn't
29680           exist in the database with the suffix.
29682 Tue Feb 21 21:14:22 GMT 2006  Olly Betts <olly@survex.com>
29684         * include/xapian/deprecated.h: Allow xapian-bindings to override
29685           deprecation warnings.
29687 Tue Feb 21 17:55:17 GMT 2006  Olly Betts <olly@survex.com>
29689         * backends/flint/flint_database.cc: Note that "flicklock" should be
29690           "flintlock"!
29692 Tue Feb 21 14:13:08 GMT 2006  Olly Betts <olly@survex.com>
29694         * PLATFORMS: Updated.
29696 Tue Feb 21 14:12:47 GMT 2006  Olly Betts <olly@survex.com>
29698         * HACKING: Update the "how to do a release" list.
29700 Tue Feb 21 00:17:40 GMT 2006  Olly Betts <olly@survex.com>
29702         * NEWS,PLATFORMS,configure.ac: Updated for 0.9.4.
29704 Mon Feb 20 21:15:46 GMT 2006  Olly Betts <olly@survex.com>
29706         * api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/,
29707           queryparser/queryparser.cc: GCC 3.2 actually doesn't like
29708           __attribute__((deprecated)) on method definitions, so just
29709           put declarations of deprecated methods in the headers, and
29710           move definitions into the library.
29712 Mon Feb 20 16:04:33 GMT 2006  Olly Betts <olly@survex.com>
29714         * tests/api_anydb.cc,tests/api_db.cc,tests/api_nodb.cc: Update uses
29715           of deprecated methods and functions.
29717 Mon Feb 20 15:47:31 GMT 2006  Olly Betts <olly@survex.com>
29719         * include/xapian/document.h: __attribute__((deprecated)) doesn't
29720           work on method definitions with default parameters on GCC 3.2
29721           so fix header to overload instead.
29723 Mon Feb 20 13:44:14 GMT 2006  Olly Betts <olly@survex.com>
29725         * include/xapian/enquire.h: Add documentation comment for
29726           Enquire::set_sort_by_value_then_relevance().
29728 Sun Feb 19 23:18:09 GMT 2006  Olly Betts <olly@survex.com>
29730         * include/Makefile.am,include/xapian/: Flag deprecated methods such
29731           that the compiler gives a warning, for compilers which support
29732           such a feature.
29734 Sun Feb 19 22:58:55 GMT 2006  Olly Betts <olly@survex.com>
29736         * COPYING: Update second occurrence of old FSF address.
29738 Sun Feb 19 22:46:49 GMT 2006  Olly Betts <olly@survex.com>
29740         * README: Add pointer to HACKING.  Change "CVS access" to "SVN
29741           access".
29743 Sun Feb 19 01:46:00 GMT 2006  Olly Betts <olly@survex.com>
29745         * api/version.cc: Correct typo in name of function xapian_revision().
29747 Thu Feb 16 10:23:59 GMT 2006  Olly Betts <olly@survex.com>
29749         * xapian-config.in: Oops, fix previous fix (I'd pasted the substituted
29750           result from testing the patch...)
29752 Thu Feb 16 10:16:31 GMT 2006  Olly Betts <olly@survex.com>
29754         * PLATFORMS: Updated from tinderbox.
29756 Thu Feb 16 10:15:51 GMT 2006  Olly Betts <olly@survex.com>
29758         * xapian-config.in: Need to set exec_prefix and prefix at top of
29759           script as they're used by various @SUBSTITUTIONS@.
29761 Thu Feb 16 00:09:34 GMT 2006  Olly Betts <olly@survex.com>
29763         * NEWS,PLATFORMS,configure.ac: Updated for 0.9.3.
29765 Wed Feb 15 21:58:23 GMT 2006  Olly Betts <olly@survex.com>
29767         * xapian-config.in: Fix option loop to work on shells other than bash.
29769 Wed Feb 15 21:38:38 GMT 2006  Olly Betts <olly@survex.com>
29771         * include/xapian/database.h: Tweak wording of a documentation comment.
29773 Wed Feb 15 21:34:55 GMT 2006  Olly Betts <olly@survex.com>
29775         * include/xapian/queryparser.h: Fix documentation comments for the
29776           values of QueryParser::feature_flag so doxygen actually pulls out
29777           the documentation for them.  Add documentation for the parameters
29778           of QueryParser::parse_query().
29780 Wed Feb 15 21:26:48 GMT 2006  Olly Betts <olly@survex.com>
29782         * bin/quartzcheck.cc: If the database is too broken to open, emit a
29783           warning message and bump the error count.
29785 Wed Feb 15 21:23:38 GMT 2006  Olly Betts <olly@survex.com>
29787         * docs/queryparser.html: Document right-truncation.
29789 Wed Feb 15 21:08:37 GMT 2006  Olly Betts <olly@survex.com>
29791         * xapian-config.in: Fixed to output usage correctly if no arguments
29792           are specified.
29794 Mon Feb 13 17:43:08 GMT 2006  Olly Betts <olly@survex.com>
29796         * xapian-config.in: Expand dependency_libs recursively.  It's not
29797           *that* hard, and we're just storing up problems for the future
29798           by ignoring the issue.
29800 Mon Feb 13 16:57:36 GMT 2006  Olly Betts <olly@survex.com>
29802         * HACKING: Devlopers also need makeindex installed for documentation
29803           building.  Note that dvips and makeindex are usually packaged with
29804           TeX.
29806 Mon Feb 13 15:16:02 GMT 2006  Olly Betts <olly@survex.com>
29808         * configure.ac,xapian-config.in: Some Linux distros have an
29809           unhelpful policy of not packaging .la files, and on Linux
29810           link_all_deplibs_CXX=no so we don't actually need to link
29811           in the dependency_libs.  So use the value of link_all_deplibs_CXX
29812           from configure to control whether we link against dependency_libs.
29813         * xapian-config.in: Factor out common code into shell functions,
29814           and tidy up --help output.
29815         * xapian-config.in: Re entry "Tue May 11 20:55:56 BST 2004": the (C)
29816           dates I mined from CVS included a BrightStation (C), but the few
29817           fragments of that version which survive are actually from
29818           glib-config (or one of the myriad of *-config scripts which look
29819           very like it), and are just standard Bourne shell idioms anyway.
29821 Mon Feb 13 13:59:02 GMT 2006  Olly Betts <olly@survex.com>
29823         * PLATFORMS: td174 is gone.
29824         * PLATFORMS: Compaq C++ 7.1 seems to have better template support
29825           (but fails to link binaries).
29827 Mon Feb 13 12:22:23 GMT 2006  Olly Betts <olly@survex.com>
29829         * HACKING,testsuite/testsuite.cc: XAPIAN_TESTSUITE_PLAIN_OUTPUT
29830           -> XAPIAN_TESTSUITE_OUTPUT=plain.
29832 Sun Feb 12 18:29:55 GMT 2006  Olly Betts <olly@survex.com>
29834         * backends/database.cc,tests/api_nodb.cc: Trying to open a database
29835           for reading which doesn't exist now fails with DatabaseOpeningError
29836           instead of FeatureUnavailableError.  Added regression test
29837           nosuchdb1.
29839 Thu Feb 09 10:48:10 GMT 2006  Olly Betts <olly@survex.com>
29841         * net/socketserver.cc: Add missing '#include <iostream>'
29842           when TIMING_PATCH is defined.
29844 Wed Feb 08 08:22:09 GMT 2006  Olly Betts <olly@survex.com>
29846         * HACKING: Now use libtool 1.5.22 for generating snapshots and
29847           releases (includes a number of bug-fixes).
29848         * HACKING,docs/doxygen_api_header.html_tmpl,
29849           docs/doxygen_full_header.html_tmpl: Now use doxygen 1.4.6 for
29850           generating snapshots and releases (nicer output).
29851         * docs/doxygen_full_header.html_tmpl: Title "Internal Source
29852           Documentation" rather than "Full source documentation".
29854 Sun Feb 05 06:19:29 GMT 2006  Olly Betts <olly@survex.com>
29856         * queryparser/queryparser.lemony,tests/queryparsertest.cc: The
29857           QueryParser now recognises "AND NOT" as a synonym for "NOT".
29859 Mon Jan 16 18:19:26 GMT 2006  Olly Betts <olly@survex.com>
29861         * backends/quartz/quartz_utils.h: Fix compiler warning.
29863 Mon Jan 16 18:17:27 GMT 2006  Olly Betts <olly@survex.com>
29865         * HACKING,backends/flint/,backends/muscat36/,backends/quartz/,
29866           bin/quartzcompact.cc,bin/xapian-compact.cc,common/Makefile.am,
29867           common/safeerrno.h,net/,tests/btreetest.cc,tests/quartztest.cc,
29868           testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out
29869           a cleaner workaround for Compaq C++'s <errno.h> oddity.
29871 Mon Jan 16 17:18:56 GMT 2006  Olly Betts <olly@survex.com>
29873         * common/safewindows.h: Fix typo in file description.
29875 Mon Jan 16 13:29:48 GMT 2006  Olly Betts <olly@survex.com>
29877         * backends/quartz/quartz_database.cc: Reverse order of errno includes
29878           which seems to make Compaq's C++ compiler happier.
29880 Sun Jan 15 23:52:01 GMT 2006  Olly Betts <olly@survex.com>
29882         * backends/flint/flint_database.cc,backends/flint/flint_table.cc,
29883           backends/quartz/btree.cc,backends/quartz/quartz_database.cc,
29884           backends/quartz/quartz_log.cc,configure.ac,net/socketcommon.cc,
29885           net/tcpclient.cc,testsuite/backendmanager.cc: Compaq C++ requires
29886           sys/errno.h to get ENOENT and most other EXXX codes defined.
29888 Sun Jan 15 23:41:15 GMT 2006  Olly Betts <olly@survex.com>
29890         * bin/xapian-compact.cc: Initialise 2 variables to avoid compiler
29891           warnings.
29893 Sun Jan 15 23:38:11 GMT 2006  Olly Betts <olly@survex.com>
29895         * xapian-config.in: If libxapian.la's dependency_libs contains
29896           another .la file, crudely transform to a pair of -L and -l
29897           options.  Ideally we should recursively pull in dependency_libs
29898           from that .la file, but that's too hard to do in sh.
29900 Sun Jan 15 21:43:26 GMT 2006  Olly Betts <olly@survex.com>
29902         * queryparser/queryparser.lemony,queryparser/queryparser.lt:
29903           Eliminate ParseAlloc's mallocProc parameter and ParseFree's freeProc
29904           parameter - we always pass malloc and free, and get warnings from
29905           some compilers because we're passing a C-linkage function for a
29906           C++-linkage function pointer.
29907         * testsuite/testsuite.cc,testsuite/testsuite.h: Fix functions
29908           registered as signal handlers and pass to atexit to have C linkage.
29910 Sun Jan 15 14:49:45 GMT 2006  Olly Betts <olly@survex.com>
29912         * backends/quartz/quartz_log.cc: #include <string.h> for strerror.
29914 Sun Jan 15 04:36:49 GMT 2006  Olly Betts <olly@survex.com>
29916         * include/xapian/queryparser.h,queryparser/queryparser.cc:
29917           Add Stopper::get_description() and SimpleStopper::get_description().
29919 Sat Jan 14 21:43:32 GMT 2006  Olly Betts <olly@survex.com>
29921         * configure.ac: Fix backwards logic in snprintf configure test.
29922           Also define SNPRINTF_ISO to be an snprintf with ISO C90 semantics
29923           for the return value (if one exists), with SNPRINTF being defined
29924           to any snprintf which at least performs truncation (which in many
29925           cases is sufficient).
29927 Sat Jan 14 04:47:33 GMT 2006  Olly Betts <olly@survex.com>
29929         * queryparser/queryparser.lt: Fix aCC warnings.
29931 Sat Jan 14 04:47:00 GMT 2006  Olly Betts <olly@survex.com>
29933         * common/utils.h: Fix aCC warning.
29935 Fri Jan 13 18:25:04 GMT 2006  Olly Betts <olly@survex.com>
29937         * configure.ac: Turn on more warnings for aCC; suppress existing
29938           warning ("Entire translation unit was empty") since it's not
29939           useful to us.
29941 Fri Jan 13 03:22:26 GMT 2006  Olly Betts <olly@survex.com>
29943         * configure.ac: The configure test for snprintf uses memcmp, so
29944           we need to "#include <string.h>" for it to work reliably.
29946 Wed Jan 11 03:14:30 GMT 2006  Olly Betts <olly@survex.com>
29948         * configure.ac: If not cross-compiling, try to actually run a test
29949           program built with the C++ compiler, not just link one.
29951 Wed Jan 11 03:06:28 GMT 2006  Olly Betts <olly@survex.com>
29953         * configure.ac: Note the library version info which 0.9.3 will
29954           probably need.
29956 Tue Jan 10 22:41:36 GMT 2006  Olly Betts <olly@survex.com>
29958         * configure.ac: Fix to actually skip the check for valgrind if
29959           VALGRIND is set to an empty value.
29961 Tue Jan 10 01:08:10 GMT 2006  Olly Betts <olly@survex.com>
29963         * PLATFORMS: Updates from the tinderbox.
29965 Mon Jan 09 01:35:57 GMT 2006  Olly Betts <olly@survex.com>
29967         * backends/muscat36/io_system.cc,bin/xapian-compact.cc,
29968           common/omdebug.cc: More sprintf tweaks.
29970 Mon Jan 09 00:58:33 GMT 2006  Olly Betts <olly@survex.com>
29972         * bin/xapian-compact.cc: Use snprintf if we have it.
29974 Sun Jan 08 03:51:52 GMT 2006  Olly Betts <olly@survex.com>
29976         * testsuite/backendmanager.cc: Fix conditional compilation of
29977           flint backend to use XAPIAN_BUILD_BACKEND_FLINT instead
29978           of XAPIAN_BUILD_BACKEND_QUARTZ.
29980 Sun Jan 08 02:11:30 GMT 2006  Olly Betts <olly@survex.com>
29982         * configure.ac: Disable flint backend by default if building for
29983           djgpp or msdos.
29985 Sun Jan 08 02:09:48 GMT 2006  Olly Betts <olly@survex.com>
29987         * backends/flint/flint_lock.cc: Cast NULL to (void*) to avoid
29988           "missing sentinel" warning from GCC4.
29990 Sat Jan 07 19:09:33 GMT 2006  Olly Betts <olly@survex.com>
29992         * HACKING,docs/tests.html: Merge the "running tests" section of
29993           docs/tests.html into the similar section in HACKING, and make
29994           docs/tests.html refer the reader to HACKING for more information.
29995         * HACKING,tests/apitest.cc: Remove OM_TEST_BACKEND.  You can now
29996           use the "-b" switch to apitest to control which backend is used
29997           so it's pretty much redundant.
29998         * HACKING,testsuite/testsuite.cc: Rename XAPIAN_SIG_DFL to
29999           XAPIAN_TESTSUITE_SIG_DFL.
30000         * HACKING,testsuite/testsuite.cc: Add XAPIAN_TESTSUITE_PLAIN_OUTPUT
30001           to disable use of ANSI escape sequences in test output.
30003 Sat Jan 07 09:13:06 GMT 2006  Olly Betts <olly@survex.com>
30005         * tests/queryparsertest.cc: Write top-bit set characters using \xXX
30006           notation to avoid warnings from Intel's C++ compiler.
30008 Sat Jan 07 07:13:25 GMT 2006  Olly Betts <olly@survex.com>
30010         * configure.ac: TYPE_SOCKLEN_T fails hard, so only run it if we've
30011           successfully run other socket tests.
30013 Sat Jan 07 05:29:39 GMT 2006  Olly Betts <olly@survex.com>
30015         * queryparser/accentnormalisingitor.h: #include <limits.h> for
30016           CHAR_BIT.
30018 Fri Jan 06 21:24:01 GMT 2006  Olly Betts <olly@survex.com>
30020         * bin/xapian-compact.cc: Fix printf type mismatch on 64 bit platforms.
30022 Fri Jan 06 18:05:30 GMT 2006  Olly Betts <olly@survex.com>
30024         * queryparser/queryparser.cc,queryparser/queryparser.lemony,
30025           queryparser/queryparser_internal.h: Replace pair<bool, string>
30026           with a simple class BoolAndString - the pair results in a
30027           4328 byte symbol on HP-UX which gets truncated (to 4000 bytes).
30029 Fri Jan 06 12:55:37 GMT 2006  Olly Betts <olly@survex.com>
30031         * PLATFORMS: Updated from tinderbox.
30033 Thu Jan 05 16:12:00 GMT 2006  Olly Betts <olly@survex.com>
30035         * configure.ac: Oops, remove hack left over from testing.
30037 Thu Jan 05 16:09:06 GMT 2006  Olly Betts <olly@survex.com>
30039         * configure.ac: Add sanity check for MS Windows that "find" is
30040           Unix-like find, not MSDOS-like.
30042 Thu Jan 05 04:27:29 GMT 2006  Olly Betts <olly@survex.com>
30044         * INSTALL,PLATFORMS,README: Updated.
30046 Mon Dec 19 12:53:38 GMT 2005  Olly Betts <olly@survex.com>
30048         * AUTHORS,PLATFORMS: Add success report for Fedora Core 4.
30050 Mon Dec 19 12:52:55 GMT 2005  Olly Betts <olly@survex.com>
30052         * include/xapian/database.h: Improve a couple of documentation
30053           comments.
30055 Sun Dec 11 01:33:58 GMT 2005  Olly Betts <olly@survex.com>
30057         * queryparser/queryparser.lemony: Fix handling of "+" terms in a query
30058           when the default query operator is AND.
30059         * tests/queryparsertest.cc: Add regression test.
30061 Fri Dec 09 05:54:33 GMT 2005  Olly Betts <olly@survex.com>
30063         * languages/api.cc: Check for malloc and calloc failing to allocate
30064           memory and throw an exception.  Richard has fix this upstream in
30065           snowball, so this is a temporary fix until we import a new version
30066           of snowball.
30068 Fri Dec 09 02:15:38 GMT 2005  Olly Betts <olly@survex.com>
30070         * api/omenquire.cc: Added assertions that the internal ptr isn't NULL
30071           to ESet::end() and ESet::get_description().
30073 Fri Dec 09 02:14:13 GMT 2005  Olly Betts <olly@survex.com>
30075         * HACKING: Note platforms valgrind now has solid support for; Improve
30076           phrasing in a few places.
30078 Thu Dec 08 23:13:09 GMT 2005  Olly Betts <olly@survex.com>
30080         * INSTALL: Update URL for stlport to sourceforge site, which seems to
30081           be where the action is now.
30083 Thu Dec 08 04:13:11 GMT 2005  Olly Betts <olly@survex.com>
30085         * testsuite/testsuite.cc: Fix testsuite harness to work with valgrind
30086           on 64 bit platforms (it's not documented, but VALGRIND_COUNT_LEAKS
30087           requires the count parameters to be 64 bit on such platforms - i.e.
30088           long rather than int as we were using).
30090 Tue Nov 01 13:22:50 GMT 2005  Olly Betts <olly@survex.com>
30092         * PLATFORMS: Sourceforge have a ppc64 linux box.  Xapian builds and
30093           works out of the box, so add success report for this platform.
30095 Thu Oct 27 09:32:24 BST 2005  Fabrice Colin
30097         * xapian.spec.in: Invoke %setup correctly.
30099 Sat Oct 01 03:25:50 BST 2005  Olly Betts <olly@survex.com>
30101         * bin/xapian-compact.cc: Added "--multipass" option to merge postlists
30102           in pairs or triples until all are merged.  Generally this is faster
30103           than an N-way merge, but it does require more disk space for
30104           temporary files so it's not the default.
30106 Fri Sep 30 18:02:32 BST 2005  Olly Betts <olly@survex.com>
30108         * include/xapian/enquire.h: Give pointer to replacements for the
30109           deprecated Enquire sorting methods.
30111 Wed Sep 28 02:16:03 BST 2005  Olly Betts <olly@survex.com>
30113         * bin/xapian-compact.cc: Use a vector<string> to store the list of
30114           source databases, in preparation for merging multiple postlist
30115           tables in more than one pass.
30117 Mon Sep 26 22:22:24 BST 2005  Olly Betts <olly@survex.com>
30119         * .: svn:ignore docsource.mk.
30121 Mon Sep 26 19:54:15 BST 2005  Olly Betts <olly@survex.com>
30123         * bin/: svn:ignore xapian-compact.
30125 Mon Sep 26 19:50:13 BST 2005  Olly Betts <olly@survex.com>
30127         * backends/flint/flint_positionlist.cc: Remove trailing whitespace.
30129 Wed Sep 21 01:31:23 BST 2005  Olly Betts <olly@survex.com>
30131         * api/Makefile.am: Fixed VPATH build which was broken by the addition
30132           of version.cc.
30134 Tue Sep 20 23:38:05 BST 2005  Olly Betts <olly@survex.com>
30136         * backends/flint/flint_lock.cc: Don't pass NULL for second parameter
30137           of execl().
30139 Tue Sep 20 21:32:04 BST 2005  Olly Betts <olly@survex.com>
30141         * api/Makefile.am,api/version.cc,include/xapian/version_h.cc: Add 4
30142           functions to report version information for the library version
30143           being used (which may not be the same as that compiled against
30144           if shared libraries are in use):  xapian_version_string(),
30145           xapian_major_version(), xapian_minor_version(), xapian_revision().
30147 Sat Sep 17 14:07:32 BST 2005  Richard Boulton <richard@tartarus.org>
30149         * backends/flint/flint_lock.cc: Pass two NULLs to execl() to avoid
30150           getting a warning ("not enough variable arguments to fit a
30151           sentinel", observed on Ubuntu breezy powerpc).  Reported by
30152           Sidnei da Silva.
30154 Wed Sep 14 23:54:14 BST 2005  Olly Betts <olly@survex.com>
30156         * HACKING: Now generate snapshots and releases with automake 1.9.6
30157           (was 1.9.5) and libtool 1.5.20 (was 1.5.18).
30159 Tue Aug 30 14:01:55 BST 2005  Olly Betts <olly@survex.com>
30161         * backends/inmemory/inmemory_database.h: Forward declare class
30162           InMemoryDatabase to fix compilation with GCC 4.0.1.
30164 Fri Aug 19 12:13:39 BST 2005  Olly Betts <olly@survex.com>
30166         * backends/quartz/quartz_postlist.cc,backends/flint/flint_postlist.cc:
30167           Correct uses of termcount which should be doccount.
30169 Fri Aug 19 11:48:51 BST 2005  Olly Betts <olly@survex.com>
30171         * include/xapian/enquire.h: Fix prototype for ESet::operator[] to
30172           take parameter of type termcount instead of doccount.
30174 Wed Aug 17 11:50:54 BST 2005  Olly Betts <olly@survex.com>
30176         * common/safewindows.h: Fix compilation for cygwin.
30178 Tue Aug 16 16:01:36 BST 2005  Olly Betts <olly@survex.com>
30180         * backends/flint/flint_types.h,backends/quartz/quartz_types.h:  Using
30181           a double to hold the total document length would be a bad idea as
30182           we need to store it exactly so kill FIXME comments that suggest
30183           perhaps we should.
30185 Fri Jul 15 11:11:35 BST 2005  Olly Betts <olly@survex.com>
30187         * configure.ac,NEWS,PLATFORMS: Updated for 0.9.2.
30189 Fri Jul 15 02:31:11 BST 2005  Olly Betts <olly@survex.com>
30191         * preautoreconf: Change directory to the directory that the
30192           preautoreconf script is in before doing anything else.
30194 Fri Jul 15 01:02:29 BST 2005  Olly Betts <olly@survex.com>
30196         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in,configure.ac:
30197           Eliminate TOP_SRCDIR and TOP_BUILDDIR - it's better to just use
30198           top_srcdir and top_builddir directly.
30200 Fri Jul 15 00:48:39 BST 2005  Olly Betts <olly@survex.com>
30202         * configure.ac: Fix superfluous shell quoting.
30204 Fri Jul 15 00:28:40 BST 2005  Olly Betts <olly@survex.com>
30206         * configure.ac,docs/Makefile.am,preautoreconf,Makefile.am: Generate
30207           the list of source files to feed to doxygen by inspecting all the
30208           Makefile.am files prior to running autoreconf rather than by using
30209           "find" when the user runs ./configure.  This speeds up configure,
30210           avoids generating docs for random .cc and .h files which aren't
30211           part of xapian-core, and avoids problems with picking up FIND.EXE
30212           on MS Windows.
30214 Thu Jul 14 12:49:36 BST 2005  Olly Betts <olly@survex.com>
30216         * common/,matcher/multimatch.cc,matcher/networkmatch.cc,
30217           matcher/networkmatch.h,net/socketclient.cc,net/socketserver.cc,
30218           tests/api_db.cc: Implement sorting on a value with the remote
30219           backend.
30221 Wed Jul 13 01:25:17 BST 2005  Olly Betts <olly@survex.com>
30223         * include/xapian/database.h,include/xapian/dbfactory.h,
30224           net/socketclient.cc: Regularise horizontal whitespace.
30226 Tue Jul 05 03:03:57 BST 2005  Olly Betts <olly@survex.com>
30228         * include/xapian/queryparser.h: Oops, failed to check in header
30229           changes for last change.
30231 Mon Jul 04 15:50:55 BST 2005  Olly Betts <olly@survex.com>
30233         * queryparser/queryparser.lemony,queryparser/queryparser.cc:
30234           Add flag FLAG_BOOLEAN_ANY_CASE which tells the QueryParser that
30235           boolean operators such as "AND", "OR", and "NEAR" should be
30236           recognised even if they aren't fully capitalised (so "and",
30237           "And", "aNd", etc will work too).  Add flag FLAG_WILDCARD which
30238           tells the QueryParser to allow right truncation e.g. "xap*".
30239         * tests/queryparsertest.cc: Add tests for FLAG_WILDCARD.
30241 Sun Jul 03 15:24:12 BST 2005  Olly Betts <olly@survex.com>
30243         * backends/database.cc: Fixed to auto-detect database type when
30244           opening an existing Flint database as a WritableDatabase.
30246 Sat Jul 02 18:49:22 BST 2005  Olly Betts <olly@survex.com>
30248         * tests/queryparsertest.cc: Add test case: "-site:xapian.org mail".
30250 Sat Jul 02 18:49:03 BST 2005  Olly Betts <olly@survex.com>
30252         * common/Makefile.am: Ship safewindows.h header.
30254 Sat Jul 02 18:04:18 BST 2005  Olly Betts <olly@survex.com>
30256         * bin/quartzcompact.cc,bin/xapian-compact.cc,
30257           backends/muscat36/io_system.cc,backends/quartz/btree.cc,
30258           backends/quartz/quartz_log.cc,backends/quartz/quartz_database.cc,
30259           backends/flint/,common/,net/,tests/,testsuite/backendmanager.cc,
30260           testsuite/testsuite.cc: Assorted tweaks towards allowing
30261           compilation with MSVC.
30263 Sat Jul 02 05:08:54 BST 2005  Olly Betts <olly@survex.com>
30265         * backends/quartz/: Always define WIN32_LEAN_AND_MEAN before
30266           including windows.h to reduce the amount of stuff it includes
30267           and speed up builds; Eliminate Btree::max_key_len as MSVC
30268           doesn't like the way we define it and it actually seems
30269           simpler to just use BTREE_MAX_KEY_LEN everywhere anyway.
30270         * backends/quartz/btree.cc: Added a few more assertions.
30272 Sat Jul 02 04:11:01 BST 2005  Olly Betts <olly@survex.com>
30274         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fixed to
30275           handle "-site:microsoft.com" where site is a boolean prefix.
30276         * queryparser/Makefile.am: Add dependency to generate
30277           queryparser_token.h.
30279 Thu Jun 30 02:14:16 BST 2005  Olly Betts <olly@survex.com>
30281         * testsuite/testsuite.cc: Update URL for valgrind FAQ in comment.
30283 Thu Jun 30 00:11:52 BST 2005  Olly Betts <olly@survex.com>
30285         * include/xapian/enquire.h: More explicit explanation of the
30286           "descending docid with boolean weighting" trick for fast
30287           date ordered searching.
30289 Wed Jun 29 13:16:13 BST 2005  Olly Betts <olly@survex.com>
30291         * NEWS: Fix typo: "configurec" -> "configure".
30293 Mon Jun 27 04:21:34 BST 2005  Olly Betts <olly@survex.com>
30295         * xapian.spec.in: Package xapian-compact.
30297 Mon Jun 27 03:41:23 BST 2005  Olly Betts <olly@survex.com>
30299         * backends/flint/flint_positionlist.cc,tests/api_wrdb.cc: Fixed
30300           mispacking of length for Flint positionlists with more than 127
30301           entries, and added regression test longpositionlist1.
30303 Sun Jun 26 02:04:33 BST 2005  Olly Betts <olly@survex.com>
30305         * bin/xapian-compact.cc,backends/flint/flint_cursor.h: Let
30306           PostlistCursor take ownership of the FlintTable it's iterating over
30307           which makes clean-up tidier.
30308         * bin/xapian-compact.cc: We were accidentally skipping the first
30309           entry in various tables (which essentially meant the first
30310           document from each database would go missing when merging
30311           databases).
30313 Sat Jun 25 23:45:42 BST 2005  Olly Betts <olly@survex.com>
30315         * api/omdatabase.cc: Tweak get_lastdocid() code to be a little
30316           clearer.
30318 Wed Jun 22 20:50:43 BST 2005  Olly Betts <olly@survex.com>
30320         * configure.ac,include/xapian/version.h.in,include/xapian/version_h.cc,
30321           include/Makefile.am: Eliminate use of "ln -s" when generating
30322           include/xapian/version.h since it seems to cause problems on Solaris
30323           in some setups and isn't really necessary.  Also add dependency
30324           mechanism so version.h gets regenerated when the template is
30325           changed.
30327 Wed Jun 22 18:47:05 BST 2005  Olly Betts <olly@survex.com>
30329         * docs/intro_ir.html: Citeseer has moved, so update link.
30331 Mon Jun 20 13:33:42 BST 2005  Olly Betts <olly@survex.com>
30333         * configure.ac: -Wshadow causes false positives with GCC 3.0.4, so
30334           only enable it for 3.1 and up.
30336 Mon Jun 20 03:09:07 BST 2005  Olly Betts <olly@survex.com>
30338         * queryparser/queryparser.lemony: "utilpy" -> "utility"!
30340 Fri Jun 17 19:54:44 BST 2005  Olly Betts <olly@survex.com>
30342         * COPYING: Update FSF address.
30344 Thu Jun 16 18:43:33 BST 2005  Olly Betts <olly@survex.com>
30346         * backends/flint/flint_table.cc: Fix warnings from older GCC versions.
30347         * backends/flint/flint_lock.cc: '#include <signal.h>' so that SIGHUP
30348           gets defined reliably.
30350 Thu Jun 16 17:54:39 BST 2005  Olly Betts <olly@survex.com>
30352         * bin/Makefile.am,bin/xapian-compact.cc: Added new "xapian-compact"
30353           program which can compact and merge flint databases in a similar
30354           way to how quartzcompact does for quartz databases.
30356 Thu Jun 16 01:22:45 BST 2005  Olly Betts <olly@survex.com>
30358         * configure.ac: Check for spaces in build directory, source directory,
30359           or install prefix and die with a helpful message.
30361 Wed Jun 15 01:00:11 BST 2005  Olly Betts <olly@survex.com>
30363         * backends/flint/flint_lock.cc: It seems we need to explicitly kill
30364           the child process.  Otherwise when we have two databases locked
30365           just closing the connection doesn't cause the child to die.  I
30366           don't understand why it's needed, but this fix is at least clean.
30368 Mon Jun 13 00:13:33 BST 2005  Olly Betts <olly@survex.com>
30370         * backends/flint/flint_alltermslist.cc,
30371           backends/flint/flint_alltermslist.h,
30372           backends/flint/flint_database.cc: Rewrite of FlintAllTermsList
30373           with several fewer member variables.  Also fixes a bug (the old
30374           version wasn't ignoring the metainfo entry so tests were failing).
30376 Sun Jun 12 13:08:16 BST 2005  Olly Betts <olly@survex.com>
30378         * backends/quartz/quartz_alltermslist.cc: Disable assertion which is
30379           incorrect in a corner case.
30380         * tests/api_db.cc: Add test_specialterms2 as a regression test.
30382 Sun Jun 12 02:03:52 BST 2005  Olly Betts <olly@survex.com>
30384         * backends/flint/flint_positionlist.cc: Encoding and decoding of
30385           position list size, and first and last entries didn't match.
30386           Reworked to match using a slightly smaller encoding.
30387         * backends/flint/flint_metafile.cc: Bumped format version.
30389 Sun Jun 12 02:02:35 BST 2005  Olly Betts <olly@survex.com>
30391         * backends/flint/flint_table.cc: We were failing to append "DB" to the
30392           path when opening a table for reading - fixed.
30394 Sun Jun 12 02:00:30 BST 2005  Olly Betts <olly@survex.com>
30396         * testsuite/backendmanager.cc: When a flint database was requested, we
30397           were incorrectly creating a quartz database instead - fixed.
30399 Sat Jun 11 17:53:12 BST 2005  Olly Betts <olly@survex.com>
30401         * bin/quartzcompact.cc: Fix mis-repacking of keys in positionlist
30402           table when merging several databases.
30404 Thu Jun 09 01:06:35 BST 2005  Olly Betts <olly@survex.com>
30406         * Makefile.am,configure.ac: Pass automake options to AM_INIT_AUTOMAKE
30407           rather than specifying them in Makefile.am.  This way, the version
30408           requirements for autoconf and automake are stated close together.
30410 Mon Jun 06 19:49:36 BST 2005  Olly Betts <olly@survex.com>
30412         * HACKING: Minor updates to release checklist.
30414 Mon Jun 06 17:44:19 BST 2005  Olly Betts <olly@survex.com>
30416         * NEWS,configure.ac: Updated for 0.9.1.
30418 Mon Jun 06 17:28:34 BST 2005  Olly Betts <olly@survex.com>
30420         * configure.ac: Describe CC_FOR_BUILD in configure --help output.
30422 Mon Jun 06 16:00:26 BST 2005  Olly Betts <olly@survex.com>
30424         * PLATFORMS: Updated for 0.9.1.
30426 Fri Jun 03 03:49:33 BST 2005  Olly Betts <olly@survex.com>
30428         * backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Fixed
30429           compilation failure on mingw.
30431 Fri Jun 03 01:58:08 BST 2005  Olly Betts <olly@survex.com>
30433         * PLATFORMS: Updated from tinderbox.
30435 Fri Jun 03 00:46:00 BST 2005  Olly Betts <olly@survex.com>
30437         * HACKING,NEWS: Snapshot and release tarballs are now bootstrapped
30438           using libtool 1.5.18 and automake 1.9.5 (though neither is currently
30439           an enforced requirement for bootstrapping).
30441 Thu Jun 02 17:36:36 BST 2005  Olly Betts <olly@survex.com>
30443         * NEWS: First draft of release notes for 0.9.1.
30445 Thu Jun 02 02:05:47 BST 2005  Olly Betts <olly@survex.com>
30447         * backends/flint/flint_record.cc: Fix get_doccount() to not return
30448           one too low now that the special entry is no longer in the record
30449           table!
30451 Wed Jun 01 12:41:59 BST 2005  Olly Betts <olly@survex.com>
30453         * backends/flint/flint_positionlist.cc: Placate Sun's C++ compiler.
30455 Tue May 31 19:31:24 BST 2005  Olly Betts <olly@survex.com>
30457         * backends/flint/flint_positionlist.h,
30458           backends/flint/flint_positionlist.cc,
30459           backends/flint/flint_metafile.cc: positionlist entries are now
30460           stored using interpolative coding (which is significantly more
30461           compact).
30463 Mon May 30 01:48:17 BST 2005  Olly Betts <olly@survex.com>
30465         * backends/flint/flint_lock.cc,backends/flint/flint_lock.h:  Added
30466           locking code for MS Windows (untested).
30468 Sun May 29 01:00:41 BST 2005  Olly Betts <olly@survex.com>
30470         * HACKING,NEWS,testsuite/testsuite.h: Fixed spelling mistakes.
30472 Sat May 28 22:51:15 BST 2005  Olly Betts <olly@survex.com>
30474         * tests/: svn:ignore .flint/ subdirectory.
30475         * tests/Makefile.am: Remove .flint subdirectory on 'make clean'.
30477 Sat May 28 22:45:24 BST 2005  Olly Betts <olly@survex.com>
30479         * docs/quartzdesign.html: Remove warning that quartz is still in
30480           development.
30482 Sat May 28 16:24:43 BST 2005  Olly Betts <olly@survex.com>
30484         * backends/flint/flint_lock.h: Removed unused FlintLock method
30485           'operator int()' which was confusing Sun's C++ compiler.
30487 Sat May 28 16:18:11 BST 2005  Olly Betts <olly@survex.com>
30489         * include/xapian/query.h: Removed superfluous "Query::" which was
30490           causing the build to fail with aCC.
30492 Sat May 28 14:31:33 BST 2005  Olly Betts <olly@survex.com>
30494         * backends/flint/flint_metafile.cc: Added missing '#include <errno.h>'.
30496 Sat May 28 14:15:36 BST 2005  Olly Betts <olly@survex.com>
30498         * backends/flint/flint_positionlist.cc: Simplify code a bit.
30500 Sat May 28 02:01:12 BST 2005  Olly Betts <olly@survex.com>
30502         * backends/flint/: Move the special item holding the total document
30503           length and doc id high water mark from the record table to the
30504           postlist table.  This means that when appending documents, the
30505           insertion point will now always be at the end of the record table.
30506           We need to jump around the postlist table to merge anyway.
30508 Sat May 28 00:42:25 BST 2005  Olly Betts <olly@survex.com>
30510         * backends/flint/flint_metafile.cc: Change metafile magic to be
30511           different from quartz, and make the metafile version a datestamp
30512           which we'll change each time the format changes; check the return
30513           value of close on the metafile.
30515 Fri May 27 22:09:45 BST 2005  Olly Betts <olly@survex.com>
30517         * backends/Makefile.am,backends/flint/: Implement new fork+fcntl+exec
30518           based locking;  Fix new GCC warnings.
30520 Fri May 27 22:06:14 BST 2005  Olly Betts <olly@survex.com>
30522         * api/omquery.cc: Missed a warning fix.
30524 Fri May 27 22:04:18 BST 2005  Olly Betts <olly@survex.com>
30526         * backends/quartz/btree.cc,backends/quartz/btree.h,
30527           backends/quartz/quartz_postlist.cc,common/omtime.h,matcher/,
30528           net/socketserver.cc,net/socketcommon.cc,net/socketclient.cc,
30529           testsuite/btreecheck.h,testsuite/testsuite.cc: Fix GCC warnings
30530           from new flags.
30532 Fri May 27 20:06:52 BST 2005  Olly Betts <olly@survex.com>
30534         * queryparser/queryparser.lemony: Add missing '#include <config.h>'.
30536 Fri May 27 12:20:03 BST 2005  Olly Betts <olly@survex.com>
30538         * common/omdebug.h: Oops, change to static_cast reveals that we were
30539           discarding const (harmlessly).
30541 Fri May 27 12:16:03 BST 2005  Olly Betts <olly@survex.com>
30543         * common/omdebug.h: Replace C style cast with static_cast<>.
30545 Fri May 27 12:07:48 BST 2005  Olly Betts <olly@survex.com>
30547         * configure.ac: -Wendif should be -Wendif-labels.
30549 Wed May 25 20:41:39 BST 2005  Olly Betts <olly@survex.com>
30551         * configure.ac: Pass more -W flags to g++ (including -Wundef which
30552           caught the getopt problem fixed by the previous commit).
30554 Wed May 25 20:32:35 BST 2005  Olly Betts <olly@survex.com>
30556         * getopt/getopt.cc: Added accidentally pruned #define so that getopt
30557           code isn't compiled in when the system uses glibc.
30559 Wed May 25 18:36:41 BST 2005  Olly Betts <olly@survex.com>
30561         * configure.ac: Add -Wredundant-decls to the default CXXFLAGS for GCC.
30563 Wed May 25 03:33:34 BST 2005  Olly Betts <olly@survex.com>
30565         * tests/apitest.cc,tests/api_db.cc,tests/api_db.h,
30566           testsuite/backendmanager.cc,testsuite/backendmanager.h:
30567           apitest now runs tests on flint as well.
30569 Wed May 25 03:20:12 BST 2005  Olly Betts <olly@survex.com>
30571         * backends/database.cc: When automatically determining which backend
30572           to use when creating a WritableDatabase, don't try to open it as
30573           both Flint *AND* Quartz (an "else" was missing).
30575 Wed May 25 03:19:21 BST 2005  Olly Betts <olly@survex.com>
30577         * backends/flint/flint_btreebase.cc: Fix typo in code which prevented
30578           a flint database from being opened.
30580 Wed May 25 01:10:51 BST 2005  Olly Betts <olly@survex.com>
30582         * include/xapian/version.h.in,include/xapian/dbfactory.h,
30583           include/xapian/queryparser.h,backends/quartz/,backends/flint/:
30584           Flint backend hooked in fully, and everything now builds once
30585           more.
30587 Tue May 24 02:30:39 BST 2005  Olly Betts <olly@survex.com>
30589         * HACKING: Add "email Fabrice" to the release checklist so that RPM
30590           spec files don't lag behind.  The new svn-tag-release script
30591           actually builds the release tarballs rather than just copying
30592           snapshots like cvs-tag-release did, so document that.
30594 Tue May 24 01:21:18 BST 2005  Olly Betts <olly@survex.com>
30596         * include/xapian/queryparser.h: Added missing documentation comments.
30598 Mon May 23 02:36:06 BST 2005  Olly Betts <olly@survex.com>
30600         * configure.ac,backends/database.cc,backends/Makefile.am,
30601           backends/flint/: Cloned the quartz backend to form the basis of the
30602           new flint backend.  Currently it's the same except that the quartz
30603           log feature has been removed.  When creating a database without a
30604           specified backend, quartz is still used unless the environmental
30605           variable XAPIAN_PREFER_FLINT is set to a non-empty value.
30607 Sat May 21 20:58:48 BST 2005  Olly Betts <olly@survex.com>
30609         * xapian.spec.in: Remove bogus %setup line left over from when we
30610           packaged xapian-core and xapian-examples together from separate
30611           tarballs.
30613 Thu May 19 01:12:27 BST 2005  Olly Betts <olly@survex.com>
30615         * bin/quartzcheck.cc: Fixed corner case where you couldn't check a
30616           single Btree table which was just the DB and baseA/baseB files
30617           in a directory (Xapian doesn't produce anything like this, but
30618           btreetest does while unit testing the Btree code).
30620 Wed May 18 16:59:23 BST 2005  Olly Betts <olly@survex.com>
30622         * api/omquery.cc,include/xapian/query.h: Put Query::get_terms_end()
30623           inline in header.
30625 Wed May 18 16:41:56 BST 2005  Olly Betts <olly@survex.com>
30627         * api/omquery.cc,tests/api_nodb.cc: Fix SEGV on get_terms_begin()
30628           on an empty Query object.
30630 Mon May 16 22:58:09 BST 2005  Olly Betts <olly@survex.com>
30632         * api/omqueryinternal.cc: Fixed compilation with --enable-debug.
30634 Sat May 14 01:02:33 BST 2005  Olly Betts <olly@survex.com>
30636         * docs/doxygen_full_conf.in: Fix lingering DOXYGEN_HAVE_DOT reference.
30638 Sat May 14 00:36:14 BST 2005  Olly Betts <olly@survex.com>
30640         * HACKING: Update information about the SVN tag name to use for
30641           debian files.
30643 Fri May 13 23:21:54 BST 2005  Olly Betts <olly@survex.com>
30645         * HACKING: Updated release instructions to refer to SVN.
30647 Fri May 13 20:58:15 BST 2005  Olly Betts <olly@survex.com>
30649         * PLATFORMS: Updated for 0.9.0.
30651 Fri May 13 02:47:42 BST 2005  Olly Betts <olly@survex.com>
30653         * include/xapian/queryparser.h: Fix for Sun's C++ compiler.
30655 Fri May 13 00:09:07 BST 2005  Olly Betts <olly@survex.com>
30657         * NEWS,configure.ac: Updated for 0.9.0.
30659 Thu May 12 18:54:11 BST 2005  Olly Betts <olly@survex.com>
30661         * docs/doxygen_api_conf.in,docs/Makefile.am: Fix to generate docs
30662           for all backend factory functions like 0.8.5 did.
30664 Thu May 12 16:59:22 BST 2005  Olly Betts <olly@survex.com>
30666         * backends/database.cc,backends/Makefile.am,include/xapian/database.h,
30667           include/xapian/dbfactory.h,include/xapian.h,include/Makefile.am:
30668           Split off database factory methods into xapian/dbfactory.h - this
30669           allows us to fix recent breakage in VPATH builds (caused by the
30670           need to include the generated file xapian/version.h from
30671           xapian/database.h) without modifying almost every Makefile.am.
30673 Wed May 11 16:52:41 BST 2005  Olly Betts <olly@survex.com>
30675         * queryparser/queryparser.lemony: Move prefixed, bracketed
30676           subexpression to be an alternative for stop_term which allows
30677           "term prefix:(term2 term3)" to parse correctly. Also move
30678           non-prefixed, bracketed subexpression to be an alternative
30679           for stop_term - this doesn't change how things parse, but
30680           makes the grammar simpler.
30681         * tests/queryparsertest.cc: Added regression test for the above.
30682         * tests/Makefile.am,tests/queryparsertest.cc: Reworked queryparsertest
30683           to use the standard testsuite harness.
30685 Wed May 11 16:09:32 BST 2005  Olly Betts <olly@survex.com>
30687         * include/xapian/query.h: Fix OP_ELITE_SET at 10 (the value it had
30688           in 0.8.5).
30690 Tue May 10 22:56:45 BST 2005  Olly Betts <olly@survex.com>
30692         * docs/Makefile.am: Removed check for DOXYGEN_HAVE_DOT which I removed
30693           recently.
30695 Tue May 10 01:09:01 BST 2005  Olly Betts <olly@survex.com>
30697         * queryparser/queryparser.lemony: Removed state parameter from
30698           TermList::add_term() since it is no longer used.
30700 Mon May 09 20:56:40 BST 2005  Olly Betts <olly@survex.com>
30702         * docs/Makefile.am: Explicitly set the pool_size for latex, because we
30703           seem to overflow the default setting on many systems.
30704         * docs/Makefile.am: Use $(MAKE) instead of make.
30706 Sun May 08 23:22:37 BST 2005  Olly Betts <olly@survex.com>
30708         * configure.ac: Corrected $CC -> $CXX to fix bogus message "Checking
30709           for  option to enable ANSI C++ mode".
30710         * configure.ac: If any tools needed for documentation are missing
30711           and we're in maintainer mode, die with a suitable error in
30712           configure rather than with strange errors when building the
30713           documentation.
30715 Sun May 08 01:43:55 BST 2005  Olly Betts <olly@survex.com>
30717         * include/xapian/queryparser.h,queryparser/queryparser.lemony,
30718           queryparser/queryparser_internal.h,queryparser/queryparser.cc:
30719           Remove QueryParser::termlist_begin() and termlist_end() since
30720           you can just use Query::terms_begin() and terms_end() on the
30721           Query object returned by QueryParser::parse_query().
30723 Thu May 05 01:00:26 BST 2005  Olly Betts <olly@survex.com>
30725         * common/utils.cc: On WIN32, don't define NOMINMAX if it is already
30726           defined.
30728 Wed May 04 00:52:04 BST 2005  Olly Betts <olly@survex.com>
30730         * matcher/bm25weight.cc: Avoid needing document length if we're simply
30731           going to multiply it by zero!
30733 Tue May 03 14:07:20 BST 2005  Olly Betts <olly@survex.com>
30735         * HACKING: CVS -> SVN;  Note that tabs should be 8 spaces.
30737 Thu Apr 28 21:13:17 BST 2005  Olly Betts <olly@survex.com>
30739         * include/xapian/database.h: Don't declare the backend factory
30740           functions if the corresponding backend has been disabled.  This
30741           means that trying to use a disabled backend will be caught at
30742           compile time rather than link time.
30744 Thu Apr 28 21:12:43 BST 2005  Olly Betts <olly@survex.com>
30746         * docs/intro_ir.html: Corrected two errors.
30748 Wed Apr 27 23:04:53 BST 2005  Olly Betts <olly@survex.com>
30750         * configure.ac,include/xapian/version.h.in: Define
30751           XAPIAN_HAS_xxx_BACKEND for each backend which is enabled.  The
30752           bindings need this, and user code might find it useful too.
30754 Wed Apr 27 03:31:50 BST 2005  Olly Betts <olly@survex.com>
30756         * api/omdatabase.cc,api/ompostlistiterator.cc,
30757           api/omtermlistiterator.cc,include/xapian/,
30758           queryparser/queryparser.cc: Where end iterator is just
30759           FooIterator(NULL) put it inline in the header for efficiency.
30760           If we ever need to change an implementation, we can easily move
30761           methods back into the library and bump the library version suitably.
30763 Wed Apr 27 02:40:43 BST 2005  Olly Betts <olly@survex.com>
30765         * examples/quest.cc,include/xapian/queryparser.h,
30766           queryparser/queryparser.cc,tests/queryparsertest.cc: Rename
30767           QueryParser::set_stemming_options() to set_stemming_strategy()
30768           - it's a better name and avoids confusion with the old deprecated
30769           method called set_stemming_options().
30770         * examples/quest.cc: Added stopword handling.
30772 Wed Apr 27 02:39:33 BST 2005  Olly Betts <olly@survex.com>
30774         * include/xapian/enquire.h: Fixed documentation comment.
30776 Sun Apr 24 03:02:47 BST 2005  Olly Betts <olly@survex.com>
30778         * api/omstem.cc: Simplified Xapian::Stem::Internal.
30780 Sun Apr 24 02:21:22 BST 2005  Olly Betts <olly@survex.com>
30782         * tests/api_nodb.cc: Extended stemlang1 to check that trying to create
30783           a stemmer for a non-existent language throws InvalidArgumentError.
30785 Fri Apr 22 01:20:57 BST 2005  Olly Betts <olly@survex.com>
30787         * include/xapian/document.h: Clearer documentation comments.
30789 Thu Apr 21 15:03:42 BST 2005  Olly Betts <olly@survex.com>
30791         * docs/overview.html,include/xapian/query.h: Removed lingering
30792           references to OP_WEIGHT_CUTOFF.
30794 Thu Apr 21 01:46:51 BST 2005  Olly Betts <olly@survex.com>
30796         * PLATFORMS: Added success report for Ubuntu 5.04 on x86_64.
30798 Mon Apr 18 02:54:10 BST 2005  Olly Betts <olly@survex.com>
30800         * docs/stemming.html: Stemming appears to be applicable to Japanese
30801           so don't say it isn't!
30803 Sat Apr 16 01:08:22 BST 2005  Olly Betts <olly@survex.com>
30805         * PLATFORMS: Updated from tinderbox.
30807 Fri Apr 15 23:18:58 BST 2005  Olly Betts <olly@survex.com>
30809         * languages/: Remove lingering .c versions of snowball generated
30810           sources.
30812 Fri Apr 15 02:05:27 BST 2005  Olly Betts <olly@survex.com>
30814         * include/xapian/queryparser.h,queryparser/queryparser_internal.h,
30815           queryparser/queryparser.cc: Implemented QueryParser::set_database()
30816           method.
30817         * queryparser/queryparser.lemony: Allow searches for C#, etc.  If a
30818           database has been set, for this and + and - suffixes, check if the
30819           term actually exists, and if not, ignore the suffix if the
30820           unsuffixed term exists.
30821         * tests/queryparsertest.cc: Added tests for # suffix.
30823 Thu Apr 14 23:39:57 BST 2005  Olly Betts <olly@survex.com>
30825         * include/xapian/stem.h: Rewritten with better documentation comments.
30826         * include/xapian/stem.h: Added operator() as preferred alternative
30827           to stem_word().
30828         * api/omstem.cc,include/xapian/stem.h: Simplified by restructuring
30829           to eliminate a few internal methods.
30831 Thu Apr 14 23:35:47 BST 2005  Olly Betts <olly@survex.com>
30833         * queryparser/queryparser.cc: Make get_description() debug tracing
30834           message category INTRO not API.
30836 Thu Apr 14 19:57:06 BST 2005  Olly Betts <olly@survex.com>
30838         * include/xapian/queryparser.h,queryparser/queryparser.cc: Added
30839           QueryParser::get_description() method (not very descriptive yet!)
30841 Thu Apr 14 03:30:09 BST 2005  Olly Betts <olly@survex.com>
30843         * include/xapian/queryparser.h: Fixed to only include the xapian
30844           headers we actually depend on.
30845         * include/xapian/queryparser.h: Added \file and \brief documentation
30846           comments.
30848 Thu Apr 14 02:50:36 BST 2005  Olly Betts <olly@survex.com>
30850         * examples/quest.cc,include/xapian.h,tests/queryparsertest.cc:
30851           Change xapian.h to automatically include xapian/queryparser.h
30852           and fix direct includes of xapian/queryparser.h in tests and
30853           examples.
30855 Thu Apr 14 01:48:39 BST 2005  Olly Betts <olly@survex.com>
30857         * include/xapian/queryparser.h: Added Xapian::SimpleStopper which
30858           should be sufficient for the majority of uses.
30859         * include/xapian/queryparser.h,queryparser/queryparser_internal.h,
30860           queryparser/queryparser.cc: Changed QueryParser::set_stopper() to
30861           take a const pointer.
30863 Thu Apr 07 15:57:15 BST 2005  Olly Betts <olly@survex.com>
30865         * api/omenquire.cc,common/omenquireinternal.h,common/multimatch.h,
30866           matcher/multimatch.cc,net/socketserver.cc: Tidy up after sort_bands.
30868 Thu Apr 07 15:15:27 BST 2005  Olly Betts <olly@survex.com>
30870         * api/omenquire.cc,common/,include/xapian/enquire.h,
30871           matcher/networkmatch.cc,matcher/multimatch.cc,matcher/networkmatch.h,
30872           net/socketserver.cc,net/socketclient.cc,tests/api_db.cc:
30873           Enhanced Enquire sorting API and added ability to reverse sort on
30874           a value.
30875         * api/omenquire.cc: Enquire::get_description() now includes output of
30876           Enquire::Internal::get_description().
30878 Thu Apr 07 13:55:56 BST 2005  Olly Betts <olly@survex.com>
30880         * HACKING: Fixed a typo.
30882 Thu Apr 07 13:37:02 BST 2005  Olly Betts <olly@survex.com>
30884         * backends/quartz/btree.cc,backends/quartz/btree.h,
30885           bin/quartzcompact.cc: The "fuller compaction" code needs changes
30886           to btree.h which I'd failed to check in.  Also document --fuller
30887           in 'quartzcompact --help'.
30889 Thu Apr 07 03:35:36 BST 2005  Olly Betts <olly@survex.com>
30891         * bin/quartzcompact.cc: Added "fuller compaction" mode, which ignores
30892           the usual "at least 4 items per block" rule.
30894 Thu Apr 07 03:28:32 BST 2005  Olly Betts <olly@survex.com>
30896         * PLATFORMS: Added success result for GCC 3.2.3 on FreeBSD 4.8; fixed
30897           a typo.
30899 Wed Apr 06 23:04:15 BST 2005  Olly Betts <olly@survex.com>
30901         * queryparser/queryparser.lemony: Added FIXME comment.
30903 Wed Apr 06 22:52:53 BST 2005  Olly Betts <olly@survex.com>
30905         * ./: Removed ylwrap from svn:ignore.
30907 Tue Apr 05 22:34:16 BST 2005  Olly Betts <olly@survex.com>
30909         * queryparser/queryparsertest.cc,queryparser/Makefile.am,
30910           tests/Makefile.am: Moved queryparsertest into tests/.
30912 Tue Apr 05 22:15:05 BST 2005  Olly Betts <olly@survex.com>
30914         * examples/: Updated svn:ignore property.
30916 Tue Apr 05 21:34:13 BST 2005  Olly Betts <olly@survex.com>
30918         * queryparser/Makefile.am,configure.ac,extra/xapian/queryparser.h,
30919           extra/,include/Makefile.am,Makefile.am: Move extra/ to queryparser/;
30920           Merge extra/xapian/ into include/xapian/.
30922 Tue Apr 05 16:37:32 BST 2005  Olly Betts <olly@survex.com>
30924         * m4/xapian.m4: Fix m4 quoting (argh!)
30926 Tue Apr 05 16:28:06 BST 2005  Olly Betts <olly@survex.com>
30928         * m4/xapian.m4: Fix XO_LIB_XAPIAN to trim off any _svn6789 from
30929           XAPIAN_VERSION.
30931 Tue Apr 05 16:17:31 BST 2005  Olly Betts <olly@survex.com>
30933         * configure.ac: Fix m4 quoting.
30935 Tue Apr 05 15:16:38 BST 2005  Olly Betts <olly@survex.com>
30937         * configure.ac: #define VERSION in version.h shouldn't include any
30938           _svn6789 suffix.
30940 Tue Apr 05 13:28:23 BST 2005  Olly Betts <olly@survex.com>
30942         * configure.ac: Snapshot generator now appends _svn6789 or similar to
30943           the version string, so take that into account when finding REVISION.
30945 Tue Apr 05 12:55:52 BST 2005  Olly Betts <olly@survex.com>
30947         * ChangeLog.examples,Makefile.am,examples/ChangeLog: Move
30948           xapian-examples ChangeLog to ChangeLog.examples in the top-level
30949           and include in the tarball.
30951 Tue Apr 05 02:18:08 BST 2005  Olly Betts <olly@survex.com>
30953         * examples/dir_contents,examples/README: Converted xapian-examples
30954           README into a dir_contents file.
30956 Tue Apr 05 02:12:31 BST 2005  Olly Betts <olly@survex.com>
30958         * docs/overview.html,docs/install.html,configure.ac,Makefile.am,
30959           xapian.spec.in,examples/Makefile.am: Moved xapian-examples module
30960           to examples subdirectory of xapian-core.
30962 Tue Apr 05 00:37:05 BST 2005  Olly Betts <olly@survex.com>
30964         * m4/.cvsignore,debian/.cvsignore,matcher/.cvsignore,docs/.cvsignore,
30965           tests/.cvsignore,bin/.cvsignore,.cvsignore,autoconf/.cvsignore,
30966           extra/.cvsignore,include/xapian/.cvsignore,include/.cvsignore,
30967           net/.cvsignore,common/.cvsignore,testsuite/.cvsignore,
30968           getopt/.cvsignore,languages/.cvsignore,api/.cvsignore,
30969           backends/inmemory/.cvsignore,backends/muscat36/.cvsignore,
30970           backends/net/.cvsignore,backends/quartz/.cvsignore,
30971           backends/multi/.cvsignore,backends/.cvsignore: Remove .cvsignore
30972           files, as they're not used by SVN.
30974 Thu Mar 10 01:48:20 GMT 2005  Olly Betts <olly@survex.com>
30976         * testsuite/backendmanager.cc,testsuite/index_utils.cc,
30977           testsuite/index_utils.h: Rewrite of index_utils code, removing
30978           unused and unusual features.
30979         * tests/testdata/: Cleaned up data for apitest now that paragraphs
30980           don't have the odd minimum number of lines!
30981         * tests/testdata/apitest_space.txt: New index_utils code has C-like
30982           \ escapes for control characters rather than ^ escapes.
30984 Wed Mar 09 22:04:08 GMT 2005  Olly Betts <olly@survex.com>
30986         * common/utils.h: Added C_isxdigit and C_isnotxdigit.
30988 Wed Mar 09 15:22:35 GMT 2005  Olly Betts <olly@survex.com>
30990         * testsuite/index_utils.cc: Fixed ^x to actually decode hex values
30991           correctly.
30993 Tue Mar 08 16:57:25 GMT 2005  Olly Betts <olly@survex.com>
30995         * matcher/multimatch.cc: Minor code tidy.
30997 Tue Mar 08 15:48:38 GMT 2005  Olly Betts <olly@survex.com>
30999         * api/omenquire.cc,docs/matcherdesign.html,include/xapian/enquire.h,
31000           matcher/multimatch.cc,tests/api_db.cc: Removed sort_bands support.
31002 Tue Mar 08 04:13:03 GMT 2005  Olly Betts <olly@survex.com>
31004         * bin/quartzcompact.cc: Fixed to add items for all tables in key order
31005           which produces results around 40% more compact (previously in the
31006           merge case, this was only happening for the postlist table).
31008 Tue Mar 08 03:30:06 GMT 2005  Olly Betts <olly@survex.com>
31010         * testsuite/btreecheck.cc: Make default check output fit on a single
31011           line (at least for many databases).
31013 Tue Mar 08 02:34:41 GMT 2005  Olly Betts <olly@survex.com>
31015         * matcher/multimatch.cc: Fix warning from newer versions of GCC.
31017 Sat Mar 05 00:25:07 GMT 2005  Olly Betts <olly@survex.com>
31019         * api/omenquire.cc,common/omenquireinternal.h,include/xapian/enquire.h,
31020           matcher/multimatch.cc,tests/api_db.cc: Fixed Xapian::RSet to have
31021           the same "it's a handle" copy semantics as most of the other
31022           classes.
31024 Sat Mar 05 00:23:47 GMT 2005  Olly Betts <olly@survex.com>
31026         * testsuite/testsuite.h: Fixed TEST_EQUAL_DOUBLE to use DBL_EPSILON
31027           correctly.
31029 Fri Mar 04 21:06:38 GMT 2005  Olly Betts <olly@survex.com>
31031         * tests/testdata/etext.txt: Stripped carriage returns.
31033 Fri Mar 04 21:04:25 GMT 2005  Olly Betts <olly@survex.com>
31035         * PLATFORMS: Assorted updates.
31037 Thu Mar 03 01:17:07 GMT 2005  Olly Betts <olly@survex.com>
31039         * bin/quartzcompact.cc: Fixed to allow compacting a single database.
31040           Fixed handling of very last term when merging postlists.
31042 Wed Mar 02 03:18:30 GMT 2005  Olly Betts <olly@survex.com>
31044         * backends/quartz/quartz_values.cc: Values are stored in sorted order
31045           so we can stop unpacking the list once we get to one after the one
31046           we're looking for.
31048 Wed Mar 02 02:59:23 GMT 2005  Olly Betts <olly@survex.com>
31050         * bin/quartzcheck.cc: Now checks the structure of all the tables, not
31051           just the postlist table, and cross-checks doclen values between
31052           termlist and postlist tables.  Recognises "--help" option.  Should
31053           now continue after an error (typically it would crash before), and
31054           counts the number of errors found.  Now exits with non-zero status
31055           if any errors were found.
31057 Tue Mar 01 18:48:25 GMT 2005  Olly Betts <olly@survex.com>
31059         * xapian.spec.in: '/usr/share' -> '%{_datadir}'.
31061 Tue Mar 01 16:21:07 GMT 2005  Olly Betts <olly@survex.com>
31063         * tests/api_db.cc: Fixed warning from Sun's C++ compiler.
31065 Tue Mar 01 02:02:15 GMT 2005  Olly Betts <olly@survex.com>
31067         * bin/quartzcompact.cc: Extended to allow merging several quartz
31068           databases to produce a single compact quartz database.  This
31069           allows for faster building - simple index in chunks, then merge
31070           the chunks.
31072 Tue Mar 01 00:08:12 GMT 2005  Olly Betts <olly@survex.com>
31074         * xapian.spec.in: Put the .so in the -devel package (it's only useful
31075           for linking to - the .so.* files are all that's needed at runtime).
31077 Tue Mar 01 00:05:25 GMT 2005  Olly Betts <olly@survex.com>
31079         * Makefile.am,xapian-config.in,xapian.spec.in,extra/.cvsignore,
31080           extra/Makefile.am: Eliminated the extra library for the queryparser
31081           - it's tiny compared to the main library and having it around just
31082           complicates things.
31084 Mon Feb 28 23:52:19 GMT 2005  Olly Betts <olly@survex.com>
31086         * tests/api_anydb.cc: More set_length() changes.
31088 Mon Feb 28 20:31:13 GMT 2005  Olly Betts <olly@survex.com>
31090         * net/socketclient.cc,net/socketserver.cc,api/omenquire.cc,
31091           api/omquery.cc,api/omqueryinternal.cc,common/,
31092           include/xapian/enquire.h,include/xapian/query.h,matcher/:
31093           Remove Query::set_length() in favour of an optional length
31094           parameter to Enquire::set_query().
31096 Mon Feb 28 15:32:32 GMT 2005  Olly Betts <olly@survex.com>
31098         * api/omqueryinternal.cc,common/Makefile.am,common/deleter_vector.h:
31099           Removed deleter_vector as it's no longer used anywhere.
31101 Mon Feb 28 15:27:42 GMT 2005  Olly Betts <olly@survex.com>
31103         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
31104           matcher/localmatch.cc,tests/api_anydb.cc,tests/api_nodb.cc:
31105           Eliminated Query::set_elite_set_size().
31107 Mon Feb 28 15:15:45 GMT 2005  Olly Betts <olly@survex.com>
31109         * HACKING: Note how to disable use of VALGRIND on the make check
31110           command line, or when using runtest directly.
31112 Mon Feb 28 13:36:07 GMT 2005  Olly Betts <olly@survex.com>
31114         * common/omqueryinternal.h: Removed out-of-date commented out version
31115           of Xapian::Query::Internal.
31117 Mon Feb 28 13:07:42 GMT 2005  Olly Betts <olly@survex.com>
31119         * backends/quartz/quartz_alltermslist.cc,tests/api_db.cc: Updated (C)
31120           dates for changes earlier this year.
31122 Mon Feb 28 13:04:41 GMT 2005  Olly Betts <olly@survex.com>
31124         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
31125           matcher/localmatch.cc,matcher/localmatch.h,tests/api_anydb.cc,
31126           tests/api_nodb.cc,tests/api_posdb.cc: Eliminated Query::set_window
31127           in favour of an optional parameter to the constructor, with the aim
31128           of making Query objects immutable once constructed.
31130 Mon Feb 28 12:32:26 GMT 2005  Olly Betts <olly@survex.com>
31132         * extra/queryparser.lemony: Updated 2 uses of Query::set_window().
31134 Mon Feb 28 04:43:20 GMT 2005  Olly Betts <olly@survex.com>
31136         * api/omquery.cc,api/omqueryinternal.cc,common/socketcommon.h,
31137           include/xapian/query.h,matcher/,tests/api_anydb.cc:
31138           Removed OP_WEIGHT_CUTOFF, since it doesn't actually seem to
31139           add useful functionality over using Enquire::set_cutoff().
31141 Mon Feb 28 04:31:58 GMT 2005  Olly Betts <olly@survex.com>
31143         * matcher/weightcutoffpostlist.cc: Fix updating of docid in
31144           WeightCutoffPostList - the current code works, but can end up doing
31145           lots (potentially millions) of pointless loop iterations.
31147 Mon Feb 28 02:57:29 GMT 2005  Olly Betts <olly@survex.com>
31149         * docs/queryparser.html: Note that + and - work on phrases and
31150           bracketed expressions.
31152 Fri Feb 25 17:06:23 GMT 2005  Olly Betts <olly@survex.com>
31154         * backends/quartz/quartz_alltermslist.cc: Fix skip_to on an allterms
31155           TermIterator to set the current term when the skip_to-ed term is
31156           in the database.
31157         * tests/api_db.cc: Add regression test for this (allterms5).
31159 Wed Feb 23 19:07:30 GMT 2005  Olly Betts <olly@survex.com>
31161         * configure.ac: Suppress 2 Intel C++ warnings which we can't easily
31162           code around, and enable -Werror automatically with
31163           --enable-maintainer-mode.
31164         * configure.ac: Check that the C++ compiler can actually link a
31165           program.  AC_LANG_CXX doesn't, and if it can't find a C++ compiler
31166           it'll just return "g++" which just leads to a later configure
31167           test failing in a confusing way.
31169 Tue Feb 22 13:39:07 GMT 2005  Olly Betts <olly@survex.com>
31171         * include/xapian/enquire.h: Improved documentation comments.
31172         * api/omenquire.cc,include/xapian/enquire.h: MSet::max_size() (which
31173           only exists so that MSet is an STL compiler) now returns
31174           MSet::size() and is inlined from the header.
31175         * include/xapian/enquire.h: Added ESet::max_size() (for STL
31176           compatibility).
31178 Tue Feb 22 00:18:33 GMT 2005  Olly Betts <olly@survex.com>
31180         * configure.ac: corrected "none known for yes" or "none known for no"
31181           to "none known for g++-3.2" or similar.
31182         * configure.ac: autoconf identifies Intel's C++ compiler as GCC, so
31183           probe for which it actually is.
31185 Mon Feb 21 21:54:29 GMT 2005  Olly Betts <olly@survex.com>
31187         * PLATFORMS: Updated.
31189 Mon Feb 21 16:06:32 GMT 2005  Olly Betts <olly@survex.com>
31191         * PLATFORMS: Added success report for Intel C++ 8.1 on ia64 Linux
31192           (and also GCC 3.2.3 on ia64 Linux).
31194 Mon Feb 21 05:33:46 GMT 2005  Olly Betts <olly@survex.com>
31196         * backends/multi/: Don't delare methods in headers if they're virtual
31197           or large.
31199 Mon Feb 21 04:11:23 GMT 2005  Olly Betts <olly@survex.com>
31201         * backends/inmemory/inmemory_database.cc,
31202           backends/inmemory/inmemory_database.h: Don't delare methods in
31203           headers if they're virtual or large.
31205 Sun Feb 20 21:13:40 GMT 2005  Olly Betts <olly@survex.com>
31207         * common/multimatch.h: Removed unused "class SocketServer;".
31209 Sun Feb 20 19:47:01 GMT 2005  Olly Betts <olly@survex.com>
31211         * net/socketserver.cc: Fixed typo in debug code.
31213 Sat Feb 19 18:44:17 GMT 2005  Olly Betts <olly@survex.com>
31215         * PLATFORMS: Added minimal testcase which fails to compile with
31216           Compaq's C++ compiler (cxx).
31218 Sat Feb 19 04:23:51 GMT 2005  Olly Betts <olly@survex.com>
31220         * backends/quartz/btree.cc,backends/quartz/btree.h: Change
31221           Btree::find_in_block to take a bool indicating if this is a leaf
31222           block rather than an offset to subtract when it is.
31224 Fri Feb 18 04:27:16 GMT 2005  Olly Betts <olly@survex.com>
31226         * HACKING: Added better description of how reference-counted API
31227           classes are structured.
31228         * include/xapian/postingiterator.h,include/xapian/termiterator.h:
31229           More (and better) documentation comments.
31231 Fri Feb 18 03:05:40 GMT 2005  Olly Betts <olly@survex.com>
31233         * backends/quartz/btree.cc: Made full compaction a tiny bit more
31234           compact.  Improved compaction by a few % in non-full case.
31235           Tighter bound on amount of memory to reserve to read the tag
31236           into.
31238 Fri Feb 18 00:47:41 GMT 2005  Olly Betts <olly@survex.com>
31240         * api/omenquire.cc: Removed duplicate "#include <xapian/enquire.h>".
31242 Thu Feb 17 01:33:01 GMT 2005  Olly Betts <olly@survex.com>
31244         * extra/queryparser_internal.h: Further Sun C++ fixes.
31246 Wed Feb 16 05:32:40 GMT 2005  Olly Betts <olly@survex.com>
31248         * extra/queryparser.lemony: Attempted fix for Sun's C++ compiler.
31250 Tue Feb 15 02:10:35 GMT 2005  Olly Betts <olly@survex.com>
31252         * extra/queryparser.cc,extra/queryparser.lemony,
31253           extra/queryparser_internal.h: Fixed namespace stuff to keep Sun's C++
31254           compiler happy.
31256 Mon Feb 14 21:21:08 GMT 2005  Olly Betts <olly@survex.com>
31258         * api/vectortermlist.h: Workaround a shortcoming in Sun's C++
31259           compiler.
31261 Mon Feb 14 21:16:05 GMT 2005  Olly Betts <olly@survex.com>
31263         * PLATFORMS: Results from upgraded sourceforge x86_64 box.
31265 Mon Feb 14 18:36:40 GMT 2005  Olly Betts <olly@survex.com>
31267         * extra/xapian/queryparser.h: Fixed compilation error.
31269 Mon Feb 14 18:00:12 GMT 2005  Olly Betts <olly@survex.com>
31271         * extra/xapian/queryparser.h: Added backward compatibility wrapper for
31272           old version of QueryParser::set_stemming_options().
31274 Mon Feb 14 17:50:47 GMT 2005  Olly Betts <olly@survex.com>
31276         * extra/xapian/queryparser.h: Added dummy QueryParser::set_database()
31277           (currently it ignores the parameter).
31279 Mon Feb 14 15:34:13 GMT 2005  Olly Betts <olly@survex.com>
31281         * extra/lemon.c: C90, not C99!
31283 Mon Feb 14 15:20:11 GMT 2005  Olly Betts <olly@survex.com>
31285         * extra/lemon.c: C, not C++.
31287 Mon Feb 14 05:49:50 GMT 2005  Olly Betts <olly@survex.com>
31289         * extra/: Tweak lemon so we can avoid generating files in builddir
31290           in a VPATH build.
31292 Mon Feb 14 02:44:17 GMT 2005  Olly Betts <olly@survex.com>
31294         * extra/Makefile.am: Update to reflect lempar.c -> queryparser.lt.
31296 Mon Feb 14 02:25:53 GMT 2005  Olly Betts <olly@survex.com>
31298         * extra/lempar.c,extra/queryparser.lt: Rename lemon template to .lt
31299           which is more sensible than calling it lempar.c and should work
31300           with VPATH builds.
31302 Mon Feb 14 02:12:51 GMT 2005  Olly Betts <olly@survex.com>
31304         * extra/Makefile.am: Fixes for VPATH builds.
31306 Mon Feb 14 01:43:59 GMT 2005  Olly Betts <olly@survex.com>
31308         * configure.ac: Need to AC_SUBST(CC_FOR_BUILD).
31310 Mon Feb 14 00:19:45 GMT 2005  Olly Betts <olly@survex.com>
31312         * extra/Makefile.am: Added dependency for building queryparser.h.
31314 Sun Feb 13 23:30:02 GMT 2005  Olly Betts <olly@survex.com>
31316         * extra/queryparser.cc,extra/queryparser_internal.h,
31317           extra/xapian/queryparser.h: Fixed to compile with GCC 3.3.
31319 Sun Feb 13 23:09:15 GMT 2005  Olly Betts <olly@survex.com>
31321         * configure.ac: Enhanced valgrind test to (a) see if --tool=memcheck
31322           is needed and (b) see if valgrind actually works (we don't want to
31323           try to use an x86 valgrind on an x86_64 box).
31325 Mon Jan 17 03:21:29 GMT 2005  Olly Betts <olly@survex.com>
31327         * api/vectortermlist.h,extra/,extra/xapian/queryparser.h: Rewritten
31328           QueryParser class.  Uses Lemon instead of Bison to generate the
31329           parser, which enables us to stop using static data, so this class
31330           is at last reentrant.  It now uses a PIMPL style with reference
31331           counted internals like most of the other Xapian classes.  And
31332           direct access to member variables has gone, which unfortunately
31333           forces an API change (bug #39).  The rewrite also supports more
31334           features than the original did.
31335         * HACKING,configure.ac: No longer need Bison.
31336         * configure.ac: Need CC_FOR_BUILD to compile Lemon with.
31338 Mon Jan 17 02:40:40 GMT 2005  Olly Betts <olly@survex.com>
31340         * PLATFORMS: IRIX + SGI C++ now compiles with just two warnings -
31341           unused variables in Snowball generated code.
31343 Sun Jan 16 03:19:56 GMT 2005  Olly Betts <olly@survex.com>
31345         * xapian.spec.in: Don't say "%makeinstall" in a comment since rpm
31346           tries to expand it and explodes.
31348 Sat Jan 15 03:30:33 GMT 2005  Olly Betts <olly@survex.com>
31350         * docs/Makefile.am: Clearer rules for making Postscript doxygen docs.
31352 Sat Jan 15 02:45:19 GMT 2005  Olly Betts <olly@survex.com>
31354         * HACKING: Note that '#include <limits>' isn't supported by GCC 2.95,
31355           and other assorted minor tweaks.
31357 Sat Jan 08 16:09:10 GMT 2005  Olly Betts <olly@survex.com>
31359         * api/maptermlist.h,backends/inmemory/inmemory_database.h,
31360           backends/quartz/quartz_postlist.h,common/,matcher/localmatch.h,
31361           matcher/mergepostlist.h,matcher/phrasepostlist.h,net/progclient.cc:
31362           Fixes for SGI C++ warnings.
31364 Fri Jan  7 13:02:49 GMT 2005  Richard Boulton <richard@tartarus.org>
31366         * common/positionlist.h: Correct out-of-date documentation comment.
31368 Tue Jan 04 03:05:26 GMT 2005  Olly Betts <olly@survex.com>
31370         * matcher/multimatch.cc: Removed unnecessary class declaration.
31372 Tue Jan 04 03:02:02 GMT 2005  Olly Betts <olly@survex.com>
31374         * configure.ac: Automatically enable ANSI C++ mode for SGI's compiler
31375           with '-LANG:std'; check that any automatically determined flags
31376           for ANSI C++ mode actually allow us to compile a trivial program
31377           - if they don't it probably means the compiler isn't the one we
31378           were expecting, but one installed with the same name, so we now
31379           drop the flags in this case.
31381 Thu Dec 30 00:50:58 GMT 2004  Olly Betts <olly@survex.com>
31383         * extra/queryparser.yy: QueryParser::parse_query() was failing to
31384           clear termlist and unstem.
31386 Fri Dec 24 00:07:28 GMT 2004  Olly Betts <olly@survex.com>
31388         * PLATFORMS: Updated from tinderbox.
31390 Thu Dec 23 21:13:46 GMT 2004  Olly Betts <olly@survex.com>
31392         * backends/quartz/btree.cc: Fixed GCC compilation warning.
31394 Thu Dec 23 17:22:15 GMT 2004  Olly Betts <olly@survex.com>
31396         * INSTALL,README: Updated.
31397         * README: Don't quote chunks of the GPL - just refer people to the
31398           full text in COPYING.
31400 Thu Dec 23 16:55:03 GMT 2004  Olly Betts <olly@survex.com>
31402         * NEWS,PLATFORMS,configure.ac: Updated for 0.8.5 release.
31404 Tue Dec 21 13:26:55 GMT 2004  Olly Betts <olly@survex.com>
31406         * docs/quickstart.html: Improved wording.
31408 Tue Dec 21 13:03:06 GMT 2004  Olly Betts <olly@survex.com>
31410         * HACKING: Updated to reflect extra jobs which cvs-tag-release now
31411           does.
31413 Mon Dec 20 16:25:21 GMT 2004  Olly Betts <olly@survex.com>
31415         * bin/Makefile.am: quartzcompact now uses getopt, so need to link
31416           it in our version to build on non-glibc platforms.
31418 Mon Dec 20 16:23:28 GMT 2004  Olly Betts <olly@survex.com>
31420         * backends/quartz/btree.cc: Added comment noting why we can't
31421           truncate separating keys at higher levels.
31423 Thu Dec 16 14:46:28 GMT 2004  Olly Betts <olly@survex.com>
31425         * HACKING: Fixed a typo, and improved wording.
31427 Mon Dec 13 02:52:52 GMT 2004  Olly Betts <olly@survex.com>
31429         * backends/multi/multi_postlist.cc: Updated (C) date.
31431 Mon Dec 13 02:50:44 GMT 2004  Olly Betts <olly@survex.com>
31433         * languages/: Added missing '#include <config.h>' to .cc files
31434           (probably harmless, but it should be included as the first thing any
31435           source file does).
31437 Mon Dec 13 02:21:28 GMT 2004  Olly Betts <olly@survex.com>
31439         * bin/quartzdump.cc: Mark the long options as const.
31441 Mon Dec 13 02:20:08 GMT 2004  Olly Betts <olly@survex.com>
31443         * bin/quartzcompact.cc: Tables sizes will always be a whole number of
31444           Kbytes, since the blocksize is, so report the size in K.  Also
31445           report the change in size as well as the before and after sizes.
31447 Mon Dec 13 02:11:59 GMT 2004  Olly Betts <olly@survex.com>
31449         * common/netutils.cc: Added missing '#include <config.h>' (probably
31450           harmless, but it should be included as the first thing any source
31451           file does).
31453 Mon Dec 13 01:39:53 GMT 2004  Olly Betts <olly@survex.com>
31455         * backends/quartz/btree.cc,backends/quartz/btree.h: Renamed
31456           Btree::compress() to Btree::compact() for consistency with
31457           "full_compaction" and "quartzcompact".  Also, "compress" is
31458           confusing since use "compact" and we use that term in the zlib
31459           patch.
31460         * backends/quartz/btree.cc: When full_compaction is enabled, don't
31461           fill the last few bytes of a block if that would mean we needed
31462           an extra item and the overhead for that item would use up more
31463           of the next block than we save.  This reduces the table size
31464           after full compaction by up to 0.2% in my tests!
31466 Mon Dec 13 01:39:02 GMT 2004  Olly Betts <olly@survex.com>
31468         * backends/multi/multi_postlist.cc: Fixed to build with AssertParanoid
31469           enabled.
31471 Mon Dec 13 00:41:28 GMT 2004  Olly Betts <olly@survex.com>
31473         * bin/quartzcompact.cc: Added missing '#include <config.h>' so that
31474           largefile support is enabled and we report compression statistics
31475           for tables > 2G.
31476         * bin/quartzcompact.cc: Added --no-full / -n option to disable full
31477           compaction.  This may be useful if you want to update the database
31478           after compacting it (need to test to see if this option is actually
31479           useful).
31481 Sun Dec 12 21:26:27 GMT 2004  Olly Betts <olly@survex.com>
31483         * xapian-config.in: Previous attempted fix to --libs output was wrong
31484           - made it actually work.
31486 Sun Dec 12 21:24:44 GMT 2004  Olly Betts <olly@survex.com>
31488         * xapian.spec.in: %makeinstall puts the wrong paths in the .la files
31489           so use "make DESTDIR=... install" instead.
31491 Wed Dec 08 15:59:44 GMT 2004  Olly Betts <olly@survex.com>
31493         * NEWS: Bumped the 0.8.4 release date.
31495 Wed Dec 08 15:32:46 GMT 2004  Olly Betts <olly@survex.com>
31497         * xapian-config.in: Make sure that --libs output doesn't include
31498           libxapian.la (from libxapianqueryparser.la's dependencies).
31500 Tue Dec 07 18:18:26 GMT 2004  Olly Betts <olly@survex.com>
31502         * backends/quartz/quartz_log.cc: Fixed to compile on mingw.
31504 Tue Dec 07 15:57:44 GMT 2004  Olly Betts <olly@survex.com>
31506         * NEWS: Updated.
31507         * api/omdatabase.cc,backends/database.cc,bin/omtcpsrv.cc,
31508           common/database.h,docs/,include/xapian/database.h,tests/api_db.cc:
31509           Added constructors to Database and WritableDatabase which fulfil the
31510           role that the Auto::open() factory functions currently do.
31511           Auto::open() is now deprecated.
31512         * api/,backends/inmemory/inmemory_database.cc,
31513           backends/quartz/quartz_database.cc,backends/quartz/quartz_postlist.h,
31514           common/expandweight.h,common/stats.h,include/xapian.h:
31515           #include <xapian.h> no longer pulls in xapian/output.h - this
31516           removes the external ability to write a Xapian object to an
31517           ostream directly, as it's little used and potentially dangerous
31518           ('cout << mset[i];' will compile, but you almost certainly meant
31519           'cout << *mset[i];').  You can get the old effect by writing
31520           'cout << obj->get_description();' instead of 'cout << obj;'.
31521           Adjusted all the library sources which relied on xapian/output.h
31522           pulling in various other xapian/ headers.
31523         * backends/muscat36/da_database.cc,backends/muscat36/db_database.cc:
31524           Debug output tweaks.
31525         * common/emptypostlist.h,matcher/mergepostlist.cc,matcher/multimatch.cc:
31526           Added EmptyPostList::get_maxweight() which always returns 0, so you
31527           no longer need to explicitly set a weighting scheme on an
31528           EmptyPostList.
31529         * common/omdebug.h: Only include omstringstream.h if
31530           XAPIAN_DEBUG_VERBOSE is in effect.
31531         * extra/Makefile.am: queryparsertest needs to link to libxapian.la
31532           explicitly.
31533         * net/progclient.cc: Whitespace tweak.
31534         * testsuite/: Eliminated barely used sources indexer.h,
31535           textfile_indexer.h, and textfile_indexer.cc.
31536         * testsuite/backendmanager.cc: Removed unused functions
31537           make_strvec() and index_file_to_database().
31539 Wed Dec 01 07:15:46 GMT 2004  Olly Betts <olly@survex.com>
31541         * PLATFORMS: SF CF x86_64 machine no longer needs --disable-shared.
31543 Tue Nov 30 21:53:33 GMT 2004  Olly Betts <olly@survex.com>
31545         * NEWS,PLATFORMS,configure.ac: Updated for 0.8.4 release.
31547 Tue Nov 30 03:07:43 GMT 2004  Olly Betts <olly@survex.com>
31549         * configure.ac,backends/database.cc,backends/quartz/bcursor.cc,
31550           backends/quartz/quartz_database.cc,
31551           backends/quartz/quartz_postlist.cc,common/omassert.h,
31552           common/omdebug.cc,common/omdebug.h,docs/doxygen_full_conf.in,
31553           matcher/localmatch.cc,matcher/multimatch.cc,matcher/stats.cc,
31554           tests/apitest.cc,tests/btreetest.cc,testsuite/backendmanager.cc,
31555           testsuite/backendmanager.h,testsuite/testsuite.cc: Rename all the
31556           MUS_xxx defines to XAPIAN_xxx.
31558 Tue Nov 30 02:36:33 GMT 2004  Olly Betts <olly@survex.com>
31560         * configure.ac,backends/quartz/btree.cc: Get configure to probe for
31561           the prototypes (if any) needed for pread and pwrite.
31563 Tue Nov 30 01:09:26 GMT 2004  Olly Betts <olly@survex.com>
31565         * backends/quartz/btree.cc: Instead of trying to coax pread/pwrite
31566           prototypes out of the system headers, let's try just providing our
31567           own!
31569 Mon Nov 29 19:51:13 GMT 2004  Olly Betts <olly@survex.com>
31571         * extra/Makefile.am: Moved -no-undefined to the right place, plus we
31572           also need to pass @ldflags@ and ../libxapian.la in
31573           libxapianqueryparser_la_LIBADD.
31575 Mon Nov 29 18:28:57 GMT 2004  Olly Betts <olly@survex.com>
31577         * AUTHORS: Updated.
31579 Mon Nov 29 18:27:12 GMT 2004  Olly Betts <olly@survex.com>
31581         * extra/Makefile.am: Added -no-undefined to
31582           libxapianqueryparser_la_LDFLAGS so it builds on mingw.
31584 Mon Nov 29 17:46:54 GMT 2004  Olly Betts <olly@survex.com>
31586         * tests/Makefile.am: Don't try to run "runtest" as a test - it just
31587           needs to be a dependency of the tests.
31589 Sat Nov 27 02:58:28 GMT 2004  Olly Betts <olly@survex.com>
31591         * backends/inmemory/dir_contents: Trimmed whitespace.
31593 Sat Nov 27 02:05:51 GMT 2004  Olly Betts <olly@survex.com>
31595         * NEWS: Updated ready for 0.8.4 release.
31597 Sat Nov 27 02:03:40 GMT 2004  Olly Betts <olly@survex.com>
31599         * tests/Makefile.am: Added a dependency so "make check" regenerates
31600           runtest if necessary.
31602 Sat Nov 27 02:02:58 GMT 2004  Olly Betts <olly@survex.com>
31604         * AUTHORS: Updated.
31606 Sat Nov 27 01:59:18 GMT 2004  Olly Betts <olly@survex.com>
31608         * README: Minor tweak.
31610 Sat Nov 27 01:58:53 GMT 2004  Olly Betts <olly@survex.com>
31612         * configure.ac: Improved a couple of comments.
31614 Sat Nov 27 01:42:32 GMT 2004  Olly Betts <olly@survex.com>
31616         * docs/: Trimmed trailing whitespace.
31618 Sat Nov 27 01:41:33 GMT 2004  Olly Betts <olly@survex.com>
31620         * docs/stemming.html: Reworded text from BrightStation times which
31621           talked about "the open source release".
31623 Fri Nov 26 17:32:55 GMT 2004  Olly Betts <olly@survex.com>
31625         * docs/indexerquickstart.html: Removed dead documentation.
31627 Fri Nov 26 17:11:19 GMT 2004  Olly Betts <olly@survex.com>
31629         * PLATFORMS: Updated with new cygwin report.
31631 Fri Nov 26 17:07:21 GMT 2004  Olly Betts <olly@survex.com>
31633         * tests/api_anydb.cc,tests/api_nodb.cc,docs/bm25.html,
31634           include/xapian/enquire.h,matcher/bm25weight.cc: Renamed BM25
31635           parameters to match standard naming in papers and elsewhere
31636           (A->k3, B->k1, C->k2, D->b), eliminated the extra factor of 2
31637           which our C had, and reordered the parameters to k1, k2, k3.
31638           This is an incompatible API change for BM25Weight(), so if
31639           you are using custom parameters for BM25 you'll need to
31640           update your code.
31642 Fri Nov 26 15:20:16 GMT 2004  Olly Betts <olly@survex.com>
31644         * tests/runtest.in: Allow VALGRIND environmental variable to override
31645           the value we got from configure.
31647 Fri Nov 26 03:50:36 GMT 2004  Olly Betts <olly@survex.com>
31649         * matcher/bm25weight.cc,matcher/tradweight.cc: termfreq is always
31650           exact for matching (we only approximate it for query expansion)
31651           so replace code to work around bad approximations with Assert() to
31652           make sure this never happens.
31654 Fri Nov 26 00:19:22 GMT 2004  Olly Betts <olly@survex.com>
31656         * matcher/expandweight.cc,matcher/tradweight.cc: If we estimate the
31657           term frequency, ensure it has a sane value (>= r and <= N - R + r)
31658           rather than bodging around the problem later on.
31660 Thu Nov 25 01:29:36 GMT 2004  Olly Betts <olly@survex.com>
31662         * backends/quartz/quartz_database.cc: Fixed recent cygwin change to
31663           actually compile.
31665 Thu Nov 25 01:06:03 GMT 2004  Olly Betts <olly@survex.com>
31667         * bin/quartzcompact.cc: Added --help and --version; Check that the
31668           source path and desitination path aren't the same; Report each table
31669           name when we start compacting it, and some simple stats on the
31670           compaction achieved when we finish.
31672 Tue Nov 23 16:19:09 GMT 2004  Olly Betts <olly@survex.com>
31674         * configure.ac: Fixed m4 quoting problem.
31676 Tue Nov 23 12:47:54 GMT 2004  Olly Betts <olly@survex.com>
31678         * configure.ac: Fix the test for GCC3 used to turn on -Werror with
31679           --enable-maintainer-mode.
31681 Mon Nov 22 03:08:10 GMT 2004  Olly Betts <olly@survex.com>
31683         * PLATFORMS: Assorted updates.
31685 Mon Nov 22 02:15:22 GMT 2004  Olly Betts <olly@survex.com>
31687         * tests/quartztest.cc: Test with DB_CREATE_OR_OPEN in writelock1.
31689 Mon Nov 22 01:37:13 GMT 2004  Olly Betts <olly@survex.com>
31691         * common/utils.cc: define NOMINMAX as a cleaner way to prevent
31692           windows.h from polluting the namespace and colliding with ANSI C++.
31694 Sat Nov 20 14:36:43 GMT 2004  Olly Betts <olly@survex.com>
31696         * tests/runtest.in: --logfile-fd was renamed to --log-fd in valgrind
31697           2.1.2 with no support for the old option name, so we must probe
31698           to decide which to use.
31700 Fri Nov 19 13:18:43 GMT 2004  Olly Betts <olly@survex.com>
31702         * backends/quartz/bcursor.cc,backends/quartz/bcursor.h: Eliminated
31703           Bcursor::get_tag() - it's an internal method only used from one
31704           other method, and it now just a trivial wrapper around
31705           Btree::read_tag().
31707 Fri Nov 19 04:20:39 GMT 2004  Olly Betts <olly@survex.com>
31709         * backends/quartz/bcursor.cc,backends/quartz/btree.cc,
31710           backends/quartz/btree.h: Factored out near identical code from
31711           Btree::find_tag() and Bcursor::get_tag() into Btree::read_tag().
31713 Thu Nov 18 03:27:52 GMT 2004  Olly Betts <olly@survex.com>
31715         * backends/quartz/btree.cc: Applied the Quartz "DANGEROUS" patch, but
31716           disabled for now.  This way it won't keep being broken by changes
31717           to the code.
31719 Tue Nov 16 04:29:25 GMT 2004  Olly Betts <olly@survex.com>
31721         * backends/quartz/btree.cc: Ah, it's __sun__/__sun/sun, not
31722           __solaris__ (at least for x86 Solaris 9).
31724 Tue Nov 16 02:56:44 GMT 2004  Olly Betts <olly@survex.com>
31726         * backends/quartz/btree.cc: Solaris defines __solaris__ not
31727           __SOLARIS__.
31729 Mon Nov 15 12:40:38 GMT 2004  Olly Betts <olly@survex.com>
31731         * tests/api_db.cc: Added new test userweight1 to test user defined
31732           matching schemes.
31734 Sun Nov 14 05:20:34 GMT 2004  Olly Betts <olly@survex.com>
31736         * backends/quartz/quartz_metafile.cc,
31737           backends/quartz/quartz_metafile.h: Removed unused
31738           QuartzMetaFile::erase() method.
31740 Sun Nov 14 04:55:05 GMT 2004  Olly Betts <olly@survex.com>
31742         * backends/quartz/quartz_database.cc: For cygwin, use the underlying
31743           MoveFile API call for locking, as link() doesn't work on FAT
31744           partitions.  And don't rely on HAVE_LINK to control whether we
31745           use link() otherwise - if the configure test somehow misfires, a
31746           compilation error is better than using rename() on Unix as that
31747           would cause a second writer to smash the lock of the first.
31749 Thu Nov 11 06:58:41 GMT 2004  Olly Betts <olly@survex.com>
31751         * backends/quartz/btree.cc: Removed superfluous statement.
31753 Tue Nov 09 23:50:10 GMT 2004  Olly Betts <olly@survex.com>
31755         * backends/quartz/btree.cc: Need to include sys/types.h to define
31756           ssize_t, size_t, and off_t before we prototype pread and pwrite
31757           for OSF.
31759 Tue Nov 09 22:39:00 GMT 2004  Olly Betts <olly@survex.com>
31761         * backends/quartz/btree.cc: Tweaked the pread/pwrite mess to try to
31762           get it to work on OSF and x86 Solaris while not breaking it
31763           elsewhere.
31765 Tue Nov 09 19:29:37 GMT 2004  Olly Betts <olly@survex.com>
31767         * backends/quartz/btree.cc,backends/quartz/btree.h: More refactoring.
31769 Tue Nov 09 17:13:10 GMT 2004  Olly Betts <olly@survex.com>
31771         * backends/quartz/: More refactoring.  Also rearranged the contents
31772           of the quartz and btree headers, eliminating btree_types.h in the
31773           process.
31775 Tue Nov 09 16:47:13 GMT 2004  Olly Betts <olly@survex.com>
31777         * backends/quartz/quartz_metafile.cc: Using fdcloser is less clear in
31778           trivial cases.
31780 Tue Nov 09 16:38:47 GMT 2004  Olly Betts <olly@survex.com>
31782         * backends/quartz/quartz_database.cc: Close the fd of the lock file
31783           before trying to rename it on Windows.
31785 Tue Nov 09 07:58:02 GMT 2004  Olly Betts <olly@survex.com>
31787         * backends/quartz/btree.cc,backends/quartz/btree.h,
31788           backends/quartz/btree_util.h: More refactoring.
31790 Tue Nov 09 03:24:59 GMT 2004  Olly Betts <olly@survex.com>
31792         * xapian-config.in: Added --swigflags option for use with SWIG.
31794 Mon Nov 08 22:54:55 GMT 2004  Olly Betts <olly@survex.com>
31796         * configure.ac,xapian-config.in: If flags are needed to select ANSI
31797           mode with the current compiler, then make xapian-config --cxxflags
31798           include them so that Xapian users don't have to jump through the
31799           same hoops we do.
31801 Mon Nov 08 04:49:21 GMT 2004  Olly Betts <olly@survex.com>
31803         * backends/inmemory/inmemory_database.cc,
31804           backends/inmemory/inmemory_database.h,backends/muscat36/,
31805           backends/net/net_database.cc,backends/quartz/quartz_database.cc,
31806           backends/quartz/quartz_database.h,common/database.h,
31807           common/net_database.h,matcher/localmatch.cc: If a database contains
31808           no positional information, change NEAR and PHRASE queries into AND
31809           queries (as otherwise they'd return no matches at all) (bug#56).
31810         * tests/api_wrdb.cc: Added feature test phraseorneartoand1.
31812 Mon Nov 08 04:09:04 GMT 2004  Olly Betts <olly@survex.com>
31814         * configure.ac,backends/quartz/btree.cc: Improved what we do to
31815           turn on pread and pwrite declarations in unistd.h so that it works
31816           on OSF and doesn't need the HAVE_GLIBC test, yet still works on
31817           OpenBSD.
31819 Mon Nov 08 03:55:51 GMT 2004  Olly Betts <olly@survex.com>
31821         * backends/quartz/,testsuite/btreecheck.cc: More refactoring.
31823 Sun Nov 07 20:42:32 GMT 2004  Olly Betts <olly@survex.com>
31825         * configure.ac: One more tweak.
31827 Sun Nov 07 18:18:19 GMT 2004  Olly Betts <olly@survex.com>
31829         * configure.ac,include/xapian/version.h.in: Another tweak to hopefully
31830           get version.h generation to work everywhere.
31832 Sun Nov 07 15:01:23 GMT 2004  Olly Betts <olly@survex.com>
31834         * configure.ac,include/xapian/version.h.in: Terminating lines with 'N'
31835           makes Sun's C++ unhappy.  Try ',' instead.
31837 Sun Nov 07 03:54:42 GMT 2004  Olly Betts <olly@survex.com>
31839         * tests/api_nodb.cc: Added test_weight1 which tests the built-in
31840           Xapian::Weight subclasses (bug#8).
31842 Sun Nov 07 03:36:19 GMT 2004  Olly Betts <olly@survex.com>
31844         * backends/quartz/btree.cc,backends/quartz/btree_util.h,
31845           testsuite/btreecheck.cc: More refactoring.
31847 Sun Nov 07 03:33:24 GMT 2004  Olly Betts <olly@survex.com>
31849         * matcher/bm25weight.cc,matcher/tradweight.cc: Fixed definitions to
31850           match declarations after recent change.
31852 Sun Nov 07 02:33:50 GMT 2004  Olly Betts <olly@survex.com>
31854         * configure.ac: Noted LIBRARY_VERSION_INFO which 0.8.4 will get.
31856 Sun Nov 07 02:28:38 GMT 2004  Olly Betts <olly@survex.com>
31858         * include/xapian/enquire.h: BoolWeight::unserialise() returns
31859           BoolWeight*, etc.  BoolWeight::clone() returns BoolWeight *.
31861 Sun Nov 07 02:24:17 GMT 2004  Olly Betts <olly@survex.com>
31863         * HACKING: Note that C++ style casts are preferable to C style casts;
31864           Improve wording in a few places.
31866 Sun Nov 07 01:05:58 GMT 2004  Olly Betts <olly@survex.com>
31868         * backends/quartz/btree.cc,backends/quartz/btree_util.h,
31869           testsuite/btreecheck.cc: Moved set_block_given_by()
31870           and block_given_by() into Item class.
31872 Sat Nov 06 21:16:15 GMT 2004  Olly Betts <olly@survex.com>
31874         * configure.ac,include/xapian/version.h.in: Fix generation of
31875           version.h to work with aCC -E which concatenates adjacent literal
31876           strings.
31878 Sat Nov 06 20:58:00 GMT 2004  Olly Betts <olly@survex.com>
31880         * backends/quartz/,testsuite/btreecheck.cc: Started to refactor the
31881           Btree manager by introducing Item and Key classes which take care
31882           of handling the on-disk format.
31884 Sat Nov 06 15:40:05 GMT 2004  Olly Betts <olly@survex.com>
31886         * xapian-config.in,m4/xapian.m4: Pass across ac_top_srcdir and use it
31887           if provided to say "configure.ac" or "configure.in" rather than
31888           "configure.in (or configure.ac)" in the "Add AC_PROG_LIBTOOL"
31889           error message.
31891 Sat Nov 06 14:49:05 GMT 2004  Olly Betts <olly@survex.com>
31893         * configure.ac: Updated comment - we now find SOURCEDOC in 2 goes (as
31894           there are no longer any C sources).
31896 Sat Nov 06 14:43:16 GMT 2004  Olly Betts <olly@survex.com>
31898         * configure.ac: Oops, STLPORT_CXXFLAGS *is* used (in xapian-config.in)
31899           so revert the change which removes it.
31901 Sat Nov 06 13:37:23 GMT 2004  Olly Betts <olly@survex.com>
31903         * include/xapian/enquire.h,matcher/bm25weight.cc,
31904           matcher/tradweight.cc: Move virtual methods of BM25Weight and
31905           TradWeight out of the header.
31907 Sat Nov 06 13:19:32 GMT 2004  Olly Betts <olly@survex.com>
31909         * configure.ac,include/xapian/version.h.in: Another rework of how
31910           include/xapian/version.h is generated - this time to make it work
31911           with Sun's C++ compiler again; XAPIAN_VERSION is now a string;
31912           Define XAPIAN_REVISION (which is 4 for version 0.8.4).
31914 Sat Nov 06 04:22:57 GMT 2004  Olly Betts <olly@survex.com>
31916         * configure.ac: Don't AC_SUBST(STLPORT_CXXFLAGS) as it is never used
31917           that way (it's included in AM_CXXFLAGS).
31919 Sat Nov 06 01:03:53 GMT 2004  Olly Betts <olly@survex.com>
31921         * testsuite/testsuite.h: Removed incorrect comment about how STRINGIZE
31922           is used.
31924 Fri Nov 05 14:41:59 GMT 2004  Olly Betts <olly@survex.com>
31926         * include/xapian/database.h: Removed a default parameter value from one
31927           variant of open_db so that there's only one candidate for
31928           open_db(string).
31930 Fri Nov 05 14:40:38 GMT 2004  Olly Betts <olly@survex.com>
31932         * backends/database.cc: Renamed parameter from keys to values to
31933           reflect current external naming.
31935 Fri Nov 05 14:38:07 GMT 2004  Olly Betts <olly@survex.com>
31937         * include/xapian/version.h.in,configure.ac: Fixed generation of
31938           include/xapian/version.h to work with aCC.
31940 Thu Nov 04 12:17:50 GMT 2004  Olly Betts <olly@survex.com>
31942         * configure.ac: Try "-std strict_ansi" for Compaq C++.
31944 Thu Nov 04 11:22:52 GMT 2004  Olly Betts <olly@survex.com>
31946         * configure.ac: Fourth argument to AC_CHECK_HEADERS must be non-empty
31947           to make a difference.
31949 Thu Nov 04 10:21:25 GMT 2004  Olly Betts <olly@survex.com>
31951         * configure.ac: Found clean fix for inttypes.h problem (previous bodge
31952           didn't work anyway).
31954 Thu Nov 04 01:18:55 GMT 2004  Olly Betts <olly@survex.com>
31956         * configure.ac: Eliminated use of \( \) in sed expression as it
31957           appears to cause problems on HP-UX.
31959 Thu Nov 04 00:54:11 GMT 2004  Olly Betts <olly@survex.com>
31961         * configure.ac: Added icky workaround to Compaq C++ oddness - cc can
31962           find inttypes.h but cxx can't.
31964 Wed Nov 03 23:58:48 GMT 2004  Olly Betts <olly@survex.com>
31966         * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
31967           net/socketserver.cc: Tweaked to compile with Compaq C++.
31969 Wed Nov 03 22:55:04 GMT 2004  Olly Betts <olly@survex.com>
31971         * configure.ac: Need to put flags to select ANSI C++ mode in CXXFLAGS
31972           not AM_CXXFLAGS.
31974 Wed Nov 03 22:27:08 GMT 2004  Olly Betts <olly@survex.com>
31976         * api/omenquire.cc: Fixed typo.
31978 Wed Nov 03 21:58:53 GMT 2004  Olly Betts <olly@survex.com>
31980         * api/omenquire.cc: Added explicit cast to try to help Compaq C++
31981           build.
31983 Wed Nov 03 21:38:29 GMT 2004  Olly Betts <olly@survex.com>
31985         * configure.ac: Probe for C++ compiler switches for ANSI mode as early
31986           as possible.  With Compaq's C++, we need -D__USE_STD_IOSTREAM to
31987           successfully #include <streambuf>.
31989 Wed Nov 03 21:07:43 GMT 2004  Olly Betts <olly@survex.com>
31991         * configure.ac: Fixed snprintf configure test.
31993 Wed Nov 03 19:37:32 GMT 2004  Olly Betts <olly@survex.com>
31995         * common/utils.cc: Fixed typo.
31997 Wed Nov 03 19:27:22 GMT 2004  Olly Betts <olly@survex.com>
31999         * configure.ac,common/utils.cc: Improved snprintf checking.
32001 Wed Nov 03 15:43:54 GMT 2004  Olly Betts <olly@survex.com>
32003         * getopt/getopt.cc: Fixed to compile when not using glibc.
32005 Wed Nov 03 14:55:29 GMT 2004  Olly Betts <olly@survex.com>
32007         * bin/omtcpsrv.cc,bin/quartzdump.cc,common/Makefile.am,common/getopt.h,
32008           common/gnu_getopt.h,getopt/,testsuite/testsuite.cc: Major overhaul
32009           of getopt use.  Move from getopt(), getopt_long(), getopt_long_only()
32010           to gnu_getopt(), etc so we don't need to dance around avoiding
32011           clashes with getopt() stuff in system headers.  The new gnu_getopt.h
32012           header is cruft free and hopefully won't trip up assorted compilers
32013           or platforms.
32015 Wed Nov 03 14:53:39 GMT 2004  Olly Betts <olly@survex.com>
32017         * tests/Makefile.am: quartztest doesn't use getopt directly, so no
32018           need to link it.
32020 Wed Nov 03 12:56:56 GMT 2004  Olly Betts <olly@survex.com>
32022         * tests/stemtest.cc: Prune unused #includes.
32024 Wed Nov 03 03:47:46 GMT 2004  Olly Betts <olly@survex.com>
32026         * getopt/getopt.cc: Defining _NO_PROTO is a really bad idea for C++
32027           code!
32029 Wed Nov 03 03:34:06 GMT 2004  Olly Betts <olly@survex.com>
32031         * configure.ac: Removed AC_HEADER_STDC - Compaq's C++ compiler can't
32032           find inttypes.h, but their C compiler can!
32034 Wed Nov 03 02:48:04 GMT 2004  Olly Betts <olly@survex.com>
32036         * net/tcpclient.cc,net/tcpserver.cc: Use SOCKLEN_T for the type we
32037           need to pass to various socket calls, since HPUX defines socklen_t
32038           yet wants int in those calls.
32040 Wed Nov 03 02:43:26 GMT 2004  Olly Betts <olly@survex.com>
32042         * autoconf/type_socklen_t.m4,matcher/networkmatch.cc,net/: If
32043           __WIN32__ is defined, we want winsock2.h instead of sys/socket.h.
32044           Mingw doesn't seem to even have the latter, so I think previously
32045           we've been compiling by picking one up from somewhere random!
32047 Wed Nov 03 01:10:01 GMT 2004  Olly Betts <olly@survex.com>
32049         * autoconf/type_socklen_t.m4: Rewritten to work with HPUX which
32050           helpfully defines socklen_t but doesn't use it!
32052 Tue Nov 02 21:29:40 GMT 2004  Olly Betts <olly@survex.com>
32054         * getopt/getopt.cc: Fixes for Compaq C++.
32056 Tue Nov 02 18:51:43 GMT 2004  Olly Betts <olly@survex.com>
32058         * getopt/getopt.cc: Protect getopt definition for possible getopt
32059           macro declared in getopt.h.
32061 Tue Nov 02 16:52:21 GMT 2004  Olly Betts <olly@survex.com>
32063         * configure.ac: AM_CONFIG_HEADER -> AC_CONFIG_HEADERS; removed
32064           commented out AC_LANG_SAVE and AC_LANG_RESTORE.
32066 Tue Nov 02 15:56:02 GMT 2004  Olly Betts <olly@survex.com>
32068         * configure.ac: # comments -> dnl comments.
32070 Tue Nov 02 15:54:46 GMT 2004  Olly Betts <olly@survex.com>
32072         * configure.ac: $GCC -> $GXX; $CC -> $CXX.
32074 Tue Nov 02 15:38:21 GMT 2004  Olly Betts <olly@survex.com>
32076         * configure.ac,docs/Makefile.am: Removed SOURCEDOC_C_SRC.
32078 Tue Nov 02 06:51:39 GMT 2004  Olly Betts <olly@survex.com>
32080         * getopt/getopt.cc,getopt/getopt1.cc: Fixed function declarations to
32081           not use K&R C syntax.
32083 Tue Nov 02 05:31:57 GMT 2004  Olly Betts <olly@survex.com>
32085         * getopt/getopt.cc: Make _getopt_internal extern "C" too.
32087 Tue Nov 02 04:43:08 GMT 2004  Olly Betts <olly@survex.com>
32089         * Makefile.am,configure.ac,HACKING,PLATFORMS,backends/muscat36/,
32090           getopt/Makefile.am,getopt/getopt.cc,getopt/getopt1.cc,languages/:
32091           Change the few C sources to be C++.  This way we don't need to
32092           worry about configure choosing a mismatching pair of compilers,
32093           or about whether configure tests with the C compiler don't apply
32094           to the C++ compiler, or vice versa.
32096 Tue Nov 02 04:31:49 GMT 2004  Olly Betts <olly@survex.com>
32098         * backends/muscat36/: More C casts converted to C++ casts.
32100 Tue Nov 02 04:28:07 GMT 2004  Olly Betts <olly@survex.com>
32102         * matcher/bm25weight.cc,matcher/tradweight.cc: More C casts converted
32103           to C++ casts.
32105 Tue Nov 02 03:22:52 GMT 2004  Olly Betts <olly@survex.com>
32107         * backends/muscat36/: Removed unused test harness sources.
32109 Tue Nov 02 02:44:34 GMT 2004  Olly Betts <olly@survex.com>
32111         * languages/pool.c,languages/pool.h: Removed unused sources.
32113 Tue Nov 02 01:51:30 GMT 2004  Olly Betts <olly@survex.com>
32115         * configure.ac: AC_TYPE_SIZE_T causes problems with Compaq C++ when it
32116           fails to spot size_t (which is there) and the "#define size_t
32117           unsigned long" it adds to config.h breaks "using std::size_t;".
32118           Also removed AC_C_CONST as I don't believe that's needed either
32119           in a largely C++ library.  Both of these have been in configure.in
32120           since the very first version so I suspect autoscan decided we wanted
32121           them.
32123 Mon Nov 01 05:44:02 GMT 2004  Olly Betts <olly@survex.com>
32125         * matcher/multimatch.cc: Fixed compilation problem on alpha Linux.
32127 Mon Nov 01 03:16:36 GMT 2004  Olly Betts <olly@survex.com>
32129         * api/omqueryinternal.cc,api/omstem.cc,
32130           backends/inmemory/inmemory_database.h,
32131           backends/multi/multi_termlist.h,backends/quartz/,
32132           extra/queryparser.yy,matcher/,net/tcpserver.cc,tests/api_anydb.cc,
32133           tests/api_db.cc,tests/quartztest.cc,testsuite/backendmanager.cc,
32134           testsuite/btreecheck.cc,testsuite/testsuite.cc: Changed C style
32135           casts to C++ style.  The syntax is ugly, but they do make the intent
32136           clearer which is a good thing.
32138 Mon Nov 01 02:56:31 GMT 2004  Olly Betts <olly@survex.com>
32140         * configure.ac: Select ANSI iostream implementation for Compaq C++.
32142 Mon Nov 01 02:41:58 GMT 2004  Olly Betts <olly@survex.com>
32144         * configure.ac: Compaq's C++ compiler doesn't know snprintf, yet their
32145           C compiler does.  Let's try running *all* the configure checks with
32146           the C++ compiler, since that's what we compile most code with.
32148 Mon Nov 01 01:12:43 GMT 2004  Olly Betts <olly@survex.com>
32150         * common/netutils.cc: Fixed to compile.
32152 Mon Nov 01 01:06:13 GMT 2004  Olly Betts <olly@survex.com>
32154         * common/Makefile.am,common/netutils.cc,common/netutils.h:
32155           encode_tname() and decode_tname() aren't really sensible candidates
32156           for inlining so move them out of a header.
32158 Sun Oct 31 15:34:18 GMT 2004  Olly Betts <olly@survex.com>
32160         * configure.ac: Turn on -AA when compiling with HP's aCC.
32162 Sun Oct 31 15:10:02 GMT 2004  Olly Betts <olly@survex.com>
32164         * testsuite/testutils.cc: Fixed mset_range_is_same() and
32165           mset_range_is_same_weights() which were only comparing the
32166           first items in the range.  Luckily the tests still all pass
32167           so this wasn't hiding any bugs.
32169 Sat Oct 30 19:15:48 BST 2004  Olly Betts <olly@survex.com>
32171         * configure.ac: Disable pread/pwrite on HP-UX as they don't work when
32172           LFS in enabled, and we definitely want LFS.
32174 Sat Oct 30 16:42:24 BST 2004  Olly Betts <olly@survex.com>
32176         * backends/quartz/bcursor.cc: Fix Bcursor::del() which didn't always
32177           leave the cursor on the next item like it should.
32178         * backends/quartz/quartz_postlist.cc: If we're removing a posting
32179           list entirely, often there will only be one chunk, so avoid
32180           creating a Bcursor in this case.
32182 Sat Oct 30 16:55:19 BST 2004  Olly Betts <olly@survex.com>
32184         * languages/header.h: Removed unused #define MAXINT and MININT which
32185           were clashing with some header on HP-UX.
32187 Sat Oct 30 07:09:33 BST 2004  Olly Betts <olly@survex.com>
32189         * docs/bm25.html,docs/intro_ir.html: Reworked to talk about Xapian
32190           rather than Muscat.  Also improved the appearance of the formulae.
32192 Sat Oct 30 06:07:14 BST 2004  Olly Betts <olly@survex.com>
32194         * backends/quartz/btree.cc: Btree::read_block - debug log the value
32195           of p, not the irrelevant contents of the block it points to.
32197 Fri Oct 29 22:37:31 BST 2004  Olly Betts <olly@survex.com>
32199         * backends/quartz/quartz_postlist.cc: Improved comments.
32201 Fri Oct 29 05:10:02 BST 2004  Olly Betts <olly@survex.com>
32203         * backends/quartz/btree.cc: Fixed ultra-obscure bug in the code which
32204           finds a key suitable to discriminating between two blocks in a
32205           B-tree branch (discovered by reading the code).  Comparing the keys
32206           didn't consider the length of the second, so it is possible the code
32207           would miscompare.  But in reality this is extremely unlikely to
32208           happen, and even then would probably just mean that the
32209           discriminating key wouldn't be as short as it could be.
32211 Fri Oct 29 04:12:09 BST 2004  Olly Betts <olly@survex.com>
32213         * backends/quartz/btree.cc: Simplified Btree::compare_keys() by
32214           removing the last case which was dead code as it was covered by
32215           an earlier case.
32217 Wed Oct 27 21:17:12 BST 2004  Olly Betts <olly@survex.com>
32219         * HACKING,tests/runtest.in:
32220           Enhanced runtest to allow it to run test programs under valgrind
32221           and other tools (gdb was already supported).
32222         * testsuite/testsuite.cc: Point the user to the runtest script if
32223           srcdir can't be guessed.  And no longer look for the test program
32224           in the tests subdirectory of the current directory.
32225         * common/omdebug.cc: Removed compatibility code for checking
32226           OM_DEBUG_FILE and OM_DEBUG_TYPES.
32227         * HACKING: Document that %% in XAPIAN_DEBUG_LOG is substituted with
32228           the process-id, and that setting XAPIAN_DEBUG_FLAGS to -1 enables
32229           all debug messages.
32230         * HACKING: Valgrind now supports x86 FreeBSD and PowerPC Linux.
32231         * HACKING: Removed mentions of long-dead configure options
32232           --enable-profiling, --enable-purify and --enable-insure.
32234 Wed Oct 27 21:16:10 BST 2004  Olly Betts <olly@survex.com>
32236         * include/xapian/enquire.h: Document parameters of
32237           Enquire::register_match_decider().
32239 Wed Oct 27 21:14:32 BST 2004  Olly Betts <olly@survex.com>
32241         * PLATFORMS: Updated.
32243 Wed Oct 13 20:21:38 BST 2004  Olly Betts <olly@survex.com>
32245         * backends/quartz/btree.cc,backends/quartz/btree.h: Revert the
32246           previous change as runtime sized arrays are a g++ extension.
32247           Calling new and delete on every call to add_item() is probably
32248           unwise.
32250 Tue Oct 12 23:40:36 BST 2004  Olly Betts <olly@survex.com>
32252         * backends/quartz/btree.cc,backends/quartz/btree.h: split_p is only
32253           used by Btree::add_item(), so make it a temporary in that method
32254           rather than a class member variable which we need to take care to
32255           allocate and deallocate.
32257 Mon Oct 11 16:32:10 BST 2004  Olly Betts <olly@survex.com>
32259         * tests/btreetest.cc: Fix memory leaks in test_cursor1.
32261 Mon Oct 11 02:24:50 BST 2004  Olly Betts <olly@survex.com>
32263         * docs/quartzdesign.html: Use 5 tables in the example for how we keep
32264           revisions in step, since we use 5 tables in quartz.
32266 Thu Oct 07 22:51:28 BST 2004  Olly Betts <olly@survex.com>
32268         * backends/quartz/btree.cc: An interrupted update could cause any
32269           further updates to fail with "New revision too low" because the
32270           new revision was being calculated incorrectly - fixed.
32272 Wed Oct 06 15:42:31 BST 2004  Olly Betts <olly@survex.com>
32274         * backends/quartz/btree.cc,include/xapian/database.h: Check that any
32275           user specified block size is a power of 2.  And if the block size
32276           passed is invalid, use the default of 8192 rather than throwing an
32277           exception.
32279 Wed Oct 06 12:19:39 BST 2004  Olly Betts <olly@survex.com>
32281         * PLATFORMS: Updated from tinderbox.
32283 Wed Oct 06 01:10:46 BST 2004  Olly Betts <olly@survex.com>
32285         * backends/quartz/btree.cc,backends/quartz/quartz_document.cc,
32286           matcher/multimatch.cc,common/multimatch.h: Fix some warnings
32287           from Sun's C++ compiler.
32289 Thu Sep 30 22:16:37 BST 2004  Olly Betts <olly@survex.com>
32291         * common/utils.cc,common/utils.h: Fixes for win32 and sun's c++
32292           compiler.
32294 Thu Sep 30 18:24:20 BST 2004  Olly Betts <olly@survex.com>
32296         * common/utils.h,extra/queryparser.yy: Fixed bug which caused
32297           misparsing of certain prefixed queries, introduced by C_isXXXXX
32298           change.
32300 Thu Sep 30 11:09:17 BST 2004  Olly Betts <olly@survex.com>
32302         * tests/api_anydb.cc: Modified version of changequery1 fails - the
32303           fix is tricky, so just make it SKIP for now.
32305 Wed Sep 29 21:33:29 BST 2004  Olly Betts <olly@survex.com>
32307         * extra/Makefile.am: Fixed to work when srcdir != builddir.
32309 Wed Sep 29 18:52:04 BST 2004  Olly Betts <olly@survex.com>
32311         * PLATFORMS,docs/Makefile.am: Workaround odd latex problem.
32313 Wed Sep 29 17:10:00 BST 2004  Olly Betts <olly@survex.com>
32315         * configure.ac,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in:
32316           Updated doxygen conf files for doxygen 1.3.8.
32318 Wed Sep 29 16:52:53 BST 2004  Olly Betts <olly@survex.com>
32320         * common/utils.cc,common/utils.h,extra/Makefile.am,
32321           extra/queryparser.yy,tests/api_anydb.cc,testsuite/index_utils.cc:
32322           Provide our own C_isalpha(), etc replacements for isalpha(), etc
32323           which always work in the C locale and avoid signed char problems.
32325 Tue Sep 28 00:04:11 BST 2004  Olly Betts <olly@survex.com>
32327         * common/utils.cc,common/utils.h: rmdir() isn't a sensible candidate
32328           for inlining so move it out of the header.
32330 Mon Sep 27 17:33:23 BST 2004  Olly Betts <olly@survex.com>
32332         * extra/queryparser.yy: Be smarter about when to add a ':' when adding
32333           a term prefix.
32335 Mon Sep 27 16:01:37 BST 2004  Olly Betts <olly@survex.com>
32337         * docs/scalability.html: Added note warning about benchmarking from
32338           cold.
32340 Mon Sep 27 15:20:13 BST 2004  Olly Betts <olly@survex.com>
32342         * HACKING: Note that we use doxygen 1.3.8 for snapshots and releases;
32343           Note that --enable-maintainer-mode now automatically enables -Werror
32344           with GCC 3.0 or newer.
32346 Wed Sep 22 16:49:20 BST 2004  Olly Betts <olly@survex.com>
32348         * matcher/: Pruned unneeded #include-s and other tidying, some
32349           enabled by the previous change.
32351 Wed Sep 22 14:04:27 BST 2004  Olly Betts <olly@survex.com>
32353         * common/positionlist.h,matcher/: Moved all of the implementations
32354           of the XXXPostList classes from the .h files into the .cc files.
32355           All the methods are virtual, so we aren't going to gain anything
32356           from being able to inline them.
32358 Wed Sep 22 02:58:59 BST 2004  Olly Betts <olly@survex.com>
32360         * configure.ac: Automatically add -Werror to CFLAGS and CXXFLAGS if
32361           maintainer mode is enabled and we're using GCC3 or newer.  Don't
32362           do this for older GCCs as GCC 2.95 issues spurious warnings.
32364 Wed Sep 22 02:41:41 BST 2004  Olly Betts <olly@survex.com>
32366         * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h:
32367           Introduced CASSERT_TYPE_UNSIGNED to replace the common use of
32368           CASSERT to assert at compile time that a type is unsigned.
32370 Tue Sep 21 15:58:05 BST 2004  Olly Betts <olly@survex.com>
32372         * PLATFORMS: Removed reports from versions prior to 0.7.0.  So much
32373           has changed that these are of little value.
32375 Mon Sep 20 15:24:27 BST 2004  Olly Betts <olly@survex.com>
32377         * NEWS,PLATFORMS,configure.ac: Version 0.8.3.
32379 Mon Sep 20 15:13:34 BST 2004  Olly Betts <olly@survex.com>
32381         * AUTHORS: Updated.
32383 Mon Sep 20 14:26:35 BST 2004  Olly Betts <olly@survex.com>
32385         * xapian.spec.in: Removed reference to xapian-examples' createdatabase
32386           (which is no longer in xapian-examples).
32388 Mon Sep 20 13:06:59 BST 2004  Olly Betts <olly@survex.com>
32390         * xapian.spec.in: Updated version from Fabrice Colin (incorporating
32391           changes from Alan Cox's RPM spec files): split off libs into a
32392           separate package to allow 32 and 64 bit versions to be installed
32393           concurrently; include binaries from xapian-examples; updated source
32394           URLs.
32396 Mon Sep 20 03:25:44 BST 2004  Olly Betts <olly@survex.com>
32398         * tests/api_anydb.cc: Added regression test for previous bug (test
32399           checkatleast1).
32401 Mon Sep 20 03:16:14 BST 2004  Olly Betts <olly@survex.com>
32403         * matcher/multimatch.cc: Fixed segfault with check_at_least when there
32404           were no matches.
32406 Sun Sep 19 17:54:52 BST 2004  Olly Betts <olly@survex.com>
32408         * api/omenquire.cc,common/omdebug.cc: Fixed to compile with debug
32409           tracing enabled.
32411 Sat Sep 18 19:02:54 BST 2004  Olly Betts <olly@survex.com>
32413         * tests/api_db.cc: Updated missed use of omprogsrv to xapian-progsrv.
32415 Tue Sep 14 18:09:19 BST 2004  Olly Betts <olly@survex.com>
32417         * xapian.spec.in,bin/.cvsignore,bin/Makefile.am,debian/control.in,
32418           debian/xapian-tools.install,docs/remote.html,tests/remotetest.cc,
32419           testsuite/backendmanager.cc: Rename omtcpsrv to xapian-tcpsrv and
32420           omprogsrv to xapian-progsrv.
32422 Tue Sep 14 16:25:06 BST 2004  Olly Betts <olly@survex.com>
32424         * xapian.spec.in: Fixed mangled URL in last checkin.
32426 Tue Sep 14 15:35:00 BST 2004  Olly Betts <olly@survex.com>
32428         * xapian.spec.in: Updated URL for tarball.
32430 Tue Sep 14 02:49:34 BST 2004  Olly Betts <olly@survex.com>
32432         * HACKING: Updated the "how to do a release" tasklist.
32434 Mon Sep 13 03:19:47 BST 2004  Olly Betts <olly@survex.com>
32436         * NEWS,PLATFORMS,configure.ac: Version 0.8.2.
32438 Sat Sep 11 16:39:08 BST 2004  Olly Betts <olly@survex.com>
32440         * include/xapian/version.h.in: GCC 3.1 reported the wrong value for
32441           __GXX_ABI_VERSION (100 not 101) so check 3.0 and 3.1 by version
32442           number, keeping the __GXX_ABI_VERSION check for newer versions.
32444 Sat Sep 11 02:57:48 BST 2004  Olly Betts <olly@survex.com>
32446         * backends/quartz/bcursor.cc: Fixed and reenabled Bcursor::prev()
32447           (not currently used, but it will be useful for running posting
32448           lists backwards!)
32450 Fri Sep 10 13:13:51 BST 2004  Olly Betts <olly@survex.com>
32452         * tests/Makefile.am: Need to ship test data for new test.
32454 Thu Sep 09 21:58:37 BST 2004  Olly Betts <olly@survex.com>
32456         * tests/api_db.cc: Extended feature test sortrel1 to check interaction
32457           with Enquire::set_sort_forward(false).
32459 Thu Sep 09 21:46:12 BST 2004  Olly Betts <olly@survex.com>
32461         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
32462           include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc,
32463           tests/api_db.cc,tests/testdata/apitest_sortrel.txt: You can now
32464           specify to sort by value, then relevance, then docid instead of
32465           by value then docid.
32467 Thu Sep 09 19:30:07 BST 2004  Olly Betts <olly@survex.com>
32469         * docs/todo.xml: Removed unused file - todo entries are now in
32470           bugzilla.
32472 Thu Sep 09 13:11:52 BST 2004  Olly Betts <olly@survex.com>
32474         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
32475           include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc:
32476           Added optional "checkatleast" parameter to Enquire::get_mset()
32477           which allows Omega's MIN_HITS functionality to be implemented
32478           in the matcher (a bit more efficient).
32480 Thu Sep 09 04:18:32 BST 2004  Olly Betts <olly@survex.com>
32482         * NEWS: Updated.
32484 Thu Sep 09 03:39:52 BST 2004  Olly Betts <olly@survex.com>
32486         * PLATFORMS: Updated from the tinderbox.  Sun's C++ compiler can
32487           now build Xapian on sparc!
32489 Thu Sep 09 02:19:43 BST 2004  Olly Betts <olly@survex.com>
32491         * tests/api_wrdb.cc: Added feature test for
32492           WritableDatabase::replace_document() and delete_document() with
32493           a unique term (apitest:uniqueterm1.
32494         * backends/inmemory/inmemory_alltermslist.cc,
32495           backends/inmemory/inmemory_database.cc,
32496           backends/inmemory/inmemory_database.h:
32497           Fixed bugs thrown up by the new test.
32499 Wed Sep 08 19:45:37 BST 2004  Olly Betts <olly@survex.com>
32501         * HACKING: Updated details of Solaris open workaround.
32503 Wed Sep 08 19:42:15 BST 2004  Olly Betts <olly@survex.com>
32505         * common/utils.h,backends/quartz/btree.cc,
32506           backends/quartz/quartz_database.cc,backends/quartz/quartz_log.cc:
32507           New version of the Solaris open dance - now we always pass in
32508           const char * for the filename, and we don't need the dance on
32509           new versions, so only dance if open is defined.
32511 Wed Sep 08 16:26:15 BST 2004  Olly Betts <olly@survex.com>
32513         * api/omquery.cc,include/xapian/query.h: Renamed Query::is_empty()
32514           to Query::empty() for consistency.  Keep Query::is_empty() for
32515           now as a deprecated alias.
32517 Wed Sep 08 16:24:44 BST 2004  Olly Betts <olly@survex.com>
32519         * tests/api_wrdb.cc: replace_doc -> replace_doc1; added new test
32520           replace_doc2 to test using replace_doc to add a document with
32521           a specified docid.
32523 Wed Sep 08 16:23:50 BST 2004  Olly Betts <olly@survex.com>
32525         * backends/inmemory/inmemory_database.h: Removed unused member
32526           variable "indexing".
32528 Wed Sep 08 16:14:47 BST 2004  Olly Betts <olly@survex.com>
32530         * backends/quartz/quartz_database.cc: If replace_document() is used
32531           to add a document with did greater than lastdocid, raise lastdocid
32532           so future calls to add_document() won't clash.
32534 Wed Sep 08 16:13:51 BST 2004  Olly Betts <olly@survex.com>
32536         * backends/inmemory/inmemory_database.cc: Fixed bug
32537           Database::replace_document() to work with a document id greater
32538           than lastdocid.
32540 Wed Sep 08 05:10:01 BST 2004  Olly Betts <olly@survex.com>
32542         * common/utils.h: The latest fcntl.h dance causes a compile error on
32543           mingw, so don't use it there.
32545 Wed Sep 08 03:38:20 BST 2004  Olly Betts <olly@survex.com>
32547         * common/utils.h: Use a namespace as an extra step in the Sun fcntl
32548           open64 dance.
32550 Tue Sep 07 02:33:50 BST 2004  Olly Betts <olly@survex.com>
32552         * tests/test.da: Another cruft file removed.
32554 Tue Sep 07 02:21:49 BST 2004  Olly Betts <olly@survex.com>
32556         * tests/btreetest.cc,tests/quartztest.cc: Moved overwrite1 from
32557           quartztest to btreetest.  Added const in a few places.
32559 Tue Sep 07 02:07:43 BST 2004  Olly Betts <olly@survex.com>
32561         * tests/quartztest.cc: Removed overwrite2 test.  Digging back in CVS
32562           it's been disabled since the day after it added.  After all this
32563           time it's hard to guess exactly what it was intended to test, so
32564           just removing it seems simplest.  We already have overwrite1 to test
32565           getting DatabaseModifiedError.
32567 Tue Sep 07 01:52:25 BST 2004  Olly Betts <olly@survex.com>
32569         * tests/btreetest.cc: Cleaned up paths to temporary Btrees.
32571 Mon Sep 06 17:51:27 BST 2004  Olly Betts <olly@survex.com>
32573         * tests/btreetest.cc,tests/quartztest.cc: Now that QuartzTable,
32574           QuartzDiskTable, QuartzBufferedTable, QuartzCursor,
32575           QuartzDiskCursor, and QuartzBufferedCursor are gone, move
32576           quartztest tests which now just use Btree and Bcursor to btreetest.
32577           This is more logical and should help make quartztest less of a
32578           monster to compile.
32580 Mon Sep 06 12:47:47 BST 2004  Olly Betts <olly@survex.com>
32582         * tests/Makefile.am: Ship testdata/apitest_allterms4.txt.
32584 Mon Sep 06 02:46:32 BST 2004  Olly Betts <olly@survex.com>
32586         * tests/quartztest.cc: Xapian::Database will create the directory for
32587           the database so there's no need to create it ourselves.
32589 Mon Sep 06 02:40:57 BST 2004  Olly Betts <olly@survex.com>
32591         * tests/,tests/testdata/apitest_allterms4.txt: Split off tests which
32592           require a writable database backend and tests which should work with
32593           any database backend from api_db.cc as it was getting rather large.
32594           Fixed simplequery2 to work with backends which don't return the
32595           document length (such as the muscat36 backends).  Fixed allterms4
32596           to work with muscat36 backends.
32598 Mon Sep 06 02:39:29 BST 2004  Olly Betts <olly@survex.com>
32600         * backends/muscat36/da_database.cc,backends/muscat36/db_database.cc:
32601           Fixed to compile now that internal_end_session() has gone.
32603 Mon Sep 06 00:59:36 BST 2004  Olly Betts <olly@survex.com>
32605         * tests/runtest.in: Added support for running gdb on a test program,
32606           automatically sorting out srcdir and libtool.
32608 Mon Sep 06 00:49:11 BST 2004  Olly Betts <olly@survex.com>
32610         * tests/apitest_parser.pm: Removed long unused file.
32612 Sun Sep 05 22:53:27 BST 2004  Olly Betts <olly@survex.com>
32614         * include/xapian/enquire.h: Tweaked documentation comment to stop
32615           doxygen parsing a hyphen as a single entry bullet point list.
32617 Sun Sep 05 20:20:01 BST 2004  Olly Betts <olly@survex.com>
32619         * testsuite/backendmanager.h: Added missing "std::" so code will
32620           compile with GCC >= 3.
32622 Sun Sep 05 13:54:58 BST 2004  Olly Betts <olly@survex.com>
32624         * testsuite/backendmanager.h: Removed superfluous "BackendManager::".
32626 Sun Sep 05 01:54:49 BST 2004  Olly Betts <olly@survex.com>
32628         * common/utils.cc,common/utils.h: Removed now unused files_exist()
32629           function.
32631 Sun Sep 05 01:50:35 BST 2004  Olly Betts <olly@survex.com>
32633         * tests/api_db.cc,tests/apitest.cc,tests/apitest.h,
32634           testsuite/backendmanager.cc,testsuite/backendmanager.h:
32635           Cleaned up BackendManager by removing complications only required
32636           by absentfile1 test, which can be implemented more directly anyway.
32638 Sun Sep 05 01:33:16 BST 2004  Olly Betts <olly@survex.com>
32640         * tests/quartztest.cc: Cleaned up rather odd code which is a hangover
32641           from when keys and tags weren't simply C++ strings.
32643 Sat Sep 04 12:35:12 BST 2004  Olly Betts <olly@survex.com>
32645         * HACKING: Updated details of which autotools we require.
32647 Fri Sep 03 17:51:59 BST 2004  Olly Betts <olly@survex.com>
32649         * configure.ac: Require autoconf 2.59.  Noted LIBRARY_VERSION_INFO
32650           which 0.8.2 will probably have.
32651         * Makefile.am: Require automake 1.8.5.
32653 Fri Sep 03 16:40:11 BST 2004  Olly Betts <olly@survex.com>
32655         * PLATFORMS: Updated with results from tinderbox.
32657 Fri Sep 03 14:34:00 BST 2004  Olly Betts <olly@survex.com>
32659         * autoconf/definedir.m4,autoconf/rjb_find_stlport.m4: Quote macro
32660           names to fix warning from newer aclocal.  Removed comments about
32661           future autodetection of stlport, as the user will always need to
32662           decide between the STL supplied with the compiler and stlport.
32664 Thu Sep 02 17:55:33 BST 2004  Olly Betts <olly@survex.com>
32666         * matcher/andpostlist.cc: Initialise lmax and rmax to 0.  Hopefully
32667           this will fix SIGFPE on apitest's qterminfo2 on alpha linux.
32669 Thu Sep 02 14:50:20 BST 2004  Olly Betts <olly@survex.com>
32671         * backends/quartz/quartz_database.cc: Not storing the document length
32672           and last docid on every add means that the magic key won't always
32673           exists when there are records and
32674           QuartzWritableDatabase::get_doccount() is sometimes off by one.  Fix
32675           crudely for now by making sure that the magic key does always exist.
32676           Longer term the magic key probably should be in the postlist table
32677           but that's an incompatible change.
32679 Wed Sep 01 16:15:23 BST 2004  Olly Betts <olly@survex.com>
32681         * backends/quartz/: Change QuartzWritableDatabase to store the total
32682           document length and the last docid itself rather than tallying added
32683           and removed document length and writing the last docid back every
32684           time a document is added.  This gives cleaner code and a small
32685           performance win.  Removed XAPIAN_FLUSH_THRESHOLD_LENGTH as we no
32686           longer tally the length changes, and made the default flush
32687           threshold 10000 documents (was 1000).
32689 Wed Sep 01 14:21:19 BST 2004  Olly Betts <olly@survex.com>
32691         * backends/quartz/btree.cc: Turn on previously commented-out code to
32692           make the first key null for blocks more than 1 away from the leaves.
32693           It saves disk space for a tiny CPU and RAM cost so is bound to be
32694           a win overall.
32696 Tue Aug 31 13:55:58 BST 2004  Olly Betts <olly@survex.com>
32698         * backends/quartz/btree.cc,backends/quartz/btree.h,
32699           backends/quartz/btree_util.h: Merged Btree::make_index_item() into
32700           Btree::enter_key().
32702 Tue Aug 31 01:07:19 BST 2004  Olly Betts <olly@survex.com>
32704         * NEWS: Updated in preparation for a release.
32706 Tue Aug 31 00:53:35 BST 2004  Olly Betts <olly@survex.com>
32708         * backends/quartz/btree.cc: Short-cutting Btree::cancel causes
32709           problems so disable that for the time being at least.
32711 Fri Aug 27 13:09:56 BST 2004  Olly Betts <olly@survex.com>
32713         * testsuite/btreecheck.cc: Fixed %% to % (presumably a hangover from
32714           converting printf to cout).
32716 Thu Aug 26 18:11:50 BST 2004  Olly Betts <olly@survex.com>
32718         * backends/quartz/quartz_postlist.cc: Reduce quartz postlist chunk
32719           threshold from 2048 to 2000 so that chunks won't get split by the
32720           Btree.
32722 Thu Aug 26 18:10:27 BST 2004  Olly Betts <olly@survex.com>
32724         * backends/quartz/quartz_record.cc: Throw DocNotFoundError if we
32725           try to delete a record which doesn't exist.
32727 Thu Aug 26 17:18:56 BST 2004  Olly Betts <olly@survex.com>
32729         * configure.ac: Don't define DATADIR - we no longer use it and clashes
32730           with more recent mingw headers.
32732 Wed Aug 25 22:47:06 BST 2004  Olly Betts <olly@survex.com>
32734         * docs/quartzdesign.html: Started section on quartzcompact.
32736 Wed Aug 25 22:45:48 BST 2004  Olly Betts <olly@survex.com>
32738         * api/omdatabase.cc,include/xapian/database.h: Changed new
32739           WritableDatabase::replace_document(term, doc) method to return
32740           the docid which the document was given.
32742 Tue Aug 24 13:45:52 BST 2004  Olly Betts <olly@survex.com>
32744         * api/omenquire.cc,include/xapian/enquire.h: Added new ESet methods
32745           swap(), back() and operator[].
32746         * include/xapian/enquire.h: Added documentation comments for
32747           MSet methods size(), empty(), swap(), begin(), end(), back().
32748         * include/xapian/enquire.h: Removed bogus documentation saying
32749           that some Enquire methods can throw DatabaseOpeningError.
32751 Tue Aug 24 10:24:30 BST 2004  Olly Betts <olly@survex.com>
32753         * HACKING: Noted automake 1.8 may be problematic.  Tweaked list of
32754           release tasks.
32756 Tue Aug 24 10:16:38 BST 2004  Olly Betts <olly@survex.com>
32758         * matcher/multimatch.cc: If a matchdecider is specified and no matches
32759           are requested, the lower bound on the number of matches must be 0
32760           (since the matchdecider could reject all the matches).
32762 Mon Aug 23 23:03:12 BST 2004  Olly Betts <olly@survex.com>
32764         * backends/quartz/btree.cc: Improved the "Db block overwritten"
32765           message.  The DatabaseCorruptError version now suggests multiple
32766           writers may be the cause, while the DatabaseModifiedError version
32767           uses less alarming wording and says to call Database::reopen().
32769 Sun Aug 22 14:07:35 BST 2004  Olly Betts <olly@survex.com>
32771         * indexer/: Removed the old XML-based indexer framework.  It's not
32772           worked for ages, and nobody seems interested in ressurecting it.
32773           If anyone ever is, they can fetch it back from CVS, but otherwise
32774           it's just bulking up CVS checkouts.
32776 Sun Aug 22 13:02:25 BST 2004  Olly Betts <olly@survex.com>
32778         * Makefile.am,configure.ac,extra/Makefile.am: Moved the older library
32779           version information into configure.ac.
32781 Sun Aug 22 12:58:21 BST 2004  Olly Betts <olly@survex.com>
32783         * HACKING,configure.in,configure.ac,backends/Makefile.am,
32784           docs/Makefile.am: Renamed configure.in to configure.ac.
32786 Sun Aug 22 12:47:43 BST 2004  Olly Betts <olly@survex.com>
32788         * xapian-config.in: Add "(or configure.ac)" in message telling the
32789           user to add a line to their configure.in.
32791 Sun Aug 22 11:38:55 BST 2004  Olly Betts <olly@survex.com>
32793         * backends/quartz/btree.cc,backends/quartz/btree_util.h: Adjusted
32794           some Asserts to check c is within blocksize rather than
32795           65536.  Added a FIXME for those which can't be trivially changed.
32797 Sun Aug 22 10:56:56 BST 2004  Olly Betts <olly@survex.com>
32799         * backends/quartz/quartz_database.cc: No need to force a flush on
32800           QuartzWritableDatabase::open_document() (the document will read
32801           things lazily from the database, and that may trigger a forced
32802           flush).
32803         * backends/quartz/quartz_database.cc,
32804           backends/quartz/quartz_database.h: Eliminated
32805           QuartzDatabase::open_post_list_internal() and
32806           QuartzDatabase::open_term_list_internal().
32808 Sun Aug 22 01:33:05 BST 2004  Olly Betts <olly@survex.com>
32810         * backends/quartz/quartz_database.cc,backends/quartz/quartz_record.cc,
32811           backends/quartz/quartz_record.h: WritableDatabase::get_avlength()
32812           no longer forces pending changes to be flushed.  This means you can
32813           now search a modified WritableDatabase without causing a flush
32814           unless the search includes a term whose postlist has pending
32815           modifications.
32817 Fri Aug 20 20:03:59 BST 2004  Olly Betts <olly@survex.com>
32819         * backends/quartz/btree_util.h,common/,docs/overview.html,
32820           docs/quickstart.html,include/xapian/enquire.h,
32821           matcher/branchpostlist.h,matcher/multimatch.cc,tests/api_db.cc:
32822           Corrected multiple occurrences of "an Xapian::XXX" to "a Xapian::XXX"
32823           (presumably these all resulted from replacing "Om" with "Xapian::").
32825 Fri Aug 20 17:38:15 BST 2004  Olly Betts <olly@survex.com>
32827         * backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc,
32828           bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc:
32829           Merged QuartzCursor into Bcursor.
32831 Fri Aug 20 13:43:04 BST 2004  Olly Betts <olly@survex.com>
32833         * NEWS,backends/quartz/: Fixed the problem with "lazy tag reading"
32834           in QuartzCursor and reenable that code.  The problem was with
32835           deleting the current key, so added QuartzCursor::del() which
32836           deletes the current key, leaving the cursor on the next item.
32838 Fri Aug 20 13:04:33 BST 2004  Olly Betts <olly@survex.com>
32840         * tests/api_db.cc: Reenabled test allterms2, but with the iterator
32841           copying parts removed - TermIterator is an input_iterator so
32842           that part was invalid.
32844 Thu Aug 19 19:19:48 BST 2004  Olly Betts <olly@survex.com>
32846         * NEWS: Updated from recent ChangeLog entries.
32848 Thu Aug 19 14:09:28 BST 2004  Olly Betts <olly@survex.com>
32850         * tests/api_db.cc: Added regression test for bug #37.
32852 Thu Aug 19 13:31:37 BST 2004  Olly Betts <olly@survex.com>
32854         * matcher/localmatch.cc: Fixed problems handling termweights in
32855           queries with the same term repeated (bug #37).
32857 Thu Aug 19 13:22:12 BST 2004  Olly Betts <olly@survex.com>
32859         * backends/quartz/quartz_table.cc: Disable the "lazy tag reading" in
32860           QuartzCursor for the time being - it seems to cause problems.
32862 Thu Aug 19 12:58:10 BST 2004  Olly Betts <olly@survex.com>
32864         * bin/quartzcheck.cc,bin/quartzdump.cc: Added calls to
32865           QuartzCursor::read_tag().
32867 Thu Aug 19 12:56:53 BST 2004  Olly Betts <olly@survex.com>
32869         * matcher/multimatch.cc: Removed superfluous clear() of a map.
32871 Thu Aug 19 12:56:08 BST 2004  Olly Betts <olly@survex.com>
32873         * tests/api_db.cc: Corrected a comment - a pure boolean query has all
32874           weights set to 0, not 1.
32876 Mon Aug 16 15:41:33 BST 2004  Olly Betts <olly@survex.com>
32878         * docs/: Removed unused and very out of date class diagrams in dia
32879           format.  Doxygen generates similar but up-to-date diagrams
32880           automatically anyway.
32882 Mon Aug 16 15:27:30 BST 2004  Olly Betts <olly@survex.com>
32884         * xapian.spec.in,debian/libxapianVERSION-dev.install,
32885           extra/.cvsignore,extra/Makefile.am,extra/omparsequery.h,
32886           include/Makefile.am,include/om/.cvsignore,include/om/dir_contents,
32887           include/om/om.h,m4/xapian.m4: Removed the compatibility layer which
32888           allowed programs written against the pre-0.7.0 API to be compiled.
32890 Mon Aug 16 15:08:08 BST 2004  Olly Betts <olly@survex.com>
32892         * backends/quartz/quartz_table.cc: Fixed QuartzCursor::find()
32893           to work again after the last change.
32895 Mon Aug 16 14:43:08 BST 2004  Olly Betts <olly@survex.com>
32897         * backends/quartz/,tests/quartztest.cc: QuartzCursor no longer
32898           automatically reads the tag - you have to call read_tag() to
32899           get it read.  This speeds up iterator over all the terms in
32900           a database.  Also commented out QuartzCursor::prev as it's
32901           unused and untested (at least in its latest form).
32903 Mon Aug 16 12:39:56 BST 2004  Olly Betts <olly@survex.com>
32905         * backends/quartz/btree_types.h: Made Bcursor.rewrite bool rather than
32906           int.
32908 Mon Aug 16 12:35:07 BST 2004  Olly Betts <olly@survex.com>
32910         * backends/quartz/btree.cc,backends/quartz/btree.h: Calculate and
32911           store the latest revision number, rather than storing the other
32912           one and working out which is newer every time we're asked.
32914 Mon Aug 16 12:32:59 BST 2004  Olly Betts <olly@survex.com>
32916         * docs/install.html: We haven't "only [...] UNIX" for ages, so don't
32917           claim we are.  We use libtool as well as autoconf and automake.
32918           Link to the CVS snapshots.  And also mention downloading omega.
32920 Mon Aug 16 12:20:04 BST 2004  Olly Betts <olly@survex.com>
32922         * docs/index.html: exaplains -> explains.
32924 Mon Aug 16 12:18:34 BST 2004  Olly Betts <olly@survex.com>
32926         * docs/overview.html: Removed references to "our company" (meaning
32927           BrightStation) and to the now defunct special parameters which
32928           the inmemory backend accepted to cause deliberate errors for
32929           testing.
32931 Sun Aug 15 23:48:20 BST 2004  Olly Betts <olly@survex.com>
32933         * tests/btreetest.cc: item_count -> get_entry_count(); revision_number
32934           -> get_open_revision_number().
32936 Sun Aug 15 23:15:34 BST 2004  Olly Betts <olly@survex.com>
32938         * backends/Makefile.am,backends/inmemory/Makefile.am: Fixed to compile
32939           with --disable-inmemory (bug #33).
32941 Sat Aug 14 18:56:06 BST 2004  Olly Betts <olly@survex.com>
32943         * Makefile.am: Improved library versioning comment.
32945 Sat Aug 14 18:55:17 BST 2004  Olly Betts <olly@survex.com>
32947         * docs/overview.html: Fixed om_queryop to Xapian::Query::op, and added
32948           missing OP_* codes to the list.
32950 Sat Aug 14 17:44:39 BST 2004  Olly Betts <olly@survex.com>
32952         * backends/quartz/bcursor.h,backends/quartz/btree.cc,
32953           backends/quartz/btree.h,bin/quartzcompact.cc,docs/quartzdesign.html:
32954           Updated quartz design docs to reflect recent changes.  Also pulled
32955           out the Btree and Bcursor API docs and slotted them in as doxygen
32956           documentation comments - this way they're much more likely to
32957           be kept up-to-date.
32959 Sat Aug 14 15:59:07 BST 2004  Olly Betts <olly@survex.com>
32961         * backends/quartz/btree.cc,backends/quartz/btree.h: Removed unused
32962           Btree default ctor.
32964 Sat Aug 14 15:45:28 BST 2004  Olly Betts <olly@survex.com>
32966         * backends/quartz/btree.cc,backends/quartz/btree.h: Don't redundantly
32967           store next_revision - it's always just revision_number + 1.
32969 Sat Aug 14 15:30:30 BST 2004  Olly Betts <olly@survex.com>
32971         * backends/quartz/btree.cc: Implemented Btree::cancel directly rather
32972           than closing and reopening the Btree.
32974 Sat Aug 14 14:46:43 BST 2004  Olly Betts <olly@survex.com>
32976         * backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc,
32977           bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc,
32978           testsuite/btreecheck.cc,testsuite/btreecheck.h: Eliminated
32979           QuartzTable which had become just a thin wrapper around Btree.
32981 Fri Aug 13 19:19:02 BST 2004  Olly Betts <olly@survex.com>
32983         * backends/quartz/quartz_postlist.cc:
32984           QuartzPostList::move_to_chunk_containing now calls next_chunk if
32985           required, rather than forcing the caller to do the fix-up.
32987 Fri Aug 13 17:54:53 BST 2004  Olly Betts <olly@survex.com>
32989         * backends/quartz/quartz_database.cc,
32990           backends/quartz/quartz_database.h: Added tunable flush thresholds
32991           - set XAPIAN_FLUSH_THRESHOLD=5000 to flush every 5000 documents
32992           or XAPIAN_FLUSH_THRESHOLD_LENGTH=1000000 to flush every 1000000
32993           total change in document length.  Set both to flush whichever is
32994           reached first.  Set neither and the default is to flush every
32995           1000 documents as before.
32997 Fri Aug 13 15:54:21 BST 2004  Olly Betts <olly@survex.com>
32999         * backends/quartz/: Removed no-longer-used Btree::erase and
33000           QuartzTable::erase methods.
33002 Fri Aug 13 15:37:15 BST 2004  Olly Betts <olly@survex.com>
33004         * backends/quartz/btree.cc,backends/quartz/quartz_database.cc:
33005           Changed Btree::create() to remove any pre-existing alternate base
33006           file, so we no longer need to call Btree::erase before
33007           Btree::create.
33009 Fri Aug 13 15:37:15 BST 2004  Olly Betts <olly@survex.com>
33011         * NEWS: Updated with changes since last release.
33013 Fri Aug 13 15:36:04 BST 2004  Olly Betts <olly@survex.com>
33015         * tests/api_posdb.cc,tests/quartztest.cc: Reworked quartztest's
33016           positionlist1 into a generic api test as apitest's poslist3.
33018 Thu Aug 12 16:26:42 BST 2004  Olly Betts <olly@survex.com>
33020         * backends/quartz/quartz_table.cc,backends/quartz/quartz_table.h,
33021           bin/quartzcheck.cc,bin/quartzdump.cc: QuartzCursor now has a
33022           Bcursor member, rather than an AutoPtr<Bcursor> member.
33024 Thu Aug 12 14:13:37 BST 2004  Olly Betts <olly@survex.com>
33026         * tests/btreetest.cc: Fixed up in line with the recent refactoring.
33028 Thu Aug 12 13:23:31 BST 2004  Olly Betts <olly@survex.com>
33030         * m4/xapian.m4: XO_LIB_XAPIAN now AC_SUBSTs XAPIAN_VERSION.
33032 Thu Aug 12 13:21:36 BST 2004  Olly Betts <olly@survex.com>
33034         * backends/quartz/,tests/quartztest.cc: Refactored, replacing
33035           Quartz*Manager with Quartz*Table.
33037 Thu Aug 12 02:00:58 BST 2004  Olly Betts <olly@survex.com>
33039         * backends/quartz/: Merged QuartzTableManager into QuartzDatabase.
33041 Wed Aug 11 23:40:34 BST 2004  Olly Betts <olly@survex.com>
33043         * backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h:
33044           Eliminated buffered_tables member of QuartzWritableDatabase.
33046 Wed Aug 11 21:26:35 BST 2004  Olly Betts <olly@survex.com>
33048         * backends/inmemory/inmemory_database.cc,
33049           backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
33050           docs/todo.xml: WritableDatabase::replace_document can now be used
33051           to add a document with a specific docid (to allow keeping docids
33052           in sync with numeric UIDs from another system).
33054 Wed Aug 11 20:09:15 BST 2004  Olly Betts <olly@survex.com>
33056         * api/omdatabase.cc,include/xapian/database.h: Added replace_document
33057           and delete_document variants which take a unique id term name rather
33058           than a document id.
33059         * include/xapian/database.h: Better documentation for replace_document
33060           and delete_document.
33062 Wed Aug 11 16:15:10 BST 2004  Olly Betts <olly@survex.com>
33064         * backends/quartz/,bin/quartzcheck.cc,bin/quartzdump.cc,
33065           tests/quartztest.cc: Eliminated QuartzBufferedTable.
33067 Wed Jun 30 20:34:08 BST 2004  Olly Betts <olly@survex.com>
33069         * NEWS: Fixed an unwrapped line.
33071 Wed Jun 30 20:32:31 BST 2004  Olly Betts <olly@survex.com>
33073         * HACKING: Added note about the cvs-tag-release script.
33075 Wed Jun 30 19:05:45 BST 2004  Olly Betts <olly@survex.com>
33077         * HACKING,NEWS,PLATFORMS,configure.in: Version 0.8.1.
33079 Wed Jun 30 14:23:20 BST 2004  Olly Betts <olly@survex.com>
33081         * AUTHORS,PLATFORMS: Updated.
33083 Tue Jun 29 23:24:59 BST 2004  Olly Betts <olly@survex.com>
33085         * tests/api_nodb.cc: Make emptyquery1 check that Query("") causes an
33086           InvalidArgumentError exception.
33088 Tue Jun 29 17:29:03 BST 2004  Richard Boulton <richard@tartarus.org>
33090         * Makefile.am: Remove Debian files from distribution tarballs,
33091           since there will often be multiple patch releases for each
33092           release.  Debian files will be available from an apt repository
33093           in future.
33095 Mon Jun 28 01:29:00 BST 2004  Olly Betts <olly@survex.com>
33097         * NEWS: Mostly updated for 0.8.1 release.
33099 Sun Jun 27 23:37:01 BST 2004  Olly Betts <olly@survex.com>
33101         * backends/quartz/quartz_postlist.cc: Fixed bug in postlist merging.
33103 Sat Jun 26 00:51:04 BST 2004  Olly Betts <olly@survex.com>
33105         * AUTHORS: Add Malcolm Baldridge (helped fix a problem with building
33106           the PHP bindings with newer versions of SWIG and PHP).
33108 Fri Jun 26 00:29:10 BST 2004  Olly Betts <olly@survex.com>
33110         * HACKING,api/ompositionlistiterator.cc,api/ompostlistiterator.cc,
33111           api/omtermlistiterator.cc,include/xapian/: MSetIterator and
33112           ESetIterator are now bidirectional iterators (rather than
33113           just input iterators);  Fixed post-increment forms of
33114           PostingIterator, TermIterator, PositionIterator, and ValueIterator
33115           so that *i++ works (as it must for them to be true input iterators).
33117 Thu Jun 24 18:03:46 BST 2004  Olly Betts <olly@survex.com>
33119         * PLATFORMS: Added success report for Slackware Linux 9.1.
33121 Mon Jun 21 16:33:16 BST 2004  Olly Betts <olly@survex.com>
33123         * backends/quartz/quartz_postlist.cc: Corrected -> to . so code
33124           compiles with debug enabled.
33126 Mon Jun 21 03:25:24 BST 2004  Olly Betts <olly@survex.com>
33128         * backends/quartz/btree.cc: Eliminated two calls to abort() - throw
33129           exceptions instead.
33131 Mon Jun 21 03:21:14 BST 2004  Olly Betts <olly@survex.com>
33133         * backends/quartz/quartz_postlist.cc: Finish backing out incorrect
33134           change from "Fri May 07 03:16:29 BST 2004" - failed to change two
33135           lines back before.
33137 Fri Jun 18 16:48:10 BST 2004  Richard Boulton <richard@tartarus.org>
33139         * configure.in: Fix typo (STLPORT_CXXLAGS -> STLPORT_CXXFLAGS)
33141 Thu Jun 17 03:46:32 BST 2004  Olly Betts <olly@survex.com>
33143         * backends/quartz/quartz_database.cc: Cleaned up code to track
33144           add vs delete vs modify of a posting list entry since we now
33145           force a flush if an entry is about to be retouched.
33147 Thu Jun 17 03:44:21 BST 2004  Olly Betts <olly@survex.com>
33149         * backends/quartz/quartz_postlist.cc: Back out incorrect change from
33150           "Fri May 07 03:16:29 BST 2004".  We do need to call get_or_make_tag
33151           in this case because we're modifying the tag.
33153 Wed Jun 16 15:40:21 BST 2004  Olly Betts <olly@survex.com>
33155         * backends/inmemory/inmemory_database.h: Implemented get_lastdocid()
33156           for InMemory backend.
33158 Wed Jun 16 02:39:41 BST 2004  Olly Betts <olly@survex.com>
33160         * configure.in: Note the value of LIBRARY_VERSION_INFO which 0.8.1
33161           would get if it were released now.
33163 Wed Jun 16 02:39:11 BST 2004  Robert Pollak <robert.pollak@fabasoft.com>
33165         * api/omdatabase.cc, include/xapian/database.h,
33166           backends/database.cc, common/database.h,
33167           backends/quartz/quartz_database.cc, backends/quartz/quartz_database.h,
33168           backends/quartz/quartz_record.cc, backends/quartz/quartz_record.h:
33169           New method Database::get_lastdocid for re-synchronizing an old
33170           quartz index.
33172 Wed Jun 16 02:05:07 BST 2004  Richard Boulton <richard@tartarus.org>
33174         * matcher/multimatch.cc: When collapsing, keep track of the number
33175           of collapses performed, and use this information to modify the
33176           bounds and estimate of the number of matches.
33177         * tests/api_db.cc: Added tests for this.
33178         * include/xapian/enquire.h: Update documentation comments for
33179           MSet::get_matches_*() functions to make clear that collapsing and
33180           cutoffs are taken into account.  (Previously, the most likely
33181           interpretation of the comments was that they wouldn't be taken
33182           into account, but the implementation was that percentage cutoffs
33183           were taken into account.)  Due to this ambiguity, I think it is
33184           reasonable to say this isn't an API change.
33186 Wed Jun 16 01:55:29 BST 2004  Olly Betts <olly@survex.com>
33188         * matcher/multimatch.cc: Rearranged code so that the behaviour can
33189           be easily seen to be unchanged, but so that it's closer to the
33190           result of applying Richard's patch for bug #31.
33192 Wed Jun 16 01:27:09 BST 2004  Olly Betts <olly@survex.com>
33194         * matcher/multimatch.cc: Trimmed extra whitespace.
33196 Tue Jun 15 15:40:11 BST 2004  Olly Betts <olly@survex.com>
33198         * backends/quartz/quartz_postlist.cc: Fixed PostlistChunkReader to
33199           take a copy of the postlist data being read to avoid problems with
33200           reading data from a string that's been deleted.
33202 Tue Jun 15 15:26:54 BST 2004  Olly Betts <olly@survex.com>
33204         * HACKING: Updated the list of tasks required for a new release.
33206 Tue Jun 15 15:24:04 BST 2004  Olly Betts <olly@survex.com>
33208         * Makefile.am,configure.in,extra/Makefile.am: Unify the shlib version
33209           numbers (the small benefit of tracking them individually makes it
33210           hard to justify the extra work required, and having one version
33211           simplifies debian packaging too).
33213 Tue Jun 15 14:52:36 BST 2004  Robert Pollak <robert.pollak@fabasoft.com>
33215         * extra/xapian/queryparser.h: Fixed memory leaked upon QueryParser
33216           destruction.
33218 Fri Jun 11 02:18:35 BST 2004  Olly Betts <olly@survex.com>
33220         * backends/quartz/quartz_postlist.cc: Refactored a loop.
33222 Fri Jun 11 02:17:05 BST 2004  Olly Betts <olly@survex.com>
33224         * backends/quartz/quartz_postlist.cc: Fixed bug which meant we
33225           sometimes failed to remove a posting when deleting or replacing
33226           a document.
33228 Fri Jun 11 02:16:16 BST 2004  Olly Betts <olly@survex.com>
33230         * backends/quartz/quartz_postlist.cc,
33231           backends/quartz/quartz_postlist.h: Merged move_to() into skip_to().
33233 Fri Jun 11 02:14:56 BST 2004  Olly Betts <olly@survex.com>
33235         * backends/quartz/quartz_postlist.cc: Fixed typo in comment.
33237 Thu May 27 15:41:45 BST 2004  Olly Betts <olly@survex.com>
33239         * backends/quartz/btree.cc,backends/quartz/btree.h: Eliminated the
33240           split cursor - we only actually need a single block buffer to
33241           handle splitting blocks.
33243 Wed May 26 04:02:18 BST 2004  Olly Betts <olly@survex.com>
33245         * include/om/om.h,include/xapian/errortypes.h: Removed several unused
33246           Xapian::Error subclasses (these were used by the indexer framework
33247           which we decided was a failed experiment).
33249 Wed May 26 01:54:13 BST 2004  Olly Betts <olly@survex.com>
33251         * backends/quartz/btree.cc,backends/quartz/btree.h: More DEBUGCALL
33252           tracing added; split_root now uses level member rather than a
33253           parameter.
33255 Sun May 23 00:56:41 BST 2004  Olly Betts <olly@survex.com>
33257         * backends/quartz/btree.cc,backends/quartz/btree.h: Merge split_off()
33258           into add_item().
33260 Sat May 22 01:28:58 BST 2004  Olly Betts <olly@survex.com>
33262         * backends/quartz/btree.cc: Another DEBUGCALL.
33263         * backends/quartz/quartz_table.h: Improved comments.
33265 Fri May 21 23:17:01 BST 2004  Olly Betts <olly@survex.com>
33267         * backends/quartz/btree.cc: Removed unnecessary assignment which is
33268           a hangover from the shared level code we removed long ago.
33270 Fri May 21 20:31:56 BST 2004  Olly Betts <olly@survex.com>
33272         * backends/quartz/,docs/quartzdesign.html,testsuite/btreecheck.cc:
33273           Removed overwritten flag (unused as we throw an exception anyway).
33274           If Btree is writable, throw DatabaseCorruptError if we detect
33275           overwritten.  Make use of bool return types consistent.  Removed
33276           documentation of Btree error codes (the error codes themselves
33277           were removed a month ago).
33279 Thu May 20 03:50:46 BST 2004  Olly Betts <olly@survex.com>
33281         * include/xapian/database.h: Remove references to sessions in doxygen
33282           comments.
33284 Thu May 20 03:44:28 BST 2004  Olly Betts <olly@survex.com>
33286         * api/omdatabase.cc,backends/database.cc,
33287           backends/inmemory/inmemory_database.cc,
33288           backends/inmemory/inmemory_database.h,
33289           backends/muscat36/da_database.h,backends/muscat36/db_database.h,
33290           backends/net/net_database.cc,backends/quartz/quartz_database.cc,
33291           backends/quartz/quartz_database.h,common/database.h,
33292           common/net_database.h: Clean up the backend interface.
33294 Thu May 20 03:18:30 BST 2004  Olly Betts <olly@survex.com>
33296         * backends/database.cc,backends/inmemory/inmemory_database.cc,
33297           backends/inmemory/inmemory_database.h,backends/muscat36/,
33298           backends/net/net_database.cc,backends/quartz/quartz_database.cc,
33299           backends/quartz/quartz_database.h,common/database.h:
33300           Stripped out the session machinery - all that is actually required
33301           is to ensure that any unflushed changes are flushed when the dtor
33302           runs.
33304 Mon May 17 01:04:17 BST 2004  Olly Betts <olly@survex.com>
33306         * backends/quartz/btree.cc,backends/quartz/btree.h,
33307           backends/quartz/btree_types.h: Reworked split_p and split_n
33308           members of Cursor into a separate C_split cursor.  This
33309           reduces the memory overhead of each Bcursor (and hence each
33310           QuartzPostList).
33312 Sat May 15 01:29:40 BST 2004  Olly Betts <olly@survex.com>
33314         * docs/quickstart.html: Corrected lingering reference to "om.h" and
33315           note that we need <iostream>.
33316         * docs/quickstartindex.cc.html,docs/quickstartexpand.cc.html,
33317           docs/quickstartsearch.cc.html: Add <iostream>.
33318         * AUTHORS: Add John Ward for pointing out the above problems.
33320 Fri May 14 00:59:51 BST 2004  Olly Betts <olly@survex.com>
33322         * HACKING: Added the start of a list of subtasks when doing a release.
33323           Currently it's always me that does this, but it may not always be
33324           and anyhow it'll help me to have a list to run through.
33326 Fri May 14 00:59:21 BST 2004  Olly Betts <olly@survex.com>
33328         * docs/todo.xml: Updated.
33330 Thu May 13 17:14:18 BST 2004  Olly Betts <olly@survex.com>
33332         * extra/queryparser.yy: When stripping non-alphanums prior to
33333           reparsing, keep dots ('.').
33334         * extra/queryparsertest.cc: Pruned near-duplicate queryparsertest
33335           testcases.
33337 Thu May 13 12:09:19 BST 2004  Olly Betts <olly@survex.com>
33339         * docs/quartzdesign.html: "interger" -> "integer".
33341 Thu May 13 11:20:44 BST 2004  Olly Betts <olly@survex.com>
33343         * Makefile.am: Removed bogus extra line added by last change.
33345 Thu May 13 11:11:31 BST 2004  Olly Betts <olly@survex.com>
33347         * configure.in,Makefile.am,autoconf/.cvsignore,autoconf/Makefile.am,
33348           m4/.cvsignore,m4/Makefile.am: Removed trivial m4/Makefile.am and
33349           and autoconf/Makefile.am and do the work from the top level
33350           Makefile.am instead.  It's easy to see the structure this way, and
33351           it also removes a couple of recursive make invocations.
33353 Thu May 13 09:32:22 BST 2004  Olly Betts <olly@survex.com>
33355         * backends/quartz/btree.cc,backends/quartz/btree.h: Added DEBUGCALL
33356           tracing;  Stripped out C_ parameters where they are always the
33357           internal cursor C.
33359 Thu May 13 00:05:45 BST 2004  Olly Betts <olly@survex.com>
33361         * extra/queryparser.yy,extra/queryparsertest.cc: If we fail to parse
33362           a query, try stripping out non-alphanumerics and reparsing.
33364 Wed May 12 14:32:54 BST 2004  Olly Betts <olly@survex.com>
33366         * common/omtime.h: Corrected file description.
33368 Wed May 12 02:08:44 BST 2004  Olly Betts <olly@survex.com>
33370         * backends/quartz/btree.cc: Fixed typos in comment.
33372 Tue May 11 20:55:56 BST 2004  Olly Betts <olly@survex.com>
33374         * xapian-config.in: Added comment saying why we filter out
33375           -I/usr/include; Removed no longer used "optarg" stuff; Added licence
33376           boilerplate text (with (C) dates mined from CVS).
33378 Tue May 11 13:42:38 BST 2004  Olly Betts <olly@survex.com>
33380         * backends/quartz/bcursor.cc,backends/quartz/btree.cc: Added lots
33381           of assertions.
33383 Tue May 11 09:29:51 BST 2004  Richard Boulton <richard@tartarus.org>
33385         * debian/: Added basic Debian packaging.
33387 Mon May 10 17:17:45 BST 2004  Olly Betts <olly@survex.com>
33389         * docs/quartzdsign.html: Corrected various pieces of out of date
33390           information.
33392 Mon May 10 01:30:35 BST 2004  Olly Betts <olly@survex.com>
33394         * backends/quartz/btree.h: Removed unused forward declaration of
33395           class BtreeCheck.
33397 Mon May 10 01:30:24 BST 2004  Olly Betts <olly@survex.com>
33399         * backends/quartz/btree.cc: Fixed typo.
33401 Sat May 08 20:14:40 BST 2004  Olly Betts <olly@survex.com>
33403         * backends/quartz/: Pruned some #include-s which were unused, or could
33404           be replaced by forward class declarations.
33406 Fri May 07 14:38:10 BST 2004  Olly Betts <olly@survex.com>
33408         * backends/quartz/quartz_postlist.cc: Slight efficiency tweak to the
33409           "deleting the whole posting list" case.
33411 Fri May 07 03:16:29 BST 2004  Olly Betts <olly@survex.com>
33413         * backends/quartz/quartz_postlist.cc: Removed another unnecessary use
33414           of QuartzBufferedTable::get_or_make_tag().
33416 Fri May 07 02:56:22 BST 2004  Olly Betts <olly@survex.com>
33418         * backends/quartz/btree.cc: Initialise prev_ptr and next_ptr at open
33419           time for a writable Btree.
33421 Fri May 07 02:46:53 BST 2004  Olly Betts <olly@survex.com>
33423         * backends/quartz/quartz_postlist.cc: Remove unneeded call to
33424           QuartzBufferedTable::get_or_make_tag() in a case when we're using a
33425           cursor which has already fetched the tag.
33427 Thu May 06 23:30:12 BST 2004  Olly Betts <olly@survex.com>
33429         * backends/quartz/btree.cc: Improved a comment.
33431 Thu May 06 22:20:43 BST 2004  Olly Betts <olly@survex.com>
33433         * backends/quartz/btree.cc: Added a few more assertions.
33435 Thu May 06 02:25:33 BST 2004  Olly Betts <olly@survex.com>
33437         * backends/quartz/quartz_positionlist.cc,
33438           backends/quartz/quartz_utils.h: Added SON_OF_QUARTZ define to
33439           disable incompatible changes to database formats by default, and
33440           use it to control the docid encoding for keys such that we're always
33441           inserting at the end of the table when added new documents.
33443 Thu May 06 02:23:02 BST 2004  Olly Betts <olly@survex.com>
33445         * backends/quartz/quartz_postlist.cc: Improved a FIXME comment.
33447 Thu May 06 00:32:17 BST 2004  Olly Betts <olly@survex.com>
33449         * extra/queryparsertest.cc: Added test case for `term NOT "a phrase'.
33451 Thu May 06 00:28:32 BST 2004  Olly Betts <olly@survex.com>
33453         * common/omdebug.cc,common/omdebug.h: Renamed OmTimer class used
33454           internally by the --enable-debug=profile code to
33455           Xapian::Internal::Timer.
33457 Wed May 05 13:59:47 BST 2004  Olly Betts <olly@survex.com>
33459         * docs/scalability.html: Reworded to remove use of first person.
33461 Mon May 03 21:42:05 BST 2004  Olly Betts <olly@survex.com>
33463         * Makefile.am: Improved wording of a FIXME comment.
33465 Sun May 02 10:18:55 BST 2004  Olly Betts <olly@survex.com>
33467         * backends/quartz/btree.cc: Improved a couple of comments.
33469 Sat May 01 04:42:43 BST 2004  Olly Betts <olly@survex.com>
33471         * backends/quartz/btree.cc,backends/quartz/btree.h,
33472           backends/quartz/quartz_table.cc: Reopening the readonly version
33473           of a writable Btree is now more efficient.
33475 Sat May 01 01:41:24 BST 2004  Olly Betts <olly@survex.com>
33477         * PLATFORMS: Added up-to-date success reports for x86-openbsd and
33478           x86-solaris.
33480 Fri Apr 30 04:05:15 BST 2004  Olly Betts <olly@survex.com>
33482         * backends/quartz/: Don't delete and reload the Btree_base just after
33483           saving it - instead reuse the existing Btree_base object.
33485 Fri Apr 30 02:41:50 BST 2004  Olly Betts <olly@survex.com>
33487         * backends/quartz/btree.cc: Clean up new code in Btree::commit()
33488           from last change.
33490 Thu Apr 29 22:41:05 BST 2004  Olly Betts <olly@survex.com>
33492         * backends/quartz/btree.cc,backends/quartz/quartz_table.cc: Don't
33493           close and reopen the database table file descriptors every time
33494           we flush changes.
33496 Thu Apr 29 22:40:36 BST 2004  Olly Betts <olly@survex.com>
33498         * docs/quartzdesign.html: Improved wording in a couple of places.
33500 Thu Apr 29 16:50:45 BST 2004  Olly Betts <olly@survex.com>
33502         * backends/quartz/bcursor.cc: Removed references to Btree::error
33503           from debug code since Btree::error was removed a week ago.
33505 Tue Apr 27 20:46:25 BST 2004  Olly Betts <olly@survex.com>
33507         * backends/quartz/btree.cc,configure.in: Added configure test for
33508           glibc, because otherwise we need to include a header before we
33509           can check for glibc in order to define something we should be
33510           defining before we include any headers!
33512 Tue Apr 27 17:45:51 BST 2004  Olly Betts <olly@survex.com>
33514         * backends/quartz/btree.cc: Only defined _XOPEN_SOURCE if __GLIBC__
33515           is defined.  OpenBSD seems to do the opposite to Linux and *disable*
33516           pread and pwrite if this is defined!
33518 Tue Apr 27 14:35:47 BST 2004  Olly Betts <olly@survex.com>
33520         * api/omenquire.cc,tests/api_db.cc: Need to adjust index by firstitem
33521           when indexing into items (bug#28).
33523 Mon Apr 26 23:45:15 BST 2004  Olly Betts <olly@survex.com>
33525         * PLATFORMS: Successfully built with gcc-3.5-20040327 snapshot on x86
33526           linux.
33528 Fri Apr 23 11:26:07 BST 2004  Olly Betts <olly@survex.com>
33530         * PLATFORMS: Successfully built and tested on arm linux.
33532 Fri Apr 23 11:24:23 BST 2004  Olly Betts <olly@survex.com>
33534         * tests/remotetest.cc: Use 127.0.0.1 instead of localhost so that
33535           tcpmatch1 doesn't fail just because the network setup is broken.
33537 Thu Apr 22 00:54:58 BST 2004  Olly Betts <olly@survex.com>
33539         * backends/quartz/: Stripped out Btree_errors as it's almost
33540           totally unused now.  Fixed up the last few uses.
33541         * backends/quartz/quartz_table.cc: Fixed another case where read
33542           and write Btrees should share fds.
33544 Wed Apr 21 02:51:08 BST 2004  Olly Betts <olly@survex.com>
33546         * backends/quartz/btree.cc: Check the return value of
33547           fdatasync()/fsync()/_commit() and raise an error.  They aren't
33548           likely to fail harmlessly.
33550 Wed Apr 21 02:45:28 BST 2004  Olly Betts <olly@survex.com>
33552         * backends/quartz/btree.cc,backends/quartz/btree.h,
33553           backends/quartz/quartz_table.cc: Share file descriptors between
33554           the read and write Btree objects so that a quartz WritableDatabase
33555           now uses 5 fds rather than 10.
33557 Wed Apr 21 02:37:38 BST 2004  Olly Betts <olly@survex.com>
33559         * docs/scalability.html: Removed the reference to the Quartz update
33560           bottleneck "currently being addressed for Xapian 0.8" as it's now
33561           been addressed!
33563 Wed Apr 21 00:24:08 BST 2004  Olly Betts <olly@survex.com>
33565         * backends/quartz/btree.cc: Corrected a comment.
33567 Mon Apr 19 14:42:06 BST 2004  Olly Betts <olly@survex.com>
33569         * NEWS: Final update for 0.8.0.
33571 Mon Apr 19 14:02:33 BST 2004  Olly Betts <olly@survex.com>
33573         * AUTHORS: Added people who've contributed build reports for the
33574           PLATFORMS file.
33576 Mon Apr 19 14:01:38 BST 2004  Olly Betts <olly@survex.com>
33578         * PLATFORMS: More updates from tinderbox and elsewhere.
33580 Sat Apr 17 02:24:11 BST 2004  Olly Betts <olly@survex.com>
33582         * PLATFORMS: Lots of updates from tinderbox and mailing list.
33584 Sat Apr 17 00:13:26 BST 2004  Olly Betts <olly@survex.com>
33586         * HACKING: Added notes about using "using", and pointers to a couple
33587           of useful C++ web resources.
33589 Mon Apr 12 00:56:04 BST 2004  Olly Betts <olly@survex.com>
33591         * Makefile.am,NEWS,configure.in,extra/Makefile.am: Version 0.8.0.
33593 Mon Apr 12 00:31:15 BST 2004  Olly Betts <olly@survex.com>
33595         * NEWS: Updated for 0.8.0.
33597 Sun Apr 11 21:18:47 BST 2004  Olly Betts <olly@survex.com>
33599         * extra/queryparser.yy,extra/queryparsertest.cc: Don't use a raw term
33600           for a term which starts with a digit.
33602 Sat Apr 10 17:20:23 BST 2004  Olly Betts <olly@survex.com>
33604         * AUTHORS: "Open Muscat" not "OmSee"; Updated the list of contributors
33605           (more work needed...)
33607 Sat Apr 10 16:41:28 BST 2004  Olly Betts <olly@survex.com>
33609         * m4/xapian.m4: Make XO_LIB_XAPIAN with no arguments do what most
33610           users will want: check for Xapian and fail if it's not found,
33611           or AC_SUBST XAPIAN_CXXFLAGS and XAPIAN_LIBS if it is.  Those
33612           will unusual needs can supply one or both arguments as at
33613           present.
33615 Sat Apr 10 15:00:28 BST 2004  Olly Betts <olly@survex.com>
33617         * docs/todo.xml: Updated.
33619 Sat Apr 10 00:32:07 BST 2004  Olly Betts <olly@survex.com>
33621         * PLATFORMS: Added success report for GCC 3.4 (prerelease).
33623 Sat Apr 10 00:27:58 BST 2004  Olly Betts <olly@survex.com>
33625         * extra/xapian/queryparser.h: Added doxygen documentation comments.
33627 Sat Apr 10 00:23:13 BST 2004  Olly Betts <olly@survex.com>
33629         * testsuite/testsuite.cc: Removed a now superfluous line.
33631 Sat Apr 10 00:21:15 BST 2004  Olly Betts <olly@survex.com>
33633         * testsuite/testsuite.cc: Give a more accurate message if valgrind
33634           spots a test doing something dodgy (e.g. free() of memory allocated
33635           with new).
33637 Thu Apr 08 17:22:20 BST 2004  Olly Betts <olly@survex.com>
33639         * net/.cvsignore: No longer need to ignore readquery.cc.
33641 Thu Apr 08 17:19:43 BST 2004  Olly Betts <olly@survex.com>
33643         * include/xapian/base.h: Note in doxygen comment why the ref_count
33644           is mutable.
33646 Thu Apr 08 15:33:16 BST 2004  Olly Betts <olly@survex.com>
33648         * testsuite/testsuite.cc: valgrinding code needs errno.h too.
33650 Thu Apr 08 15:28:44 BST 2004  Olly Betts <olly@survex.com>
33652         * include/xapian/enquire.h: Make Xapian::Weight::Weight() protected
33653           rather than private as we want to be able to call it from derived
33654           classes (GCC 3.4 flags this, other compilers seem to miss it).
33656 Tue Apr 06 03:32:39 BST 2004  Olly Betts <olly@survex.com>
33658         * net/omerr_string.cc,include/xapian/error.h,
33659           include/xapian/errortypes.h,include/xapian/output.h:
33660           Fixed some doxygen warnings.
33662 Mon Apr 05 17:21:06 BST 2004  Olly Betts <olly@survex.com>
33664         * README: There never was an Omsee release - the last BrightStation
33665           release was "OpenMuscat 0.4.1".
33667 Mon Apr 05 17:19:38 BST 2004  Olly Betts <olly@survex.com>
33669         * backends/quartz/quartz_database.cc,
33670           backends/quartz/quartz_database.h: Make the flush criterion 1000
33671           documents changed (added, removed, or replaced) as that seems to
33672           perform much better over a wide variety of document sizes.
33674 Thu Apr 01 01:04:17 BST 2004  Olly Betts <olly@survex.com>
33676         * tests/quartztest.cc: Fixed temporary directory used (a slash was
33677           missing).
33679 Thu Apr 01 00:39:59 BST 2004  Olly Betts <olly@survex.com>
33681         * docs/todo.xml: Updated.
33683 Fri Mar 26 22:33:30 GMT 2004  Olly Betts <olly@survex.com>
33685         * backends/quartz/quartz_database.cc: Fix problems with termfreq and
33686           collfreq in postlist getting out of step when a recently modified
33687           or deleted document is deleted or remodified.
33689 Fri Mar 26 12:31:24 GMT 2004  Olly Betts <olly@survex.com>
33691         * configure.in: Fixed check for --enable-runtime-pseudo-reloc.
33693 Fri Mar 26 12:31:00 GMT 2004  Olly Betts <olly@survex.com>
33695         * bin/Makefile.am: Removed spurious "-lz" from quartzdump_LDADD.
33697 Thu Mar 25 00:22:13 GMT 2004  Olly Betts <olly@survex.com>
33699         * bin/quartzcheck.cc: Check the structure with the postlist Btree
33700           as well as the Btree structures themselves.
33702 Sun Mar 21 00:00:59 GMT 2004  Olly Betts <olly@survex.com>
33704         * backends/quartz/quartz_table_manager.cc: Fix for building on mingw.
33706 Sat Mar 20 23:04:27 GMT 2004  Olly Betts <olly@survex.com>
33708         * include/xapian/positioniterator.h,include/xapian/postingiterator.h:
33709           Add doxygen comments in front of PostingIterator and
33710           PositionListIterator classes so that doxygen pulls out the
33711           existing documentation for their methods.
33713 Sat Mar 20 16:23:13 GMT 2004  Olly Betts <olly@survex.com>
33715         * configure.in,backends/quartz/quartz_table_manager.cc,common/utils.h:
33716           Added configure test for link() to avoid infinite loop on mingw!
33718 Thu Mar 18 12:20:18 GMT 2004  Olly Betts <olly@survex.com>
33720         * configure.in: Improved the --enable-runtime-pseudo-reloc check.
33722 Thu Mar 18 00:45:15 GMT 2004  Olly Betts <olly@survex.com>
33724         * bin/Makefile.am,tests/Makefile.am: Pass the magic mingw/cygwin flag
33725           when linking the programs in bin and tests.
33727 Thu Mar 18 00:33:22 GMT 2004  Olly Betts <olly@survex.com>
33729         * configure.in,xapian-config.in: mingw and cygwin both need
33730           -Wl,--enable-runtime-pseudo-reloc passing when linking.
33731           Arrange for xapian-config to include this, and check that
33732           the ld installed is a new enough version (or at least that
33733           it was at configure time).
33735 Tue Mar 16 01:40:43 GMT 2004  Olly Betts <olly@survex.com>
33737         * docs/matcherdesign.html: Merged in more details from a message I
33738           sent to the mailing list.
33740 Mon Mar 15 20:39:21 GMT 2004  Olly Betts <olly@survex.com>
33742         * tests/quartztest.cc: Fail the test if there's still a directory after
33743           rmdir(), or there isn't a directory after mkdir().  Close a
33744           QuartzDatabase or QuartzWritableDatabase before trying to overwrite
33745           it - cygwin doesn't allow use to delete open/locked files...
33747 Mon Mar 15 20:38:11 GMT 2004  Olly Betts <olly@survex.com>
33749         * backends/database.cc: Database::Internal::Internal::keep_alive()
33750           should be Database::Internal::keep_alive().
33752 Mon Mar 15 17:20:58 GMT 2004  Olly Betts <olly@survex.com>
33754         * include/xapian/base.h: Returning a void result makes SGI's compiler
33755           complain - don't!
33757 Mon Mar 15 14:34:44 GMT 2004  Olly Betts <olly@survex.com>
33759         * common/omdebug.cc: Only use O_SYNC (on the debug log) if we have it.
33761 Sun Mar 14 17:48:52 GMT 2004  Olly Betts <olly@survex.com>
33763         * tests/runtest.in: Mark with @configure_input@.
33765 Thu Mar 11 23:53:43 GMT 2004  Olly Betts <olly@survex.com>
33767         * common/database.h,common/termlist.h,include/xapian/database.h,
33768           include/xapian/enquire.h: Attempted fixes for warnings given by
33769           SGI's MIPSpro C++ compiler.
33771 Thu Mar 11 23:51:10 GMT 2004  Olly Betts <olly@survex.com>
33773         * configure.in: GCC 2.95 supported -Wno-long-long and is our minimum
33774           recommended version, so unconditionally use -Wno-long-long with
33775           GCC, and don't test for it on other compilers (the test incorrectly
33776           decided to use it with SGI's compiler leading to a warning for
33777           every file compiled).
33779 Thu Mar 11 17:29:24 GMT 2004  Olly Betts <olly@survex.com>
33781         * docs/intro_ir.html: Added a link to "Information Retrieval"
33782           by Keith v.R. which can be read on his website!
33784 Thu Mar 11 17:12:35 GMT 2004  Olly Betts <olly@survex.com>
33786         * PLATFORMS: Added IRIX success reports from Jim Lynch.
33788 Thu Mar 11 12:17:21 GMT 2004  Olly Betts <olly@survex.com>
33790         * backends/quartz/quartz_database.cc: Fixes for Sun C++'s fussy
33791           template matching.
33793 Thu Mar 11 12:12:46 GMT 2004  Olly Betts <olly@survex.com>
33795         * include/xapian/enquire.h: Another friend fix for Sun's C++.
33797 Thu Mar 11 01:56:19 GMT 2004  Olly Betts <olly@survex.com>
33799         * include/xapian/query.h: Another fix for Sun's C++.
33801 Tue Mar 09 21:02:08 GMT 2004  Olly Betts <olly@survex.com>
33803         * include/xapian/document.h: string -> std::string.
33805 Tue Mar 09 19:04:48 GMT 2004  Olly Betts <olly@survex.com>
33807         * api/omdocument.cc,common/document.h,include/xapian/document.h,
33808           tests/api_db.cc,tests/api_posdb.cc: Renamed
33809           Xapian::Document::add_term_nopos to Xapian::Document::add_term
33810           (with forwarding wrapper method for compatibility with existing
33811           code).
33813 Sat Mar 06 02:32:58 GMT 2004  Olly Betts <olly@survex.com>
33815         * docs/: Updated the quickstart tutorial and removed the warning
33816           that "this document isn't up to date".
33818 Sat Mar 06 01:56:17 GMT 2004  Olly Betts <olly@survex.com>
33820         * api/omenquire.cc: Another tweak for Sun's C++ compiler.
33822 Sat Mar 06 01:31:29 GMT 2004  Olly Betts <olly@survex.com>
33824         * common/omenquireinternal.h: Tweaked friend class declarations a
33825           bit so Sun's C++ compiler can cope.
33827 Thu Mar 04 23:58:17 GMT 2004  Olly Betts <olly@survex.com>
33829         * PLATFORMS: Updated with results from the tinderbox.
33831 Thu Mar 04 23:29:28 GMT 2004  Olly Betts <olly@survex.com>
33833         * tests/btreetest.cc,tests/quartztest.cc: NetBSD mkdir() doesn't cope
33834           with a trailing / on the path - fixed our code to cope with this.
33836 Wed Mar 03 19:14:09 GMT 2004  Olly Betts <olly@survex.com>
33838         * docs/todo.xml: Updated.
33840 Fri Feb 13 23:56:44 GMT 2004  Olly Betts <olly@survex.com>
33842         * api/omquery.cc,tests/api_nodb.cc: Throw error when an empty query is
33843           used to build in the binary operator Query ctor.  Added regression
33844           test.
33846 Fri Feb 13 15:08:09 GMT 2004  Olly Betts <olly@survex.com>
33848         * HACKING: XAPIAN_DEBUG_TYPES should be XAPIAN_DEBUG_FLAGS.
33850 Sat Feb 07 14:26:54 GMT 2004  Olly Betts <olly@survex.com>
33852         * docs/queryparser.html: Grammar fixes.
33854 Fri Jan 16 02:06:53 GMT 2004  Olly Betts <olly@survex.com>
33856         * backends/quartz/quartz_postlist.cc: Fixed bug flagged up by deldoc4.
33858 Thu Jan 15 01:00:48 GMT 2004  Olly Betts <olly@survex.com>
33860         * backends/quartz/quartz_termlist.cc: Use Xapian::doccount instead of
33861           unsigned int in set_entries().
33863 Thu Jan 15 00:56:47 GMT 2004  Olly Betts <olly@survex.com>
33865         * backends/quartz/btree.cc,backends/quartz/btree.h,
33866           testsuite/btreecheck.cc: Made some static functions into static
33867           member functions of Btree so we can avoid duplicating code in
33868           btreecheck.cc.  Also tweaked compare_keys to use memcmp and
33869           special case when the keys are the same length (each of these
33870           changes gives a very small speed gain).
33872 Thu Jan 15 00:54:47 GMT 2004  Olly Betts <olly@survex.com>
33874         * api/maptermlist.h: Removed a FIXME which already had been fixed.
33875           Removed a couple of asserts from a function which should never be
33876           called (and so had `Assert(false)' anyway).
33878 Mon Jan 12 00:32:37 GMT 2004  Olly Betts <olly@survex.com>
33880         * bin/quartzdump.cc: Backslash escape space and backslash in output
33881           rather than hex encoding them; renamed start-term and end-term to
33882           start-key and end-key; removed rather pointless "Calling next"
33883           message; if there's an error, write it to stderr not stdout, and
33884           exit with return code 1.
33886 Sun Jan 11 03:23:17 GMT 2004  Olly Betts <olly@survex.com>
33888         * backends/quartz/quartz_termlist.cc: When possible, pack the wdf into
33889           the same byte as the reuse length - doing so typically makes the
33890           termlist 14% smaller!  This change is backward compatible.
33892 Sat Jan 10 03:04:22 GMT 2004  Olly Betts <olly@survex.com>
33894         * backends/quartz/quartz_postlist.cc: Fixed bug in new postlist
33895           chunking code.
33897 Sat Jan 10 00:45:04 GMT 2004  Olly Betts <olly@survex.com>
33899         * backends/quartz/quartz_termlist.cc: Removed unused
33900           OLD_TERMLIST_FORMAT code.
33902 Fri Jan 09 21:54:34 GMT 2004  Olly Betts <olly@survex.com>
33904         * backends/quartz/quartz_postlist.cc: Fix incorrect code which just
33905           happens to build and work with GCC 2.95.
33907 Fri Jan 09 14:40:00 GMT 2004  Olly Betts <olly@survex.com>
33909         * backends/quartz/quartz_postlist.cc: Tidied the initial call to
33910           get_chunk() out of the merge loop (gives ~4% speedup!)
33912 Fri Jan 09 01:31:05 GMT 2004  Olly Betts <olly@survex.com>
33914         * backends/quartz/quartz_postlist.cc: Implement chunking of postlists
33915           once again.
33917 Thu Jan 08 21:06:37 GMT 2004  Olly Betts <olly@survex.com>
33919         * backends/quartz/quartz_postlist.cc: Shortcut the very common case
33920           of appending to a posting list (which happens when we're just
33921           adding new documents).  Declare small helper functions as "inline".
33923 Wed Jan 07 23:21:59 GMT 2004  Olly Betts <olly@survex.com>
33925         * backends/quartz/quartz_database.cc: Set threshold for flushing to
33926           a saner value for the value we are now using.
33927         * backends/quartz/: Use freq_deltas to update the stats in the first
33928           chunk of each postlist.
33930 Mon Jan 05 16:00:07 GMT 2004  Olly Betts <olly@survex.com>
33932         * include/xapian/enquire.h: Made the TradWeight constructor explicit.
33933           This is technically an API change as before you could pass a
33934           double where a Xapian::Weight was required - now you must pass
33935           Xapian::TradWeight(2.0) instead of 2.0.  That seems desirable, and
33936           it's unlikely any existing code will be affected.
33938 Mon Jan 05 15:08:26 GMT 2004  Olly Betts <olly@survex.com>
33940         * include/xapian/: Added "explicit" qualifier to internal ctors
33941           which take a single parameter.
33943 Mon Jan 05 15:04:12 GMT 2004  Olly Betts <olly@survex.com>
33945         * include/xapian/base.h: Assigning a normal pointer to a RefCntPtr no
33946           longer creates a temporary RefCntPtr from it.
33948 Thu Dec 25 05:49:03 GMT 2003  Olly Betts <olly@survex.com>
33950         * backends/quartz/quartz_postlist.cc: Changed to merge a batch of
33951           changes into a posting list in one pass.
33953 Thu Dec 25 05:48:09 GMT 2003  Olly Betts <olly@survex.com>
33955         * docs/quartzdesign.html: Some minor improvements.
33957 Thu Dec 25 05:39:57 GMT 2003  Olly Betts <olly@survex.com>
33959         * tests/api_db.cc: Check returned docids are the expected values in a
33960           couple more cases.  Improved wording of a comment.
33962 Thu Dec 25 05:38:43 GMT 2003  Olly Betts <olly@survex.com>
33964         * backends/quartz/quartz_utils.h: Updated explanation of string
33965           encoding.
33967 Thu Dec 25 05:37:36 GMT 2003  Olly Betts <olly@survex.com>
33969         * backends/quartz/quartz_values.cc: Fixed problem with dereferencing
33970           a pointer to the end of a string in debug output.
33972 Sun Dec 21 23:35:49 GMT 2003  Olly Betts <olly@survex.com>
33974         * backends/quartz/quartz_postlist.cc: Refactor recently relocated code
33975           to reduce duplication.
33977 Sun Dec 21 21:44:07 GMT 2003  Olly Betts <olly@survex.com>
33979         * backends/quartz/quartz_postlist.cc: Renamed
33980           skip_and_check_tname_in_key() to check_tname_in_key() as it doesn't
33981           do any sort of skipping!
33983 Sun Dec 21 14:54:49 GMT 2003  Olly Betts <olly@survex.com>
33985         * backends/quartz/quartz_postlist.cc,backends/quartz/quartz_postlist.h,
33986           tests/quartztest.cc: Subsumed QuartzPostList::add_entry and
33987           QuartzPostList::delete_entry into QuartzPostList::merge_changes.
33989 Sun Dec 21 03:21:42 GMT 2003  Olly Betts <olly@survex.com>
33991         * backends/quartz/quartz_database.cc,
33992           backends/quartz/quartz_postlist.cc,
33993           backends/quartz/quartz_postlist.h: Move merging on postlist changes
33994           into QuartzPostList in preparation for an efficient
33995           reimplementation.
33997 Sun Dec 21 01:47:07 GMT 2003  Olly Betts <olly@survex.com>
33999         * backends/quartz/quartz_postlist.h,
34000           backends/quartz/quartz_table_entries.h: Fixed typos and incorrect
34001           comments.
34003 Sat Dec 20 22:11:26 GMT 2003  Olly Betts <olly@survex.com>
34005         * backends/quartz/: Removed several needless inclusions of
34006           quartz_table_entries.h.
34008 Sat Dec 20 16:31:46 GMT 2003  Olly Betts <olly@survex.com>
34010         * backends/quartz/,docs/quartzdesign.html: Removed all the quartz
34011           lexicon code and docs.  It's been disabled for ages, and we've
34012           not missed it.
34014 Sat Dec 20 01:21:47 GMT 2003  Olly Betts <olly@survex.com>
34016         * backends/quartz/quartz_database.h: Added doxygen comments for the
34017           QuartzWritableDatabase members we use to buffer changes.
34019 Sat Dec 20 01:19:10 GMT 2003  Olly Betts <olly@survex.com>
34021         * backends/quartz/quartz_database.cc: Trigger autoflush on
34022           totlen_added + totlen_removed rather than specially tracking the
34023           number of document add/delete/replace operations.
34025 Fri Dec 19 22:51:26 GMT 2003  Olly Betts <olly@survex.com>
34027         * backends/quartz/: Buffer up changes to the postlists and apply them
34028           all at once (at present they're applied inefficiently, but this is
34029           change enables us to apply them with an efficient merge).
34030         * tests/api_db.cc,tests/quartztest.cc: Added a couple of tests, and
34031           commented out some test lines which fail in debug builds.
34033 Sun Dec 14 03:38:55 GMT 2003  Olly Betts <olly@survex.com>
34035         * common/omdebug.cc: Open debug log with flag O_WRONLY so that we can
34036           actually write to it!
34038 Mon Dec 08 01:53:24 GMT 2003  Olly Betts <olly@survex.com>
34040         * HACKING: Update to mention that building from CVS requires
34041           ./configure --enable-maintainer-mode (or use bootstrap).
34043 Mon Dec 01 19:03:00 GMT 2003  Olly Betts <olly@survex.com>
34045         * configure.in: Fixed the "fixed" valgrind test.
34047 Sun Nov 30 23:42:52 GMT 2003  Olly Betts <olly@survex.com>
34049         * configure.in,testsuite/testsuite.cc: Fix test for valgrind - it
34050           wasn't working correctly when valgrind was installed but was too
34051           a version to support VALGRIND_COUNT_ERRORS and VALGRIND_COUNT_LEAKS.
34053 Wed Nov 26 16:31:19 GMT 2003  Olly Betts <olly@survex.com>
34055         * Makefile.am,extra/Makefile.am: Updated libtool -version-info
34056           parameters for 0.7.5.
34058 Wed Nov 26 15:32:45 GMT 2003  Olly Betts <olly@survex.com>
34060         * NEWS,PLATFORMS,configure.in: Version 0.7.5.
34062 Wed Nov 26 15:31:56 GMT 2003  Olly Betts <olly@survex.com>
34064         * extra/queryparser.yy: Special case stemming language "none".
34066 Tue Nov 25 04:37:50 GMT 2003  Olly Betts <olly@survex.com>
34068         * api/ompositionlistiterator.cc,api/ompostlistiterator.cc,
34069           include/xapian/positioniterator.h,include/xapian/postingiterator.h,
34070           tests/api_db.cc: Added missing default ctors for PostingIterator and
34071           PositionIterator classes; fixed PositionIterator assignment operator.
34073 Tue Nov 25 03:40:11 GMT 2003  Olly Betts <olly@survex.com>
34075         * tests/btreetest.cc: Fixed 2 compiler warnings.
34077 Tue Nov 25 02:47:16 GMT 2003  Olly Betts <olly@survex.com>
34079         * common/,include/xapian/: Fixed incorrect doxygen comments which
34080           resulted in some missing text in the collated API and internal
34081           classes documentation.
34083 Fri Nov 21 03:23:57 GMT 2003  Olly Betts <olly@survex.com>
34085         * Makefile.am,include/xapian/termiterator.h,api/omtermlistiterator.cc:
34086           TermIterator::TermIterator() fix which actually works!
34088 Fri Nov 21 01:14:23 GMT 2003  Olly Betts <olly@survex.com>
34090         * HACKING,configure.in,docs/Makefile.am,extra/Makefile.am: Change to
34091           using AM_MAINTAINER_MODE.  If you're doing development work on
34092           Xapian, you should configure with "--enable-maintainer-mode" and
34093           ideally use GNU make.
34095 Fri Nov 21 01:13:25 GMT 2003  Olly Betts <olly@survex.com>
34097         * include/xapian/termiterator.h,tests/api_nodb.cc: Added TermIterator
34098           default ctor which had disappeared somehow.  Added regression test.
34100 Thu Nov 20 03:19:37 GMT 2003  Olly Betts <olly@survex.com>
34102         * configure.in: Fixed test for fdatasync to work (I suspect a change
34103           in a recent autoconf broke it as it relied on autoconf internal
34104           naming).
34106 Tue Nov 18 17:53:29 GMT 2003  Olly Betts <olly@survex.com>
34108         * extra/Makefile.am: Tweaked workaround for FreeBSD make in VPATH
34109           builds.
34111 Tue Nov 18 17:53:01 GMT 2003  Olly Betts <olly@survex.com>
34113         * extra/queryparsertest.cc: Added another testcase.
34115 Tue Nov 18 17:37:20 GMT 2003  Olly Betts <olly@survex.com>
34117         * docs/: Added first cut of documentation for Xapian::QueryParser
34118           query syntax.
34119         * docs/scalability.html: Fixed typo.
34121 Fri Oct 31 18:17:13 GMT 2003  Olly Betts <olly@survex.com>
34123         * extra/queryparser.yy,extra/queryparsertest.cc: Added support for
34124           term prefixes on phrases and expressions (e.g. author:(twain OR poe)
34125           subject:"space flight").
34127 Tue Oct 28 15:03:01 GMT 2003  Olly Betts <olly@survex.com>
34129         * api/omenquire.cc: Added FIXME comment.
34131 Tue Oct 28 15:01:14 GMT 2003  Olly Betts <olly@survex.com>
34133         * docs/todo.xml: Removed Java from list of language bindings we'd
34134           like to support, as we should have up-to-date Java bindings soon.
34136 Sun Oct 26 20:18:24 GMT 2003  Olly Betts <olly@survex.com>
34138         * bin/quartzcompact.cc: Fix the name that the meta file gets copied
34139           to (was /path/to/dbdirmeta rather than /path/to/dbdir/meta).
34141 Tue Oct 21 22:26:51 BST 2003  Olly Betts <olly@survex.com>
34143         * extra/Makefile.am: Backed out previous change - the original rule
34144           does work, but the build machine had a generated file which stopped
34145           the symlink being generated.
34147 Tue Oct 21 22:14:22 BST 2003  Olly Betts <olly@survex.com>
34149         * extra/Makefile.am: Tweaked rule to symlink queryparser.cc.
34151 Tue Oct 21 17:31:10 BST 2003  Olly Betts <olly@survex.com>
34153         * extra/Makefile.am: Added rule to symlink queryparser.cc from source
34154           tree to build tree - otherwise FreeBSD's make insists on
34155           regenerating it...
34157 Wed Oct 08 14:04:44 BST 2003  Olly Betts <olly@survex.com>
34159         * backends/quartz/.cvsignore,tests/Makefile.am,testsuite/.cvsignore:
34160           Updated to reflect move of libbtreecheck.la from backends/quartz
34161           to testsuite.
34163 Wed Oct 08 13:22:08 BST 2003  Olly Betts <olly@survex.com>
34165         * backends/quartz/btree.cc: Don't pass mode argument to open when we
34166           aren't specifying O_CREAT.
34168 Thu Oct 02 15:29:38 BST 2003  Olly Betts <olly@survex.com>
34170         * NEWS: Another entry for omega for 0.7.4.
34172 Thu Oct 02 14:57:25 BST 2003  Olly Betts <olly@survex.com>
34174         * configure.in,extra/Makefile.am: Version 0.7.4.
34176 Thu Oct 02 14:56:36 BST 2003  Olly Betts <olly@survex.com>
34178         * HACKING: Improved wording in a few places.
34180 Thu Oct 02 14:39:49 BST 2003  Olly Betts <olly@survex.com>
34182         * NEWS: Updated.
34184 Thu Oct 02 13:35:46 BST 2003  Olly Betts <olly@survex.com>
34186         * xapian.spec.in: Don't hardcode the shared library versioning info.
34188 Wed Oct 01 13:51:15 BST 2003  Olly Betts <olly@survex.com>
34190         * PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ doesn't actually
34191           pass "make check" (I forgot the tinderbox builds omega before "make
34192           check").
34194 Tue Sep 30 21:39:20 BST 2003  Olly Betts <olly@survex.com>
34196         * configure.in: Another stab at fixing the test for -lsocket.
34198 Tue Sep 30 18:29:31 BST 2003  Olly Betts <olly@survex.com>
34200         * configure.in: Quote arguments to test in a couple of places.
34202 Tue Sep 30 11:20:09 BST 2003  Olly Betts <olly@survex.com>
34204         * configure.in: Fixed test for -lsocket.
34206 Tue Sep 30 10:17:09 BST 2003  Olly Betts <olly@survex.com>
34208         * PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ builds and passes
34209           "make check" (but Omega fails to build).
34211 Mon Sep 29 00:41:19 BST 2003  Olly Betts <olly@survex.com>
34213         * configure.in: Fixed dependency libs for libxapian.
34215 Sun Sep 28 23:55:49 BST 2003  Olly Betts <olly@survex.com>
34217         * Makefile.am,backends/quartz/Makefile.am,
34218           backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h,
34219           bin/Makefile.am,testsuite/Makefile.am,testsuite/btreecheck.cc,
34220           testsuite/btreecheck.h: libbtreecheck.la now has an explicit
34221           dependency on libxapian.la.
34223 Sun Sep 28 17:29:55 BST 2003  Olly Betts <olly@survex.com>
34225         * Makefile.am,configure.in: Tell libtool about any libraries which
34226           libxapian needs to depend on.
34228 Fri Sep 26 09:39:29 BST 2003  Olly Betts <olly@survex.com>
34230         * bin/Makefile.am: Swap order of libbtreecheck.la and libxapian.la
34231           when linking quartzcheck to see if that gets it to work with
34232           Sun's CC.
34234 Thu Sep 25 17:25:17 BST 2003  Olly Betts <olly@survex.com>
34236         * xapian-config.in: Fixed stupid mistake in previous check-in.
34238 Thu Sep 25 16:50:00 BST 2003  Olly Betts <olly@survex.com>
34240         * xapian-config.in: Link with libxapianqueryparser before libxapian,
34241           since that's the dependency order.
34243 Thu Sep 25 16:43:20 BST 2003  Olly Betts <olly@survex.com>
34245         * include/om/om.h: Updated comment about why we `#include <iostream>'.
34247 Thu Sep 25 13:13:37 BST 2003  Olly Betts <olly@survex.com>
34249         * api/omqueryinternal.cc,backends/database.cc,common/omdebug.cc,
34250           common/omstringstream.h,include/xapian/output.h: Removed or replaced
34251           uses of <iostream> and <iosfwd> - we don't need or want the library
34252           to pull in cin and friends.
34254 Thu Sep 25 13:12:31 BST 2003  Olly Betts <olly@survex.com>
34256         * Makefile.am: Improved several comments.
34258 Thu Sep 25 11:57:03 BST 2003  Olly Betts <olly@survex.com>
34260         * api/omqueryinternal.cc: Removed `#include <iostream>' left over from
34261           debugging; changed to `using namespace std;'.
34263 Mon Sep 15 00:41:10 BST 2003  Olly Betts <olly@survex.com>
34265         * extra/queryparser.yy: Fixed to build with Sun's C++ compiler.
34267 Thu Sep 11 03:35:29 BST 2003  Olly Betts <olly@survex.com>
34269         * dummy.c,dummy.cc,Makefile.am: Change the default file to be C++ so
34270           that automake tells libtool that this is a C++ library.
34271         * Makefile.am: Pass -no-undefined to libtool so that it will build
34272           a DLL on MS Windows.
34274 Wed Sep 10 02:53:46 BST 2003  Olly Betts <olly@survex.com>
34276         * docs/scalability.html: Fixed oops (32GB should be 32TB);  Added
34277           note about Linux 2.4 and ext2 filesize limits.
34279 Tue Sep 09 03:36:05 BST 2003  Olly Betts <olly@survex.com>
34281         * backends/quartz/quartz_database.cc: don't start the document's
34282           TermIterator from scratch on every iteration in replace_document().
34283           Should be a small performance win.
34285 Sun Sep 07 22:17:27 BST 2003  Olly Betts <olly@survex.com>
34287         * configure.in: Fixed check for socketpair - we were automatically
34288           disabling the remote backend on platforms where socketpair is
34289           in libsocket (such as Solaris).
34291 Sun Sep 07 19:56:57 BST 2003  Olly Betts <olly@survex.com>
34293         * PLATFORMS: Added success report for cygwin from Eric B. Ridge.
34295 Sun Sep 07 03:53:48 BST 2003  Olly Betts <olly@survex.com>
34297         * testsuite/testsuite.cc: Also need to rerun test if it "probably
34298           leaked".
34300 Sun Sep 07 03:51:37 BST 2003  Olly Betts <olly@survex.com>
34302         * tests/api_db.cc: Use x & (x - 1) trick to check for x being a power
34303           of 2, rather than an elaborate loop with shifting; use Xapian::docid
34304           rather than "int" and "unsigned int".
34306 Sun Sep 07 02:24:06 BST 2003  Olly Betts <olly@survex.com>
34308         * api/omenquire.cc: Fixed small memory leak if
34309           Xapian::Enquire::set_query() is called more than once.
34311 Sun Sep 07 02:12:47 BST 2003  Olly Betts <olly@survex.com>
34313         * common/omenquireinternal.h,include/xapian/enquire.h: Fixed
34314           Xapian::ESet to have reference counted internals
34315         * Makefile.am: bumped libxapian version-info to 1:0:0 because of this.
34317 Sun Sep 07 02:09:50 BST 2003  Olly Betts <olly@survex.com>
34319         * testsuite/testsuite.cc: Delete any buffered test output before
34320           asking valgrind to check for leaks, as otherwise the buffered
34321           output may be reported as a leak; also fixed |= to != in several
34322           places - a cosmetic bug which lead to extra newlines after test
34323           output.
34325 Sun Sep 07 00:09:32 BST 2003  Olly Betts <olly@survex.com>
34327         * testsuite/testsuite.cc: Actually open temporary file for valgrind
34328           to log to.
34330 Sat Sep 06 20:50:58 BST 2003  Olly Betts <olly@survex.com>
34332         * configure.in,testsuite/testsuite.cc: Fixed up detection of valgrind
34333           and testsuite code to use it.
34335 Sat Sep 06 20:48:17 BST 2003  Olly Betts <olly@survex.com>
34337         * tests/btreetest.cc: Reinstated non-superfluous `/'s which I had
34338           overeagerly removed!
34340 Sat Sep 06 17:28:00 BST 2003  Olly Betts <olly@survex.com>
34342         * matcher/Makefile.am: Ship networkmatch.cc even if "make dist" is run
34343           from a tree with the remote backend disabled.
34345 Thu Aug 28 00:01:22 BST 2003  Olly Betts <olly@survex.com>
34347         * tests/btreetest.cc: Removed superfluous `/'s from constructed paths.
34349 Fri Aug 15 15:12:24 BST 2003  Olly Betts <olly@survex.com>
34351         * PLATFORMS: Updated with current testsuite results for mingw build.
34353 Fri Aug 15 15:10:59 BST 2003  Olly Betts <olly@survex.com>
34355         * backends/quartz/btree.cc: Use O_BINARY for database I/O if it
34356           exists.
34358 Fri Aug 15 15:10:30 BST 2003  Olly Betts <olly@survex.com>
34360         * common/utils.h: mkdir() only takes one argument on mingw.
34362 Fri Aug 15 01:26:22 BST 2003  Olly Betts <olly@survex.com>
34364         * common/utils.h,testsuite/backendmanager.cc: Touch file using
34365           open() rather than system().
34367 Fri Aug 15 01:06:06 BST 2003  Olly Betts <olly@survex.com>
34369         * common/utils.h: Fixed parameter name of system from "filename" to
34370           "command" (cosmetic change).
34372 Thu Aug 14 22:31:23 BST 2003  Olly Betts <olly@survex.com>
34374         * net/progclient.cc: Tidied a little.
34376 Tue Aug 12 12:50:19 BST 2003  Olly Betts <olly@survex.com>
34378         * backends/quartz/quartz_database.cc: Pass 0 for the lexicon/postlist
34379           table when creating a termlist just to find the doc length.
34381 Tue Aug 12 02:08:50 BST 2003  Olly Betts <olly@survex.com>
34383         * api/maptermlist.h,api/omdocument.cc,common/documentterm.h:
34384           Removed unused OmDocumentTerm::termfreq member variable.
34386 Tue Aug 12 00:53:02 BST 2003  Olly Betts <olly@survex.com>
34388         * api/omdocument.cc,common/documentterm.h: OmDocumentTerm ctor now
34389           takes wdf, and replaced set_wdf() with inc_wdf() and dec_wdf().
34391 Mon Aug 11 16:11:26 BST 2003  Olly Betts <olly@survex.com>
34393         * backends/quartz/quartz_table_entries.cc: Removed rather unnecessary
34394           use of const_cast.
34396 Mon Aug 11 16:11:05 BST 2003  Olly Betts <olly@survex.com>
34398         * backends/quartz/quartz_table.cc: Removed unused variable.
34400 Mon Aug 11 16:09:57 BST 2003  Olly Betts <olly@survex.com>
34402         * backends/quartz/quartz_postlist.cc: Fixed typo in comment.
34404 Mon Aug 11 15:51:20 BST 2003  Olly Betts <olly@survex.com>
34406         * tests/quartztest.cc: adddoc2 now checks that there weren't any extra
34407           values created.
34409 Mon Aug 11 12:55:49 BST 2003  Olly Betts <olly@survex.com>
34411         * configure.in: Sorted out tests for gethostbyname and gethostbyaddr
34412           using standard autoconf macros.
34414 Mon Aug 11 12:05:13 BST 2003  Olly Betts <olly@survex.com>
34416         * common/match.h,matcher/: Removed unused open_document() method from
34417           SubMatch and derived classes; calls made by the matcher to
34418           Document::Internal::open_document() now use the lazy flag provided
34419           for precisely this purpose, but apparently never used - this should
34420           give quite a speed boost to any matcher options which use values
34421           (e.g. sort, collapse).
34423 Sun Aug 10 02:25:59 BST 2003  Olly Betts <olly@survex.com>
34425         * PLATFORMS: Out of curiosity, I tried to build with a Linux->DJGPP
34426           cross-compiler I had to hand.  It built (just had to disable the
34427           remote backend if socketpair isn't found and add the workaround for
34428           not having snprintf).
34430 Sun Aug 10 01:38:17 BST 2003  Olly Betts <olly@survex.com>
34432         * common/utils.cc: Fixed to compile if snprintf isn't available.
34434 Sun Aug 10 01:37:44 BST 2003  Olly Betts <olly@survex.com>
34436         * backends/quartz/btree.cc: Fixed "initialisation reordered" warning.
34438 Sun Aug 10 01:26:58 BST 2003  Olly Betts <olly@survex.com>
34440         * acinclude.m4: Updated in line with previous change.
34442 Sun Aug 10 01:00:08 BST 2003  Olly Betts <olly@survex.com>
34444         * configure.in: If fork is found, but socketpair isn't, automatically
34445           disable the remote backend rather than configure dying with an
34446           error.
34447         * autoconf/: Removed various unused autoconf macros.
34449 Sat Aug 09 23:57:44 BST 2003  Olly Betts <olly@survex.com>
34451         * backends/quartz/btree.h: Made "overwritten" protected.
34453 Sat Aug 09 23:45:26 BST 2003  Olly Betts <olly@survex.com>
34455         * docs/quartzdesign.html: Wrapped an overlong line.
34457 Sat Aug 09 23:31:30 BST 2003  Olly Betts <olly@survex.com>
34459         * backends/quartz/btree.cc,backends/quartz/btree.h,
34460           backends/quartz/quartz_table.cc,docs/quartzdesign.html:
34461           Improved class Btree's encapsulation.
34463 Sat Aug 09 22:30:13 BST 2003  Olly Betts <olly@survex.com>
34465         * NEWS: Fixed a few typos.
34467 Sat Aug 09 22:29:52 BST 2003  Olly Betts <olly@survex.com>
34469         * PLATFORMS: Updated with results from the Tinderbox.
34471 Sat Aug 09 22:19:12 BST 2003  Fabrice Colin
34473         * xapian.spec.in: Updated RPM packaging to reflect changes in 0.7.3.
34475 Fri Aug 08 01:38:40 BST 2003  Olly Betts <olly@survex.com>
34477         * Makefile.am,configure.in,extra/Makefile.am: Version 0.7.3.
34479 Fri Aug 08 01:35:04 BST 2003  Olly Betts <olly@survex.com>
34481         * NEWS: Updated.
34483 Fri Aug 08 01:34:29 BST 2003  Olly Betts <olly@survex.com>
34485         * PLATFORMS: Updated with more tinderbox results.
34487 Wed Aug 06 16:27:34 BST 2003  Olly Betts <olly@survex.com>
34489         * HACKING: Noted that libtool 1.5 is the first version to actually
34490           support linking C++ libraries properly.
34492 Wed Aug 06 16:25:15 BST 2003  Olly Betts <olly@survex.com>
34494         * api/omenquire.cc,net/socketcommon.cc,common/omenquireinternal.h:
34495           Moved rset serialisation into a method of RSet::Internal, so
34496           omrset_to_string() is now just glue code.  This eliminates the
34497           need for it to be a friend of RSet::Internal which Sun's C++
34498           compiler didn't seem to be able to cope with.
34500 Wed Aug 06 01:57:11 BST 2003  Olly Betts <olly@survex.com>
34502         * api/omenquire.cc: Applied patch from Olivier Galibert to fix
34503           MSetIterator::get_document() when get_mset() was called with
34504           first != 0.
34505         * tests/api_db.cc: Added regression test (msetiterator3).
34507 Mon Aug 04 12:40:25 BST 2003  Olly Betts <olly@survex.com>
34509         * languages/Makefile.am: Fixed compilation for compilers other than
34510           GCC.
34512 Wed Jul 30 17:03:14 BST 2003  Olly Betts <olly@survex.com>
34514         * common/getopt.h: Another try - the previous one failed on FreeBSD.
34516 Wed Jul 30 15:07:58 BST 2003  Olly Betts <olly@survex.com>
34518         * common/getopt.h: Another iteration of the getopt C++ prototype fix
34519           as the previous one failed on Solaris.
34521 Wed Jul 30 02:38:47 BST 2003  Olly Betts <olly@survex.com>
34523         * testsuite/backendmanager.cc: Fixed breakage caused by remotetest
34524           cleanup.
34526 Tue Jul 29 13:22:20 BST 2003  Olly Betts <olly@survex.com>
34528         * tests/remotetest.cc: Cleaned up uses of
34529           BackendManager::get_database() to pass a string rather than a vector
34530           with one string in.
34532 Tue Jul 29 11:58:21 BST 2003  Olly Betts <olly@survex.com>
34534         * testsuite/testutils.cc: Added output of const vector<unsigned int>
34535           for platforms which use our internal stringstream implementation.
34537 Tue Jul 29 11:42:54 BST 2003  Olly Betts <olly@survex.com>
34539         * PLATFORMS: Updated with results from the tinderbox.
34541 Tue Jul 29 01:21:53 BST 2003  Olly Betts <olly@survex.com>
34543         * testsuite/testsuite.cc,testsuite/testsuite.h: Only use \r in test
34544           output if the output is a tty.
34546 Mon Jul 28 23:56:10 BST 2003  Olly Betts <olly@survex.com>
34548         * xapian-config.in: Fixed fix of --cxxflags for uninstalled VPATH
34549           builds.
34551 Mon Jul 28 23:37:15 BST 2003  Olly Betts <olly@survex.com>
34553         * testsuite/backendmanager.cc: Increased default timeout used by
34554           tests running on the remote backend from 10 seconds to 5 minutes
34555           to avoid tests failing just because the machine running them is
34556           slow and/or busy.
34558 Mon Jul 28 15:41:12 BST 2003  Olly Betts <olly@survex.com>
34560         * testsuite/testutils.h: Fixed check for broken exception handling
34561           - we were getting "Xapian::" prefixed to one version and not on the
34562           other.
34564 Mon Jul 28 15:34:54 BST 2003  Olly Betts <olly@survex.com>
34566         * tests/runtest.in: Set srcdir if it isn't already to make it easy
34567           to manually run test programs from a VPATH build.
34569 Mon Jul 28 10:38:04 BST 2003  Olly Betts <olly@survex.com>
34571         * xapian-config.in: Fixed --cxxflags for uninstalled VPATH builds.
34573 Mon Jul 28 10:37:17 BST 2003  Olly Betts <olly@survex.com>
34575         * PLATFORMS: Updated FreeBSD success report.
34577 Sun Jul 27 16:01:25 BST 2003  Olly Betts <olly@survex.com>
34579         * configure.in: Explicitly remove include/xapian/version.h from
34580           APIDOC_SRC to avoid us trying to run doxygen unnecessarily.
34582 Sun Jul 27 14:31:36 BST 2003  Olly Betts <olly@survex.com>
34584         * docs/todo.xml: Assorted updates.
34586 Sun Jul 27 13:02:36 BST 2003  Olly Betts <olly@survex.com>
34588         * extra/.cvsignore: We still create libomqueryparser.la for backward
34589           compatibility.
34591 Sun Jul 27 04:56:40 BST 2003  Olly Betts <olly@survex.com>
34593         * xapian-config.in,m4/xapian.m4: Added --from-xo-lib-xapian option
34594           to xapian-config for use by XO_LIB_XAPIAN to allow us to give a
34595           more helpful error message if asked to link an uninstalled
34596           libxapian.
34598 Sun Jul 27 04:46:48 BST 2003  Olly Betts <olly@survex.com>
34600         * xapian-config.in: Fixed --cxxflags in non-installed case.
34601           Tidied up --help output and error messages.
34603 Sun Jul 27 01:40:39 BST 2003  Olly Betts <olly@survex.com>
34605         * tests/api_db.cc: Check termfreq in allterms4.
34607 Sun Jul 27 01:39:57 BST 2003  Olly Betts <olly@survex.com>
34609         * extra/queryparsertest.cc: Fixed for relocated queryparser.h.
34611 Sun Jul 27 00:59:56 BST 2003  Olly Betts <olly@survex.com>
34613         * .cvsignore,backends/quartz/.cvsignore,extra/.cvsignore: Updated.
34615 Sun Jul 27 00:19:11 BST 2003  Olly Betts <olly@survex.com>
34617         * tests/Makefile.am: Oops, failed to remove btreecheck.cc reference
34618           in previous check-in.
34620 Sat Jul 26 23:36:01 BST 2003  Olly Betts <olly@survex.com>
34622         * backends/quartz/Makefile.am,bin/Makefile.am,tests/Makefile.am:
34623           Hopefully fixed "make dist" in VPATH builds.
34625 Sat Jul 26 22:58:27 BST 2003  Olly Betts <olly@survex.com>
34627         * backends/quartz/Makefile.am: Need to distribute btreecheck.cc.
34629 Sat Jul 26 20:05:47 BST 2003  Olly Betts <olly@survex.com>
34631         * xapian-config.in,extra/Makefile.am,extra/queryparser.h,
34632           extra/queryparser.yy,extra/xapian/queryparser.h: Sorted out
34633           xapian-config so it handles using QueryParser too.
34635 Sat Jul 26 19:03:04 BST 2003  Olly Betts <olly@survex.com>
34637         * xapian-config.in: Updated logic in --libs and --cxxflags in line
34638           with recent change in --ltlibs.
34640 Sat Jul 26 18:31:11 BST 2003  Olly Betts <olly@survex.com>
34642         * xapian-config.in: Reworked logic for finding libxapian.la in
34643           --ltlibs - it may not yet exist in the non-installed case.
34644         * m4/xapian.m4: Don't pass --libs when checking if xapian-config
34645           works as it will fail in the non-installed case.
34647 Sat Jul 26 01:25:46 BST 2003  Olly Betts <olly@survex.com>
34649         * NEWS: Updated.
34651 Fri Jul 25 10:20:18 BST 2003  Olly Betts <olly@survex.com>
34653         * NEWS: Updated in preparation for 0.7.3 release.
34655 Thu Jul 24 23:20:14 BST 2003  Olly Betts <olly@survex.com>
34657         * backends/quartz/quartz_alltermslist.cc,
34658           backends/quartz/quartz_alltermslist.h,tests/api_db.cc:
34659           Fixed allterms TermIterator to not give duplicate terms with a
34660           quartz database when a posting list is chunked; added regression
34661           test (allterms4).
34663 Mon Jul 21 15:06:59 BST 2003  Richard Boulton <richard@tartarus.org>
34665         * include/xapian/enquire.h: Fix incorrect documentation comment
34666           for Enquire::set_set_forward().  (Looked like a cut&paste error)
34668 Mon Jul 21 01:10:55 BST 2003  Olly Betts <olly@survex.com>
34670         * docs/install.html,m4/xapian.m4: Added XO_LIB_XAPIAN to replace
34671           OM_PATH_XAPIAN.  XO_LIB_XAPIAN will automagically enable use of
34672           "xapian-config --ltlibs" if A[CM]_PROG_LIBTOOL is used in
34673           configure.in.
34675 Sun Jul 20 16:00:43 BST 2003  Olly Betts <olly@survex.com>
34677         * .cvsignore,Makefile.am,configure.in,xapian-config.in,
34678           xapian-config.nodep.in: Reworked xapian-config so that it
34679           now supports linking with libtool - using libtool means that the
34680           run-time library path is set and that you can now link with an
34681           uninstalled libxapian.  Also xapian-config will now work
34682           once configure is run, rather than only after "make all".
34684 Thu Jul 17 01:42:47 BST 2003  Olly Betts <olly@survex.com>
34686         * backends/quartz/bcursor.cc,backends/quartz/btree.cc: Check for
34687           EINTR when reading or writing blocks and retry the operation.
34689 Thu Jul 17 00:56:35 BST 2003  Olly Betts <olly@survex.com>
34691         * COPYING: Updated FSF address, and reinstated missing section: "How
34692           to Apply These Terms to Your New Programs"
34694 Thu Jul 17 00:48:40 BST 2003  Olly Betts <olly@survex.com>
34696         * HACKING,bootstrap: Removed bootstrap in favour of top-level
34697           bootstrap.
34699 Mon Jul 14 23:36:14 BST 2003  Olly Betts <olly@survex.com>
34701         * PLATFORMS: Updated some linux results: RH7.3 on x86, and Debian on
34702           alpha and arm.
34704 Mon Jul 14 23:33:17 BST 2003  Olly Betts <olly@survex.com>
34706         * configure.in,Makefile.am,extra/Makefile.am: Added versioning
34707           information to libxapian and libomqueryparser.
34709 Mon Jul 14 23:32:15 BST 2003  Olly Betts <olly@survex.com>
34711         * bin/quartzdump.cc,testsuite/testsuite.cc: Added long option support
34712           to quartzdump, and to the testsuite programs.
34714 Mon Jul 14 22:45:53 BST 2003  Olly Betts <olly@survex.com>
34716         * tests/internaltest.cc: Changed test exception1 to actually test
34717           something (hopefully what was originally intended!)
34719 Mon Jul 14 17:15:28 BST 2003  Olly Betts <olly@survex.com>
34721         * common/getopt.h: #include <stdlib.h> before defining getopt as a
34722           macro - hopefully that'll avoid problems with clobbering prototypes
34723           of getopt() in system headers.
34725 Sat Jul 12 09:15:26 BST 2003  Olly Betts <olly@survex.com>
34727         * bin/quartzcompact.cc: Need stdio.h for rename().
34729 Sat Jul 12 01:11:54 BST 2003  Olly Betts <olly@survex.com>
34731         * HACKING: Noted another reason why libtool 1.5 is needed.
34733 Sat Jul 12 01:11:08 BST 2003  Olly Betts <olly@survex.com>
34735         * docs/mkdoc.pl: Don't choke on a comment at the end of the
34736           DIST_SUBDIRS line in a Makefile.am.
34738 Fri Jul 11 22:00:36 BST 2003  Olly Betts <olly@survex.com>
34740         * HACKING: Added note about additional tools needed for building a
34741           distribution.
34743 Fri Jul 11 15:13:08 BST 2003  Olly Betts <olly@survex.com>
34745         * NEWS,PLATFORMS,configure.in: Version 0.7.2.
34747 Fri Jul 11 12:36:18 BST 2003  Olly Betts <olly@survex.com>
34749         * NEWS: Updated in preparation for 0.7.2.
34751 Fri Jul 11 12:12:40 BST 2003  Olly Betts <olly@survex.com>
34753         * configure.in: Fixed test for snprintf.
34755 Fri Jul 11 09:37:14 BST 2003  Olly Betts <olly@survex.com>
34757         * testsuite/testsuite.cc: Fixed dereference of a NULL pointer which
34758           was happening when a test threw an unexpected exception.
34760 Fri Jul 11 09:31:40 BST 2003  Olly Betts <olly@survex.com>
34762         * testsuite/backendmanager.cc: Backed out incorrect hunk of previous
34763           patch which was causing test failures.
34765 Fri Jul 11 01:48:21 BST 2003  Olly Betts <olly@survex.com>
34767         * backends/quartz/quartz_table_manager.cc,tests/quartztest.cc,
34768           testsuite/backendmanager.cc: Tidying up around directory creation.
34770 Fri Jul 11 00:57:12 BST 2003  Olly Betts <olly@survex.com>
34772         * include/xapian/database.h: Document that the directory is created.
34774 Fri Jul 11 00:53:59 BST 2003  Olly Betts <olly@survex.com>
34776         * backends/quartz/quartz_table_manager.cc: When asked to create a
34777           quartz database, try to create the directory if it doesn't already
34778           exist.  Then we don't have to do it in every single Xapian program
34779           which wants to create a database...
34781 Fri Jul 11 00:36:00 BST 2003  Olly Betts <olly@survex.com>
34783         * common/getopt.h: Removed space between \ and newline.
34785 Fri Jul 11 00:32:40 BST 2003  Olly Betts <olly@survex.com>
34787         * PLATFORMS: Added MacOS X 10.2 success report.
34789 Thu Jul 10 20:05:58 BST 2003  Olly Betts <olly@survex.com>
34791         * common/getopt.h: Fixed to work better with C++ compilers on
34792           non-glibc platforms.
34794 Thu Jul 10 19:21:00 BST 2003  Olly Betts <olly@survex.com>
34796         * backends/quartz/btree.cc: Modified setting of _XOPEN_SOURCE to
34797           actually work!
34799 Thu Jul 10 19:19:30 BST 2003  Olly Betts <olly@survex.com>
34801         * backends/quartz/btree.cc: Defined _XOPEN_SOURCE=500 for GLIBC
34802           so we get pread() and pwrite().
34804 Thu Jul 10 00:28:25 BST 2003  Olly Betts <olly@survex.com>
34806         * HACKING,Makefile.am,configure.in,bindings/.cvsignore,
34807           bindings/Makefile.am,bindings/dir_contents,bindings/guile/.cvsignore,
34808           bindings/guile/Makefile.am,bindings/php4/.cvsignore,
34809           bindings/php4/ABOUT,bindings/php4/Makefile.am,bindings/python/,
34810           bindings/swig/,bindings/tcl8/.cvsignore,bindings/tcl8/Makefile.am,
34811           docs/todo.xml: Removed bindings - they'll shortly reappear in a
34812           separate module named xapian-bindings.
34814 Thu Jul 10 00:03:04 BST 2003  Olly Betts <olly@survex.com>
34816         * bindings/swig/om_util_perl5.i: Removed.
34818 Wed Jul 09 15:35:56 BST 2003  Olly Betts <olly@survex.com>
34820         * bindings/guile/Makefile.am,bindings/php4/Makefile.am,
34821           bindings/python/Makefile.am,bindings/swig/,
34822           bindings/tcl8/Makefile.am: Removed omtypes.i and merged omstem.i
34823           into xapian.i; added forward declaration for upwrapped classes
34824           to xapian.i.
34826 Wed Jul 09 15:34:11 BST 2003  Olly Betts <olly@survex.com>
34828         * bindings/java/,bindings/java/com/muscat/om/,bindings/java/native/:
34829           Removed old Java bindings - we'll do them using SWIG instead.
34831 Wed Jul 09 14:51:51 BST 2003  Olly Betts <olly@survex.com>
34833         * bindings/php4/Makefile.am,bindings/php4/xapian/.cvsignore: More
34834           work on the php4 bindings.
34836 Wed Jul 09 03:00:17 BST 2003  Olly Betts <olly@survex.com>
34838         * bindings/guile/Makefile.am,bindings/python/Makefile.am,
34839           bindings/tcl8/Makefile.am: Worked towards getting guile and tcl8
34840           bindings up-to-date.
34841         * bindings/php4/.cvsignore: Ignore the whole xapian subdirectory.
34843 Wed Jul 09 02:37:12 BST 2003  Olly Betts <olly@survex.com>
34845         * bindings/perl5/: Removed remaining files.
34847 Wed Jul 09 02:30:55 BST 2003  Olly Betts <olly@survex.com>
34849         * configure.in,bindings/Makefile.am,bindings/php4/Makefile.am:
34850           Working towards getting the php4 bindings functional again.
34852 Wed Jul 09 01:27:39 BST 2003  Olly Betts <olly@survex.com>
34854         * bindings/swig/om_util_php4.i: om_termname -> std::string.
34856 Wed Jul 09 01:25:11 BST 2003  Olly Betts <olly@survex.com>
34858         * docs/overview.html,include/xapian/base.h,include/xapian/database.h:
34859           Improvements to doxygen-generated documentation.
34861 Wed Jul 09 01:23:55 BST 2003  Olly Betts <olly@survex.com>
34863         * configure.in,docs/todo.xml: Added check for SWIG version (require
34864           at least 1.3.14).
34866 Tue Jul  8 20:59:08 2003  James Aylett  <james@tartarus.org>
34868         * common/utils.h: missing #include <ctype.h>
34870 Tue Jul  8 18:06:23 2003  James Aylett  <james@tartarus.org>
34872         * bindings/swig/xapian.i: over-enthusiastic automatic
34873           conversion of termname to std::string
34875 Tue Jul 08 17:45:16 BST 2003  Olly Betts <olly@survex.com>
34877         * common/utils.h: Improved mingw implementation of rmdir().
34879 Tue Jul 08 17:43:21 BST 2003  Olly Betts <olly@survex.com>
34881         * NEWS,PLATFORMS,configure.in: Version 0.7.1.
34883 Sun Jul 06 21:35:08 BST 2003  Olly Betts <olly@survex.com>
34885         * backends/quartz/btree.cc: Minor tweak.
34887 Sun Jul 06 21:34:30 BST 2003  Olly Betts <olly@survex.com>
34889         * common/utils.h: Compile fixes for mingw.
34891 Sun Jul 06 17:59:26 BST 2003  Olly Betts <olly@survex.com>
34893         * docs/scalability.html: Fixed typo.
34895 Sun Jul 06 13:02:09 BST 2003  Olly Betts <olly@survex.com>
34897         * docs/scalability.html: Fixed typo.
34899 Sun Jul 06 12:56:08 BST 2003  Olly Betts <olly@survex.com>
34901         * docs/Makefile.am,docs/index.html,docs/scalability.html: Added new
34902           document on Xapian's scalability.
34904 Sun Jul 06 12:15:34 BST 2003  Olly Betts <olly@survex.com>
34906         * backends/quartz/: Made quartz block count unsigned, which should
34907           nearly double the size of database for a given block size.
34909 Sun Jul 06 11:47:46 BST 2003  Olly Betts <olly@survex.com>
34911         * backends/quartz/: Use BLK_UNUSED rather than literal -1.
34913 Sun Jul 06 11:47:14 BST 2003  Olly Betts <olly@survex.com>
34915         * common/utils.h: Fixed last check-in to compile.
34917 Sun Jul 06 11:01:03 BST 2003  Olly Betts <olly@survex.com>
34919         * common/utils.h,tests/btreetest.cc,tests/quartztest.cc,
34920           testsuite/backendmanager.cc: Replaced system("rm -rf ...") with
34921           rmdir() function and added two ms windows implementations for
34922           Sam to try.
34924 Sat Jul 05 10:37:35 BST 2003  Olly Betts <olly@survex.com>
34926         * getopt/getopt.c: Suppress "unused variable" warnings from getopt.c.
34928 Sat Jul 05 02:21:11 BST 2003  Olly Betts <olly@survex.com>
34930         * docs/todo.xml: Updated.
34932 Sat Jul 05 02:09:06 BST 2003  Olly Betts <olly@survex.com>
34934         * configure.in,backends/quartz/btree.cc: Use pread() and pwrite() if
34935           available - this avoids one syscall per block read/write.
34937 Fri Jul 04 22:05:14 BST 2003  Olly Betts <olly@survex.com>
34939         * PLATFORMS: Added results from building 0.7.0 on my Linux dev box.
34941 Fri Jul 04 18:52:07 BST 2003  Olly Betts <olly@survex.com>
34943         * extra/Makefile.am: Distribute symboltab.h.
34945 Fri Jul 04 18:04:53 BST 2003  Olly Betts <olly@survex.com>
34947         * common/Makefile.am: Distribute documentterm.h.
34949 Fri Jul 04 15:30:28 BST 2003  Olly Betts <olly@survex.com>
34951         * configure.in: Disabled guile, tcl8, and php4 here as well as in
34952           bindings/Makefile.am.
34954 Fri Jul  4 11:27:53 2003  James Aylett  <james@tartarus.org>
34956         * bindings/Makefile.am: change commenting so mkdoc.pl doesn't
34957           choke
34959 Fri Jul  4 10:51:04 2003  James Aylett  <james@tartarus.org>
34961         * bootstrap: add missing ';;' as case pattern delimiter
34963 Thu Jul 03 23:46:14 BST 2003  Olly Betts <olly@survex.com>
34965         * bindings/Makefile.am,bindings/python/Makefile.am: Fixed to work with
34966           "make dist".
34968 Thu Jul 03 23:29:06 BST 2003  Olly Betts <olly@survex.com>
34970         * NEWS,PLATFORMS,configure.in: Version 0.7.0.
34972 Thu Jul 03 22:57:22 BST 2003  Olly Betts <olly@survex.com>
34974         * PLATFORMS: Updated (Linux GCC 2.95 and Linux to mingw cross).
34976 Thu Jul 03 22:55:54 BST 2003  Olly Betts <olly@survex.com>
34978         * extra/queryparser.yy,extra/queryparsertest.cc: Allow more than one
34979           adjacent phrase generating character.
34981 Thu Jul 03 22:12:18 BST 2003  Olly Betts <olly@survex.com>
34983         * extra/queryparser.yy,extra/queryparsertest.cc: Always ignore phrase
34984           generating characters at start and end of query.
34986 Thu Jul 03 21:02:10 BST 2003  Olly Betts <olly@survex.com>
34988         * extra/Makefile.am: Fixed for mingw compile.
34990 Thu Jul 03 19:24:50 BST 2003  Olly Betts <olly@survex.com>
34992         * buildall,docs/OMAims: Removed unwanted old files.
34994 Thu Jul 03 19:18:41 BST 2003  Olly Betts <olly@survex.com>
34996         * backends/quartz/runquartztest: Obsolete, so removed.
34998 Thu Jul 03 01:26:03 BST 2003  Olly Betts <olly@survex.com>
35000         * common/omenquireinternal.h: Fix for building with GCC 3.3.
35002 Thu Jul 03 01:02:54 BST 2003  Olly Betts <olly@survex.com>
35004         * NEWS: Updated.
35006 Wed Jul 02 22:18:07 BST 2003  Olly Betts <olly@survex.com>
35008         * backends/quartz/bcursor.cc,backends/quartz/bcursor.h:
35009           Made Bcursor::get_key(string * key) const.
35011 Wed Jul 02 21:51:43 BST 2003  Olly Betts <olly@survex.com>
35013         * backends/quartz/: Workaround for shared_level problem turns out to
35014           be arguably the better approach, so made it permanent and tidied up
35015           code.
35017 Mon Jun 23 21:39:50 BST 2003  Olly Betts <olly@survex.com>
35019         * NEWS: Updated in preparation for 0.7.0 release.
35021 Mon Jun 23 21:18:23 BST 2003  Olly Betts <olly@survex.com>
35023         * extra/omparsequery.h: Corrected include protection token comment on
35024           #endif to match that used in the #ifdef.
35026 Mon Jun 23 21:10:33 BST 2003  Olly Betts <olly@survex.com>
35028         * bootstrap: Check for Bison 1.875 which doesn't work with Xapian.
35030 Mon Jun 23 21:08:35 BST 2003  Olly Betts <olly@survex.com>
35032         * HACKING: Automake 1.7 works reliably with Xapian; CFLAGS=-Werror can
35033           now be used as we suppress the warnings from the Snowball generated
35034           C code.
35036 Mon Jun 23 16:55:54 BST 2003  Olly Betts <olly@survex.com>
35038         * api/,backends/inmemory/inmemory_database.cc,
35039           backends/inmemory/inmemory_database.h,backends/quartz/,
35040           bindings/swig/om_util_python.i,bindings/swig/xapian.i,common/,
35041           include/Makefile.am,include/xapian.h,include/om/om.h,include/xapian/,
35042           matcher/localmatch.h,matcher/phrasepostlist.h,tests/api_db.cc,
35043           tests/api_posdb.cc,tests/quartztest.cc:
35044           Xapian::Xapian::PostListIterator -> Xapian::PostingIterator;
35045           Xapian::PositionListIterator -> Xapian::PositionIterator;
35046           xapian/postlistiterator.h -> xapian/postingiterator.h;
35047           xapian/positionlistiterator.h -> xapian/positioniterator.h.
35049 Mon Jun 23 15:31:30 BST 2003  Olly Betts <olly@survex.com>
35051         * backends/database.cc,backends/inmemory/inmemory_database.h,
35052           backends/muscat36/,backends/quartz/,bindings/python/Makefile.am,
35053           bindings/swig/om_util.i,bindings/swig/omstem.i,docs/quickstart.html,
35054           docs/todo.xml,include/xapian/database.h,include/xapian/enquire.h,
35055           include/xapian/errortypes.h,tests/api_db.cc,tests/quartztest.cc,
35056           testsuite/backendmanager.cc,testsuite/textfile_indexer.cc:
35057           Xapian::OpeningError renamed to Xapian::DatabaseOpeningError.
35058         * include/om/om.h: OmOpeningError now maps to
35059           Xapian::DatabaseOpeningError.
35061 Mon Jun 23 01:44:45 BST 2003  Olly Betts <olly@survex.com>
35063         * api/,backends/inmemory/inmemory_database.cc,
35064           backends/muscat36/da_database.cc,backends/muscat36/db_database.cc,
35065           backends/net/net_database.cc,backends/net/net_termlist.cc,
35066           backends/net/net_termlist.h,backends/quartz/,bin/omprogsrv.cc,
35067           bin/quartzdump.cc,common/,include/xapian/error.h,
35068           include/xapian/errorhandler.h,matcher/emptymatch.h,net/,
35069           tests/quartztest.cc,tests/stemtest.cc,testsuite/testsuite.cc,
35070           testsuite/textfile_indexer.cc: Use '#include <...>' for headers
35071           in include/.
35073 Thu Jun 19 17:55:07 BST 2003  Olly Betts <olly@survex.com>
35075         * common/netserver.h,common/socketserver.h,matcher/localmatch.cc,
35076           matcher/multimatch.cc,net/socketserver.cc: Removed unused header
35077           inclusion; pass Stats and Xapian::Database by const reference, not
35078           value.
35080 Thu Jun 19 14:50:49 BST 2003  Olly Betts <olly@survex.com>
35082         * extra/queryparser.yy,extra/symboltab.h: Force control characters to
35083           spaces; Added note that accent normalisation is perhaps done at the
35084           wrong time...
35086 Thu Jun 19 14:40:36 BST 2003  Olly Betts <olly@survex.com>
35088         * extra/queryparsertest.cc: Added test for control characters.
35090 Thu Jun 19 14:31:12 BST 2003  Olly Betts <olly@survex.com>
35092         * extra/queryparsertest.cc: Added checks for weird whitespace in
35093           queries.
35095 Wed Jun 18 19:02:14 BST 2003  Olly Betts <olly@survex.com>
35097         * extra/queryparser.yy: Reworked parsing of boolean operators to
35098           improve error reporting.
35099         * extra/queryparsertest.cc: Added 2 more testcases and fixed to better
35100           handle tests for expected errors.
35102 Wed Jun 18 19:00:55 BST 2003  Olly Betts <olly@survex.com>
35104         * extra/queryparser.yy: Trim leading and trailing whitespace before
35105           attempting to parse the query.
35107 Wed Jun 18 17:58:56 BST 2003  Olly Betts <olly@survex.com>
35109         * extra/queryparser.yy: `using namespace Xapian;'
35111 Fri Jun 06 01:33:33 BST 2003  Olly Betts <olly@survex.com>
35113         * docs/quartzdesign.html: Commented out the section on the Lexicon,
35114           which we no longer use.
35116 Thu Jun 05 22:40:21 BST 2003  Olly Betts <olly@survex.com>
35118         * bindings/python/.cvsignore,bindings/python/Makefile.am,
35119           bindings/python/dothemake.txt,bindings/swig/om_util_python.i:
35120           Cleaned up building of python bindings by making better use of
35121           automake.
35123 Thu Jun 05 22:17:40 BST 2003  Olly Betts <olly@survex.com>
35125         * languages/Makefile.am: Reenable standard warnings apart from the
35126           -Wunused.
35128 Thu Jun 05 20:21:08 BST 2003  Olly Betts <olly@survex.com>
35130         * api/omqueryinternal.cc: Fixed a couple of problems with the new
35131           query serialisation.
35133 Thu Jun 05 17:55:21 BST 2003  Olly Betts <olly@survex.com>
35135         * HACKING,configure.in: Flex is no longer used, so removed configure
35136           tests and note in HACKING.
35138 Thu Jun 05 17:53:30 BST 2003  Olly Betts <olly@survex.com>
35140         * tests/remotetest.cc: In test netexpand1, use TEST() rather than
35141           Assert() so that the check is made in non-debug builds too.
35143 Thu Jun 05 17:52:17 BST 2003  Olly Betts <olly@survex.com>
35145         * api/omqueryinternal.cc,common/socketcommon.h,docs/todo.xml,
35146           include/xapian/query.h,net/: Reworked query serialisation so that
35147           the code is now all in api/omqueryinternal.cc.  Serialisation is
35148           now rather more compact and no longer relies on flex for parsing.
35150 Thu Jun 05 17:45:00 BST 2003  Olly Betts <olly@survex.com>
35152         * bin/Makefile.am: omprogsrv depends on libtest.la, so it need to be
35153           in check_PROGRAMS.
35155 Thu Jun 05 17:09:10 BST 2003  Olly Betts <olly@survex.com>
35157         * Makefile.am: Moved bindings after extra in SUBDIRS - the bindings
35158           wrap Xapian::QueryParser so they need to be built after it.
35160 Thu Jun 05 01:28:01 BST 2003  Olly Betts <olly@survex.com>
35162         * bindings/python/Makefile.am: Use $(SWIG) (as detected by configure).
35164 Thu Jun 05 00:46:16 BST 2003  Olly Betts <olly@survex.com>
35166         * configure.in,bindings/Makefile.am,bindings/python/Makefile.am:
35167           Check for python and find the correct paths for building python
35168           bindings; Added dependencies for building _xapian.so.
35170 Wed Jun  4 17:19:37 2003  James Aylett  <james@tartarus.org>
35172         * configure.in, Makefile.am, bindings: build system will build
35173           bindings as part of normal build process.  No longer build
35174           Perl or Java bindings; for Perl, use Search::Xapian; Java will
35175           be replaced with SWIG-based bindings.
35177         * bindings: bindings now use Xapian:: namespace names rather than
35178           the old Om* ones. Almost all of the API should now be wrapped.
35180 Wed Jun 04 02:52:38 BST 2003  Olly Betts <olly@survex.com>
35182         * docs/overview.html: Added start of "Design Principles" section.
35183         * docs/todo.xml: Added a couple more items.
35185 Wed Jun 04 02:51:56 BST 2003  Olly Betts <olly@survex.com>
35187         * Makefile.am: Build testsuite later - it now doesn't need to be built
35188           until just before tests.
35190 Wed Jun 04 02:43:08 BST 2003  Olly Betts <olly@survex.com>
35192         * backends/muscat36/: Split up spec into comments in the appropriate
35193           header files; fixed to build after recent Om -> Xapian changes.
35195 Wed Jun 04 01:56:46 BST 2003  Olly Betts <olly@survex.com>
35197         * HACKING: Bison 1.75 and 1.875a both checked with parsequery.yy
35198           - no problems found.
35200 Mon Jun 02 20:14:22 BST 2003  Olly Betts <olly@survex.com>
35202         * ChangeLog.0: Fixed 2 typos.
35204 Mon Jun 02 20:09:01 BST 2003  Olly Betts <olly@survex.com>
35206         * NEWS: Updated in preparation for 0.7.0 release.
35208 Mon Jun 02 16:25:18 BST 2003  Olly Betts <olly@survex.com>
35210         * configure.in: Fix m4 quoting so that MINOR_VERSION is set correctly.
35212 Mon Jun  2 15:22:30 2003  James Aylett  <james@tartarus.org>
35214         * bindings/swig/xapian.i: move QueryParser wrapping to use
35215           the new namespace location, and fix include so it can work
35216           out of the build directory rather than just the installed
35217           library
35219 Mon Jun 02 14:15:14 BST 2003  Olly Betts <olly@survex.com>
35221         * Makefile.am,configure.in,bindings/Makefile.am,docs/todo.xml:
35222           Added --enable-bindings to configure - if this is specified and
35223           swig is detected, try to build the language bindings.
35225 Mon Jun 02 12:46:18 BST 2003  Olly Betts <olly@survex.com>
35227         * backends/database.cc: Fixed parsing of port number in remote stub
35228           databases.
35230 Sat May 31 15:03:47 BST 2003  James Aylett  <james@tartarus.org>
35232         * bindings/swig: update so can build Python bindings against
35233           latest Xapian; untested, and other languages are likely to
35234           fail
35236 Fri May 30 02:59:48 BST 2003  Olly Betts <olly@survex.com>
35238         * extra/queryparser.yy,extra/queryparsertest.cc: Embedded '.' is
35239           now a phrase maker; Ignore `""' in query; Ignore ')' at start
35240           of query.
35242 Fri May 30 01:22:49 BST 2003  Olly Betts <olly@survex.com>
35244         * extra/queryparsertest.cc: Added another 405 queries which fail to
35245           parse (courtesy of Arjen van der Meijden).
35247 Thu May 29 19:08:28 BST 2003  Olly Betts <olly@survex.com>
35249         * docs/todo.xml,extra/queryparsertest.cc: Extracted two more
35250           queryparser testcases which need fixing from the old todo list.
35252 Thu May 29 17:14:04 BST 2003  Olly Betts <olly@survex.com>
35254         * extra/queryparser.yy,extra/queryparsertest.cc: A phrasemaker isn't
35255           a phrasemaker unless it's preceded by an alphanumeric, "+", or "-";
35256           If a single term is in (), ignore the ().
35258 Thu May 29 16:45:39 BST 2003  Olly Betts <olly@survex.com>
35260         * extra/queryparser.yy,extra/queryparsertest.cc: Improved handling
35261           of various odd queries encountered in real life applications.
35263 Thu May 29 01:50:51 BST 2003  Olly Betts <olly@survex.com>
35265         * docs/todo.xml: Updated more.
35267 Thu May 29 01:26:50 BST 2003  Olly Betts <olly@survex.com>
35269         * api/,backends/database.cc,backends/inmemory/,backends/multi/,
35270           backends/muscat36/,backends/net/,backends/quartz/,common/,
35271           docs/overview.html,docs/quickstart.html,
35272           docs/quickstartexpand.cc.html,extra/queryparser.yy,include/om/om.h,
35273           include/xapian/,matcher/,net/,tests/api_db.cc,tests/api_posdb.cc,
35274           tests/quartztest.cc,testsuite/: Converted remaining om_xxx types
35275           to Xapian::xxx.
35277 Wed May 28 23:06:18 BST 2003  Olly Betts <olly@survex.com>
35279         * docs/todo.xml: Updated.
35281 Wed May 28 22:59:17 BST 2003  Olly Betts <olly@survex.com>
35283         * tests/api_db.cc: Spelling correction: accross -> across.
35285 Wed May 28 20:24:32 BST 2003  Olly Betts <olly@survex.com>
35287         * extra/: OmQueryParser -> Xapian::QueryParser, etc.
35289 Wed May 28 20:03:48 BST 2003  Olly Betts <olly@survex.com>
35291         * api/omdocument.cc: Removed include of defunct header
35292           modifieddocument.h.
35294 Wed May 28 20:00:56 BST 2003  Olly Betts <olly@survex.com>
35296         * api/maptermlist.h,api/omdocument.cc,api/omvalueiterator.cc,
35297           backends/inmemory/inmemory_document.cc,
35298           backends/inmemory/inmemory_document.h,backends/muscat36/,
35299           backends/net/net_document.cc,backends/net/net_document.h,
35300           backends/quartz/quartz_document.cc,backends/quartz/quartz_document.h,
35301           common/Makefile.am,common/document.h,common/modifieddocument.h,
35302           include/xapian/document.h,tests/api_db.cc: Fixed bug in refactored
35303           Xapian::Document when modifying a copy.  Added regression test.
35305 Wed May 28 19:23:26 BST 2003  Olly Betts <olly@survex.com>
35307         * common/omenquireinternal.h,include/xapian/database.h,
35308           include/xapian/enquire.h,include/xapian/query.h: Where possible,
35309           declare classes rather than including headers (in public headers).
35311 Wed May 28 17:32:14 BST 2003  Olly Betts <olly@survex.com>
35313         * include/xapian/document.h: Just declare "class TermIterator;" rather
35314           than including <xapian/termiterator.h>.
35316 Tue May 27 16:59:34 BST 2003  Olly Betts <olly@survex.com>
35318         * common/progserver.h,common/socketserver.h,net/socketserver.cc:
35319           Reduced needless header inclusion.
35321 Tue May 27 16:53:40 BST 2003  Olly Betts <olly@survex.com>
35323         * bin/omprogsrv.cc,tests/api_db.cc: Use variable name "dbs" in
35324           preference to "dbgrp".  OmDatabaseGroup hasn't existed for
35325           years!
35327 Tue May 27 16:51:30 BST 2003  Olly Betts <olly@survex.com>
35329         * Makefile.am: Fixed typo: "bin" should be "net" in remote_subdirs.
35331 Tue May 27 02:43:32 BST 2003  Olly Betts <olly@survex.com>
35333         * backends/quartz/Makefile.am: Removed -I referencing testsuite
35334           directory.
35336 Tue May 27 02:39:43 BST 2003  Olly Betts <olly@survex.com>
35338         * backends/quartz/,docs/tests.html,tests/: Moved quartztest and
35339           btreetest to tests/ directory.
35341 Tue May 27 02:03:07 BST 2003  Olly Betts <olly@survex.com>
35343         * Makefile.am,configure.in,xapian.spec.in,backends/quartz/,bin/,
35344           docs/remote.html,netprogs/,tests/api_db.cc,tests/remotetest.cc,
35345           testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out
35346           the source tree structure so that programs which aren't tests which
35347           were previously built by "make check" are now be built by "make".
35349 Tue May 27 01:01:40 BST 2003  Olly Betts <olly@survex.com>
35351         * autoconf/dir_contents,backends/dir_contents,
35352           backends/inmemory/dir_contents,backends/multi/dir_contents,
35353           backends/muscat36/dir_contents,backends/net/dir_contents,
35354           backends/quartz/dir_contents,bindings/dir_contents,
35355           common/dir_contents,docs/dir_contents,include/om/dir_contents,
35356           include/xapian/dir_contents,include/dir_contents,
35357           indexer/dir_contents,indexer/indexgraph/dir_contents,
35358           languages/dir_contents,m4/dir_contents,tests/dir_contents:
35359           Updated all the dir_contents files - many were out-of-date.
35361 Tue May 27 00:42:54 BST 2003  Olly Betts <olly@survex.com>
35363         * Makefile.am: Filter any .la files out of dependency_libs.
35365 Tue May 27 00:11:18 BST 2003  Olly Betts <olly@survex.com>
35367         * netprogs/.cvsignore,netprogs/Makefile.am,netprogs/nettest.cc,
35368           tests/.cvsignore,tests/Makefile.am,tests/remotetest.cc:
35369           netprogs/nettest -> tests/remotetest.
35371 Mon May 26 23:49:49 BST 2003  Olly Betts <olly@survex.com>
35373         * netprogs/nettest.cc: Removed test tcpclient1 - the functionality it
35374           tests is also tested by tcpmatch1, and it introduces dependencies on
35375           internal headers.
35377 Mon May 26 22:00:01 BST 2003  Olly Betts <olly@survex.com>
35379         * backends/quartz/quartz_table_manager.cc: Give a better error message
35380           if asked to open a pre-0.6 Quartz database.
35382 Mon May 26 20:43:21 BST 2003  Olly Betts <olly@survex.com>
35384         * HACKING,Makefile.am,backends/Makefile.am,docs/mkdoc.pl,
35385           net/Makefile.am: Fixed to never leave partial files in place of the
35386           expected output if a build is interrupted.
35388 Mon May 26 16:50:59 BST 2003  Olly Betts <olly@survex.com>
35390         * HACKING: Added note adapted from an old email noting why compile-time
35391           options are generally best avoided.
35393 Mon May 26 12:03:29 BST 2003  Olly Betts <olly@survex.com>
35395         * testsuite/backendmanager.cc,testsuite/textfile_indexer.cc: Corrected
35396           odd uses of std::string::erase() (instead of `str = str.erase(n, m)'
35397           just use `str.erase(n,m)').
35399 Sun May 25 22:59:44 BST 2003  Olly Betts <olly@survex.com>
35401         * PLATFORMS: Updated.
35403 Sun May 25 22:58:28 BST 2003  Olly Betts <olly@survex.com>
35405         * languages/Makefile.am: Suppress "unused" warnings in Snowball
35406           generated C code.
35408 Sun May 25 21:43:34 BST 2003  Olly Betts <olly@survex.com>
35410         * api/omtermlistiterator.cc: Removed iostream.h include left over from
35411           debugging.
35413 Sun May 25 12:27:11 BST 2003  Olly Betts <olly@survex.com>
35415         * docs/,extra/omparsequery.h,extra/parsequery.yy,include/Makefile.am,
35416           include/xapian.h,include/om/om.h,tests/,testsuite/backendmanager.cc,
35417           testsuite/backendmanager.h,testsuite/testutils.h: Created xapian.h
35418           header and changed everything to use it.
35420 Sat May 24 23:35:46 BST 2003  Olly Betts <olly@survex.com>
35422         * api/,backends/inmemory/inmemory_database.cc,
35423           backends/inmemory/inmemory_document.h,
35424           backends/quartz/quartz_database.cc,backends/quartz/quartztest.cc,
35425           common/,include/Makefile.am,include/om/om.h,
35426           include/om/omvalueiterator.h,include/xapian/,
35427           testsuite/backendmanager.cc: OmValueIterator -> Xapian::ValueIterator
35428           etc.
35430 Fri May 23 15:32:29 BST 2003  Olly Betts <olly@survex.com>
35432         * api/,backends/database.cc,backends/inmemory/,backends/muscat36/,
35433           backends/net/net_database.cc,backends/net/net_document.cc,
35434           backends/net/net_document.h,backends/quartz/,common/,docs/,
35435           include/Makefile.am,include/om/om.h,include/om/omdocument.h,
35436           include/om/omvalueiterator.h,include/xapian/,indexer/omindexer.h,
35437           matcher/,net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_posdb.cc,
35438           tests/internaltest.cc,testsuite/: OmDocument -> Xapian::Document, etc.
35439         * include/Makefile.am: Fixed library headers to install in xapian and
35440           om subdirectories as they should.
35442 Fri May 23 15:31:05 BST 2003  Olly Betts <olly@survex.com>
35444         * backends/quartz/btree.cc: Consistently use int4 for block number -
35445           it really should be unsigned and this is a first step.
35447 Mon May 19 13:20:46 BST 2003  Olly Betts <olly@survex.com>
35449         * configure.in: Create include/xapian if it doesn't exist so that
35450           VPATH builds work.
35452 Mon May 19 13:17:16 BST 2003  Olly Betts <olly@survex.com>
35454         * Makefile.am: Disabled exported symbol regex for now.
35456 Tue May 13 05:08:54 BST 2003  Olly Betts <olly@survex.com>
35458         * api/,backends/database.cc,backends/dir_contents,backends/inmemory/,
35459           backends/multi/,backends/muscat36/,backends/net/,backends/quartz/,
35460           common/,docs/,extra/omparsequery.h,include/,matcher/,net/,netprogs/,
35461           tests/: OmDatabase -> Xapian::Database, etc.
35463 Tue May 13 05:07:41 BST 2003  Olly Betts <olly@survex.com>
35465         * NEWS: Corrected spelling: "maintainance" to "maintenance".
35467 Tue May 13 00:40:47 BST 2003  Olly Betts <olly@survex.com>
35469         * ChangeLog.0,NEWS,backends/inmemory/inmemory_database.h,
35470           backends/muscat36/da_database.h,backends/muscat36/db_database.h,
35471           backends/quartz/quartz_postlist.h,
35472           indexer/indexgraph/omstopwordnode.cc: Spelling correction:
35473           "occurence" should be "occurrence".
35475 Mon May 12 22:39:27 BST 2003  Olly Betts <olly@survex.com>
35477         * api/ompositionlistiteratorinternal.h,
35478           include/om/ompositionlistiterator.h: Removed unused files.
35480 Mon May 12 20:51:03 BST 2003  Olly Betts <olly@survex.com>
35482         * api/omdatabaseinternal.cc,backends/database.cc: Moved database
35483           factory functions from api to backends.
35485 Fri May 09 04:02:29 BST 2003  Olly Betts <olly@survex.com>
35487         * common/expandweight.h: Removed cruft.
35489 Fri May 09 03:50:36 BST 2003  Olly Betts <olly@survex.com>
35491         * common/rset.h: Removed unused RSetI ctor variant.
35493 Fri May 09 02:00:03 BST 2003  Olly Betts <olly@survex.com>
35495         * api/omenquire.cc,common/,docs/overview.html,include/om/om.h,
35496           include/xapian/enquire.h,include/xapian/output.h,matcher/,
35497           net/socketclient.cc,net/socketcommon.cc,net/socketserver.cc,
35498           netprogs/nettest.cc,tests/api_db.cc: OmRSet -> Xapian::RSet.
35500 Fri May 09 01:06:32 BST 2003  Olly Betts <olly@survex.com>
35502         * api/omenquire.cc: Fixed MSet::Internal::get_description() to include
35503           class name.
35505 Fri May 09 01:04:12 BST 2003  Olly Betts <olly@survex.com>
35507         * common/rset.h,matcher/expand.cc,matcher/rset.cc: RSetI now uses
35508           set<Xapian::docid> (as OmRSet::Internal) rather than
35509           vector<RSetItem>.
35511 Fri May 09 00:41:20 BST 2003  Olly Betts <olly@survex.com>
35513         * api/omenquire.cc,common/,docs/quickstartexpand.cc.html,matcher/:
35514           RSet internal class renamed to RSetI to aid upcoming OmRSet ->
35515           Xapian::RSet change.  RSetI looks like it can be eliminated
35516           later.
35518 Thu May 08 23:54:44 BST 2003  Olly Betts <olly@survex.com>
35520         * tests/: Removed make_dbgrp() helper function from apitest as it
35521           makes the test code less clear without making it easier to write.
35523 Thu May 08 01:24:53 BST 2003  Olly Betts <olly@survex.com>
35525         * api/ompostlistiterator.cc,docs/overview.html,tests/api_db.cc:
35526           Fixed OmWeight and OmMatchDecider in comments, docs, and
35527           testsuite.
35529 Thu May 08 01:16:30 BST 2003  Olly Betts <olly@survex.com>
35531         * api/omenquire.cc,backends/multi/multi_postlist.h,common/,
35532           include/om/om.h,include/xapian/enquire.h,matcher/,
35533           net/socketclient.cc,net/socketserver.cc: OmMatchDecider ->
35534           Xapian::MatchDecider; OmWeight -> Xapian::Weight; BoolWeight,
35535           TradWeight, BM25Weight -> Xapian::.
35537 Wed May 07 23:06:47 BST 2003  Olly Betts <olly@survex.com>
35539         * backends/quartz/btreetest.cc,backends/quartz/quartztest.cc,
35540           configure.in,netprogs/nettest.cc,tests/,testsuite/: Minor overhaul
35541           of testsuite.
35543 Wed May 07 17:54:34 BST 2003  Olly Betts <olly@survex.com>
35545         * backends/,common/document.h,matcher/Makefile.am,matcher/document.cc:
35546           Removed do_ wrappers for Document methods get_value(),
35547           get_all_values() and get_data().  The wrappers used to perform
35548           thread locking, but now they're just pointless overhead.
35550 Wed May 07 17:24:00 BST 2003  Olly Betts <olly@survex.com>
35552         * HACKING: Started section of API structure.
35554 Wed May 07 02:16:03 BST 2003  Olly Betts <olly@survex.com>
35556         * api/omenquire.cc,common/expand.h,common/omenquireinternal.h,
35557           common/omstringstream.h,docs/quickstart.html,include/om/om.h,
35558           include/xapian/enquire.h,include/xapian/output.h,matcher/expand.cc,
35559           matcher/multimatch.cc,net/socketcommon.cc,netprogs/nettest.cc,
35560           tests/api_db.cc,testsuite/testutils.cc: OmMSet -> Xapian::MSet,
35561           similarly for OmMSetIterator, OmESet, and OmESetIterator.
35563 Tue May 06 19:31:42 BST 2003  Olly Betts <olly@survex.com>
35565         * include/xapian/query.h: New file I failed to checkin on Friday.
35567 Tue May 06 14:16:41 BST 2003  Olly Betts <olly@survex.com>
35569         * HACKING,configure.in,tests/.cvsignore,tests/Makefile.am,
35570           tests/runtest.in,testsuite/testsuite.cc: Sorted out autodetection
35571           of valgrind for running testsuite.
35572         * HACKING: Added note about how to run gdb on dynamically linked
35573           binaries built using libtool.
35574         * HACKING: Recommend libtool 1.5 as in 1.4.2 libtool --mode=execute
35575           doesn't seem to handle programs with arguments.
35577 Tue May 06 00:25:03 BST 2003  Olly Betts <olly@survex.com>
35579         * PLATFORMS: Updated.
35581 Fri May 02 16:58:15 BST 2003  Olly Betts <olly@survex.com>
35583         * configure.in: Improved check that LEX is flex - it will now accept
35584           "flex" with a path and/or prefix.
35586 Fri May 02 16:12:46 BST 2003  Olly Betts <olly@survex.com>
35588         * api/,common/,include/,matcher/,net/,netprogs/nettest.cc,
35589           netprogs/omtcpsrv.cc,tests/api_db.cc,tests/api_posdb.cc,
35590           testsuite/testutils.cc,testsuite/testutils.h: OmEnquire ->
35591           Xapian::Enquire, OmQuery -> Xapian::Query, etc.
35593 Fri May 02 03:14:28 BST 2003  Olly Betts <olly@survex.com>
35595         * tests/internaltest.cc: Reenabled tests for leak checking and fixed
35596           them up to work with valgrind.
35598 Fri May 02 02:14:28 BST 2003  Olly Betts <olly@survex.com>
35600         * testsuite/testsuite.cc,testsuite/testsuite.h: If a testsuite program
35601           is run using "valgrind --logfile-fd=255 ./footest" then the harness
35602           will show valgrind's output for tests which fail because valgrind
35603           spotted errors or leaks (untested under valgrind).
35605 Thu May 01 21:25:01 BST 2003  Olly Betts <olly@survex.com>
35607         * api/omenquire.cc,api/omquery.cc,api/omqueryinternal.cc,common/,
35608           docs/overview.html,docs/quickstart.html,extra/omparsequery.h,
35609           extra/parsequery.yy,extra/parsequerytest.cc,include/,matcher/,
35610           net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_nodb.cc,
35611           tests/api_posdb.cc: OmQuery -> Xapian::Query, etc.  For now
35612           I've had to expose Xapian::Query::Internal in xapian/query.h
35613           which isn't ideal.
35615 Wed Apr 30 20:37:27 BST 2003  Olly Betts <olly@survex.com>
35617         * api/omenquire.cc,common/omenquireinternal.h,include/:
35618           typedefs om_* -> Xapian::*, but not changed all internal uses yet.
35620 Wed Apr 30 03:51:52 BST 2003  Olly Betts <olly@survex.com>
35622         * api/,backends/,common/,extra/omparsequery.h,extra/parsequery.yy,
35623           include/,matcher/localmatch.h,matcher/orpostlist.h,tests/api_db.cc:
35624           OmPostListIterator -> Xapian::PostListIterator, etc.
35626 Wed Apr 30 02:13:31 BST 2003  Olly Betts <olly@survex.com>
35628         * docs/matcherdesign.html,include/om/omenquire.h: Merged docs
35629           discussing OmMSetIterator::get_collapse_count() into the doxygen
35630           documentation comments - they're docs aimed at the API user so
35631           really don't belong in the internal matcher design docs.
35633 Wed Apr 30 01:08:39 BST 2003  Olly Betts <olly@survex.com>
35635         * .cvsignore: Added config.guess.
35637 Tue Apr 29 21:08:40 BST 2003  Olly Betts <olly@survex.com>
35639         * include/om/om.h,include/xapian/base.h,include/xapian/error.h,
35640           include/xapian/errorhandler.h,include/xapian/expanddecider.h,
35641           include/xapian/positionlistiterator.h,include/xapian/stem.h,
35642           include/xapian/termiterator.h: OM_HGUARD_* -> XAPIAN_INCLUDED_*.
35644 Tue Apr 29 20:37:01 BST 2003  Olly Betts <olly@survex.com>
35646         * api/,backends/,common/,include/,indexer/omnodeinstanceiterator.h,
35647           indexer/ompaditerator.h,net/readquery.h,testsuite/indexer.h:
35648           om/omoutput.h -> xapian/output.h; om/omtypes.h -> xapian/types.h.
35650 Tue Apr 29 18:28:27 BST 2003  Olly Betts <olly@survex.com>
35652         * api/,backends/,common/,include/,matcher/,net/socketserver.cc,tests/,
35653           testsuite/backendmanager.cc,testsuite/testsuite.cc: OmTermIterator
35654           -> Xapian::TermIterator, etc.
35656 Tue Apr 29 17:39:34 BST 2003  Olly Betts <olly@survex.com>
35658         * common/omdebug.cc: Setting XAPIAN_DEBUG_LOG caused an exception
35659           (with GCC 3.0 at least) unless the value contained %% - fixed.
35661 Tue Apr 29 14:29:36 BST 2003  Olly Betts <olly@survex.com>
35663         * api/ompositionlistiterator.cc: Fixed to compile in debug mode.
35665 Tue Apr 29 01:06:02 BST 2003  Olly Betts <olly@survex.com>
35667         * xapian.spec.in: Removed %changelog - it hasn't been reliably updated
35668           and only really makes sense when the packaging is done by a third
35669           party anyway.
35671 Tue Apr 29 01:03:20 BST 2003  Fabrice Colin
35673         * xapian.spec.in: Fixed packaging of docs.
35675 Tue Apr 29 00:33:21 BST 2003  Olly Betts <olly@survex.com>
35677         * HACKING,testsuite/testsuite.cc,testsuite/testsuite.h: valgrind is
35678           now mostly hooked into the testsuite.
35679         * HACKING: Bison 1.875 doesn't work but Bison 1.875a probably does;
35680           suggest CXXFLAGS=-Werror, not CFLAGS.
35682 Tue Apr 29 00:14:00 BST 2003  Olly Betts <olly@survex.com>
35684         * INSTALL: Updated.
35686 Wed Apr 23 14:31:51 BST 2003  Olly Betts <olly@survex.com>
35688         * api/omtermlistiterator.cc,api/omtermlistiteratorinternal.h,
35689           api/omvalueiteratorinternal.h,backends/inmemory/inmemory_database.cc,
35690           backends/inmemory/inmemory_positionlist.cc,
35691           common/inmemory_positionlist.h: Added InMemoryPositionList ctor
35692           which takes the positions data to avoid needing to construct and
35693           immediately call set_data().
35695 Wed Apr 23 14:14:34 BST 2003  Olly Betts <olly@survex.com>
35697         * api/,backends/,common/,include/,matcher/: OmPositionListIterator
35698           -> Xapian::PositionListIterator, etc.
35700 Wed Apr 23 13:47:49 BST 2003  Olly Betts <olly@survex.com>
35702         * xapian.spec.in: Minor tweaks.
35704 Sun Apr 20 22:55:04 BST 2003  Olly Betts <olly@survex.com>
35706         * extra/omparsequery.h,include/xapian/stem.h,tests/api_db.cc,
35707           tests/api_nodb.cc,tests/api_posdb.cc,testsuite/backendmanager.cc:
35708           OmStem -> Xapian::Stem; OmExpandDecider -> Xapian::ExpandDecider.
35710 Sun Apr 20 22:52:42 BST 2003  Olly Betts <olly@survex.com>
35712         * configure.in,api/omenquire.cc,common/expand.h,
35713           common/omenquireinternal.h,docs/overview.html,include/,
35714           matcher/expand.cc,tests/api_db.cc: OmExpandDecider ->
35715           Xapian::ExpandDecider, etc.
35717 Sun Apr 20 22:42:32 BST 2003  Olly Betts <olly@survex.com>
35719         * PLATFORMS,api/,backends/,common/,docs/,include/,matcher/,net/,
35720           netprogs/,tests/,testsuite/: OmError -> Xapian::Error, etc.
35722 Fri Apr 18 22:40:31 BST 2003  Sam Liddicott <sam@liddicott.com>
35724         * matcher/multimatch.cc: Fixed so that it updates the OmMSetItem in
35725           the MSet with the collapse_count from the OmMSetItem twin in
35726           collapse_tab or we lose collapse_count if newer collapsing hits are
35727           less relevant than the hits they collapse over.  I think we need
35728           collapse_tab maybe to keep a reference to the item in the mset?  But
35729           this works for now.
35730         * xapian.spec.in: Fixed to also install include/xapian stuff
35732 Fri Apr 18 19:17:56 BST 2003  Olly Betts <olly@survex.com>
35734         * configure.in,include/Makefile.am,include/om/.cvsignore,
35735           include/om/Makefile.am,include/om/om.h,include/om/om.h.in,
35736           include/xapian/.cvsignore,include/xapian/Makefile.am,
35737           include/xapian/dir_contents,include/xapian/version.h.in:
35738           C++ ABI version checking is now done by xapian/version.h.
35740 Fri Apr 18 17:57:21 BST 2003  Olly Betts <olly@survex.com>
35742         * configure.in,api/omstem.cc,include/Makefile.am,include/om/om.h.in,
35743           include/om/omstem.h,include/xapian/.cvsignore,
35744           include/xapian/Makefile.am,include/xapian/base.h,
35745           include/xapian/stem.h: Reworked OmStem to use reference counted
35746           internals; renamed OmStem to Xapian::Stem and added a #define for
35747           compatibility with existing code.
35749 Fri Apr 18 17:02:56 BST 2003  Olly Betts <olly@survex.com>
35751         * api/,backends/,common/,docs/overview.html,docs/quickstart.html,
35752           docs/quickstartexpand.cc.html,extra/,include/om/,matcher/,net/,
35753           tests/,testsuite/: Use std::string instead of typedef-ing it as
35754           om_termname.  The typedef doesn't really buy us anything.  Keep
35755           a typedef for compatibility with existing code for now.
35757 Fri Apr 18 16:12:32 BST 2003  Olly Betts <olly@survex.com>
35759         * PLATFORMS: GCC 3.2.2 on Redhat 7.1 works with CXXFLAGS=-Werror
35761 Thu Apr 10 20:05:27 BST 2003  Olly Betts <olly@survex.com>
35763         * common/Makefile.am,common/indexer.h,testsuite/Makefile.am,
35764           testsuite/indexer.h: Moved indexer.h from common to testsuite
35765           and altered it to use iosfwd instead of iostream and to
35766           declare OmDocument as a class instead of include omdocument.h.
35768 Thu Apr 10 18:55:55 BST 2003  Olly Betts <olly@survex.com>
35770         * xapian-config.nodep.in: Removed --prefix and --exec-prefix - you
35771           can't reliably install Xapian with a different prefix to the one
35772           it was configured with, yet these options give the impression you
35773           can.
35775 Thu Apr 10 18:53:53 BST 2003  Olly Betts <olly@survex.com>
35777         * .cvsignore: Added config.sub.
35779 Thu Apr 10 02:41:50 BST 2003  Olly Betts <olly@survex.com>
35781         * NEWS,configure.in: Updated for 0.6.5 release.
35783 Thu Apr 10 02:29:12 BST 2003  Olly Betts <olly@survex.com>
35785         * docs/doxygen_api_footer.html_tmpl,docs/doxygen_full_footer.html_tmpl,
35786           docs/overview.html: Use http://www.doxygen.org/ as URL for doxygen.
35787         * docs/overview.html: Fixed bad link to our own website!
35789 Thu Apr 10 02:12:00 BST 2003  Olly Betts <olly@survex.com>
35791         * Makefile.am,backends/Makefile.am,backends/net/.cvsignore,
35792           backends/net/Makefile.am,netprogs/.cvsignore: Renamed libnetdb.la
35793           to libremote.la, and LIB_REMOTE1 to LIBNET_LA.
35795 Thu Apr 10 02:08:24 BST 2003  Olly Betts <olly@survex.com>
35797         * PLATFORMS: Updated mingw notes to reflect the change to
35798           automatically disable the remote backend when fork() isn't
35799           available.
35801 Thu Apr 10 01:56:34 BST 2003  Olly Betts <olly@survex.com>
35803         * docs/mkdoc.pl: Fixed to only look at directories listed in
35804           DIST_SUBDIRS.
35806 Thu Apr 10 00:23:28 BST 2003  Olly Betts <olly@survex.com>
35808         * configure.in: Automatically disable the remote backend if we don't
35809           have fork() since the remote backend requires it in several places;
35810           AM_CONDITIONAL ENABLE_SHARED isn't used anywhere so commented it
35811           out.
35813 Wed Apr 09 22:48:20 BST 2003  Olly Betts <olly@survex.com>
35815         * NEWS: Updated with recent changes.
35817 Wed Apr 09 22:43:31 BST 2003  Olly Betts <olly@survex.com>
35819         * docs/remote_protocol.html: Talk about Server/Client rather than
35820           ProgServer/ProgClient; reworked first paragraph.
35822 Wed Apr 09 13:23:05 BST 2003  Olly Betts <olly@survex.com>
35824         * docs/Makefile.am: Install docs in /usr/share/doc/xapian-core to be
35825           FHS compliant.
35826         * xapian.spec.in: Package quartzcheck and quartzcompact too; sorted
35827           out docs so they all install in the right place.
35829 Wed Apr 09 01:16:11 BST 2003  Olly Betts <olly@survex.com>
35831         * configure.in,backends/quartz/quartz_log.cc,
35832           backends/quartz/quartz_table_manager.cc,common/omdebug.cc,
35833           common/omdebug.h: Don't use HAVE_GETPID - if it's not set we assume
35834           GetCurrentProcessId() works, so it's cleaner to test with
35835           #ifdef WIN32 instead.
35837 Tue Apr 08 19:56:57 BST 2003  Olly Betts <olly@survex.com>
35839         * PLATFORMS: Updated with the results of many test builds.
35841 Tue Apr 08 19:55:15 BST 2003  Olly Betts <olly@survex.com>
35843         * configure.in,backends/quartz/Makefile.am,backends/quartz/btree.cc,
35844           netprogs/nettest.cc,common/getopt.h,common/omtime.h,common/utils.cc,
35845           common/utils.h,tests/Makefile.am,tests/api_db.cc: Now builds with
35846           Linux to mingw cross-compiler.
35847         * tests/Makefile.am: don't include findheaders.pl in the tarball -
35848           it's no longer used.
35849         * tests/internaltest.cc: removed "#include <dlfcn.h>" and disabled
35850           code which used to use it.
35851         * testsuite/backendmanager.cc,testsuite/backendmanager.h: fixed to
35852           work if any backends are disabled.
35854 Tue Apr 08 16:09:11 BST 2003  Olly Betts <olly@survex.com>
35856         * backends/quartz/btree.cc,backends/quartz/quartz_log.cc,
35857           backends/quartz/quartz_table_manager.cc,testsuite/testsuite.cc:
35858           Some fixes for building with Linux to mingw cross-compiler.
35860 Tue Apr 08 02:26:51 BST 2003  Olly Betts <olly@survex.com>
35862         * backends/quartz/btreetest.cc: If we don't have <sstream> and so are
35863           using our own stringstream implementation, we can't pass it as an
35864           ostream reference so BtreeCheck::check() can't be run in btreetest.
35865           This is only an issue on old compilers (for GCC <= 2.95.2 it seems)
35866           so just disable the checking in that case - it's probably not worth
35867           the effort of trying to make our stringstream a subclass of ostream.
35869 Tue Apr 08 01:20:36 BST 2003  Olly Betts <olly@survex.com>
35871         * testsuite/testsuite.cc: Updated unfinished hooks to use valgrind in
35872           the test harness.
35874 Fri Apr 04 03:12:27 BST 2003  Olly Betts <olly@survex.com>
35876         * api/omenquire.cc,api/omstem.cc,common/omdebug.cc: Fixed to compile
35877           when configure-d with --enable-debug-verbose --enable-debug=full.
35879 Fri Apr 04 03:10:53 BST 2003  Olly Betts <olly@survex.com>
35881         * common/omstringstream.h: Removed unused code for writing
35882           vector<string> to our own implementation of om_ostringstream.
35884 Fri Apr 04 03:08:35 BST 2003  Olly Betts <olly@survex.com>
35886         * api/ompostlistiterator.cc: Use "using namespace std;"; replaced
35887           gratuitous use of om_ostringstream.
35889 Fri Apr 04 03:07:05 BST 2003  Olly Betts <olly@survex.com>
35891         * tests/api_nodb.cc: Use "using namespace std;"; removed stray cout
35892           debug line.
35894 Wed Apr 02 16:54:50 BST 2003  Olly Betts <olly@survex.com>
35896         * tests/internaltest.cc: More Sun C++ fixes.
35897         * PLATFORMS: Updated.
35899 Wed Apr 02 16:39:48 BST 2003  Olly Betts <olly@survex.com>
35901         * tests/api_db.cc,net/tcpserver.cc,common/tcpserver.h: More Sun C++
35902           fettling.
35904 Wed Apr 02 15:42:54 BST 2003  Olly Betts <olly@survex.com>
35906         * matcher/emptymatch.h,tests/api_db.cc: More fixes for Sun C++.
35908 Wed Apr 02 15:13:58 BST 2003  Olly Betts <olly@survex.com>
35910         * api/omenquire.cc,api/omqueryinternal.cc,
35911           backends/inmemory/inmemory_database.h,common/document.h,
35912           common/netclient.h,common/netserver.h,common/networkstats.h,
35913           common/omlinebuf.h,common/stats.h,include/om/omerror.h,
35914           include/om/omerrorhandler.h,indexer/indexgraph/nodetest.cc,
35915           indexer/indexgraph/omindexerbuilder.cc,
35916           indexer/indexgraph/omindexerinternal.h,
35917           indexer/indexgraph/omstopwordnode.cc,
35918           indexer/indexgraph/regexcommon.h,indexer/indexgraph/toposort.h,
35919           tests/api_db.cc,tests/api_nodb.cc,testsuite/backendmanager.h:
35920           More fixes for Sun C++; removed many superfluous ";" after "}".
35922 Wed Apr 02 03:45:42 BST 2003  Olly Betts <olly@survex.com>
35924         * api/omdocument.cc,api/omenquire.cc,api/omtermlistiteratorinternal.h,
35925           backends/inmemory/inmemory_database.h,backends/quartz/btree.cc,
35926           backends/quartz/btree.h,common/alltermslist.h,common/expandweight.h,
35927           common/getopt.h,common/utils.h,include/om/omenquire.h,
35928           matcher/expandweight.cc,matcher/multimatch.cc,
35929           testsuite/backendmanager.h: Resolved various issues so that
35930           libxapian now builds with Sun's C++ compiler.  However
35931           libomqueryparser and the test programs don't yet.
35933 Tue Apr 01 02:52:57 BST 2003  Olly Betts <olly@survex.com>
35935         * backends/quartz/quartz_types.h: use "unsigned int" rather than
35936           "unsigned long int" so that quartz_tablesize_t matches om_doccount
35937           on 64 bit machines.
35939 Mon Mar 31 19:34:54 BST 2003  Olly Betts <olly@survex.com>
35941         * AUTHORS,xapian.spec.in: Merged in changes to RPM packaging from
35942           Fabrice Colin and reworked further.
35944 Fri Mar 28 20:04:04 GMT 2003  Olly Betts <olly@survex.com>
35946         * NEWS: Updated.
35948 Fri Mar 28 19:53:59 GMT 2003  Olly Betts <olly@survex.com>
35950         * README: Removed out-of-date sourceforge references; tidied up
35951           wording in places.
35953 Fri Mar 28 19:52:11 GMT 2003  Olly Betts <olly@survex.com>
35955         * HACKING: Removed out-of-date sourceforge references; tidied up
35956           wording in places; docs/tests.txt is now docs/tests.html .
35958 Fri Mar 28 17:35:15 GMT 2003  Olly Betts <olly@survex.com>
35960         * NEWS: Wrote most of the entries for the next release.
35962 Fri Mar 28 17:34:57 GMT 2003  Olly Betts <olly@survex.com>
35964         * docs/todo.xml: Updated.
35966 Thu Mar 27 05:42:41 GMT 2003  Olly Betts <olly@survex.com>
35968         * .cvsignore,Makefile.am,configure.in,docs/.cvsignore,docs/Makefile.am,
35969           docs/index.html,docs/todo2html.pl: removed machinery to generate
35970           TODO, TODO.release, docs/todo.html, and docs/todo-release.html from
35971           docs/todo.xml - bug and todo items will be tracked in bugzilla
35972           instead.
35974 Thu Mar 27 05:25:12 GMT 2003  Olly Betts <olly@survex.com>
35976         * docs/todo.xml: Removed completed items and those already fed into
35977           bugzilla.
35979 Thu Mar 27 05:17:05 GMT 2003  Olly Betts <olly@survex.com>
35981         * api/omstem.cc,include/om/omstem.h: Added default OmStem ctor,
35982           and "none" language.  Both of these give a stemmer object which
35983           leaves terms unchanged which should allow for simpler logic
35984           in programs using Xapian.  The default ctor also removes the
35985           need to mess with pointers in some cases.
35987 Thu Mar 27 04:52:27 GMT 2003  Olly Betts <olly@survex.com>
35989         * NEWS: Started to prepare for next release.
35991 Thu Mar 27 04:49:52 GMT 2003  Olly Betts <olly@survex.com>
35993         * include/om/omenquire.h,include/om/omerror.h: Improved documentation
35994           comments.
35996 Thu Mar 27 01:09:04 GMT 2003  Olly Betts <olly@survex.com>
35998         * docs/todo.xml,tests/api_db.cc: Added regression test for Quartz
35999           bug which caused problems with long terms on machines with signed
36000           chars.
36002 Wed Mar 26 20:30:18 GMT 2003  Olly Betts <olly@survex.com>
36004         * matcher/multimatch.cc: fixed interaction of collapsing and
36005           sort_bands == 1.
36007 Wed Mar 26 01:04:30 GMT 2003  Olly Betts <olly@survex.com>
36009         * matcher/multimatch.cc: Fixed sort_bands == 1 bug which would
36010           incorrectly reject many documents with a low score.
36012 Thu Mar 06 13:04:06 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
36014         * docs/matcherdesign.html: Add writeup about document collapsing.
36016 Thu Mar 06 11:32:05 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
36018         * Add collapse_count threshold checking to ensure that most
36019           relevant collapsed-away hit is more relevant than threshold
36020           (if specified)
36022 Mon Mar 03 14:04:56 GMT 2003  Olly Betts <olly@survex.com>
36024         * docs/quartzdesign.html: Corrected 2kB to 2KB.
36026 Fri Feb 28 10:11:04 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
36028         * Add get_collapse_count() to OmMSetIterator
36029         * Add collapse_count to OmMSetItem
36030         * Add collapse_count tracking to get_mset()
36032 Thu Feb 27 15:28:08 GMT 2003  Olly Betts <olly@survex.com>
36034         * common/match.h,common/multimatch.h,matcher/multimatch.cc: Optimise
36035           the common sort_bands == 1 case better.
36036         * tests/api_db.cc: sortbands2 now tests 1 sortband as well as 10.
36038 Wed Feb 26 09:58:01 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
36040         * bootstrap: Fix success message when building in non-src dir
36041           as configure is written to the src dir.
36043 Mon Feb 24 10:33:52 GMT 2003  Olly Betts <olly@survex.com>
36045         * matcher/multimatch.cc: Disabled (for now) sort_bands
36046           optimisation which is misbehaving.  Fixed forward ordered boolean
36047           optimisation broken by last check-in.
36048         * tests/api_db.cc: Added test_sortbands2 based on James' test code.
36050 Sun Feb 23 20:28:47 GMT 2003  Olly Betts <olly@survex.com>
36052         * matcher/multimatch.cc: Fixed problem with sort_bands when asking
36053           for an m-set which didn't start with the first match.
36055 Sun Jan 05 22:20:33 GMT 2003  Olly Betts <olly@survex.com>
36057         * testsuite/index_utils.cc: Handling of ^x was just downright wrong
36058           due to a typo.
36060 Sun Jan 05 22:19:56 GMT 2003  Olly Betts <olly@survex.com>
36062         * backends/quartz/.cvsignore: Ignore quartzcompact binary.
36064 Sun Jan 05 22:18:57 GMT 2003  Olly Betts <olly@survex.com>
36066         * extra/parsequerytest.cc: Fixed to build with GCC 2.95.
36068 Tue Dec 24 20:21:03 GMT 2002  Olly Betts <olly@survex.com>
36070         * NEWS: Added omega 0.6.4 changes.
36072 Tue Dec 24 19:53:10 GMT 2002  Olly Betts <olly@survex.com>
36074         * NEWS,PLATFORMS,configure.in: Version 0.6.4.
36076 Tue Dec 24 19:29:27 GMT 2002  Olly Betts <olly@survex.com>
36078         * backends/quartz/quartz_database.cc,backends/quartz/quartz_table.cc:
36079           Don't bother checking is position_list is empty - just delete it and
36080           let the layer below handle not having anything to delete.
36081         * backends/quartz/quartz_termlist.cc,docs/todo.xml: Fixed unpacking
36082           of termlist on platforms where char is signed.
36084 Tue Dec 24 05:48:06 GMT 2002  Olly Betts <olly@survex.com>
36086         * backends/quartz/quartz_database.cc: Fixed double setting of position
36087           list when updating a document with term position information.  The
36088           behaviour before was correct, just inefficient.
36090 Mon Dec 23 04:44:46 GMT 2002  Olly Betts <olly@survex.com>
36092         * docs/todo.xml: Updated.
36094 Mon Dec 23 03:22:19 GMT 2002  Olly Betts <olly@survex.com>
36096         * extra/parsequery.yy: If a stemmed form with a "." is in the query,
36097           include the "." on the form in the unstem multimap.
36099 Sun Dec 22 21:44:06 GMT 2002  Olly Betts <olly@survex.com>
36101         * extra/omparsequery.h,extra/parsequery.yy,extra/parsequerytest.cc:
36102           Added support for searching probabilistic fields (using
36103           <field>:<term>).
36105 Sat Dec 21 01:38:59 GMT 2002  Olly Betts <olly@survex.com>
36107         * configure.in: Don't include "om.h" in APIDOC_SRC, otherwise
36108           people building from source will need to regenerate the source
36109           docs which will require them to have doxygen installed.
36111 Fri Dec 20 15:39:51 GMT 2002  James Aylett  <james@tartarus.org>
36113         * Bindings build using SWIG 1.3.14u-20020706-1222, with very
36114           basic functionality tested with the Python target.
36116 Fri Dec 20 12:38:26 GMT 2002  James Aylett  <tartarus@users.sourceforge.net>
36118         * Tidied up some bindings-related issues, including changes to
36119           the Python bindings to work with Python 2.2. This probably won't
36120           compile as it stands, but it's disabled anyway.
36122 Sun Dec 15 18:23:42 GMT 2002  Olly Betts <olly@survex.com>
36124         * api/omdatabase.cc,backends/muscat36/da_database.cc,
36125           backends/muscat36/db_database.cc,matcher/phrasepostlist.cc:
36126           Muscat 3.6 DA and DB databases don't have word position information.
36127           Instead of throwing an exception when this information is requested,
36128           return an empty position list (i.e. behave as a quartz database with
36129           no position information would).
36131 Sun Dec 15 03:08:28 GMT 2002  Olly Betts <olly@survex.com>
36133         * backends/muscat36/: DADatabase and DBDatabase ctors need to public
36134           so that they can called from the database factory functions.
36135         * api/omenquire.cc,backends/muscat36/,backends/quartz/btree.cc,
36136           tests/api_db.cc: Fixed compilation warnings.
36138 Sat Dec 14 23:02:55 GMT 2002  Olly Betts <olly@survex.com>
36140         * docs/quartzdesign.html,docs/todo.xml: Updated.
36142 Sat Dec 14 22:57:41 GMT 2002  Olly Betts <olly@survex.com>
36144         * backends/quartz/Makefile.am,backends/quartz/quartzcheck.cc,
36145           backends/quartz/quartzcompact.cc,backends/quartz/quartzdump.cc:
36146           Enhanced quartzcheck to check all the btrees in a quartz database
36147           if passed a directory name.  It also default to "v" rather than
36148           "+" which is more appropriate for an end user checking if tables
36149           in a non-trivial sized database are corrupt.  Added quartzcompact
36150           utility to make a copy of a quartz database with full compaction
36151           turned on - this results in a smaller database which is faster to
36152           search.  The next update will result in a lot of block splitting
36153           though (since all blocks are as full as possible).
36155 Sat Dec 14 16:28:11 GMT 2002  Olly Betts <olly@survex.com>
36157         * NEWS: Updated for 0.6.3 release.
36159 Sat Dec 14 04:28:16 GMT 2002  Olly Betts <olly@survex.com>
36161         * PLATFORMS,configure.in: Version 0.6.3.
36163 Sat Dec 14 03:54:08 GMT 2002  Olly Betts <olly@survex.com>
36165         * extra/omparsequery.h,extra/parsequery.yy: Create an "unstem" multimap
36166           so users can convert the stemmed terms back into their query
36167           representation.
36169 Sat Dec 14 03:48:27 GMT 2002  Olly Betts <olly@survex.com>
36171         * docs/todo.xml: Updated.
36173 Sat Dec 14 02:37:41 GMT 2002  Olly Betts <olly@survex.com>
36175         * docs/todo.xml: Updated.
36177 Sat Dec 14 02:26:29 GMT 2002  Olly Betts <olly@survex.com>
36179         * docs/remote_protocol.html,net/socketclient.cc,net/socketserver.cc:
36180           Updated remote protocol description.
36182 Sat Dec 14 02:05:59 GMT 2002  Olly Betts <olly@survex.com>
36184         * docs/: Updated.
36186 Fri Dec 13 23:43:23 GMT 2002  Olly Betts <olly@survex.com>
36188         * include/om/om.h.in: Removed bogus // in the middle of a comment.
36190 Fri Dec 13 22:17:41 GMT 2002  Olly Betts <olly@survex.com>
36192         * configure.in,testsuite/testsuite.cc: Added hooks for using valgrind
36193           to find leaks in the test suite.  Just need to sort out suitable
36194           hooks in valgrind now!
36196 Fri Dec 13 19:57:23 GMT 2002  Olly Betts <olly@survex.com>
36198         * docs/: OmSettings removal updates.
36200 Fri Dec 13 19:44:23 GMT 2002  Olly Betts <olly@survex.com>
36202         * bindings/: Made a start updating bindings for OmSettings removal.
36204 Fri Dec 13 19:13:36 GMT 2002  Olly Betts <olly@survex.com>
36206         * api/omenquire.cc,common/omenquireinternal.h,include/om/omenquire.h,
36207           net/socketclient.cc,tests/api_db.cc: Finished removal of OmSettings
36208           - all tests now pass once more!
36210 Fri Dec 13 16:35:12 GMT 2002  Olly Betts <olly@survex.com>
36212         * api/,backends/quartz/quartz_table_manager.h,common/,docs/,include/,
36213           matcher/,net/,tests/internaltest.cc: Removed last use of OmSettings.
36214           Just a check-point check in - the code compiles, but doesn't pass
36215           tests yet.
36217 Fri Dec 13 12:53:01 GMT 2002  Olly Betts <olly@survex.com>
36219         * netprogs/nettest.cc: Updated disabled code to use new database
36220           factory functions; Added "using namespace std;".
36222 Thu Dec 12 23:52:32 GMT 2002  Olly Betts <olly@survex.com>
36224         * docs/todo.xml: Tidied my desk and converted lots of scraps of paper
36225           to todo entries.
36227 Thu Dec 12 16:43:22 GMT 2002  Olly Betts <olly@survex.com>
36229         * backends/quartz/btree.cc: Added workaround for shared_level problem;
36230           Improved error reporting.
36232 Thu Dec 12 01:05:00 GMT 2002  Olly Betts <olly@survex.com>
36234         * docs/overview.html: Updated docs on stub databases.
36236 Wed Dec 11 20:49:11 GMT 2002  Olly Betts <olly@survex.com>
36238         * api/omdatabaseinternal.cc,include/om/omdatabase.h,tests/api_db.cc:
36239           Reimplemented stub databases in the new scheme of things.
36240         * backends/inmemory/: fully disabled inmemory_errornext and
36241           inmemory_abortnext code.
36243 Tue Dec 10 13:47:44 GMT 2002  Olly Betts <olly@survex.com>
36245         * HACKING: Added note that Bison 1.50 seems to work with Xapian's
36246           .yy files.
36248 Mon Dec 09 20:13:00 GMT 2002  Olly Betts <olly@survex.com>
36250         * api/omenquire.cc,common/omenquireinternal.h,docs/todo.xml,
36251           include/om/omenquire.h,tests/api_db.cc: OmEnquire::get_eset()
36252           now takes a flags argument of bit constants |-ed together
36253           instead of 2 bools.
36255 Mon Dec 09 12:52:38 GMT 2002  Olly Betts <olly@survex.com>
36257         * backends/quartz/btree.cc,backends/quartz/btree.h: Applied patch
36258           from Martin Porter with better fix for sequential addition bug.
36260 Mon Dec 09 09:57:42 GMT 2002  Olly Betts <olly@survex.com>
36262         * docs/todo.xml: Updated.
36264 Mon Dec 09 07:32:46 GMT 2002  Olly Betts <olly@survex.com>
36266         * backends/quartz/quartztest.cc: Corrected name of database used
36267           by test adddoc2 (was using testdb_adddoc1!)
36269 Mon Dec 09 05:10:09 GMT 2002  Olly Betts <olly@survex.com>
36271         * backends/quartz/quartz_postlist.cc,backends/quartz/quartz_table.cc:
36272           More fettling.
36274 Mon Dec 09 04:48:39 GMT 2002  Olly Betts <olly@survex.com>
36276         * backends/quartz/: Minor code fettle.
36278 Mon Dec 09 03:32:11 GMT 2002  Olly Betts <olly@survex.com>
36280         * backends/quartz/quartz_postlist.cc: Gratuitous layout fettling.
36282 Mon Dec 09 03:30:27 GMT 2002  Olly Betts <olly@survex.com>
36284         * docs/quartzdesign.html: Improved wording and punctuation in 3
36285           places.
36287 Mon Dec 09 03:25:09 GMT 2002  Olly Betts <olly@survex.com>
36289         * common/,docs/todo.xml,include/om/omenquire.h,matcher/,
36290           net/socketclient.cc,net/socketserver.cc,netprogs/omprogsrv.cc,
36291           netprogs/omtcpsrv.cc: Fixed the remote backend to handle non-default
36292           weighting schemes.  You can now even implement your own weighting
36293           scheme and use it with the remote backend provided you register it
36294           with SocketServer at runtime.
36296 Sat Dec 07 21:18:39 GMT 2002  Olly Betts <olly@survex.com>
36298         * PLATFORMS: Updated.
36300 Sat Dec 07 21:09:52 GMT 2002  Olly Betts <olly@survex.com>
36302         * NEWS,PLATFORMS,configure.in: Version 0.6.2.
36304 Sat Dec 07 20:24:46 GMT 2002  Olly Betts <olly@survex.com>
36306         * NEWS: Updated.
36308 Sat Dec 07 20:21:41 GMT 2002  Olly Betts <olly@survex.com>
36310         * docs/quickstart.html: Fixed parameters passed to OmQuartz__open().
36312 Sat Dec 07 20:17:42 GMT 2002  Olly Betts <olly@survex.com>
36314         * backends/quartz/quartztest.cc: Fixed parameters passed to
36315           OmQuartz__open().
36317 Sat Dec 07 16:41:25 GMT 2002  Olly Betts <olly@survex.com>
36319         * docs/tests.html,testsuite/testsuite.cc: The testsuite won't install
36320           its signal handler if XAPIAN_SIG_DFL is set.
36322 Sat Dec 07 16:39:01 GMT 2002  Olly Betts <olly@survex.com>
36324         * HACKING: OM_DEBUG_XXX -> XAPIAN_DEBUG_YYY.
36326 Sat Dec 07 04:48:37 GMT 2002  Olly Betts <olly@survex.com>
36328         * backends/quartz/btree.cc: max_item_size wasn't being set due to
36329           some over-zealous code pruning.  It was defaulting to 0, and
36330           was causing the code to write off the end of allocated memory
36331           blocks.
36333 Sat Dec 07 03:22:05 GMT 2002  Olly Betts <olly@survex.com>
36335         * backends/inmemory/,matcher/multimatch.cc: Minor code tidying.
36336         * backends/quartz/btree.cc: Added Assert in Btree::add() to detect
36337           running off end of buffer.
36339 Sat Dec 07 03:20:52 GMT 2002  Olly Betts <olly@survex.com>
36341         * matcher/localmatch.cc: fixed handling of wtscheme() - we were
36342           trying to use it for the extra weights, and then double
36343           deleting it!
36345 Fri Dec 06 23:05:22 GMT 2002  Olly Betts <olly@survex.com>
36347         * api/omstem.cc,backends/quartz/,common/omdebug.cc,common/utils.h,
36348           matcher/tradweight.cc,net/socketcommon.cc,net/tcpclient.cc,
36349           tests/api_db.cc: Fixed to build with configure --enable-debug=full.
36351 Fri Dec 06 23:01:08 GMT 2002  Olly Betts <olly@survex.com>
36353         * common/omdebug.cc,common/omdebug.h: Fixed permissions on newly
36354           created log file (was getting 000!); Simplified class internals;
36355           Renamed env vars: OM_DEBUG_FILE is now XAPIAN_DEBUG_LOG,
36356           OM_DEBUG_TYPES is now XAPIAN_DEBUG_FLAGS (old versions still work
36357           for now).
36359 Fri Dec 06 22:58:57 GMT 2002  Olly Betts <olly@survex.com>
36361         * testsuite/testsuite.cc: Fixed so running "gdb .libs/apitest"
36362           finds srcdir (for an in-tree build at least).
36364 Fri Dec 06 03:51:35 GMT 2002  Olly Betts <olly@survex.com>
36366         * common/,include/om/omenquire.h,matcher/localmatch.h,matcher/rset.cc,
36367           matcher/stats.cc: Fixed to compile with GCC 3.0.
36369 Thu Dec 05 23:28:29 GMT 2002  Olly Betts <olly@survex.com>
36371         * include/om/omdatabase.h: Added missing "std::".
36373 Thu Dec 05 23:27:57 GMT 2002  Olly Betts <olly@survex.com>
36375         * docs/remote.html: Updated from OmSettings to factory functions.
36377 Thu Dec 05 23:26:42 GMT 2002  Olly Betts <olly@survex.com>
36379         * PLATFORMS: ixion is actually Linux 2.2.
36381 Thu Dec 05 04:32:40 GMT 2002  Olly Betts <olly@survex.com>
36383         * testsuite/backendmanager.cc: Fixed BackendManager::do_getdb_quartz()
36384           and do_getwritedb_quartz() to work correctly and so resolved some
36385           test failures.
36387 Wed Dec 04 03:35:12 GMT 2002  Olly Betts <olly@survex.com>
36389         * api/omdatabaseinternal.cc,backends/quartz/,docs/todo.xml,
36390           include/om/omdatabase.h: Replace create and allow_overwrite
36391           boolean flags with OM_DB_XXX constants.  And we now support
36392           OM_DB_CREATE_OR_OPEN which is a common action to want to
36393           perform, but was fiddly to achieve before.
36395 Tue Dec 03 23:59:30 GMT 2002  Olly Betts <olly@survex.com>
36397         * docs/todo.xml: Updated.
36399 Tue Dec 03 23:26:27 GMT 2002  Olly Betts <olly@survex.com>
36401         * api/omenquire.cc,backends/quartz/quartz_postlist.h,common/,
36402           docs/omsettings,docs/todo.xml,include/om/omenquire.h,matcher/,
36403           net/socketcommon.cc,net/socketserver.cc,tests/api_db.cc,
36404           tests/api_posdb.cc: Weighting schemes are now specified by passing
36405           in a weighting object, rather than via OmSetttings.  The weight
36406           class can be sub-classed by the library user to allow them to
36407           specify their own weighting scheme).  Everything works apart
36408           from the remote backend where the weighting scheme type and
36409           parameters aren't passed across the link.
36411 Mon Dec 02 20:12:31 GMT 2002  Olly Betts <olly@survex.com>
36413         * NEWS: Updated with changes since 0.6.1.
36415 Mon Dec 02 19:44:37 GMT 2002  Olly Betts <olly@survex.com>
36417         * api/ompostlistiterator.cc,backends/multi/multi_postlist.h,
36418           common/irweight.h,common/leafpostlist.h,matcher/: IRWeight
36419           renamed to OmWeight in preparation for making it externally
36420           visible.
36422 Mon Dec 02 18:10:55 GMT 2002  Olly Betts <olly@survex.com>
36424         * matcher/bm25weight.cc,matcher/irweight.cc,matcher/tradweight.cc,
36425           matcher/tradweight.h: Started to rework weighting scheme code.
36427 Mon Dec 02 17:36:21 GMT 2002  Olly Betts <olly@survex.com>
36429         * api/omdatabaseinternal.cc,backends/quartz/quartz_table_manager.cc:
36430           Tidying up after the recent backend reworking.
36432 Mon Dec 02 03:59:39 GMT 2002  Olly Betts <olly@survex.com>
36434         * matcher/: Changed BoolWeight ctor not to take an OmSettings
36435           parameter which is simply ignored.
36437 Mon Dec 02 01:35:41 GMT 2002  Olly Betts <olly@survex.com>
36439         * include/om/omdatabase.h: Added documentation comments for all of
36440           the database factory functions.
36442 Sun Dec 01 21:45:49 GMT 2002  Olly Betts <olly@survex.com>
36444         * include/om: Added \file documentation comments so doxygen
36445           extracts documentation for functions too.
36446         * docs/: Made a start on updating for the new database factory
36447           functions.
36449 Sun Dec 01 15:38:10 GMT 2002  Olly Betts <olly@survex.com>
36451         * api/,backends/,common/,docs/omsettings,docs/todo.xml,
36452           include/om/omdatabase.h,netprogs/,tests/,testsuite/backendmanager.cc,
36453           testsuite/backendmanager.h: No longer use OmSettings to specify
36454           parameters for constructing databases.  Instead there's a factory
36455           function for each database type - temporary naming scheme is
36456           OmXxx__open(), mostly because it's easy to grep for later.  At
36457           present stub databases and the machinery in InMemory to allow
36458           the multierrhandler1 test aren't working.  Everything else should
36459           be.
36461 Thu Nov 28 20:15:47 GMT 2002  Olly Betts <olly@survex.com>
36463         * api/omenquire.cc,common/omenquireinternal.h,docs/omsettings,
36464           docs/overview.html,include/om/omenquire.h,tests/api_db.cc:
36465           No longer use OmSettings in OmEnquire::get_eset(); fixed
36466           reversed sense of use_query_terms (and fixed reversed sense
36467           test in apitest which meant this wasn't spotted).
36469 Thu Nov 28 20:14:54 GMT 2002  Olly Betts <olly@survex.com>
36471         * docs/index.html: Link to annotated class lists in doxygen generated
36472           documentation rather than rather empty index page.
36474 Thu Nov 28 02:23:33 GMT 2002  Olly Betts <olly@survex.com>
36476         * configure.in,NEWS: Version 0.6.1.
36478 Thu Nov 28 01:38:05 GMT 2002  Olly Betts <olly@survex.com>
36480         * PLATFORMS: Updated.
36482 Thu Nov 28 01:33:25 GMT 2002  Olly Betts <olly@survex.com>
36484         * backends/quartz/: Fixed to compile with GCC 3.0.
36486 Thu Nov 28 01:32:31 GMT 2002  Olly Betts <olly@survex.com>
36488         * PLATFORMS: Updated with test results from 0.5.4 release.
36490 Wed Nov 27 22:11:38 GMT 2002  Olly Betts <olly@survex.com>
36492         * backends/quartz/btree.h: fixed "public:" bodge added during
36493           factoring-out of BtreeCheck.
36495 Wed Nov 27 05:01:14 GMT 2002  Olly Betts <olly@survex.com>
36497         * NEWS,PLATFORMS,configure.in: Updated for 0.6.0 release.
36499 Wed Nov 27 05:00:39 GMT 2002  Olly Betts <olly@survex.com>
36501         * AUTHORS,HACKING: Removed or replaced sourceforge.net URLs.
36503 Wed Nov 27 04:58:29 GMT 2002  Olly Betts <olly@survex.com>
36505         * docs/quartzdesign.html: Reworded "under development" warning;
36506           Updated Btree::check(), which is now BtreeCheck::check().
36508 Wed Nov 27 01:36:26 GMT 2002  Olly Betts <olly@survex.com>
36510         * backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h,
36511           backends/quartz/btreetest.cc: Tidied up BtreeCheck - btreetest now
36512           sends check output to tout so it's only displayed if the check fails
36513           (or btreetest is run with -v).
36515 Tue Nov 26 19:47:24 GMT 2002  Olly Betts <olly@survex.com>
36517         * backends/quartz/: Split the btree checking code out into a separate
36518           file, so it's not linked in when we don't need it.
36520 Tue Nov 26 05:47:32 GMT 2002  Olly Betts <olly@survex.com>
36522         * backends/quartz/btree.cc: Suppress all output from a successful
36523           Btree::Check() is no options are specified, so that btreetest
36524           generates clean output when all tests pass.
36526 Tue Nov 19 02:08:30 GMT 2002  Olly Betts <olly@survex.com>
36528         * NEWS: Updated.
36530 Tue Nov 19 01:46:35 GMT 2002  Olly Betts <olly@survex.com>
36532         * backends/quartz/btree.cc,backends/quartz/btree.h,
36533           backends/quartz/btreetest.cc,backends/quartz/quartztest.cc,
36534           docs/quartzdesign.html: Quartz B-tree minimum blocksize is
36535           now 2048 bytes (as was in fact documented already).  This
36536           means the max term length is now always 252 bytes.
36538 Mon Nov 18 22:16:57 GMT 2002  Olly Betts <olly@survex.com>
36540         * api/omenquire.cc,matcher/expand.cc,matcher/expandweight.cc:
36541           Bit of an expand tidy up.
36543 Mon Nov 18 19:49:09 GMT 2002  Olly Betts <olly@survex.com>
36545         * backends/quartz/quartz_termlist.cc: I'd put the new termlist stuff
36546           in the disabled branch of a "#ifdef" so it wasn't being used!  Fixed
36547           this and made it actually compile as an encore.
36549 Mon Nov 18 02:51:55 GMT 2002  Olly Betts <olly@survex.com>
36551         * docs/todo.xml: Retargetted 0.6 tasks for 0.7 or 0.8; updated a few
36552           entries.
36554 Mon Nov 18 02:28:55 GMT 2002  Olly Betts <olly@survex.com>
36556         * docs/quartzdesign.html,backends/quartz/: We can just store the term
36557           name raw in position list key, since we know its length from the key
36558           length; tweaked storing of deltas to store (delta - 1) as 0 is
36559           invalid.
36561 Mon Nov 18 00:47:54 GMT 2002  Olly Betts <olly@survex.com>
36563         * backends/quartz/quartz_termlist.cc: First cut of compressed term
36564           lists.
36566 Sun Nov 17 20:19:23 GMT 2002  Olly Betts <olly@survex.com>
36568         * backends/quartz/quartz_lexicon.cc,backends/quartz/quartz_values.cc:
36569           Use new pack_uint_last() and unpack_uint_last() where appropriate.
36571 Sun Nov 17 20:03:24 GMT 2002  Olly Betts <olly@survex.com>
36573         * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h:
36574           Added a more compact integer packing for the last integer in
36575           a key or tag.
36577 Sun Nov 17 18:54:05 GMT 2002  Olly Betts <olly@survex.com>
36579         * backends/quartz/btree.cc,backends/quartz/btree.h: more
36580           int -> bool changes.
36581         * backends/quartz/btree_base.cc: Clarified comments.
36583 Sun Nov 17 14:19:30 GMT 2002  Olly Betts <olly@survex.com>
36585         * docs/quartzdesign.html: Updated to reflect removal of Btree_item.
36587 Sun Nov 17 14:12:12 GMT 2002  Olly Betts <olly@survex.com>
36589         * backends/quartz/: Eliminate Btree_item - wherever it's used we
36590           only actually want the tag or key, so it's cleaner and clearer
36591           to just pass a pointer to a string.
36593 Sun Nov 17 13:34:08 GMT 2002  Olly Betts <olly@survex.com>
36595         * backends/quartz/,docs/quartzdesign.html: Quartz mini-overhaul:
36596           Removed Btree::Bcursor_create() and just made Bcursor's ctor
36597           public - now you can just create a Bcursor on the stack rather
36598           than being forced to use AutoPtr; removed valid_handle - the
36599           code is clearer without it; sys_close now inlined from header;
36600           changed int/char to bool where appropriate; changed some methods
36601           which now always throw on error to return void not bool; moved
36602           quartztest's test_btree1 to btreetest as test_simple1; changed
36603           a few remaining uses of "struct Btree" to just plain "Btree";
36604           brought the btree docs in quartzdesign.html up-to-date, apart
36605           from the error handling section.
36607 Sat Nov 16 01:45:28 GMT 2002  Olly Betts <olly@survex.com>
36609         * backends/inmemory/inmemory_database.cc,
36610           backends/inmemory/inmemory_database.h,
36611           backends/quartz/quartz_table.cc: Tidying up odds and ends.
36613 Fri Nov 15 17:46:38 GMT 2002  Olly Betts <olly@survex.com>
36615         * NEWS: Updated ready for 0.6.0 with changes made so far.
36617 Fri Nov 15 17:06:58 GMT 2002  Olly Betts <olly@survex.com>
36619         * testsuite/testsuite.cc: Avoid double debug output if we get a
36620           signal inside the testsuite code itself.
36622 Fri Nov 15 17:00:15 GMT 2002  Olly Betts <olly@survex.com>
36624         * backends/quartz/btree_api.txt,docs/Makefile.am,docs/index.html,
36625           docs/quartzdesign.html,docs/remote_protocol.html,
36626           net/README_progprotocol.txt: Converted Btree API documentation
36627           to HTML and add it to the quartz design document; converted the
36628           (seriously out of date) remote protocol document to HTML, moved it
36629           into docs/, and linked it in.
36631 Fri Nov 15 13:05:06 GMT 2002  Olly Betts <olly@survex.com>
36633         * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h,
36634           docs/quartzdesign.html: Changed encoding of keys for quartz record
36635           and termlist tables.
36637 Fri Nov 15 12:54:39 GMT 2002  Olly Betts <olly@survex.com>
36639         * backends/quartz/quartz_table_entries.cc: Fixed
36640           QuartzTableEntries::empty() which would never return true before.
36642 Fri Nov 15 03:08:49 GMT 2002  Olly Betts <olly@survex.com>
36644         * backends/quartz/btree_api.txt: Fixed typos.
36646 Fri Nov 15 03:06:41 GMT 2002  Olly Betts <olly@survex.com>
36648         * backends/quartz/quartztest.cc,backends/quartz/btreetest.cc:
36649           added another test (btreetest: emptykey1) and added extra
36650           checks to existing tests.
36652 Thu Nov 14 01:59:06 GMT 2002  Olly Betts <olly@survex.com>
36654         * matcher/multimatch.cc,tests/api_db.cc,docs/todo.xml:
36655           match_sort_bands code fettled, and added regression test for the
36656           >100% problem (test_sortbands1).
36658 Tue Nov 12 00:00:44 GMT 2002  Olly Betts <olly@survex.com>
36660         * backends/inmemory/inmemory_database.h,backends/quartz/,
36661           include/om/omtypes.h: Pushed average length calc down into
36662           QuartzRecordManager; removed unnecessary types om_totlength
36663           and om_termid.
36665 Mon Nov 11 18:10:23 GMT 2002  Olly Betts <olly@survex.com>
36667         * docs/index.html: Fixed broken link.
36669 Mon Nov 11 18:07:41 GMT 2002  Olly Betts <olly@survex.com>
36671         * backends/quartz/,docs/quartzdesign.html: Store next free docid
36672           and total doc length in the same tag in QuartzRecord.
36674 Wed Nov 06 22:38:40 GMT 2002  Olly Betts <olly@survex.com>
36676         * backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h:
36677           Eliminated QuartzDatabase::get_doccount_internal() and
36678           QuartzDatabase::get_avlength_internal() - now the thread
36679           locking code has gone, the indirection serves no purpose.
36681 Wed Nov 06 17:50:12 GMT 2002  Olly Betts <olly@survex.com>
36683         * backends/quartz/: Removed QuartzBufferedTable::write() (unused and
36684           unimplemented), and merged QuartzBufferedTable::write_internal()
36685           into QuartzBufferedTable::write_internal().
36687 Wed Nov 06 01:56:41 GMT 2002  Olly Betts <olly@survex.com>
36689         * backends/quartz/: disable quartz lexicon table unless USE_LEXICON
36690           is defined.
36692 Wed Nov 06 01:54:30 GMT 2002  Olly Betts <olly@survex.com>
36694         * docs/overview.html: Corrected link to API docs on website.
36696 Mon Nov 04 02:35:22 GMT 2002  Olly Betts <olly@survex.com>
36698         * include/om/omerror.h,net/omerr_string.cc,netprogs/omprogsrv.cc,
36699           netprogs/omtcpsrv.cc,testsuite/testsuite.cc: don't use typeid().
36701 Mon Nov 04 01:31:47 GMT 2002  Olly Betts <olly@survex.com>
36703         * testsuite/testsuite.cc: Catch by const reference.
36705 Mon Nov 04 01:18:53 GMT 2002  Olly Betts <olly@survex.com>
36707         * HACKING: Added note about use of various C++ features.  Also
36708           tidied up various odds and ends.
36710 Sun Nov 03 22:59:34 GMT 2002  Olly Betts <olly@survex.com>
36712         * api/omdatabaseinternal.cc: Eliminated entirely superfluous use of
36713           dynamic_cast.
36715 Sun Nov 03 22:46:34 GMT 2002  Olly Betts <olly@survex.com>
36717         * matcher/multimatch.cc,common/database.h,common/net_database.h:
36718           Replace Database::is_network() with Database::as_networkdatabase()
36719           which returns a pointer or NULL.  This eliminates the need to use
36720           dynamic_cast in MultiMatch.
36722 Wed Oct 23 05:24:14 BST 2002  Olly Betts <olly@survex.com>
36724         * docs/todo.xml: Resolved TODO entry by consulting Stroustrup
36725           (it is safe to throw and catch an exception in a destructor,
36726           even when that destructor is being called during a stack unwind
36727           caused by an exception being thrown).
36729 Wed Oct 16 20:05:39 BST 2002  Olly Betts <olly@survex.com>
36731         * backends/quartz/btreetest.cc: Suppress (most) output from
36732           Btree::check unless verbose (-v) is enabled.
36734 Mon Oct 14 15:13:18 BST 2002  Olly Betts <olly@survex.com>
36736         * testsuite/testsuite.cc: Fixed compilation problem with std:: on
36737           GCC 3.2.
36739 Mon Oct 14 15:07:03 BST 2002  Olly Betts <olly@survex.com>
36741         * api/omstem.cc: French and Finnish stemmers were switched!
36743 Mon Oct 14 02:49:12 BST 2002  Olly Betts <olly@survex.com>
36745         * backends/quartz/quartz_utils.h: change sort preserving packing for
36746           strings.  This one does better provided the strings being packed
36747           don't contain many zero bytes (which is true of the termnames which
36748           we pack with this).
36750 Mon Oct 14 02:45:20 BST 2002  Olly Betts <olly@survex.com>
36752         * tests/stemtest.cc: Updated to reflect new naming of stemming test
36753           data.
36755 Sun Oct 13 17:06:26 BST 2002  Olly Betts <olly@survex.com>
36757         * docs/todo.xml: Updated.
36759 Sun Oct 13 16:40:24 BST 2002  Olly Betts <olly@survex.com>
36761         * api/omstem.cc,backends/quartz/,common/,extra/omparsequery.h,matcher/,
36762           net/socketclient.cc: Added private copy ctors and assignment
36763           operators to classes with pointer members (which shouldn't be
36764           copied).
36766 Sun Oct 13 15:12:40 BST 2002  Olly Betts <olly@survex.com>
36768         * docs/todo.xml: Updated.
36770 Sun Oct 13 02:33:57 BST 2002  Olly Betts <olly@survex.com>
36772         * .cvsignore: Added install-sh.
36774 Sun Oct 13 02:16:31 BST 2002  Olly Betts <olly@survex.com>
36776         * backends/quartz/{quartz_lexicon.cc,quartz_lexicon.h}: key to lexicon
36777           is now simply the termname - no need to encode the length there too
36778           since the Btree knows how long the key is.
36779         * backends/quartz/{quartz_table_manager.cc,quartz_values.cc}: finished
36780           the terminology change from "attribute" to "value" (including
36781           renaming the btree files, which is why it wasn't done before).
36783 Sun Oct 13 02:09:00 BST 2002  Olly Betts <olly@survex.com>
36785         * tests/api_db.cc: Snowball stems "this" to "this" rather than "thi",
36786           so update apitest source to reflect this.
36788 Sun Oct 13 01:03:04 BST 2002  Olly Betts <olly@survex.com>
36790         * configure.in: Removed references to languages/*/Makefile.
36792 Sun Oct 13 00:50:01 BST 2002  Olly Betts <olly@survex.com>
36794         * docs/indexerquickstart.html,docs/quartzdesign.html: Updated.
36796 Sat Oct 12 23:34:52 BST 2002  Olly Betts <olly@survex.com>
36798         * languages/{api.c,api.h,header.h,utilities.c}: 4 new files.
36800 Sat Oct 12 23:29:50 BST 2002  Olly Betts <olly@survex.com>
36802         * languages/: removed all the old .cvsignore files.
36804 Sat Oct 12 22:34:01 BST 2002  Olly Betts <olly@survex.com>
36806         * api/omstem.cc,docs/stemming.html,docs/todo.xml,languages/: Replaced
36807           our stemmers with those from Snowball.  Note that these give better
36808           results, but this also means that existing databases won't work
36809           quite correctly if they contain stemmed terms.
36811 Sat Oct 12 17:17:26 BST 2002  Olly Betts <olly@survex.com>
36813         * configure.in,NEWS: Version 0.5.3.
36815 Sat Oct 12 16:49:50 BST 2002  Olly Betts <olly@survex.com>
36817         * PLATFORMS,api/omvalueiteratorinternal.h,extra/parsequery.yy,
36818           include/om/omdocument.h: Fixed std:: namespace issues to
36819           allow compilation with GCC 3 once again.
36821 Sat Oct 12 15:43:22 BST 2002  Olly Betts <olly@survex.com>
36823         * docs/todo.xml: Updated.
36825 Fri Oct 11 02:14:47 BST 2002  Olly Betts <olly@survex.com>
36827         * backends/quartz/Makefile.am: Include test data for btreetest
36828           in distribution tarball.
36830 Fri Oct 11 01:43:03 BST 2002  Olly Betts <olly@survex.com>
36832         * backends/quartz/{z_note,z_sequence,z_Cversion/,z_make/,z_test/}:
36833           Removed all the unused old C btree stuff.
36835 Thu Oct 10 17:32:10 BST 2002  Olly Betts <olly@survex.com>
36837         * backends/quartz/{btree.cc,btree.h}: More Btree tidying.
36839 Thu Oct 10 17:14:28 BST 2002  Olly Betts <olly@survex.com>
36841         * backends/quartz/{bcursor.cc,btree.cc,btree.h}: Btree::prev* and
36842           Btree::next* are no longer static methods.
36843         * backends/quartz/btree.h: Tweaked comments so doxygen will
36844           understand them.
36846 Thu Oct 10 16:12:29 BST 2002  Olly Betts <olly@survex.com>
36848         * backends/quartz/quartz_postlist.cc: return docids rather
36849           than passing in a pointer to fill in.
36851 Thu Oct 10 16:08:22 BST 2002  Olly Betts <olly@survex.com>
36853         * backends/quartz/quartzcheck.cc: Fixed #include-d files;
36854           Example in usage message now uses the directory where
36855           omega looks for its database by default.
36857 Thu Oct 10 15:25:10 BST 2002  Olly Betts <olly@survex.com>
36859         * backends/quartz/btree.cc,backends/quartz/btree.h: More comment
36860           improvements; Removed superfluous Cursor parameter from
36861           Btree::add_kt() - it always gets passed the C member of Btree
36862           which we have available anyway.
36864 Thu Oct 10 14:49:11 BST 2002  Olly Betts <olly@survex.com>
36866         * backends/quartz/btree.cc: Removed "struct" from in front of
36867           Btree and Cursor; Updated and reformatted many comments.
36869 Thu Oct 10 03:45:56 BST 2002  Olly Betts <olly@survex.com>
36871         * testsuite/backendmanager.cc: Reworded comment to make it clearer.
36873 Thu Oct 10 03:29:52 BST 2002  Olly Betts <olly@survex.com>
36875         * docs/todo.xml: Updated.
36877 Wed Oct 09 14:05:07 BST 2002  Olly Betts <olly@survex.com>
36879         * backends/quartz/{quartz_alltermslist.cc,quartz_alltermslist.h,
36880           quartz_database.cc}: Implemented
36881           QuartzAllTermsList::get_approx_size().
36883 Wed Oct 09 10:46:42 BST 2002  Olly Betts <olly@survex.com>
36885         * extra/omparsequery.h,include/om/omvalueiterator.h: Don't use
36886           "using std::foo;" in externally visible headers.
36888 Wed Oct 09 10:26:05 BST 2002  Olly Betts <olly@survex.com>
36890         * extra/omparsequery.h: fixed unused parameter warning.
36892 Tue Oct 08 20:32:46 BST 2002  Olly Betts <olly@survex.com>
36894         * tests/stemtest.cc: Added missing space to output.
36896 Tue Oct 08 20:10:35 BST 2002  Olly Betts <olly@survex.com>
36898         * With GCC, add warning flags "-Wall -W" rather than "-Wall -Wunused"
36899           (-Wall implies -Wunused anyway).  Fixed all the warnings this throws
36900           up, except in languages/ (that code is to be replaced with Snowball
36901           soon).
36903 Tue Oct 08 19:57:03 BST 2002  Olly Betts <olly@survex.com>
36905         * testsuite/: Disable colour test output if stdout isn't a terminal;
36906           reworked check for broken exception handling as the previous
36907           version never seemed to fire; added "using" for all the things
36908           we want from std::; improved how signal handlers are set and
36909           unset; report exception class for exceptions derived from OmError
36910           rather than a blanket "OMEXCEPT"; added private copy ctor and
36911           assignment to test_driver to prevent copying.
36913 Tue Oct 08 19:53:02 BST 2002  Olly Betts <olly@survex.com>
36915         * include/om/Makefile.am: remove include/om/om.h on "make distclean",
36916           not "make clean".  Otherwise "./configure ; make clean ; make"
36917           fails which is wrong.
36919 Sun Oct 06 18:37:39 BST 2002  Olly Betts <olly@survex.com>
36921         * PLATFORMS: Updated.
36922         * docs/: Removed Martin's paper - background information for stemmers
36923           is best left to the Snowball documentation.
36925 Sat Oct 05 20:31:55 BST 2002  Olly Betts <olly@survex.com>
36927         * NEWS,configure.in: 0.5.2 release.
36929 Sat Oct 05 03:01:49 BST 2002  Olly Betts <olly@survex.com>
36931         * PLATFORMS: Updated.
36933 Sat Oct 05 02:09:35 BST 2002  Olly Betts <olly@survex.com>
36935         * docs/todo.xml: Updated.
36937 Fri Oct 04 22:34:12 BST 2002  Olly Betts <olly@survex.com>
36939         * PLATFORMS,testsuite/testutils.h: Code to spot mishandled exceptions
36940           doesn't always work - noted this in PLATFORMS, and tweaked the code
36941           a little.
36943 Fri Oct 04 19:08:08 BST 2002  Olly Betts <olly@survex.com>
36945         * backends/quartz/.cvsignore: Added quartzcheck.
36947 Fri Oct 04 18:24:55 BST 2002  Olly Betts <olly@survex.com>
36949         * docs/: converted all text docs to HTML (except omsettings which will
36950           has odd markup (LaTeX?) and will probably soon be obsolete anyway).
36951         * docs/todo.xml: updated.
36953 Fri Oct 04 17:18:33 BST 2002  Olly Betts <olly@survex.com>
36955         * net/socketcommon.cc: Fixed handling of timeouts in the past.
36957 Fri Oct 04 13:51:39 BST 2002  Olly Betts <olly@survex.com>
36959         * PLATFORMS,testsuite/testutils.h: Use typeid() to spot when GCC 2.95
36960           mishandles an exception, and don't count this as a test failure.
36962 Fri Oct 04 03:59:29 BST 2002  Olly Betts <olly@survex.com>
36964         * api/omdatabaseinternal.cc,backends/multi/multi_termlist.h,
36965           matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h:
36966           pulled uses of dynamic_cast<> to higher up in the code.
36968 Fri Oct 04 03:53:44 BST 2002  Olly Betts <olly@survex.com>
36970         * PLATFORMS,backends/quartz/{btree.cc,quartz_metafile.cc}: Fixed quartz
36971           problems on platforms where sizeof(long) != 4.
36972         * PLATFORMS: Updated in the light of investigations into test failures
36973           on x86 Redhat Linux - only multierrhandler1 with the remote backend
36974           is actually a problem.
36976 Wed Oct 02 16:32:48 BST 2002  Olly Betts <olly@survex.com>
36978         * NEWS: Updated for 0.5.1 release.
36980 Wed Oct 02 16:01:50 BST 2002  Olly Betts <olly@survex.com>
36982         * PLATFORMS,configure.in: 0.5.1 release.
36984 Tue Oct 01 13:34:24 BST 2002  Olly Betts <olly@survex.com>
36986         * docs/: tweaked navigation links in index.html; converted bm25
36987           text document to HTML and linked it in; added todo entry to
36988           locate the "illusion of control" paper.
36990 Tue Oct 01 12:48:41 BST 2002  Olly Betts <olly@survex.com>
36992         * docs/: renamed intro.html to install.html, and userman.html to
36993           overview.html; changed navbar on index.html.
36995 Tue Oct 01 12:37:20 BST 2002  Olly Betts <olly@survex.com>
36997         * bootstrap: fixed adding of directory with xapian.m4 in to
36998           ACLOCAL_FLAGS; added trap to tell user if bootstrapping failed.
37000 Tue Oct 01 12:33:38 BST 2002  Olly Betts <olly@survex.com>
37002         * HACKING,Makefile.am,bootstrap,buildall,xapian.spec.in,
37003           autoconf/dir_contents,docs/todo.xml: Added bootstrap script as a
37004           replacement for buildall (buildall left in place for now until
37005           bootstrap receives wider testing).
37007 Tue Oct 01 12:19:32 BST 2002  Olly Betts <olly@survex.com>
37009         * HACKING,Makefile.am,configure.in,PLATFORMS: require automake 1.6.3
37010           (and hence autoconf 2.54) to fix problem building tests/internaltest
37011           with Solaris make.
37013 Mon Sep 30 20:30:42 BST 2002  Olly Betts <olly@survex.com>
37015         * PLATFORMS: Improved wording about bogus OMEXCEPT failures);
37016           Added results for OpenBSD 3.0 and Solaris 8 on x86 (both work).
37018 Mon Sep 30 20:25:03 BST 2002  Olly Betts <olly@survex.com>
37020         * docs/: Pruned .cvsignore; removed cvs.html (link to CVS info
37021           on website directly); removed using_stemmers.html - those
37022           wishing to use the C API to the stemmers ought to look at
37023           Snowball instead; include HTML versions of quickstart*.cc
37024           in tarballs; improved wording in various places.
37026 Mon Sep 23 19:33:31 BST 2002  Olly Betts <olly@survex.com>
37028         * net/Makefile.am: Fixed building of readquery.cc from readquery.ll.
37030 Sun Sep 22 03:57:20 BST 2002  Olly Betts <olly@survex.com>
37032         * PLATFORMS: Updated.
37034 Fri Sep 20 15:09:25 BST 2002  Olly Betts <olly@survex.com>
37036         * PLATFORMS: Added note about bogus OMEXCEPT test failures with
37037           GCC 2.95.
37039 Fri Sep 20 01:36:35 BST 2002  Olly Betts <olly@survex.com>
37041         * NEWS,PLATFORMS,configure.in: 0.5.0 release!
37043 Fri Sep 20 01:01:52 BST 2002  Olly Betts <olly@survex.com>
37045         * Makefile.am: Perl module we need to process todo.xml is XML::Parser
37046           not XML, so corrected error message.
37047         * configure.in: Commented out MSG_WARN() when Perl modules XML::Parser
37048           or Text::Format aren't found.  In a release tarball, this only
37049           matters if you modify docs/todo.xml, and the warning message(s) may
37050           alarm those building the software.
37052 Thu Sep 19 00:57:23 BST 2002  Olly Betts <olly@survex.com>
37054         * .cvsignore: Added depcomp, missing, mkinstalldirs.
37056 Thu Sep 19 00:49:01 BST 2002  Olly Betts <olly@survex.com>
37058         * HACKING: Added note about safe way to generate files in make rules.
37060 Thu Sep 19 00:45:51 BST 2002  Olly Betts <olly@survex.com>
37062         * PLATFORMS: Tested on Solaris 7 with GCC 2.95.3 (works) and Solaris 8
37063           Sun Workshop C++ compiler (fails to compile).
37065 Thu Sep 19 00:41:53 BST 2002  Olly Betts <olly@survex.com>
37067         * ar-wrapper-solaris,ltconfig,Makefile.am: libtool 1.4 doesn't use
37068           ltconfig, and that's the only thing that uses ar-wrapper-solaris,
37069           so removed both.  Fairly sure the problem they address was fixed
37070           in libtool so time ago.  Xapian doesn't build with Sun's C++
37071           compiler at the moment anyway, so it's moot for the release.
37073 Thu Sep 19 00:26:37 BST 2002  Olly Betts <olly@survex.com>
37075         * docs/todo2html.pl: Handle release "*" specially - it indicates
37076           tasks to be done for each release.
37078 Thu Sep 19 00:05:40 BST 2002  Olly Betts <olly@survex.com>
37080         * configure.in,include/om/om.h.in: Tweaked how generation of om.h
37081           works to avoid problems with Sun's C++ compiler.
37083 Wed Sep 18 19:21:47 BST 2002  Olly Betts <olly@survex.com>
37085         * net/Makefile.am,net/readquery.ll: #include <config.h>
37086           must be included before any other headers, but that seems to be
37087           impossible to arrange in lex/flex so we use echo and cat in the
37088           Makefile to arrange this.
37090 Wed Sep 18 17:35:00 BST 2002  Olly Betts <olly@survex.com>
37092         * include/om/Makefile.am: We want to install om/om.h, but not
37093           distribute it or people with a different compiler to whoever
37094           ran "make dist" will get the "ABI mismatch" error.
37096 Wed Sep 18 13:16:14 BST 2002  Richard Boulton <richard@tartarus.org>
37098         * docs/.cvsignore: Add docs/doxygen_full_warnings.
37099         * include/om/.cvsignore: Add include/om/om.h.
37101 Wed Sep 18 11:06:12 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37103         * include/om/Makefile.am: We really should install om/om.h, or
37104           applications can't build against us.
37106 Wed Sep 18 05:10:24 BST 2002  Richard Boulton <richard@tartarus.org>
37108         * docs/doxygen_{api,full}_header.html_tmpl: Remove meta robots tag -
37109           why shouldn't this be indexed?  Now the omega I set up pointing
37110           at copies of this should actually index something.
37112 Wed Sep 18 04:52:20 BST 2002  Olly Betts <olly@survex.com>
37114         * configure.in: Merged two sed invocations into one - we don't want
37115           configure to run any slower than it has to.
37117 Wed Sep 18 04:17:58 BST 2002  Richard Boulton <richard@tartarus.org>
37119         * configure.in: Don't put confdefs.h into SOURCEDOC_H_SRC - this
37120           file only exists during the configure run.  Fixes failure of
37121           "make doxygen_docs" in docs/
37123 Tue Sep 17 13:07:39 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37125         * Updated PLATFORMS file.
37127 Mon Sep 16 19:40:02 BST 2002  Olly Betts <olly@survex.com>
37129         * docs/todo.xml: Updated.
37131 Mon Sep 16 18:09:29 BST 2002  Olly Betts <olly@survex.com>
37133         * tests/api_db.cc: don't run consistency1 test on the remote backend
37134           - it's particularly slow with that, and testing it there doesn't
37135           actually improve the test coverage really.
37137 Mon Sep 16 17:15:46 BST 2002  Olly Betts <olly@survex.com>
37139         * configure.in,docs/Makefile.am: Added workaround for pattern length
37140           limits in Solaris sed.
37142 Mon Sep 16 17:13:20 BST 2002  Olly Betts <olly@survex.com>
37144         * include/om/om.h.in: Added explanatory comments for developers.
37146 Mon Sep 16 14:22:48 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37148         * om/om.h needs to be in CLEANFILES or make distcheck fails
37150 Mon Sep 16 13:37:04 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37152         * Now om/om.h is built from om/om.h.in, it may be in the build
37153           directly. Consequently, we need to add that to the include path
37154           for VPATH builds. Plus (also for VPATH), om/om.h needs to be
37155           output after AC_OUTPUT, because otherwise the destination
37156           directory may not exist.
37158 Mon Sep 16 04:19:54 BST 2002  Olly Betts <olly@survex.com>
37160         * configure.in,docs/todo.xml,include/om/Makefile.am,include/om/om.h,
37161           include/om/om.h.in: When building the library with GCC, generate
37162           include/om/om.h with preprocessor code to check that any version
37163           of GCC used to build applications has a matching C++ ABI.
37165           This means that users get a nice explanatory error message rather
37166           than a confusing link failure (or worse a program which builds
37167           but crashes).  Another benefit is that the check happens near the
37168           start of compilation of the first source file which uses Xapian
37169           in the user's application, rather than during the first attempt
37170           to link with Xapian.
37172 Sun Sep 15 01:42:19 BST 2002  Olly Betts <olly@survex.com>
37174         * net/tcpserver.cc: Solved std mystery - "using namespace std;" was
37175           inside a #ifdef which wasn't enabled!
37177 Sun Sep 15 01:21:34 BST 2002  Richard Boulton <richard@tartarus.org>
37179         * tests/tcpserver.cc: Hacky fix to compile with gcc-3.2 snapshot in
37180           Debian unstable - add a FIXME to work out why this is needed.
37181         * todo: add entry about checking ABI versions using
37182           __GXX_ABI_VERSION macro.
37184 Sat Sep 14 22:39:11 BST 2002  Olly Betts <olly@survex.com>
37186         * configure.in,tests/Makefile.am,tests/internaltest.cc: It turns out
37187           that internaltest *does* need -fno-access-control, so put it back.
37188           Not quite sure how I missed this.  Changed to skip refcnt tests
37189           when -fno-access-control isn't available (rather than omitting them
37190           entirely).
37192         * tests/api_db.cc: Fixed compile problem.
37194 Sat Sep 14 21:44:34 BST 2002  Olly Betts <olly@survex.com>
37196         * internaltest: doesn't actually need -fno-access-control these
37197           days, so removed it and the configure tests for it.
37199         * stemtest: recoded to be all in C++ and removed use of intermediate
37200           files for random data tests - now runs ~15% faster; no longer need
37201           HAVE_PERL so removed from configure.
37203         * apitest: use C++ streams rather than stdio; stubdb1 now cleans up
37204           the temporary file it creates.
37206 Sat Sep 14 12:54:52 BST 2002  Olly Betts <olly@survex.com>
37208         * docs/Makefile.am: fix "mv apidoc/latex/refman.ps avidoc.ps" which
37209           fails after recent change.
37211 Sat Sep 14 11:15:33 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37213         * Renamed simple* programs in quickstart docs to quickstart* to
37214           avoid confusion with the simple* programs in xapian-examples.
37215           (Thanks to Alex Bowley for pointing out the confusion.)
37217 Sat Sep 14 10:00:35 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37219         * configure.in: returned AC_CONDITIONAL for HAVE_PERL
37221 Sat Sep 14 09:29:08 BST 2002  Richard Boulton <richard@tartarus.org>
37223         * buildall: change to srcdir before testing for necessary tools
37224           so that scripts which guess which autotools version to use have more
37225           information available to guess with: for example, the Debian
37226           autoconf version guessing script looks for "configure.ac" as a sign
37227           that autoconf 2.50+ is required.
37229 Sat Sep 14 02:50:23 BST 2002  Olly Betts <olly@survex.com>
37231         * docs/distributed.txt,docs/quartzdesign.html,docs/todo.xml: assorted
37232           documentation updates.
37234 Sat Sep 14 02:10:12 BST 2002  Olly Betts <olly@survex.com>
37236         * PLATFORMS: removed note about VPATH problems.
37238 Sat Sep 14 02:02:58 BST 2002  Olly Betts <olly@survex.com>
37240         * btree.cc,btree.h: rearranged Btree::del() so control flow is clearer.
37242 Sat Sep 14 01:56:44 BST 2002  Olly Betts <olly@survex.com>
37244         * HACKING,docs/Makefile.am: added evil hack to allow VPATH builds to
37245           work with BSD make.
37247 Wed Sep 11 11:29:07 BST 2002  Olly Betts <olly@survex.com>
37249         * backends/database_builder.cc: Quartz is fairly mature - change
37250           comment which suggests that the btree names will change.
37252 Wed Sep 11 11:13:43 BST 2002  Olly Betts <olly@survex.com>
37254         * configure.in: Don't double quote `$MISSING foo' as autoconf adds them
37255         * docs/Makefile.am: Use `test a = b' rather than `test a == b'
37257 Tue Sep 10 14:50:16 BST 2002  Olly Betts <olly@survex.com>
37259         * configure.in: tweaked test for perl modules - stderr is now
37260           fully suppressed on sh (which behaves slightly differently to bash).
37262 Tue Sep 10 14:27:15 BST 2002  Richard Boulton <richard@tartarus.org>
37264         * backend_manager.cc: Fix stub database code so that it doesn't use
37265           the gnu extension "getline()".
37267 Tue Sep 10 13:51:20 BST 2002  Olly Betts <olly@survex.com>
37269         * quartz_table.cc: don't form tag when we just want to check if a
37270           key is present before calling Btree::del().  Working out why
37271           we can't call Btree::del() would still be worthwhile though.
37273 Tue Sep 10 13:02:04 BST 2002  Olly Betts <olly@survex.com>
37275         * quartztest.cc: removed unused #include-s; describe valid options
37276           in usage message.
37278 Tue Sep 10 02:07:29 BST 2002  Olly Betts <olly@survex.com>
37280         * remote backend: implemented term_exists() and get_termfreq();
37281           added test to check they work.
37283 Mon Sep  9 12:59:15 BST 2002  Richard Boulton <richard@tartarus.org>
37285         * Add stub databases: if backend type is auto, and auto_dir points
37286           to a file, read in settings from the file (overwriting the
37287           existing ones), and then use them to open the database.
37288           This allows, for example, omega to open a remote database by
37289           putting in a stub database file in the omega directory.
37290           Updated documentation for opening databases in userman.html.
37291         * apitest: Added test for stub databases.
37293 Mon Sep 09 02:26:36 BST 2002  Olly Betts <olly@survex.com>
37295         * Documentation updates: move suggested books into intro_ir.html
37296           and added URL for citeseer reference Richard posted to mailing
37297           list recently; clarified wording in a couple of places.
37299 Sat Sep  7 12:52:12 2002  James Aylett  <tartarus@users.sourceforge.net>
37301         * docs: fixed references to OmDocumentContents (now OmDocument)
37302           which had clearly been broken for a while. Also fixed get_data()
37303           and set_data() example usage so it reflects reality (I hope).
37305 Wed Sep 04 22:46:17 BST 2002  Olly Betts <olly@survex.com>
37307         * Corrected min_item.wt to min_wt in two assertions.
37309 Thu Aug 15 11:42:20 BST 2002  Richard Boulton <richard@tartarus.org>
37311         * buildall: Only add the directory derived from xapian-config
37312           to ACLOCAL_FLAGS if it actually exists.
37314 Mon Aug 12 01:13:55 BST 2002  Richard Boulton <richard@tartarus.org>
37316         * quartz_table.cc: Check that a key exists before calling
37317           Btree::del() - there seems to be a bug in the btree code
37318           causing a failure when deleting keys if they don't exist.
37319           This work around appears to make things work correctly, but
37320           won't be terribly efficient.
37322 Mon Aug 12 00:09:21 BST 2002  Richard Boulton <richard@tartarus.org>
37324         * quartz_table_manager.cc: When unable to apply modifications,
37325           call cancel on the buffered table after reopening disk table
37326           at old revision - otherwise, the entry count gets messed up.
37327         * quartz_table.cc, quartz_database.cc: Improve debugging and
37328           error reporting: I'm trying to work out why the failure Olly
37329           reported is occurring.
37331 Sat Aug 10 15:12:42 2002  James Aylett  <tartarus@users.sourceforge.net>
37333         * Fixed missing include in quartzcheck.cc
37335 Sat Aug 10 14:57:17 2002  James Aylett  <tartarus@users.sourceforge.net>
37337         * Fixed typo in quartzcheck.cc
37339 Tue Jul 23 22:12:34 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37341         * Added a note to the effect that the indexgraph stuff isn't
37342           really considered useful to the HTML document introducing it.
37344 Tue Jul 23 22:09:39 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37346         * Added some comments in quartztest test_create1(), in case anyone
37347           else who didn't write it needs to understand it.
37349         * Added Olly as an active participant to the AUTHORS file :)
37351 Tue Jul 23 21:59:50 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37353         * Reworded quickstart document so it does not refer to the example
37354           code (it was never actually in sync).
37356 Mon Jul 22 14:07:18 BST 2002  Sam Liddicott <sam@ananova.com>
37358         * Forgot to actually add the quartzcheck.cc file last time
37360 Mon Jul 22 13:28:09 BST 2002  Sam Liddicott <sam@ananova.com>
37362         * Add buildprereq to package
37363           Add quartzcheck which runs btree::check to backends
37365 Tue Jul 16 09:44:56 BST 2002  Sam Liddicott <sam@ananova.com>
37367         * Fix banding problem; bands are now based on the percentage
37368           not the weight, and using integer maths to avoid problems
37369           with ceil() rounding up supposed integers which are really
37370           slightly larger due to precision errors
37372 Thu Jul 11 00:16:22 BST 2002  Olly Betts <olly@survex.com>
37374         * configure.in, docs/Makefile.am: configure fixes for Solaris - clear
37375           cached result for fdatasync since it may be wrong if we decide we
37376           need to link librt; split SOURCEDOC_SRC into two to avoid hitting
37377           4096 char line length in Solaris sed.
37379 Tue Jul 09 17:47:31 BST 2002  Olly Betts <olly@survex.com>
37381         * PLATFORMS, tests/Makefile.am: improved internaltest.cc automake rules
37382           - they should now work in VPATH builds with Solaris make.
37384 Tue Jul 09 03:30:41 BST 2002  Olly Betts <olly@survex.com>
37386         * configure.in, docs/Makefile.am: Fixed up apidoc and sourcedoc
37387           dependencies so that they work correctly in VPATH builds.  Also
37388           only use portable find arguments to generate SOURCEDOC_SRC.
37390 Sat Jul 06 13:53:27 BST 2002  Olly Betts <olly@survex.com>
37392         * xapian.spec.in: Updated in preparation for release.
37394 Sat Jul 06 13:04:45 BST 2002  Olly Betts <olly@survex.com>
37396         * docs/Makefile.am: Run latex twice to get forward references resolved.
37398 Fri Jul 05 18:23:08 BST 2002  Olly Betts <olly@survex.com>
37400         * matcher/multimatch.cc: better (perhaps even completely correct) fix
37401           for sorting into bands.
37403         * matcer/localmatch.cc: removed entirely bogus comment from over-eager
37404           cut-and-paste.
37406         * tests/api_db.cc: added otherwise pointless statement to deldoc3
37407           which seems to fix occasional miscompilation by GCC 2.95.
37409 Fri Jul 05 16:37:12 BST 2002  Olly Betts <olly@survex.com>
37411         * docs/Makefile.am: "make dist" now fails if dot (part of graphviz)
37412           isn't installed.
37414 Fri Jul 05 08:54:33 BST 2002  Sam Liddicott <sam@ananova.com>
37416         * bindings/: removed some typemap hacks as swig has better typemaps now
37418 Fri Jul 05 08:46:06 BST 2002  Sam Liddicott <sam@ananova.com>
37420         * matcher/multimatch.cc: Quick hack to stop 100% being in a band all on
37421           its own.  The real problem is that bands need to include the integer
37422           at the upper end of the range, rather than the lower end.
37424 Thu Jul 04 16:23:52 BST 2002  Olly Betts <olly@survex.com>
37426         * docs/mkdoc.pl: Fixed to work in VPATH builds.
37428 Thu Jul 04 12:42:06 BST 2002  Olly Betts <olly@survex.com>
37430         * configure.in, docs/Makefile.am: use "missing" to give more helpful
37431           errors when we don't find tools we need.
37433 Wed Jul 03 12:39:15 BST 2002  Olly Betts <olly@survex.com>
37435         * NEWS: incorporated recent changes into provisional version.
37437         * docs/: sorted out make rules for running doxygen; don't tell doxygen
37438           to build man pages which we aren't using.
37440 Tue Jul 02 16:36:54 BST 2002  Olly Betts <olly@survex.com>
37442         * docs/: run through ispell; fixed OM_MOP to OmQuery::OP; other
37443           corrections.
37445 Fri Jun 28 02:59:49 BST 2002  Olly Betts <olly@survex.com>
37447         * Backend "auto" now works when creating an OmWritableDatabase which
37448           doesn't already exist - it'll pick a backend which supports writing
37449           and is compiled in (currently this means quartz).
37451 Thu Jun 27 20:31:13 BST 2002  Richard Boulton <richard@tartarus.org>
37453         * backends/quartz/btreetest.cc (sequent1): Add regression test for
37454           recently fixed bug with sequential addition.
37455         * backends/quartz/z_data/ordnum[+-]: Data files for new test.
37457 Thu Jun 27 13:13:37 BST 2002  Olly Betts <olly@survex.com>
37459         * Documentation fettling: removed docs/Notes and
37460           docs/coding_policy.txt moving relevant content into HACKING,
37461           common/postlist.h, docs/todo.xml, and include/om/omtypes.h; install
37462           docs as PostScript rather than DVI; include text docs in tarball and
37463           install them; "make dist" will now fail if a tool needed to build
37464           docs is missing; removed last vestiges of Doc++ support;
37465           doc/Makefile no longer uses include (include isn't portable);
37466           improved doc/tests.txt.
37468 Thu Jun 27 12:10:37 BST 2002  Olly Betts <olly@survex.com>
37470         * apitest: doesn't directly use anything from utils.h, so don't
37471           #include it.
37473 Thu Jun 27 12:05:53 BST 2002  Olly Betts <olly@survex.com>
37475         * Removed includetest - it was useful early in development, but isn't
37476           really now.
37478 Wed Jun 26 22:09:57 BST 2002  Olly Betts <olly@survex.com>
37480         * apitest: deldoc2 and deldoc3 now pass when the library is compiled
37481           with --enable-debug.
37483 Wed Jun 26 19:35:56 BST 2002  Olly Betts <olly@survex.com>
37485         * Removed code which causes quartztest to fail with an --enable-debug
37486           build.
37488 Wed Jun 26 13:55:11 BST 2002  Olly Betts <olly@survex.com>
37490         * todo.xml: added note to fix 100% being in its own sort band.
37492 Wed Jun 26 13:46:02 BST 2002  Richard Boulton <richard@tartarus.org>
37494         * btree.cc: Fix splitting of blocks in sequential mode to ensure
37495           that split happens no earlier than the midpoint.
37497 Wed Jun 26 12:32:47 BST 2002  Richard Boulton <richard@tartarus.org>
37499         * btree.cc: Asserts to check that add_item in sequential mode
37500           when splitting a block is not trying to add to the wrong block,
37501           or to add to a new block which is not empty (or containing more
37502           than one item).
37504 Tue Jun 25 17:53:19 BST 2002  Olly Betts <olly@survex.com>
37506         * Assert that the value of c is sane in GETINT1, etc.
37508 Tue Jun 25 16:30:09 BST 2002  Olly Betts <olly@survex.com>
37510         * btreetest.cc: use C++ IO rather than C stdio; removed commented out
37511           LFSinsertdelete1 test (it was never written and a test suite which
37512           creates 2G files is probably a bit too resource hungry).
37514 Tue Jun 25 13:56:01 BST 2002  Olly Betts <olly@survex.com>
37516         * btree/quartz: More use of const pointers; more use of C++ strings.
37518 Wed Jun 19 08:56:00 BST 2002  Sam Liddicott <sam@ananova.com>
37520         * Fixed spec file to build for prefix=/usr not just install there
37522 Fri Jun 14 16:35:04 BST 2002  Olly Betts <olly@survex.com>
37524         * docs/todo.xml: added 4 new tasks.
37526 Fri Jun 14 16:33:08 BST 2002  Olly Betts <olly@survex.com>
37528         * backends/quartz/quartz_database.cc: Cosmetic changes.
37530 Wed Jun 12 16:31:11 BST 2002  Olly Betts <olly@survex.com>
37532         * QuartzDbKey, QuartzDbTag: just use a string instead of a string
37533           wrapped in a structure.  We've stopped inflicting this on external
37534           developers (OmData, OmKey/OmValue) so why inflict it on ourselves?
37536 Wed Jun 12 12:26:04 BST 2002  Olly Betts <olly@survex.com>
37538         * Btree_item: use C++ strings rather than trying to reimplement them.
37540         * Fix a few warnings about unused parameters.
37542 Wed Jun 12 02:53:16 BST 2002  Olly Betts <olly@survex.com>
37544         * Btree_full_compaction, Btree_close: removed - they just wrap methods
37545           of Btree.
37547 Wed Jun 12 02:28:30 BST 2002  Olly Betts <olly@survex.com>
37549         * Btree_item_create and Btree_item_lose subsumed into Btree_item
37550           and ~Btree_item.
37552         * Pass C++ strings rather than const char * into various Btree open
37553           methods.
37555         * Removed pointless wrapper functions for Btree open methods.
37557         * Btree_quit removed (just use delete directly).
37559         * Btree_create removed (just use Btree::create directly).
37561 Wed Jun 12 00:48:52 BST 2002  Olly Betts <olly@survex.com>
37563         * form_key is now a method of Btree; more passing of strings rather
37564           than pointer/length pairs); buffer overrun check added to btreetest.
37566 Tue Jun 11 18:04:08 BST 2002  Olly Betts <olly@survex.com>
37568         * More C++ like interfaces (e.g. bool returns, strings rather than
37569           pointer/length pairs).
37571 Tue Jun 11 16:40:08 BST 2002  Richard Boulton <richard@tartarus.org>
37573         * quartz/btree.cc: Fix so that it compiles when BTREE_FULL_DEBUG is on,
37574           and added a couple of Assert()s.
37576 Tue Jun 11 13:09:39 BST 2002  Olly Betts <olly@survex.com>
37578         * Removed a number of btree functions which were simply wrappers for
37579           calling methods on their first parameter, and most of which weren't
37580           even used!
37582         * btree_api.txt: updated to better reflect the object-ized API.
37584 Tue Jun 11 02:01:53 BST 2002  Olly Betts <olly@survex.com>
37586         * Btree::make_index_item(): Added check for buffer overflow.
37588 Tue Jun 11 01:49:51 BST 2002  Olly Betts <olly@survex.com>
37590         * Still more...
37592 Tue Jun 11 01:08:03 BST 2002  Olly Betts <olly@survex.com>
37594         * More btree and quartz tidying.
37596 Mon Jun 10 20:33:24 BST 2002  Olly Betts <olly@survex.com>
37598         * btree.cc,btree.h: cleaned up further.
37600 Mon Jun 10 15:54:49 BST 2002  Olly Betts <olly@survex.com>
37602         * Further btree and quartz cleanups.
37604 Mon Jun 10 14:46:00 BST 2002  Olly Betts <olly@survex.com>
37606         * Fixed typo in recent quartzdump change.
37608 Mon Jun 10 13:20:20 BST 2002  Olly Betts <olly@survex.com>
37610         * Quartz clean-ups - especially QuartzTermList.
37612 Mon Jun 10 12:18:40 BST 2002  Olly Betts <olly@survex.com>
37614         * Bcursor_create made a method of class Btree as suggested by a FIXME.
37616 Mon Jun 10 01:57:53 BST 2002  Olly Betts <olly@survex.com>
37618         * More btree fixes and tidying.  Fixed bug introduced by typo in
37619           previous change which causes tests to fail.
37621 Sun Jun 09 17:50:28 BST 2002  Olly Betts <olly@survex.com>
37623         * btree_util.h: use inlines rather than macros.
37625         * Fix CompileTimeAssert() to avoid potential clashes.
37627 Sun Jun 09 12:46:25 BST 2002  Olly Betts <olly@survex.com>
37629         * btree.cc,btree.h: fixed bug caused by local variable masking member
37630           variable with same name.  Tidied up a lot.
37632 Wed Jun  5 12:22:57 BST 2002  Sam Liddicott <sam@ananova.com>
37634         * Fix OmQuery::op enum handling.
37636 Mon May 27 14:28:06 BST 2002  Sam Liddicott <sam@ananova.com>
37638         * Add crash-protected next() to OmMSetIterator
37640         * Add ->valid() method to iterator which returns FALSE if
37641           the iterator has reached the end
37643         * Added namespace fixes for latest cvs swig to be released next month
37645 Fri May 24 15:28:18 BST 2002  Sam Liddicott <sam@ananova.com>
37647         * Took out the string typemaps as swig now has them in stl.i
37649         * Added om_percent to omtypes.i - I wonder if we might just
37650           read omtypes.h instead, as swig can
37652         * Added OmMSetIterator and made changes to OmMSet
37654 Fri May 24 11:46:50 BST 2002  Sam Liddicott <sam@ananova.com>
37656         * Now support get_matching_terms via swig
37657           I'm not sure how to generally map iterators to php but in
37658           cases where we know only a small number of items exist
37659           to be iterated over it makes sense to return them as a
37660           php array
37662 Tue May 21 15:28:40 BST 2002  Richard Boulton <richard@tartarus.org>
37664         * multi_postlist.cc (get_doclength):  Get the document length from
37665           the appropriate sub-postlist, rather than from the database.
37666           This causes a huge speedup in some cases, since it avoids having
37667           to go to the termlist database for every document considered for
37668           an mset to get the document length.
37669           Added an AssertParanoid to check that the value from the postlist
37670           is the same as that from the database.
37671           This problem was noticed because "delve -v" was running several
37672           orders of magnitude slower than without -v - it is now of
37673           comparable speed.
37675 Tue May 21 15:27:37 BST 2002  Richard Boulton <richard@tartarus.org>
37677         * quartz_values.cc: Small fixes to enable it to compile with debug
37678           turned on.
37680 Fri May 17 14:52:45 BST 2002  Olly Betts <olly@survex.com>
37682         * OmQueryParser::set_database() method added.
37684         * Added disabled code to search for a keyword used in the query.
37686         * Added ' and * to the list of "phrase making characters".
37688         * To make a phrase, a phrase-maker must be followed by an alphanumeric
37689           rather than just a non-space.
37691 Fri May 17 14:49:54 BST 2002  Olly Betts <olly@survex.com>
37693         * INSTALL: GCC 3.1 release version works, so noted this.
37695         * HACKING: Added note about warning-free compilation being desirable
37696           and suggesting using "./configure CFLAGS=-Werror" to promote this.
37698         * NEWS: Minor updates.
37700 Thu May 16 16:57:42 BST 2002  Olly Betts <olly@survex.com>
37702         * Minor tweaks to get a warning-less compile with GCC 3.1.
37704 Thu May 16 13:36:19 BST 2002  Sam Liddicott <sam@ananova.com>
37706         * Clean up the spec file
37708 Thu May 16 12:20:09 BST 2002  Olly Betts <olly@survex.com>
37710         * Documented match_sort_key.
37712 Thu May 16 10:42:47 BST 2002  Sam Liddicott <sam@ananova.com>
37714         * A few quick tips from Olly, now the tarfile name and version no.
37715           stuff comes from autoconf so the spec file won't need tweaking
37716           each time the version number changes
37718 Wed May 15 15:48:42 BST 2002  Sam Liddicott <sam@ananova.com>
37720         * This can build RPM packages.
37721           Get the make-dist tarball and do:
37722           rpm -ta xapian-core-0.4.1-cvs.tar.gz
37723           and it will make source and binary rpms
37724           It doesn't build bindings packages yet but this will come when I
37725           build them
37727 Wed May 15 13:27:21 BST 2002  Richard Boulton <richard@tartarus.org>
37729         * buildall: Allow use of automake 1.6.1 and later, and CVS
37730           automake (versions 1.6[a-z])
37732 Wed May 15 11:40:58 BST 2002  Sam Liddicott <sam@ananova.com>
37734         * SWIG cvs (php4) now writes all output files to the same directory as
37735           the main output file, so need for hacks to move these, also no more
37736           clobbering our source files when building in the checkout dir
37738 Tue May 14 21:54:02 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37740         * Updated PLATFORMS file.
37742 Tue May 14 16:48:07 BST 2002  Olly Betts <olly@survex.com>
37744         * Removed multiple-include protection from config.h - if it's
37745           included more than once it's now a bug and we want to know!
37747 Tue May 14 15:25:05 BST 2002  Olly Betts <olly@survex.com>
37749         * OmQueryParser: parse acronyms as a single term (so "E.T." -> "ET"
37750           and "N.A.T.O" -> "NATO").
37752 Tue May 14 15:23:20 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37754         * Fixed config.h includes: source definition (ie not header) files
37755           #include <config.h> as their first action.
37757 Tue May 14 14:47:00 BST 2002  Olly Betts <olly@survex.com>
37759         * Updated todo.
37761         * extra/parsequery.yy: Fettled indentation.
37763 Tue May 14 13:14:51 BST 2002  Olly Betts <olly@survex.com>
37765         * Added test case for new "embedded &" rule, and fix problem bug it
37766           revealed.
37768 Tue May 14 13:10:33 BST 2002  Olly Betts <olly@survex.com>
37770         * OmQueryParser: Parse <word>&<word> as a single term (e.g. AT&T,
37771           M&S, A&P).
37773 Tue May 14 11:50:03 BST 2002  Olly Betts <olly@survex.com>
37775         * When including config.h, always specify it as <config.h>, not
37776           "config.h", and always do it first.  Both are recommended by
37777           the autoconf documentation.
37779 Mon May 13 17:17:13 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37781         * missing fallback rule all-local in docs/Makefile.am was failing
37782           the build on Solaris
37784 Mon May 13 15:50:31 BST 2002  Sam Liddicott <sam@ananova.com>
37786         * Use new %extends notation for swig.
37788         * Update for new omValue usage
37790         * Add omqueryparser support
37792 Mon May 13 15:12:30 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37794         * shipped getopt will now build in absence of system getopt
37796 Mon May 13 15:09:17 BST 2002  Olly Betts <olly@survex.com>
37798         * configure.in: Moved AH_TOP/AH_BOTTOM to more logical place.
37800         * docs/todo.xml: Updated.
37802 Mon May 13 14:13:27 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37804         * added getopt to DIST_SUBDIRS so distributions work
37806 Fri May 10 14:54:06 BST 2002  Olly Betts <olly@survex.com>
37808         * getopt/: Checked in files I missed last time.
37810 Fri May 10 14:35:52 BST 2002  Olly Betts <olly@survex.com>
37812         * Make sure GNU getopt is linked to everything which might need it so
37813           we build in non-glibc environments.
37815 Fri May 10 13:42:59 BST 2002  Olly Betts <olly@survex.com>
37817         * Replaced second match_sort_key optimisation with one which is
37818           faster and not flawed.
37820 Thu May 09 18:27:30 BST 2002  Olly Betts <olly@survex.com>
37822         * match_sort_key now runs at a sensible speed (approx. 20x speed
37823           up on my test case).
37825 Thu May 09 16:58:11 BST 2002  Olly Betts <olly@survex.com>
37827         * Added another optimisation for match_sort_key - my test case
37828           is now 25% faster (still slow though).
37830 Thu May 09 11:57:59 BST 2002  Olly Betts <olly@survex.com>
37832         * NEWS, PLATFORMS, README: Updated to something approximating what we
37833           want for a release.
37835         * docs/todo.xml: Updated.
37837 Thu May 09 10:57:59 BST 2002  Olly Betts <olly@survex.com>
37839         * Removed references to match_max_or_terms (which was replaced
37840           by OmQuery::OP_ELITE_SET long, long ago).
37842 Wed May 08 17:38:50 BST 2002  Olly Betts <olly@survex.com>
37844         * Improved api documentation comments.
37846 Wed May 08 17:09:14 BST 2002  Olly Betts <olly@survex.com>
37848         * Include findheaders.pl in tarball.
37850 Wed May 08 16:09:14 BST 2002  Olly Betts <olly@survex.com>
37852         * Killed off acconfig.h.
37854 Wed May 08 15:53:11 BST 2002  Olly Betts <olly@survex.com>
37856         * Added autom4te-*.cache to .cvsignore.
37858 Wed May 08 15:50:56 BST 2002  Olly Betts <olly@survex.com>
37860         * Rebuild docs on "make", not just "make dist" or "make install".
37862 Wed May 08 15:07:01 BST 2002  Olly Betts <olly@survex.com>
37864         * Added workaround for problems with <fcntl.h> on Solaris when LFS
37865           is enabled.
37867 Wed May 08 13:44:10 BST 2002  Olly Betts <olly@survex.com>
37869         * Matcher can now sort on a key.  Can be rather slow at present...
37871 Wed May 08 13:15:21 BST 2002  Olly Betts <olly@survex.com>
37873         * Updated todo.
37875 Wed May 08 12:22:53 BST 2002  Olly Betts <olly@survex.com>
37877         * Removed ltmain.sh-s from CVS.
37879 Wed May 08 12:21:32 BST 2002  Olly Betts <olly@survex.com>
37881         * buildall: run libtoolize; stripped out unnecessary stuff.
37883 Wed May 08 09:44:45 BST 2002  Olly Betts <olly@survex.com>
37885         * matcher/msetpostlist.cc: Removed bogus comment cut and pasted from
37886           matcher/mergepostlist.cc.
37888 Tue May 07 17:51:57 BST 2002  Olly Betts <olly@survex.com>
37890         * It's "m4_include", not "m4include".
37892 Tue May 07 17:52:36 BST 2002  Olly Betts <olly@survex.com>
37894         * Added autoconf/type_socklen_t macro.
37896 Tue May 07 16:50:20 BST 2002  Olly Betts <olly@survex.com>
37898         * Now require autoconf 2.50, which allows us to clean up some of the
37899           more unpleasant parts of the build system.
37901 Tue May 07 14:55:37 BST 2002  Olly Betts <olly@survex.com>
37903         * Added "match_sort_bands" option to sort results within relevance
37904           bands.  Currently the sort within each band is by document id, which
37905           isn't really very useful.  The plan is to allow sorting by a key.
37907 Tue May 07 14:54:12 BST 2002  Olly Betts <olly@survex.com>
37909         * Sorted out tests/findheaders.pl wrt last change.
37911 Tue May 07 13:12:23 BST 2002  Olly Betts <olly@survex.com>
37913         * Run perl scripts from Makefiles explicitly with $(PERL) rather than
37914           having them as generated files in AC_OUTPUT.
37916 Mon May  6 16:04:37 2002  James Aylett  <tartarus@users.sourceforge.net>
37918         * Distribution fixes: make clean should now clear up all
37919           required files.
37921 Mon May  6 14:42:46 2002  James Aylett  <tartarus@users.sourceforge.net>
37923         * Don't include dlfcn.h since we don't use it (and doesn't exist
37924           on some target platforms).
37926 Mon May  6 14:07:24 2002  James Aylett  <tartarus@users.sourceforge.net>
37928         * Minor documentation corrections.
37930 Fri May 03 18:14:14 BST 2002  Olly Betts <olly@survex.com>
37932         * Changed autoconf/automake project name to xapian-core, and updated
37933           the documentation to reflect this.
37935         * Disabled the bindings from being included in distribution tarballs.
37937 Fri May 03 18:13:43 BST 2002  Olly Betts <olly@survex.com>
37939         * Updated todo list.
37941 Fri May  3 18:02:06 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37943         * Overloading ambiguity resolutions for linux/alpha build on CF
37945 Fri May 03 17:13:36 BST 2002  Olly Betts <olly@survex.com>
37947         * buildall: Don't run configure or make; removed --no-make and --quiet.
37949 Fri May  3 16:52:01 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37951         * tests/testdata/etext.txt needs to be included in the distribution
37953 Fri May 03 16:18:38 BST 2002  Olly Betts <olly@survex.com>
37955         * Removed OmValue in favour of simply using a string (analogous to
37956           recent OmData change).
37958 Fri May 03 14:52:04 BST 2002  Olly Betts <olly@survex.com>
37960         * Removed unused om_docname typedef.
37962 Fri May 03 14:42:31 BST 2002  Olly Betts <olly@survex.com>
37964         * Terminology change - a "key" (in the OmKey sense) is now a "value".
37966 Fri May  3 14:31:57 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37968         * Fixed up todo list and HTML generation script to cope with
37969           items without an assigned priority.
37971 Fri May 03 14:29:58 BST 2002  Olly Betts <olly@survex.com>
37973         * It's HACKING (not INSTALL) that has details of developer tools.
37975 Thu May 02 15:57:48 BST 2002  Olly Betts <olly@survex.com>
37977         * Removed OmData - just return and take a string instead.
37979 Thu May 02 14:40:21 BST 2002  Olly Betts <olly@survex.com>
37981         * docs/.cvsignore: updated.
37983 Thu May 02 14:38:36 BST 2002  Olly Betts <olly@survex.com>
37985         * Removed assorted references to pthread locking; updated HACKING.
37987 Thu May 02 14:15:47 BST 2002  Olly Betts <olly@survex.com>
37989         * Stripped out OmBatchEnquire stuff, as it's unlikely to get sorted
37990           out any time soon, and it can be extracted from CVS when someone
37991           wants it.
37993 Thu May 02 13:50:04 BST 2002  Olly Betts <olly@survex.com>
37995         * Check for bison >= 1.35 in buildall.
37997 Wed May 01 17:39:57 BST 2002  Olly Betts <olly@survex.com>
37999         * Removed lingering references to Omsee and OpenMuscat.
38001 Wed May 01 16:34:13 BST 2002  Olly Betts <olly@survex.com>
38003         * Removed unused methods from NetClient (read_data and write_data).
38005 Wed May 01 14:01:12 BST 2002  Olly Betts <olly@survex.com>
38007         * Added test consistency1 to check matcher optimisations don't
38008           result in inconsistent results (i.e. that same matches and
38009           weights are returned regardless of size of mset asked for).
38011 Wed May 01 11:48:10 BST 2002  Olly Betts <olly@survex.com>
38013         * Fixed mismatched tags in todo.xml.
38015 Wed May 01 11:46:42 BST 2002  Olly Betts <olly@survex.com>
38017         * Updated todo.
38019 Wed May 01 11:40:47 BST 2002  Olly Betts <olly@survex.com>
38021         * Corrected configure warning message - it's XML::Parser not XML.
38023 Wed May 01 11:34:49 BST 2002  Olly Betts <olly@survex.com>
38025         * Tweaks to get queryparser building cleanly.
38027 Tue Apr 30 17:44:48 BST 2002  Olly Betts <olly@survex.com>
38029         * Updated query parser in extra from the updated one in omega,
38030           and fettled it to cope better with multiple instantiations
38031           (though it's a long way from being reentrant at the moment).
38033 Tue Apr 30 11:03:44 BST 2002  Olly Betts <olly@survex.com>
38035         * Updated todo.
38037 Mon Apr 29 19:28:04 BST 2002  Olly Betts <olly@survex.com>
38039         * More string.c_str() tidying.
38041 Mon Apr 29 17:41:33 BST 2002  Olly Betts <olly@survex.com>
38043         * Tidied up some uses of string.c_str().
38045         * Cleaned up todo list.
38047 Mon Apr 29 16:08:21 BST 2002  Olly Betts <olly@survex.com>
38049         * Updated buildall to check various tools have the required version
38050           numbers.
38052 Mon Apr 29 15:58:57 BST 2002  Olly Betts <olly@survex.com>
38054         * Tweaked use of HAVE_STREAMBUF
38056 Fri Apr 26 14:41:09 BST 2002  Sam Liddicott <sam@ananova.com>
38058         * Swig is now modified so it can build config.m4 and Makefile.in
38059           for php modules so I removed these from bindings/php4
38061 Tue Apr 23 18:21:03 BST 2002  Olly Betts <olly@survex.com>
38063         * Tried compiling with GCC 3.1 prerelease snapshot and fixed various
38064           STL-related warnings (mostly uses of istrstream).
38066         * Fixed usage of AM_CFLAGS and AM_CXXFLAGS.
38068 Tue Apr 23 15:48:36 BST 2002  Olly Betts <olly@survex.com>
38070         * Updated buildall (and had to tweak it again, sigh).
38072 Tue Apr 23 14:21:01 BST 2002  Sam Liddicott <sam@ananova.com>
38074         * Added typemap conversion to generate OmSettings from php hash
38075         * Changed order of classes in interface file
38077 Tue Apr 23 14:20:05 BST 2002  Olly Betts <olly@survex.com>
38079         * Revamped xapian-config and xapian.m4.  Important change - it's now
38080           "xapian-config --cxxflags" and XAPIAN_CXXFLAGS, not --cflags and
38081           _CFLAGS.
38083 Mon Apr 22 17:58:56 BST 2002  Olly Betts <olly@survex.com>
38085         * Removed leak checker.
38087 Mon Apr 22 13:40:01 BST 2002  Olly Betts <olly@survex.com>
38089         * Tiny code tweak.
38091 Mon Apr 22 13:11:32 BST 2002  Olly Betts <olly@survex.com>
38093         * Write debug log using unbuffered IO and O_APPEND which should prevent
38094           the log file becoming garbled when used from applications which use
38095           Xapian objects in multiple threads.
38097 Mon Apr 22 12:19:18 BST 2002  Olly Betts <olly@survex.com>
38099         * Updated copyright notices for last change.
38101 Mon Apr 22 11:20:28 BST 2002  Olly Betts <olly@survex.com>
38103         * Removed thread locks.
38105 Fri Apr 19 17:38:23 BST 2002  Olly Betts <olly@survex.com>
38107         * Removed completed tasks from todo list.
38109 Fri Apr 19 17:26:23 BST 2002  Olly Betts <olly@survex.com>
38111         * Removed placeholder code for OmQuery::OP_PERCENT_CUTOFF - it's
38112           actually impossible to implement since we started rescaling
38113           percentages so that 100% is attainable.
38115 Fri Apr 19 16:42:42 BST 2002  Olly Betts <olly@survex.com>
38117         * Tracked down and fixed the bug in the quartz backend which was making
38118           test poslist2 fail.
38120 Fri Apr 19 16:06:39 BST 2002  Olly Betts <olly@survex.com>
38122         * Fixed some compilation problems which I somehow failed to notice
38123           before the last check-in.
38125 Fri Apr 19 15:04:13 BST 2002  Olly Betts <olly@survex.com>
38127         * Added more RETURN(...) wrappers.
38129 Fri Apr 19 14:46:19 BST 2002  Olly Betts <olly@survex.com>
38131         * Added more DEBUGCALL tracing to quartz.
38133 Fri Apr 19 13:29:57 BST 2002  Olly Betts <olly@survex.com>
38135         * Minor tweaks to quartz_database.cc.
38137 Fri Apr 19 13:07:50 BST 2002  Olly Betts <olly@survex.com>
38139         * Moved test poslist1 into correct place and renamed it to poslist2
38140           since there's already a poslist1...
38142 Fri Apr 19 11:19:15 BST 2002  Olly Betts <olly@survex.com>
38144         * poslist1 (when actually run!) reveals that Quartz fails to throw
38145           errors in this case.  Disabled test for now, as I can't see why it
38146           fails to throw...
38148 Thu Apr 18 17:44:56 BST 2002  Olly Betts <olly@survex.com>
38150         * Added poslist1 test as suggested by a TODO entry.
38152 Thu Apr 18 14:17:24 BST 2002  Olly Betts <olly@survex.com>
38154         * buildall: Removed search for GNU make (as of automake
38155           1.5 it's not needed for automake and we aim to have portable
38156           makefiles).  Made buildall more portable.
38158 Thu Apr 18 14:16:18 BST 2002  Olly Betts <olly@survex.com>
38160         * xapian-config.nodep is a generated file, so don't look for it in
38161           srcdir.
38163 Thu Apr 18 12:45:04 BST 2002  Olly Betts <olly@survex.com>
38165         * Added bindings/php4/xapian/.cvsignore.
38167 Thu Apr 18 12:36:53 BST 2002  Olly Betts <olly@survex.com>
38169         * Minor tweaks to "Makefile" section in HACKING.
38171 Thu Apr 18 12:26:21 BST 2002  Olly Betts <olly@survex.com>
38173         * Yet more Makefile portability fixes; added section to HACKING
38174           summarising my recent experiences.
38176 Thu Apr 18 11:26:37 BST 2002  Olly Betts <olly@survex.com>
38178         * Corrected the sense of the test in the previous check-in.
38180 Thu Apr 18 11:08:04 BST 2002  Olly Betts <olly@survex.com>
38182         * Use case instead of echo/sed to replace dirname.
38184 Thu Apr 18 10:19:01 BST 2002  Olly Betts <olly@survex.com>
38186         * Another Makefile portability tweak.
38188 Wed Apr 17 16:07:02 BST 2002  Olly Betts <olly@survex.com>
38190         * bindings/php4/Makefile.am: Fixed a couple of problems with
38191           recent changes.
38193 Wed Apr 17 15:32:44 BST 2002  Olly Betts <olly@survex.com>
38195         * Makefile portability improvements.
38197 Wed Apr 17 14:29:21 BST 2002  Olly Betts <olly@survex.com>
38199         * Replaced uses of GNU make specific features with more portable
38200           ones.
38202 Wed Apr 17 12:43:07 BST 2002  Olly Betts <olly@survex.com>
38204         * Update todo list.
38206 Wed Apr 17 12:41:03 BST 2002  Olly Betts <olly@survex.com>
38208         * Removed BrightStation's logo from the documentation.
38210 Wed Apr 17 12:27:07 BST 2002  Olly Betts <olly@survex.com>
38212         * xapian-config: Removed --uninst support - it's very hard to make it
38213           work reliably and we're better off directing our efforts towards
38214           improving the library than trying to get it working and keep it
38215           working.
38217 Wed Apr 17 10:39:02 BST 2002  Olly Betts <olly@survex.com>
38219         * Fixed btreetest code to use new names "ord+" and "ord-" for
38220           datafiles; disabled LFSinsertdelete1 test as it's exactly the
38221           same as insertdelete1 (despite the comment above which suggests
38222           it tests files >2G).
38224 Mon Apr 15 17:14:22 BST 2002  Olly Betts <olly@survex.com>
38226         * Fix a few OmDatabase::InternalInterface uses I'd somehow missed.
38228 Mon Apr 15 16:08:20 BST 2002  Olly Betts <olly@survex.com>
38230         * Mark internal classes as @internal for doxygen; removed all uses
38231           of OmDatabase::InternalInterface as it's no longer needed.
38233 Mon Apr 15 15:42:47 BST 2002  Olly Betts <olly@survex.com>
38235         * Updated TODO list.
38237 Mon Apr 15 2002  Sam Liddicott <sam@ananova.com>
38239         * Hacked around bindings and bindings/php to remove some SWIG
38240           workarounds.  SWIG cvs + some new non-committed patches is need still.
38242 Mon Apr 15 12:12:05 BST 2002  Olly Betts <olly@survex.com>
38244         * stemtest: getopt fix.
38246         * stemtest.pl.in: output now: less verbose by default and coloured.
38248 Mon Apr 15 11:18:58 BST 2002  Olly Betts <olly@survex.com>
38250         * Updated HACKING to say that automake 1.5 is required, and note that
38251           automake 1.6.1 is better than 1.6.
38253 Sat Apr 13 20:35:51 2002  James Aylett  <tartarus@users.sourceforge.net>
38255         * Fixed stemtest getopt usage so it works again.
38257 Sat Apr 13 20:20:52 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
38259         * Fixed omtcpsrv getopt usage so it works again.
38261 Fri Apr 12 16:24:06 BST 2002  Olly Betts <olly@survex.com>
38263         * Require automake 1.5.
38265 Fri Apr 12 12:11:57 BST 2002  Olly Betts <olly@survex.com>
38267         * omtcpsrv: Namespace fixes.
38269 Fri Apr 12 12:25:42 BST 2002  Olly Betts <olly@survex.com>
38271         * Fixed everything to use getopt rather than icky handparsing of
38272           options.
38274 Fri Apr 12 11:26:57 BST 2002  Olly Betts <olly@survex.com>
38276         * Removed delve - it's going to be an example program.
38278 Thu Apr 11 18:09:35 BST 2002  Olly Betts <olly@survex.com>
38280         * Command line argument improvements - added FIXMEs where getopt
38281           should be used.
38283 Thu Apr 11 17:01:44 BST 2002  Richard Boulton <richard@tartarus.org>
38285         * Fixes to work with automake 1.6.1.
38286           I recommend using 1.6.1 rather than 1.6, since this fixes many
38287           bugs in 1.6.  I havn't tested with 1.6 recently, but it is likely
38288           to report problems.
38290 Thu Apr 11 17:25:37 BST 2002  Olly Betts <olly@survex.com>
38292         * Use GNU getopt.
38294 Thu Apr 11 15:06:15 BST 2002  Olly Betts <olly@survex.com>
38296         * Updated to recommend automake 1.5, noting problem with automake 1.4
38297           and that we'll probably soon insist on 1.5, and later autoconf 2.50.
38298           Also added notes on recommended and usable GCC versions.
38300 Thu Apr 11 14:23:44 BST 2002  Olly Betts <olly@survex.com>
38302         * Cleaning up build system.
38304 Thu Apr 11 13:18:23 BST 2002  Olly Betts <olly@survex.com>
38306         * Use AndPostList with boolean weights on the RHS instead of
38307           FilterPostList - this appears to fix a bug, but I suspect it's
38308           actually just moving it around.  Will investigate later.
38310 Thu Apr 11 10:11:11 BST 2002  Olly Betts <olly@survex.com>
38312         * Sorted out automake for php4 bindings.
38314 Wed Apr 10 14:44:50 BST 2002  Olly Betts <olly@survex.com>
38316         * Removed a superfluous DEBUGLINE.
38318 Tue Apr  9 19:02:09 BST 2002  Richard Boulton <richard@tartarus.org>
38320         * Fix some DEBUGLINE() macros in the matcher which had
38321           the first parameter missing.
38323 Tue Apr 09 17:50:44 BST 2002  Olly Betts <olly@survex.com>
38325         * Removed stray bit of debug code.
38327 Tue Apr 09 17:05:09 BST 2002  Olly Betts <olly@survex.com>
38329         * More debug tracing added.
38331 Tue Apr 09 10:48:42 BST 2002  Olly Betts <olly@survex.com>
38333         * Disabled pthread support by default.
38335 Sat Apr  6 20:45:21 2002  James Aylett  <tartarus@users.sourceforge.net>
38337         * Reordered some output generation in configure so it won't
38338           complain about directories not existing. (I don't understand
38339           what the problem is, but this does fix it.)
38341 Sat Apr 06 20:27:57 BST 2002  Olly Betts <olly@survex.com>
38343         * Moved a few lingering traces of XML indexer stuff to indexer
38344           subdirectory.
38346 Sat Apr 06 17:37:02 BST 2002  Olly Betts <olly@survex.com>
38348         * Removed -pedantic (read the gcc docs - it's doesn't turn on
38349           useful warnings) and fixed all the remaining compilation
38350           warnings in a non-debug build.
38352 Fri Apr 05 10:21:28 BST 2002  Olly Betts <olly@survex.com>
38354         * Removed --enable-profiling, --enable-purify, and --enable-insure.
38355           They don't do anything which can't be achieved by passing
38356           environment variables and switches to configure (now documented
38357           in HACKING).  Adding a separate switch for every profiling and
38358           code-quality tool out there isn't a sensible approach.
38360 Thu Apr 04 20:37:12 BST 2002  Olly Betts <olly@survex.com>
38362         * Updated .cvsignore files.
38364 Thu Apr 04 20:25:41 BST 2002  Olly Betts <olly@survex.com>
38366         * PTHREAD_CFLAGS was only being used for compiling C, not C++, which
38367           was causing builds to fail unless threading was disabled.  This
38368           problem has been there a long time, but until recently was hidden
38369           by the check for fdatasync erroneously linking in -lrt which pulls
38370           in pthreads anyway (at least this is the situation on Linux).
38372 Thu Apr 04 20:06:00 BST 2002  Olly Betts <olly@survex.com>
38374         * Removed XML indexer stuff from the main xapian library.  All the
38375           removed bits are now in the indexer subdirectory, ready to be
38376           reassembled into a supplementary library.
38378 Thu Apr 04 15:43:43 BST 2002  Olly Betts <olly@survex.com>
38380         * More debug tracing in the matcher.
38382 Thu Apr 04 14:17:10 BST 2002  Olly Betts <olly@survex.com>
38384         * Added debug tracing to most of the matcher.
38386 Thu Mar 28 17:21:16 GMT 2002  Olly Betts <olly@survex.com>
38388         * Give up trying to make internals private or protected in the
38389           header files in include - the consequences are just too ugly, and
38390           it's clear enough that they shouldn't be messed with except by the
38391           library itself.
38393 Wed Mar 27 10:24:26 GMT 2002  Olly Betts <olly@survex.com>
38395         * Don't add "-lrt" to the link line unless it's actually needed for
38396           fdatasync().
38398 Wed Mar 27 10:11:09 GMT 2002  Olly Betts <olly@survex.com>
38400         * Fixed two problems in the matcher which were respectively causing
38401           problems with boolean filters, and with situations where OR or
38402           ANDMAYBE decayed to AND.
38404 Fri Jan 11 18:00:44 GMT 2002  James Aylett  <tartarus@users.sourceforge.net>
38406         * Various build fixes for libxml2: define CHAR as needed,
38407           --enable-validation (off by default), check for and discard
38408           'blank' text/cdata nodes as we encounter them
38410 Fri Jan 11 15:40:50 GMT 2002  Sam Liddicott <sam@ananova.com>
38412         * Added Large File Support in the same way it was added to GNU tar.
38413           (If it's good enough for them...)
38414           This is by means of autoconf/ac_sys_largefile which I'm told is
38415           built in to later versions of autoconf, and may possibly give us
38416           trouble redefining it for those versions...  But we'll see about
38417           that when/if it happens.
38419           It seems to work fine here on some DB's which I had to stop growing
38420           cos they got too big; I'm now past the 2G boundary with no problems
38422           I guess we should still add overflow detection for 2^31 blocks.
38423           Ideas?
38425           I need some help on the btreetest.cc as I haven't yet worked out
38426           what it does; so while I've added a test, it doesn't yet test
38427           what it says it does.  I have changed btreetest.cc so you can
38428           tell it where to dump the test DB
38430 Fri Dec 21 17:48:09 GMT 2001  Olly Betts <olly@survex.com>
38432         * Fixed halflife calculation in OmBiasFunctor.
38434 Fri Dec 21 15:24:58 GMT 2001  Olly Betts <olly@survex.com>
38436         * Added a temporary API to allow use of OmBiasFunctor.
38438 Fri Dec 21 12:58:23 GMT 2001  Olly Betts <olly@survex.com>
38440         * Disable conversion of OR to AND/ANDMAYBE in matcher tree - there's
38441           a bug which sometimes manifests when there's a date filter and a
38442           threshold cutoff in omega, and results in just one match when there
38443           should be more.  I don't believe the bug is actually in OrPostList
38444           but I've been tracking it for 4 days without success and turning off
38445           this optimisation seems to stop it occurring so will have to do for
38446           now.
38448 Thu Dec 20 17:41:04 GMT 2001  Olly Betts <olly@survex.com>
38450         * matcher/multimatch.cc: added more percent_cutoff assertions.
38452 Thu Dec 20 13:41:41 GMT 2001  Olly Betts <olly@survex.com>
38454         * Fixed incorrectly classified debug message; fixed compiler warning;
38455           more comments about matches_* with a percent_cutoff.
38457 Thu Dec 20 13:09:51 GMT 2001  Olly Betts <olly@survex.com>
38459         * Better OmPostListIterator::get_description() (call get_description
38460           on internal->postlist).
38462 Thu Dec 20 12:42:55 GMT 2001  Olly Betts <olly@survex.com>
38464         * Fixed assorted problems with omtcpsrv and co from recent change.
38466 Thu Dec 20 10:41:57 GMT 2001  Richard Boulton <richard@tartarus.org>
38468         * In ./configure --help, correctly report muscat36 backend as
38469           defaulting to off.
38471 Thu Dec 20 10:36:18 GMT 2001  Olly Betts <olly@survex.com>
38473         * Don't delete internal in ~OmWritableDatabase - ~OmDatabase
38474           does that for us (internal was zeroed after delete, so this
38475           was probably harmless)
38477         * Tweaked OmEnquire::get_description() and
38478           OmPostListIterator::get_description() to do less - there's a
38479           debug related bug somewhere and get_description() should be a
38480           non-intrusive method...
38482 Thu Dec 20 10:32:56 GMT 2001  Richard Boulton <richard@tartarus.org>
38484         * Fix a couple of misquoted messages in configure.in.
38486 Tue Dec 18 23:22:00 2001  James Aylett  <tartarus@users.sourceforge.net>
38488         * Use xapian.org where appropriate in documentation references
38490 Tue Dec 18 14:32:32 2001  James Aylett  <tartarus@users.sourceforge.net>
38492         * Use xapian.org not sourceforge for schemas
38494 Mon Dec 17 18:47:08 GMT 2001  Olly Betts <olly@survex.com>
38496         * Cured problems with string('x') caused by overzealous search
38497           and replace on my part.
38499 Mon Dec 17 16:44:31 GMT 2001  Olly Betts <olly@survex.com>
38501         * Improved matches_estimated when a percent_cutoff is in effect.
38503 Sun Dec 16 18:09:28 GMT 2001  Olly Betts <olly@survex.com>
38505         * You can now register a match decider functor by name with an
38506           OmEnquire object.  It's not yet used for anything though.
38508 Sun Dec 16 17:31:08 GMT 2001  Olly Betts <olly@survex.com>
38510         * omtcpsrv: simplified arguments - just list database directories and
38511           they'll be opened with the auto backend.  Removed --im as it didn't
38512           work as advertised and nobody's noticed (as actually implemented it
38513           was useless).
38515 Sat Dec 15 14:10:32 GMT 2001  Olly Betts <olly@survex.com>
38517         * Minor update to todo.xml.
38519 Sat Dec 15 13:43:47 GMT 2001  Olly Betts <olly@survex.com>
38521         * More fettling of OmBiasFunctor stuff - still not ready for use yet...
38523 Tue Dec 11 13:06:08 GMT 2001  Olly Betts <olly@survex.com>
38525         * Don't work out probabilistic weights for boolean bits of the query
38526           (rhs of FILTER and AND_NOT) which fixes incorrect percentage weights
38527           in filtered queries.
38529 Tue Dec 11 12:26:44 GMT 2001  Olly Betts <olly@survex.com>
38531         * Added test singlesubq1 to keep an eye on can_replace_by_single_subq.
38533 Mon Dec 10 16:58:21 GMT 2001  Olly Betts <olly@survex.com>
38535         * can_replace_by_single_subq shouldn't return true for OP_ELITE_SET
38536           since you can't call set_elite_set_size() on an arbitrary subquery.
38538 Thu Dec  6 15:02:05 GMT 2001  Richard Boulton <richard@tartarus.org>
38540         * (omqueryinternal.cc, omtermlistiteratorinternal.h)
38541           Fix some compiler warnings (when compiling with no debug) due
38542           to methods which should return a value but simply contain
38543           "Assert(false);".  Throw an exception in such methods instead
38544           (after the Assert).
38546 Mon Dec 03 11:20:42 GMT 2001  Olly Betts <olly@survex.com>
38548         * New BiasPostList - not yet enabled as it needs more work.
38550 Mon Dec 03 11:16:44 GMT 2001  Olly Betts <olly@survex.com>
38552         * quartzdump: give syntax error if no tables specified.
38554 Thu Nov 29 14:10:43 GMT 2001  Olly Betts <olly@survex.com>
38556         * ExtraWeightPostlist wasn't handling prune correctly.
38558 Thu Nov 22 13:46:59 GMT 2001  Olly Betts <olly@survex.com>
38560         * Fixed segfault when percentage_cutoff emptied the proto-mset.
38562 Thu Nov 22 12:27:49 GMT 2001  Olly Betts <olly@survex.com>
38564         * Enhanced test emptyquery1.
38566 Fri Nov 16 15:32:09 GMT 2001  Olly Betts <olly@survex.com>
38568         * Added OmQuery::is_empty() method.
38570 Thu Nov 15 15:36:07 GMT 2001  Olly Betts <olly@survex.com>
38572         * Updated todo list.
38574 Thu Nov 15 13:03:05 GMT 2001  Olly Betts <olly@survex.com>
38576         * Fixed percent_cutoff problems.
38578 Wed Nov 14 12:05:44 GMT 2001  Olly Betts <olly@survex.com>
38580         * Empty OmQuery() now matches no documents (rather than causing an
38581           exception).
38583 Thu Nov 08 18:23:21 GMT 2001  Olly Betts <olly@survex.com>
38585         * SIGSTKFLT isn't portable, so added #ifdef checks for it.
38587 Wed Nov 07 15:34:29 GMT 2001  Olly Betts <olly@survex.com>
38589         * Fixed 2 GCC 3.0 warnings in muscat36 backend.
38591 Wed Nov 07 14:21:47 GMT 2001  Olly Betts <olly@survex.com>
38593         * Made doc counts returned from percentage cutoff matches more
38594           accurate.
38596 Wed Nov 07 12:30:32 GMT 2001  Olly Betts <olly@survex.com>
38598         * GCC 3.0 fixes.
38600 Tue Nov 06 11:16:42 GMT 2001  Olly Betts <olly@survex.com>
38602         * Matcher now calculates percentages like Omega does (or did as I'm
38603           about to remove that code from Omega), rather than as a percentage
38604           of the theoretical maximum possible weight.  The old way generally
38605           gives disappointingly low values, and by pushing the percentage
38606           code down into the matcher, it can be used to optimise the query.
38608 Tue Nov 06 11:13:06 GMT 2001  Olly Betts <olly@survex.com>
38610         * Quick fix for problems with null OmQuery-s.
38612 Mon Nov 05 15:52:55 GMT 2001  Olly Betts <olly@survex.com>
38614         * Added signal handling to testsuite - if a testcase generates a
38615           signal it is caught and reported, then the testsuite continues
38616           with further testcases.
38618 Wed Oct 31 14:26:59 GMT 2001  Olly Betts <olly@survex.com>
38620         * Removed needless complications in matcher when a weight threshold
38621           has been set.
38623 Tue Oct 30 16:50:46 GMT 2001  Olly Betts <olly@survex.com>
38625         * Removed superfluous lines from configure.in; fixed warning from
38626           automake 1.5.
38628 Mon Oct 29 11:54:36 GMT 2001  Olly Betts <olly@survex.com>
38630         * Changed matcher to form proto-mset using a min-heap (as described
38631           in "Managing Gigabytes", 2nd ed., pp 211-213).  Compared to the
38632           previous "nth-element" approach, this uses about half the memory,
38633           allows the min-weight based matcher optimisations to work sooner,
38634           and should be inherently faster (not yet benchmarked though).  The
38635           code's slightly simpler too.
38637 Mon Oct 29 11:53:38 GMT 2001  Olly Betts <olly@survex.com>
38639         * Fixed remote backend to pass match_cutoff setting across.
38641 Fri Oct 26 13:43:08 BST 2001  Olly Betts <olly@survex.com>
38643         * Reserve size needed for mset vector.
38645 Thu Oct 25 18:00:54 BST 2001  Olly Betts <olly@survex.com>
38647         * Fixed a couple of stray references to the old sleepycat backend.
38649 Tue Oct 23 18:19:32 BST 2001  Olly Betts <olly@survex.com>
38651         * More cleaning up of MultiMatch.
38653 Tue Oct 23 16:14:27 BST 2001  Olly Betts <olly@survex.com>
38655         * Removed RemotePostList - it was an experimental idea which proved
38656           to be too slow even on a fast network.  Cleaned up code where hooks
38657           were bodged in for it.
38659 Tue Oct 23 13:27:12 2001  James Aylett  <tartarus@users.sourceforge.net>
38661         * Added documentation of the test system (albeit brief). Also
38662           mentioned the autotools book in HACKING.
38664 Tue Oct 23 12:07:59 BST 2001  Olly Betts <olly@survex.com>
38666         * Updated .cvsignore files.
38668 Tue Oct 23 11:29:47 BST 2001  Olly Betts <olly@survex.com>
38670         * Code tidying while investigating sporadic fails from quartztest.
38672 Mon Oct 22 17:42:30 BST 2001  Olly Betts <olly@survex.com>
38674         * Minor fettles to quartztest: fixed warnings, whitespace tidying,
38675           use mkdir(...) rather than system("mkdir ...")
38677 Mon Oct 22 16:41:12 2001  James Aylett  <tartarus@users.sourceforge.net>
38679         * Renamed project to Xapian.
38681 Mon Oct 22 14:22:00 BST 2001  Olly Betts <olly@survex.com>
38683         * Fixed non-ISO C++ code so Xapian will compile under GCC 3.0
38684           (and also RedHat's "GCC 2.96").
38686 Mon Oct 22 11:21:45 2001  James Aylett  <tartarus@users.sourceforge.net>
38688         * Altered omseek-config and the AC m4 macro to make uninst
38689           executables link to the right version of the library
38691 Mon Oct 22 10:38:20 2001  James Aylett  <tartarus@users.sourceforge.net>
38693         * Minor fixes to enable build (and test) under Solaris.
38695 Fri Jun 22 13:24:59 2001  Sam Liddicott <sam@ananova.com>
38697         * Added some explicit type casts in xmlindexer and quartz backend
38698           to help gcc2.96 compile.
38700 Thu Jun 21 11:05:31 2001  James Aylett  <tartarus@users.sourceforge.net>
38702         * HACKING updated to (a) remove inaccurate statements about
38703           copyright assignment, and (b) talk about developer write
38704           access to CVS.
38706 Mon Jun 11 13:24:43 2001  James Aylett  <tartarus@users.sourceforge.net>
38708         * pthread support detected using an automake macro. Should
38709           be more portable as a result.
38711         * We need GNU make: buildall now tries to find it.
38713 Mon Jun 11 12:07:00 2001  Hein Ragas <hragas@users.sourceforge.net>
38715         * Modified QuartzWritableDatabase::do_add_document and
38716           QuartzWritableDatabase::do_replace_document to leave the PositionList
38717           empty for a term with no positions associated with it.
38719 Mon May 29 12:17:00 2001  Hein Ragas <hragas@users.sourceforge.net>
38721         * Modified QuartzPostList::add_entry to allow for adding of entries
38722           in the middle of the postlist, not only at the end.
38724 Mon May 28 12:00:00 2001  Hein Ragas <hragas@users.sourceforge.net>
38726         * Fixed a bug in replace_document for Quartz, added a test to
38727           ensure proper working of the fix.
38729 Fri Apr 27 15:16:10 2001  James Aylett  <tartarus@users.sourceforge.net>
38731         * Project name change to Omseek.
38733 Wed Apr 11 09:06:37 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38735         * Implemented deleting of items from postlists, and added some
38736           tests to check that it works properly.
38738         * Fixed a potential memory leak in QuartzPostList if an exception
38739           was thrown from the constructor.
38741         * BackendManager now sets the quartz_logfile setting, to make
38742           the logs available from the testsuite.
38744         * Added mention of quartz_logfile to docs/omsettings
38746         * Removed a bad assert from InMemoryDatabase::get_doclength()
38748 Mon Apr  9 21:48:18 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38750         * Added #include <cmath> to testutils.cc
38752 Fri Mar 30 17:37:24 BST 2001 Olly Betts
38754         * Added extra/.cvsignore
38756 Fri Mar 30 17:22:13 BST 2001 Olly Betts
38758         * Disabled allocation checking of new[] and delete[] since some STL
38759           implementations use them which leads to leaks being reported where
38760           none exist.  This is addressable longer term...
38762 Thu Mar 29 19:05:46 BST 2001  Richard Boulton <richard.boulton@omsee.com>
38764         * Add "extra" directory to om source tree, to hold extra libraries
38765           for use with omsee, which aren't part of the core.
38767         * Put a query parser into "extra".  This is roughly the parser
38768           from omega.  Needs some work: in particular, it needs to be
38769           made reentrant.
38771         * Added extra/ directory to top level Makefile.am and configure.in.
38772           Added AC_PROG_YACC to Makefile.am
38774         * Add includes of required header files to omquery.h.
38776 Wed Mar 28 17:15:22 BST 2001  Richard Boulton <richard.boulton@omsee.com>
38778         * Modifications to OmQuery.  Remove the isbool flag: there is
38779           no longer any need for the concept of a "pure boolean query".
38780           The same effect as was obtained by setting isbool can be
38781           obtained by setting the match_weighting_scheme parameter to
38782           bool.
38784         * Also, undefined queries may no longer be used when
38785           building up composite queries; the correct behaviour for this
38786           is hard to define and implement and harder to document, and
38787           removing this removes lots of special case code.
38789         * Updated network query passing code.
38791         * Remove special cases for bool weighting in localmatch and irweight.
38793         * Updated omsettings docs.  Updated comments in omsetting.h.
38795         * Updated todo.xml
38797         * Incremented network protocol version.
38799         * Added test_emptyop1, which checks what happens when an attempt is
38800           made to use an empty list of subqueries to build up a query, and
38801           then use the query.
38803         * Remove test_boolsubq1: no such thing as a boolean query now, so
38804           no need to test what happens when one is used.
38806         * Updated testsuite to use "match_weighting_scheme" setting, rather
38807           than calling OmQuery::set_bool().
38809 Wed Mar 28 15:05:46 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38811         * Fixes to InMemoryDatabase:
38812           + do_open_post_list returns an EmptyPostList rather than an
38813             assertion error if the term doesn't exist
38814           + Fixed doccount(), which wasn't decrementing on delete_doc()
38815           + Remove terms from the database when they have no more postings.
38816           + Implement collection frequencies, and run collfreq tests for
38817             inmemory.
38819 Wed Mar 28 14:24:38 BST 2001  Richard Boulton <richard.boulton@omsee.com>
38821         * Set elite set size to max(10, sqrt(number of subqueries)) by
38822           default.  This is rather more useful than the old default of 0.
38824 Wed Mar 28 10:25:35 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38826         * QuartzDatabase now implements replace_document(), and
38827           delete_document() now removes keys/attributes as well.
38828           However, postlist entries are not yet correctly removed,
38829           so this will cause problems.
38831         * Added a test for deleting/replacing documents, which passes.
38833 Tue Mar 27 17:31:58 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38835         * QuartzAttributes now has a method to delete a document's
38836           attributes, and QuartzRecordManager has a replace_ method.
38837           (But the code which uses these isn't in this commit).
38839 Thu Mar 22 15:58:08 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38841         * Change definition of OmQuery::is_defined(), so that elite set
38842           queries are undefined until a size is specified for the set.
38844 Wed Mar 21 14:29:04 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38846         * Implemented delete_document and replace_document in inmemory
38847           database.
38849 Wed Mar 21 12:39:13 GMT 2001 Olly Betts
38851         * Tweak to docs/quickstart.html.
38853 Wed Mar 21 02:50:19 GMT 2001 Olly Betts
38855         * Entirely removed sleepcat backend and all references to it.
38857         * Disable muscat36 backend by default.
38859 Tue Mar 20 18:47:12 GMT 2001 Olly Betts
38861         * open_document() now takes a lazy flag - if not set we need to check
38862           that the docid given actually exists.
38864         * heavy_duty flag now a bool instead of an int.
38866 Mon Mar 19 19:16:34 GMT 2001 Olly Betts
38868         * Added test getdoc1 to check exceptions are thrown for out-of-range
38869           docids (currently they aren't for quartz and muscat36 backends).
38871 Mon Mar 19 17:17:31 GMT 2001 Olly Betts
38873         * New simpler implementation of leak detection in testsuite.
38874           Currently doesn't support malloc/calloc/realloc/free.
38876 Mon Mar 19 16:46:16 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38878         * Further small modification to omsee-config: will now look in
38879           .libs subdirectories, too.
38881 Mon Mar 19 15:57:18 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38883         * Update omsee-config to work when a prefix is specified that
38884           points directly to the directory with the library, rather than
38885           expecting the library to be in a subdir "libs/".  (libs/ is
38886           still used if it exists).
38888         * Update omsee.m4, to use omsee-config even when using an
38889           uninstalled version of omsee.  This in turn fixes problems using
38890           uninstalled versions of omsee with STLport.
38892 Fri Mar 16 18:14:52 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38894         * Updated licenses, to include year 2001.
38896 Fri Mar 16 15:40:49 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38898         * Fix up small bug in quartztest causing it to fail for lack of an
38899           expected exception.  Initialise values in quartz_positionlist.cc
38900           when position list is not present.
38902 Thu Mar 15 17:40:38 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38904         * Make timeout absolute, rather than cumulative, when fetching
38905           multiple documents from database: if two nodes fail, the total
38906           timeout should still be that specified, not twice it.
38908         * Make the timeout set by SocketClient::set_query() get reset
38909           correctly if an exception happens (which used to prevent
38910           SocketClient::get_mset() ever getting called).
38912 Thu Mar 15 17:06:51 GMT 2001 Olly Betts
38914         * Oops, checked in too much - backing out the wrong stuff.
38916 Thu Mar 15 16:30:14 GMT 2001 Olly Betts
38918         * Include autoconf/definedir.m4 in tarball.
38920 Thu Mar 15 16:06:02 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38922         * Updated network protocol number to reflect change adding
38923           OP_ELITE_SET.
38925 Thu Mar 15 15:31:35 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38927         * QuartzPositionList should no longer complain if positional
38928           information isn't available for a particular term / document
38929           combination.
38931         * Updated todo.
38933 Thu Mar 15 13:55:53 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38935         * Removed OmDocument::set_wdf() and OmDocument::add_term().
38936           Replaced with OmDocument::add_term_nopos(), which adds a term
38937           without specifying positional information, taking an optional
38938           wdfinc parameter.  Updated testsuite correspondingly.
38940 Thu Mar 15 13:14:10 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38942         * Update TODO
38944 Wed Mar 14 17:51:40 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38946         * Added new operator OP_ELITE_SET, which replaces match_max_or_terms
38947           option.  Can now specify exactly which terms to apply max_or_terms
38948           to.  max_or_terms is obsolete: an error will be thrown if an
38949           attempt is made to use it.
38951 Wed Mar 14 15:56:20 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38953         * Added test for and implementation of multiple XOR queries.
38955         * Fix small bugs with get_termfreq_est() for xor and andnot
38956           postlists.
38958 Mon Mar  5 16:08:01 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38960         * Catch exceptions within the loop in SocketServer - exceptions
38961           should normally not kill the server.  This means that that a
38962           client still works after eg an OmDocNotFoundError, which was
38963           causing problems before.
38965 Fri Mar  2 18:15:47 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38967         * Add a new query operator, OP_WEIGHT_CUTOFF, which returns only
38968           those documents from a query which have a weight greater than a
38969           specified cutoff value.  Also added OP_PERCENT_CUTOFF, but this
38970           is not yet implemented.
38972         * Added test of new cutoff function, cutoff2.
38974         * Updated network protocol to pass new queries.  Increased protocol
38975           version number (to 10).
38977         * Added set_cutoff() function to OmQuery, to set cutoff parameter.
38979         * Updated TODO.
38981         * Remove unused member "PostList * postlist" of LocalSubMatch.
38983 Thu Mar  1 12:04:53 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38985         * Updates to HACKING.
38987 Wed Feb 28 18:42:47 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38989         * Fixes to neaten up configure output, and to test for the Perl
38990           Text::Format module, thanks to James Aylett (patch slightly
38991           modified, so if it doesn't work it's probably my fault).
38993         * configure.in checks for presence of ftime() and gettimeofday()
38995         * Added OmTime, a class to deal with times to an accuracy of
38996           microseconds, or whatever the best accuracy the system supports
38997           is.
38999         * Use OmTime in network code instead of time(NULL).
39001 Wed Feb 28 14:23:11 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39003         * Merge common code from OmSocketLineBuf::wait_for_data() and
39004           OmSocketLineBuf::do_readline() into
39005           OmSocketLineBuf::attempt_to_read(), and thus fix bug in
39006           wait_for_data() when 0 bytes returned from read().
39008 Tue Feb 27 18:40:33 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39010         * Fixes to remote matcher code to cope better with failure of
39011           submatchers:
39012           - Timeout for all submatches now correctly start at same time.
39014         * Added more extensive testing of above code, involving adding
39015           new parameters to inmemory to cause abort()s at various stages of
39016           the match.
39018         * Remove obsolete (and unused) method
39019           SocketServer::read_global_stats()
39021         * Errors are now generated from strings by using omerrortypes.h with
39022           suitable #defines before including it.  Updated todo accordingly.
39024         * Extend scope of try{} clause in socketserver, so that
39025           SocketServerFinished exception never escapes.
39027         * Default timeout in progserver increased to 30000.
39029         * Default timeout in tcpserver increased to 15000.
39031 Mon Feb 26 23:51:23 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39033         * Split query generation into stages: make new query, add subqueries,
39034           then finalise.  Add private methods to OmQuery reflecting this, and
39035           convert constructors into template methods, allowing any iterator
39036           to be used for constructing queries.  Removed reference to
39037           <vector> from omquery.h
39039         * Add omqueryinternal.cc, containing implementation of query
39040           internals. (surprise!)
39042         * OmQuery::Internal now has some helper functions to determine the
39043           properties of each particular query.  These should be converted
39044           into a lookup table, and the remaining hard-coded properties (for
39045           AND_MAYBE, AND_NOT and FILTER) factored out.
39047         * window property removed from constructor.  This can now be set by a
39048           separate call, to "OmQuery::set_window()"
39050         * Added a deleter_vector class, to store subquery pointers in a more
39051           exception-safe way.
39053         * Represent undefined queries by the new OP_UNDEF operation, rather
39054           than a dedicated flag - cleaned up some logic.
39056         * Some modifications to XOR handling: should now behave like OR and
39057           AND - doesn't need to be binary.  (*untested*)
39059         * Fixes to serialisation code in socketcommon.cc to work with new
39060           OmQuery::Internals - this should really be done in
39061           OmQuery::Internal.
39063         * One tiny fix in tcpclient.cc - an &fdset was missed for exception
39064           conditions in a select() call.
39066         * Testsuite modified and expanded to check changes to OmQuery.
39068 Mon Feb 26 18:20:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39070         * Fixed some compiler warnings reported by James Aylett.
39072 Mon Feb 26 14:27:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39074         * Avoid waiting for a timeout when closing a SocketClient.
39076 Fri Feb 23 14:38:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39078         * Updated todo.xml
39080 Thu Feb 22 18:14:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39082         * OmRegexFilterNode has an output for non-matching strings as
39083           well as matching.  "out" output renamed to "matching".
39085 Thu Feb 22 16:56:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39087         * Fixed a bug in the fetch() bits: requesting documents at the
39088           same time from different OmMSet instances could cause a
39089           document to disappear from the cache at the wrong moment.
39091 Thu Feb 22 15:39:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39093         * Updated todo.
39095 Thu Feb 22 12:14:12 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39097         * Some small changes in quartz to improve exception safety and
39098           error checking.
39100         * Remove unwanted OmExpandWeight::get_expand_k() method.
39102 Wed Feb 21 19:02:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39104         * Overhauled the OmMSet::fetch() etc. methods.  Documents are
39105           requested when fetch() is called, but are only fetched (all
39106           at once) when the first get_document() is called.
39108 Wed Feb 21 19:30:20 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39110         * Add an errorhandler member to MultiMatch, and remove it from
39111           various calls which used to pass it about.
39113         * Add an EmptyMatch object, which always returns an emptypostlist.
39115         * Implement errorhandlers at start of query for initially down
39116           nodes.  Improve test for errorhandlers to cover many more cases.
39118         * Add many debug messages to error handling code.
39120 Wed Feb 21 14:33:50 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39122         * Use a deque<> directly instead of a queue, due to conflict
39123           with Solaris headers.
39125         * Split the collect_doc loop into a separate function
39127         * SocketClient should be more robust against request_doc() being
39128           used without collect_doc().
39130 Tue Feb 20 18:01:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39132         * SocketClient implements a queue/cache system which means that
39133           collect_doc() doesn't need to be called in the same order as
39134           request_doc().
39136 Mon Feb 19 15:43:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39138         * Converted btree code to use new/delete instead of [mc]alloc/free.
39140 Mon Feb 19 13:52:23 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39142         * Added new test collapsekey2 designed to work with muscat36
39143           databases, which have different key handling.  Added two new
39144           categories of tests to cope with this.
39146         * Adjusted BackendManager's key generation, and updated
39147           test_specialterms1() accordingly.
39149 Fri Feb 16 17:26:59 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39151         * Implemented a test for keep-alives
39153         * Added "-tNNNN" option to omprogsrv to pass a timeout value in.
39155         * Added get_network_database() in apitest to set the timeout.
39157 Fri Feb 16 16:13:47 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39159         * Incremented the remote protocol version, since a new message
39160           type has been added.
39162 Fri Feb 16 15:55:31 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39164         * Added an OmDatabase keep_alive() method to gently prod any
39165           remote databases.  Applications can use it to avoid the remote
39166           servers timing out between queries.  Not properly tested yet...
39168 Thu Feb 15 19:05:24 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39170         * The remote server now supports a separate timeout used while
39171           idle, rather than actually servicing a request from the client.
39172           Options --idle-timeout and --active-timeout added to omtcpsrv,
39173           and --timeout sets both timeouts.
39175         * Added a documentation comment or two.
39177 Wed Feb 14 18:43:00 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39179         * In Muscat3.6 backends, don't read the key from the keyfile unless
39180           keyno is 0.
39182 Tue Feb 13 13:57:34 GMT 2001 Andy MacFarlane <andym@omsee.com>
39184         * Added parameter expand_k in omsettings in order to change
39185           value of weighting in expand process.
39187 Tue Feb 13 13:25:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39189         * Network timeouts now apply to write() operations as well
39190           as read().
39192         * SocketLineBuf::do_writeline() now correctly deals with EAGAIN.
39194         * SocketServer has new method writeline() which handles write
39195           access to the OmLineBuf.
39197 Mon Feb 12 12:35:41 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39199         * Make OmPositionListIterators and any other appropriate iterators
39200           (postlist, termlist) have a default constructor allowing them to
39201           be declared uninitialised.
39203 Mon Feb 12 10:51:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39205         * Updated todo.xml
39207 Thu Feb  8 17:59:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39209         * Moved omnodepad.h from include/om to indexer/indexgraph/
39211         * Updated todo.xml
39213 Thu Feb  8 17:35:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39215         * Updated todo.xml
39217 Thu Feb  8 17:00:02 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39219         * Quartz now has a metafile which for now has a magic string
39220           and a version number.
39222         * sys_open_to_read() and delete_file() exported from btree.cc.
39223           The latter was renamed to sys_unlink_if_exists().
39225         * Include btree_types.h from btree_util.h
39227 Wed Feb  7 17:33:00 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39229         * Fix to InMemory databases: terms can be added even if they
39230           don't have any positions.  (Was causing adddoc2 to fail).
39232 Tue Feb  6 18:06:13 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39234         * Rename OmMSet::fetch_items() to fetch().  Add an overloaded
39235           fetch() method taking a single iterator, to fetch a single item.
39237         * Fix some documentation comments.
39239 Mon Feb  5 19:16:45 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39241         * Update TODO
39243 Mon Feb  5 19:12:39 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39245         * Test behaviour of OmDocument methods add_term(), set_wdf(),
39246           remove_posting() and remove_term().  Fails for inmemory databases.
39248 Mon Feb  5 17:46:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39250         * Modified the behaviour of timeouts during a match.  Internally,
39251           an absolute timeout time is set from start_match().  Now remote
39252           nodes should timeout at NOW + remote_timeout, rather than
39253           waiting remote_timeout milliseconds for each read().  Needs
39254           some more testing.
39256 Mon Feb  5 17:21:52 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39258         * Fix a missing #include in socketcommon.h
39260 Mon Feb  5 17:15:46 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39262         * Sort generated todo lists.
39264 Fri Feb  2 17:44:54 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39266         * Add an OmDocument::add_term() method.
39268         * Remove an unwanted check that wdf's are greater than 0: wdf of 0
39269           _is_ allowed.
39271 Fri Feb  2 15:04:08 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39273         * Hopefully, a fix for segfaults/assertions when network errors
39274           happen halfway through a match, when handled by OmErrorHandler
39275           objects: give the place-holder EmptyTermLists weighting objects.
39277 Thu Feb  1 19:03:10 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39279         * Fixes to OmDocument interface: add parameters specifying the
39280           changes to be made to the wdf to add_posting and remove_posting,
39281           properly implement remove_posting and remove_term, including
39282           throwing of exceptions, and add a set_wdf() method to set the wdf
39283           to an absolute value.  Corresponding modifications to
39284           OmDocumentTerm.
39286         * Fix commented out errorhandler code in multimatch.cc, so it still
39287           compiles.
39289         * Add a check to avoid division by zero in bm25weight.cc
39291 Thu Feb  1 15:59:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39293         * Add a missed #include to omqueryinternal.h
39295 Thu Feb  1 14:44:04 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39297         * Add some error handler code, with a "#if 0"ed out comment,
39298           to multimatch.cc
39300 Wed Jan 31 15:45:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39302         * Remote servers should close down more gracefully when the
39303           client closes down in the middle of a request.
39305 Tue Jan 30 16:52:05 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39307         * Removed unneeded #includes of STL headers from API headers.
39309         * All #includes of files which are not installed use "" rather than
39310           <>.  This means all #includes of OM files except for those which
39311           are in example programs (and hence might be compiled against the
39312           installed library).  "" search paths are a superset of <> search
39313           paths: hence this should ensure that the om headers work however
39314           they are used.
39316         * Moved supplied OmExpandDecider subclasses into
39317           include/om/omexpanddecider.h
39319         * Remove om_termname_list from API: not used except by code which
39320           displays it, and in testsuite.
39322 Tue Jan 30 12:45:22 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39324         * Removed #include <vector> from omstem.h
39326 Tue Jan 30 11:09:29 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39328         * OmStem::get_available_languages() now returns a string
39329           rather than a vector.  Languages are space-separated.
39330           Updated apitest.
39332         * Added definition of RTLD_DEFAULT to internaltest.cc
39334 Mon Jan 29 16:11:15 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39336         * OmIndexerMessage's copy-on-write slightly more careful.
39338         * Improved debugging in OmIndexerNode
39340         * Fixed a bug in the termlistadd node - it tried to append to a
39341           non-vector.
39343 Fri Jan 26 16:21:09 GMT 2001 Olly Betts
39345         * indexerxml.cc: Removed some dead code.
39347 Fri Jan 26 16:11:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39349         * Added omindexerdescinternal.h to the Makefile
39351 Fri Jan 26 15:50:32 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39353         * Move OmQuery definition into a separate header file.
39355 Fri Jan 26 15:46:42 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39357         * Move OmQuery::OP_LEAF out of public visibility, by taking it out
39358           of the enum, making it a static const member of OmQuery::Internal,
39359           and introducing an OmQuery::Internal::op_t to store query
39360           operators in internally.  We lose the ability for the compiler to
39361           warn us if we forget to check for a particular operator in a
39362           switch statement, but this can't really be avoided.
39364 Fri Jan 26 13:49:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39366         * Added get_output_{node,pad} to OmIndexerDesc
39368         * Implemented and testes OmNodeInstanceIterator
39370         * Implemented OmIndexerBuilder::build_from_desc, which somehow
39371           hadn't been.  indextest now uses it.
39373 Thu Jan 25 18:47:08 GMT 2001 Olly Betts
39375         * Fixed various .cvsignore files (omus -> omsee, and
39376           bindings/java/.cvsignore which seemed to have been copied from
39377           the top level one at some point).
39379         * Fixed bug in OrPostList when used in a pure boolean context
39380           (uninitialised variables).
39382         * tests/internaltest.cc: removed unused reference to getopt.h.
39384         * tests/stemtest.pl.in: removed lots of bogus semicolons after
39385           closing braces.
39387 Thu Jan 25 17:53:08 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39389         * Turn debugging messages (OM_DEBUG_TYPES) off by default.
39391         * Add todo items for release to pages generated for website.
39393 Thu Jan 25 15:11:14 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39395         * Add a couple of documentation comments: we need many more of
39396           these.  No method, and certainly no class, in the API should be
39397           without an explanatory comment (not least so that they're
39398           accessible from the doxygen browser).
39400 Thu Jan 25 14:51:55 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39402         * Hide the internals of OmIndexerDesc, and adding member functions
39403           to do all the necessary operations (not all yet implemented).
39405         * Indexer internals mostly deal with OmIndexerDesc::Internal
39407         * Removed '#include <vector>' from omindexerdesc.h
39409 Thu Jan 25 13:45:49 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39411         * When setting up an RSet, allow documents to be referenced by
39412           OmMSetIterator, for convenience.
39414         * Allow OmMSetIterators and OmESetIterators to be created without
39415           initialising, also for convenience.
39417         * Include CFLAGS for STLPORT in the flags produced by omsee-config.
39419         * Change several more missed "omus"s to omsee.
39421 Thu Jan 25 13:50:06 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39423         * Changed a mention of libomus in netprogs/Makefile.am to libomsee
39425 Thu Jan 25 12:33:46 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39427         * Build only the API docs when making dist / install.  Full source
39428           docs only get built if explicitly asked for.
39430 Thu Jan 25 11:36:39 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39432         * Project name changed to Omsee.
39434           Ramifications from a technical viewpoint are:
39436           - library name changed from libomus.* to libomsee.*
39437           - libomus-config renamed to omsee-config
39438           - Autoconf macro file libomus.m4 renamed to omsee.m4,
39439             macro name OM_PATH_LIBOMUS changed to OM_PATH_OMSEE
39440             and macro now defines OMSEE_CFLAGS and OMSEE_LIBS rather
39441             than LIBOMUS_CFLAGS and LIBOMUS_LIBS.  configure arguments
39442             changed name, also.
39444 Wed Jan 24 15:57:10 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39446         * Improve test of OmMSetIterators equality comparisons.
39448         * Update TODO
39450 Wed Jan 24 15:11:11 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39452         * Renamed OmNodeConnection to OmNodePad.  The old name was
39453           confusing.
39455         * Added OmPadIterator, and OmNodeDescriptor::{in,out}puts_{begin,end}.
39456           Also implemented OmNodeDescriptor::get_type()
39458         * Added output function for OmPadIterator
39460         * Added test for OmPadIterators
39462 Tue Jan 23 19:01:29 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39464         * Remove OmBatchEnquire from system: it may return at a later date,
39465           but for now it is simply out of date and a maintenance liability,
39466           and gives no significant advantage.  Code now exists in
39467           ombatchenquire.h in CVS, but is not part of build process.
39469         * Make OmEnquire and OmMSet have reference counted internals: this
39470           introduces a further layer of indirection, but tidies up things
39471           greatly.
39473         * Remove get_docs() and get_doc() methods from OmEnquire.
39474           get_doc(docid) is catered for by OmDatabase::get_document(docid).
39475           Added OmMSetIterator::get_document() to replace get_doc on a
39476           MSetIterator.  Added OmMSet::fetch_items() to replace get_docs():
39477           it prefetches the documents (or just those specified by some
39478           MSetIterators into a cache in the Mset).
39480         * OmMSet internals now have a reference to the creating OmEnquire
39481           object: this is set up after the mset returns from the matcher.
39482           If the reference is null, the Mset was created standalone, and
39483           get_doc methods will fail.
39485         * OmMSetIterators now have a reference to the MSet, instead of a
39486           percent_factor stored.  This allows the percent_factor to be
39487           lazily calculated, and also allows get_doc to work.
39489         * Add get_rank() method to OmMSetIterators.
39491         * Improve introspection on OmDocument, and fix a bug with assignment
39492           of OmDocument (wasn't assigning most of the internals).
39494         * Add a missing std:: on a string in omstopwordnode.
39496         * Fixed several documentation comments.
39498         * Add some more debugging to quartz.
39500         * Update TODO.
39502         * Add test_fetchdocs1 to apitest.  Disable test_batchquery1.
39504         * Remove sign comparison error in VectorTermList.
39506 Tue Jan 23 16:24:04 GMT 2001 Olly Betts
39508         * No longer compile with -ansi under gcc - it causes problems by
39509           preventing Linux system headers defining various functions we need.
39511         * testsuite/testsuite.cc: when reporting exceptions, display
39512           exception's errno value if set.
39514 Tue Jan 23 15:13:58 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39516         * Killed OmIndexerBuilder::NodeType.  Now use OmNodeDescriptor
39517           in its place, getting rid of another vector usage in the API.
39519         * OmNodeDescriptor adjusted for its new role: internals are
39520           refcounted, and some query as well as setting functions.
39522         * Cast the fourth argument to getsockopt() to void *.  On Solaris
39523           that argument is char *.
39525 Tue Jan 23 11:24:13 GMT 2001 Olly Betts
39527         * Tiny tweak to da_document.cc.
39529 Fri Jan 19 18:36:15 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39531         * Removed get/set vector methods from OmSettings
39533         * Remote/prog arguments now passed in a string separated be spaces,
39534           not a vector.
39536         * split_words() moved from netutils.h to utils.{h,cc}
39538         * Some unnecessary #include <vector> lines removed from API headers
39540         * Removed get_config_vector() from OmIndexerNode
39542         * OmConstantNode no longer handles vector values, and
39543           OmStopWordNode and OmSelectItemsNode use space-separated
39544           values instead.
39546 Thu Jan 18 17:31:55 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39548         * Removed mentions of std::vector from OmIndexerMessage, and
39549           updated the relevant bits.
39551         * Fixed a bug with the copy-on-write parts of OmIndexerMessage.
39553 Thu Jan 18 17:09:43 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39555         * Fix to btreetest.cc: shouldn't fail if test data files are not
39556           available.
39558         * Fix to multimatch.cc: clamp hits values to number of documents
39559           matched after collapsing and match functors, rather than before.
39561 Thu Jan 18 14:13:21 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39563         * Fix error messages thrown by quartz when a database doesn't exist /
39564           already exists and isn't to be overwritten.
39566         * Make quartz clean up an old database directory, if
39567           database_allow_overwrite is specified, so that old base files don't
39568           confuse things.
39570 Wed Jan 17 18:18:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39572         * Added all used toplevel directories to DIST_SUBDIRS
39574 Wed Jan 17 18:13:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39576         * Martin committed changes to btree.cc which should fix some random
39577           problems experienced with quartz.
39579         * Added in a test framework for the btree code, which exhibited the
39580           bug fixed by martin until updating to his fixed version.
39582 Wed Jan 17 16:10:02 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39584         * Moved the socklen_t definition so that tcpclient.cc could see
39585           it.
39587 Tue Jan 16 20:35:18 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39589         * Fix creation of quartz databases in backendmanager: all tests should
39590           now pass.
39592 Tue Jan 16 20:28:46 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39594         * Fix quartztest so that the tables / databases get created.
39595           Implement new test "create1" to check that creation of databases
39596           works as specified.
39598         * Fix test for whether we are allowed to overwrite a database.
39600         * Implement much better logging from quartz when making new databases.
39602         * Clean up an error message from btree.cc
39604 Tue Jan 16 19:24:49 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39606         * Don't display messages about allocation failures in the first
39607           iteration: if the failures go away when repeating, we're not
39608           interested.
39610 Tue Jan 16 18:28:03 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39612         * Add two new OmSettings, for use when opening databases:
39613           database_create and database_allow_overwrite.  The idea is that
39614           databases will only be created if database_create is specified,
39615           and that when they are being created an exception will be thrown
39616           if there's an existing database unless database_allow_overwrite
39617           is specified.
39619         * Implemented database_create and database_allow_overwrite for
39620           Quartz, which is the only relevant type for now.  Note that this
39621           breaks the testsuite, quite badly.
39623         * Add OmDatabaseCreateError, which is thrown when creating a database
39624           fails.
39626 Tue Jan 16 17:08:47 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39628         * Fixed a typo in -ldl detection
39630 Tue Jan 16 15:15:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39632         * Remove OmNeedRecoveryError, and quartz's quartz_perform_recovery
39633           parameter.  Quartz now always performs recovery if needed: there
39634           is no need for this added complication.
39636         * Update TODO
39638 Tue Jan 16 14:25:03 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39640         * Changed references to SIGCLD to SIGCHLD as it's more portable.
39642 Tue Jan 16 14:02:34 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39644         * Added check for whether -ldl is necessary.
39646 Tue Jan 16 11:51:25 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39648         * Added compatibility bits for early libxml1 versions.
39650 Mon Jan 15 18:18:01 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39652         * Removed use of hstrerror, which isn't portable.
39654 Mon Jan 15 18:02:42 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39656         * Fix assertion which was the wrong way round in multimatch.cc
39658 Mon Jan 15 17:46:13 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39660         * Fix initialisation of Btree_base::sequential when creating database.
39662 Mon Jan 15 15:43:46 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39664         * Renamed some uses of XML node structure for libxml2 compatibility.
39666 Mon Jan 15 15:35:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39668         * Add some fixes to sequential access to btrees from Martin.
39670 Mon Jan 15 12:23:02 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39672         * Set matches_* to the known value of the number of hits if we have
39673           been unable to return as many hits as were requested, and therefore
39674           know the exact number.
39676         * Update test_matches1() to check this works correctly.  Passes.
39678 Fri Jan 12 17:45:27 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39680         * Implement get_doclength() for QuartzDatabase
39682         * Remove unused parameter from QuartzRecordManager::add_record()
39684 Fri Jan 12 17:14:16 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39686         * Fixed MultiAllTermsList, which had stopped working.
39688 Fri Jan 12 15:32:34 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39690         * Add test to apitest (postlist6) that doclengths got from postlists
39691           are the same as those from databases.  Fails for Quartz for the
39692           moment.
39694         * Add test to quartztest (disktable3) to try and bring out a bug in
39695           adding to tables.
39697 Fri Jan 12 15:20:09 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39699         * Fix STLport macro so that it will accept an STLport installation
39700           with foo/include/stlport and foo/lib instead of foo/stlport and
39701           foo/lib.
39703 Fri Jan 12 14:04:37 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39705         * Fixed buglet in configure.in which produced a bogus warning
39706           about regex libraries.
39708         * Added an AC_MSG_RESULT corresponding to an AC_MSG_CHECKING
39709           for the libxml flags
39711 Fri Jan 12 13:18:07 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39713         * Fixed skip_to() in QuartzAllTermsList
39715 Fri Jan 12 12:52:57 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39717         * Turn debugging off in btree.cc: accidentally committed a version
39718           with lots of verbose debugging on.
39720 Fri Jan 12 11:16:17 GMT 2001 Olly Betts
39722         * glibc 2.2 needs `#define _GNU_SOURCE' to give us RTLD_NEXT.
39724         * C++ comments changed to C comments in malloccheck.c.
39726 Thu Jan 11 16:42:07 GMT 2001 Olly Betts
39728         * Removed unnecessary `#include "alltermslist.h"' from
39729           d[ab]_database.h.
39731 Wed Jan 10 14:28:10 GMT 2001 Olly Betts
39733         * Updated various .cvsignore files.
39735 Tue Jan 09 19:03:12 GMT 2001 Olly Betts
39737         * Tidied up dead code from OmAllTermIterator.
39739 Tue Jan 09 18:41:21 GMT 2001 Olly Betts
39741         * OmAllTermsIterator merged into OmTermIterator.
39743         * When iterating over all terms, skip_to() doesn't set at_end()
39744           when it skips off the end.  Fixed except for quartz and added
39745           regression test (allterms3).
39747 Tue Jan  9 18:14:04 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39749         * Add some extra debugging code into btree code in quartz.
39751 Tue Jan  9 17:22:12 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39753         * Make skip_to() work (ie, do nothing) on OmTermIterators, when the
39754           term iterator is at_end() already.
39756 Tue Jan  9 13:32:08 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39758         * Updates to make the quartzdump utility more useful.
39760         * Added new test to test cursor behaviour in quartz.
39762 Tue Jan  9 11:31:26 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39764         * Remove an item from TODO
39766 Tue Jan  9 10:27:35 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39768         * Add a missing \ in tests/Makefile.am
39770 Mon Jan  8 19:03:42 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39772         * Increment format number in quartz/btree_base.cc.  This isn't
39773           actually due to a change in the btree format, but to ensure that
39774           some databases which were causing problems are rebuilt.
39776           We need to add quartz format numbers, separate from the btree format
39777           numbers, to check this kind of thing.
39779 Mon Jan  8 15:13:04 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39781         * Add some debugging, and fix a test data file.
39783 Mon Jan  8 13:49:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39785         * Fix failure to initialise OmMSet::Internal::have_percent_factor.
39787 Thu Jan  4 17:21:24 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39789         * Add new test for a postlist with many documents, designed to fail
39790           and exhibit the bug andy has found.  So far doesn't fail.
39792 Wed Jan  3 19:30:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39794         * Add get_percent method to OmMSetIterator.  Untested.
39796         * Add om_percent type to om_types.
39798         * Add test of sort order of terms in get_matching_terms.
39800 Tue Jan  2 15:05:53 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39802         * Move documentation of parameters for OmSettings out of omsettings.h
39803           and into docs/.  Not in distribution at the moment: it is awaiting
39804           placement into a permanent home (I think the user manual is the
39805           correct place).
39807         * Add a bm25weight_min_normlen parameter: this specifies a cutoff
39808           on the minimum value that can be used for a normalised document
39809           length: smaller values will be forced up to this cutoff.  This
39810           prevents very small documents getting a huge bonus weight.
39812 Wed Dec 20 16:54:41 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39814         * Fix warning in QuartzTable
39816 Wed Dec 20 15:13:05 GMT 2000 Olly Betts
39818         * OmTermListIterator merged into OmTermIterator.
39820         * Added OmRSet::contains() - checks if an RSet contains a given
39821           docid.
39823         * Methods returning `const om_termname' now just return
39824           `om_termname'.
39826 Tue Dec 19 16:55:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39828         * Implemented AllTermsIterator for DA and Multi databases.
39829           Added a test which actually uses a multidatabase, but
39830           disabled it as it currently fails for both Quartz and DA.
39832 Tue Dec 19 12:14:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39834         * Adjusted TODO
39836 Tue Dec 19 20:06:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39838         * Escaping for termnames in remote database communication modified
39839           to use only characters in range 33 to 126.  Should now work on all
39840           architectures.
39842         * Increased OM_SOCKET_PROTOCOL_VERSION to 8.
39844 Mon Dec 18 17:23:48 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39846         * Added "match_cutoff" option to get_mset OmSettings.
39848         * Added test for "match_cutoff" to apitest.
39850         * Updated todo.xml
39852 Mon Dec 18 17:19:40 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39854         * Implemented opening positionlists from inmemory databases.  Added
39855           a testcase as well, which is run for quartz and inmemory.
39857 Mon Dec 18 15:48:16 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39859         * Implemented AllTermsIterator for quartz.  Interaction with
39860           QuartzPostList needs to be cleaned up.
39862         * Added new functions [un]pack_string_preserving_sort(), which
39863           pack a string in a way which preserves sort order.  Added a
39864           testcase to quartztest.
39866         * Now use [un]pack_string_preserving_order() on postlist keys, so
39867           that we can get at terms in sorted order.  (And get_tname_from_key()
39868           added to separate out the term-unpacking as well as the packing)
39870         * Enabled test_allterms1 in apitest, but put it in a group of
39871           tests only run for inmemory and quartz.  This should be extended
39872           to other backends.
39874 Mon Dec 18 14:33:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39876         * Implemented tests of msetiterator and esetiterator copying and
39877           assignment.
39879         * Fix segfault when assigning to [me]setiterator to end.
39881         * Updated todo.xml
39883 Mon Dec 18 13:52:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39885         * Move creation of first key in a quartz postlist into a named
39886           function (was scattered through the code).
39888 Mon Dec 18 11:19:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39890         * Update todo.xml
39892 Mon Dec 18 10:47:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39894         * Remove const from reverse_iterators in api_db.cc, so get around
39895           brokenness of egcs 1.1.2
39897 Mon Dec 18 09:41:54 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39899         * Added apitest_space.txt to the Makefile.am
39901 Sun Dec 17 16:15:03 GMT 2000 Olly Betts
39903         * Replaced all API uses of om_termname_list with OmTermIterator.
39905 Fri Dec 15 18:54:10 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39907         * Implemented OmAllTermsIterator interface in API.  It works for
39908           inmemory - the rest haven't been implemented yet.  The test
39909           is commented out.
39911 Fri Dec 15 15:47:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39913         * Updated TODO.
39915         * database returns positionlists as AutoPtrs; this neatens some of
39916           the code from the previous changelog entry, and makes explicit the
39917           ownership of the pointer.  postlists and termlists should be
39918           AutoPtrs, likewise.
39920 Fri Dec 15 14:59:41 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39922         * Make OmPositionListIterators retrieved from OmPostListIterators
39923           valid indefinitely (were only valid until OmPostListIterator was
39924           moved).  This makes them consistent with OmPositionListIterators
39925           retrieved from OmDatabases.
39927         * Renamed PostList::get_position_list() to read_position_list.
39928           Added PostList::open_position_list() which opens a new positionlist
39929           and returns it as an AutoPtr.
39931 Fri Dec 15 13:09:51 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39933         * Make TODO.release file, containing TODO items for next release.
39935 Fri Dec 15 12:06:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39937         * QuartzDatabases now autoflush after 1000 changes.
39939 Fri Dec 15 11:40:37 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39941         * Fix segfault in quartz_table
39943 Fri Dec 15 11:23:15 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39945         * Removed begin/end_session() from quartztest
39947 Thu Dec 14 19:19:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39949         * Done todo item: For writable databases, make the behaviour currently
39950           obtained by calling begin_session() and later end_session() the
39951           default behaviour.  If users want the changes to be applied
39952           immediately following a change, they should call flush().
39954 Thu Dec 14 17:48:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39956         * Fix problem with recalc_maxweight() not being called before a
39957           get_maxweight() in multimatch.cc if a node prunes at the top level,
39958           since recalculate_w_max wasn't being checked at this point.
39959           Introduced helper function getorrecalc_maxweight() to tidy this up.
39961         * Tidy up Asserts in common/netutils.h.
39963 Thu Dec 14 17:11:17 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39965         * Adjusted todo.xml
39967 Thu Dec 14 16:21:27 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39969         * Removed handling of OmDatabaseModifiedError in the API - it's
39970           up to the users to know what to do.  Disabled quartzoverwrite2
39971           as it's now inappropriate.
39973         * Added OmDatabase::reopen() to help them do so.
39975         * Adjusted todo.xml
39977 Thu Dec 14 14:38:39 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39979         * Added another quoting regression test.
39981 Thu Dec 14 14:36:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39983         * Fixed the quoting _again_, since it broke with backslashes.
39985 Thu Dec 14 12:49:58 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39987         * Fix problems with recalculation of maxweight in postlists, causing
39988           AssertParanoid at multimatch.cc:393.  When a prune was happening,
39989           recalc_maxweight flag was not always being set, because some
39990           {next,skip_to}_handling_prune() methods weren't being passed the
39991           matcher, and a default argument of 0 was being used.  I've now
39992           removed the default argument and pass the matcher always.
39994           Sometimes the recalc could perhaps be avoided, but this is
39995           certainly safer for now.
39997 Thu Dec 14 12:30:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39999         * Sleepcat is now disabled by default.
40001         * Fixed a problem with tabs not being quoted in the remote case.  All
40002           control characters are now quoted.  Incremented the protocol ver
40003           number.
40005 Thu Dec 14 11:54:17 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40007         * Added regression test to check that all characters can be
40008           are safe to exist in document keys.
40010         * Fixed OmDebug so that it can display messages containing zero bytes
40011           (use fwrite instead for fprintf)
40013 Wed Dec 13 18:43:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40015         * Add regression tests to apitest to check that OmMSet and OmESet
40016           begin() and end() iterators compare equal if the mset is empty.
40017           Fix matchfunctor used in test_matchfunctor1 so that it works for
40018           Muscat3.6 databases.
40020 Wed Dec 13 18:35:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40022         * Fixed bugs in OmMSet and OmESet iterators: begin() when the set
40023           was empty produced an invalid iterator, and the assignment
40024           operators would have failed when end iterators were involved.
40026         * Added a check in test_matchfunctor1() that the mset returned is
40027           not empty.
40029 Wed Dec 13 18:18:09 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40031         * Turn off tests involving terms with newlines or zero bytes in terms
40032           with Muscat3.6 backends; these can't be expected to work.
40034 Wed Dec 13 18:06:29 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40036         * Uncommented the code in pctcutoff1 - test now passes.
40038 Wed Dec 13 17:53:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40040         * Fix: m36_key_file parameter wasn't being set with DA flimsy
40041           databases (thanks to Mark Hagger).
40043         * indextest.cc changed to use "\n" instead of endl - compiles
40044           with STLport again.
40046 Wed Dec 13 17:27:17 GMT 2000 Olly Betts
40048         * OmMSet is now an STL compatible container.
40050         * Om*Iterator::difference_type was unsigned - now signed.
40052         * net/readquery.ll: fixed compiler warning.
40054         * Remote backend was defaulting to collapse on key 0.
40056 Wed Dec 13 16:48:49 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40058         * Add handling of DatabaseModified to OmEnquire::get_mset()
40060 Wed Dec 13 16:28:47 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40062         * Escape zero bytes in the network protocol, since these were
40063           breaking things when being passed across as part of keys.
40065         * Add test of having zero bytes in the collapse keys.
40067         * In testsuite, only display the context of errors if there is one
40068           present.
40070 Wed Dec 13 14:44:46 GMT 2000 Olly Betts
40072         * Implemented OmMSet::operator[]().
40074 Wed Dec 13 14:30:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40076         * Added support for handling overwritten database conditions.
40077           Currently works for OmDocument::get_{data,key}().
40079 Wed Dec 13 13:20:45 GMT 2000 Olly Betts
40081         * Elaborated API hitlist in todo.xml.
40083 Wed Dec 13 12:28:18 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40085         * Fix to BackendManager to stop it removing tables prematurely.
40087 Wed Dec 13 11:49:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40089         * Apply the stemmer to query terms used in spaceterms1.  (Not doing
40090           so caused the test to fail spuriously on local databases, since the
40091           terms are stemmed at index time).  The test still fails with da and
40092           db databases.
40094         * Fixed a problem when stats were unpacked from the network stream,
40095           where term names were not correctly unquoted.  This led to double
40096           quoting of global statistics.
40098 Wed Dec 13 02:49:05 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40100         * Implement copy and assignment methods for OmPositionListIterator.
40102 Wed Dec 13 02:37:14 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40104         * ESet and MSet iterators now cope with being copied / assigned when
40105           the internals are null.
40107         * Added copy method to OmPositionListIterator interface.  No
40108           implementation for this yet though, or for the already existing
40109           assignment method.
40111         * Added a couple of easy items to the todo list to check regarding
40112           iterators.
40114 Wed Dec 13 02:19:50 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40116         * Fix small bug in mset_range_is_same{,_weights}()
40118 Wed Dec 13 02:07:59 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40120         * And add copy and assignment for OmESet, similarly.
40122 Wed Dec 13 01:58:38 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40124         * Add copy and assignment operators to OmMSet so that the internals
40125           get copied (rather than just the pointer to them).  Really want a
40126           small internals class, holding a refcount to the real internals, or
40127           else to use refcntptrs for the members of OmMSet::Internal which are
40128           potentially large (eg, items)
40130 Wed Dec 13 01:05:44 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40132         * Add Asserts to api/omdatabaseinternal.cc to ensure that there is at
40133           least one database present when opening termlists, etc.  This should
40134           really be done by throwing errors.
40136         * Add destructor to OmMSet, deleting internals.
40138         * Implement getting positionlists from QuartzDatabases.
40140         * Fix bug in copy constructor of OmDocument::Internal - some fields
40141           were not being copied.
40143         * Fix api_db.cc so it compiles: code referring to mset by subscripting
40144           temporarily commented out.
40146 Tue Dec 12 20:05:10 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40148         * Fix bug with truncation of intermediate keys in btrees.
40150 Tue Dec 12 18:33:12 GMT 2000 Olly Betts
40152         * OmMSet::get_docs() now takes sane parameters.
40154         * Various test programs updated to nearly work with new OmMSet
40155           interface.
40157 Tue Dec 12 17:18:33 GMT 2000 Olly Betts
40159         * Finished cleaning up OmMSet; updated TODO to reflect this.
40161 Tue Dec 12 17:16:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40163         * Fix bug with sorting keys in btrees.
40165         * Various fixes to quartzdump.
40167 Tue Dec 12 15:40:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40169         * Nettest compiles with new OmMSet interface.
40171 Tue Dec 12 15:09:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40173         * Fixed an endless loop in QuartzWritableDatabase::do_delete_document.
40175 Tue Dec 12 15:07:39 GMT 2000 Olly Betts
40177         * OmMSetItem replaced by OmMSetIterator.
40179         * Added OmESet::empty().
40181         * Fixed == on OmESetIterator.
40183 Tue Dec 12 14:16:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40185         * Renamed arguments to compare_keys()
40187 Tue Dec 12 12:05:24 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40189         * Added quartzdump utility to dump the contents of a quartz table.
40191 Tue Dec 12 10:54:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40193         * Added constructors and destructor to OmRSet.
40195 Mon Dec 11 16:32:07 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40197         * Remove caching of average length in OmDatabaseInternal, was breaking
40198           asking for the average length of a database which was being
40199           modified.
40201 Mon Dec 11 16:03:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40203         * If no documents in database, don't divide by zero in
40204           omdatabaseinternal.cc
40206         * If a document object doesn't come from the database, when iterating
40207           through its termlist don't open postlists from the nonexistent
40208           database; open them from the DocumentTerm objects in the document
40209           instead.
40211         * Remove old unused and undefined method
40212           OmDocument::Internal::add_posting()
40214 Mon Dec 11 13:53:18 GMT 2000 Olly Betts
40216         * omenquire.h: Removed superfluous declaration of OmMSetCmp.
40218 Mon Dec 11 13:38:12 GMT 2000 Olly Betts
40220         * Updated TODO list.
40222 Mon Dec 11 13:24:45 GMT 2000 Olly Betts
40224         * OmRSet internals encapsulated.
40226 Mon Dec 11 12:42:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40228         * OmIndexerMessage::get_element and ...::operator[] now have
40229           non-const versions.  Fixes const-warning in omstemmernode.cc.
40231 Mon Dec 11 12:17:32 GMT 2000 Olly Betts
40233         * Better typedef-s for Om*Iterator::difference_type.
40235 Sun Dec 10 17:51:41 GMT 2000 Olly Betts
40237         * Corrected various typedef-s for Om*Iterator.
40239 Sun Dec 10 17:28:59 GMT 2000 Olly Betts
40241         * Updated TODO to reflect OmESet being cleaned up.
40243         * Term position argument to OmDocument::add_posting() is now
40244           optional (as it was for OmDocumentContents).
40246 Sun Dec 10 16:55:17 GMT 2000 Olly Betts
40248         * OmESetItem is dead - long live OmESetIterator!
40250         * net/socketclient.cc: fixed compiler warning.
40252         * net/socketserver.cc: fixed compiler warning.
40254 Sun Dec 10 13:29:15 GMT 2000 Olly Betts
40256         * Started to encapsulate OmESet/OmESetItem interface.  Interface is
40257           close, but currently implementation is exposed in omenquire.h.
40259         * apitest wasn't running puncterms1 or spaceterms1 - fixed.
40261 Sun Dec 10 11:34:39 GMT 2000 Olly Betts
40263         * om/autoptr.h -> autoptr.h in lots of places.
40265 Fri Dec  8 17:20:04 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40267         * Updated indextest to not use AutoPtr<OmIndexer>
40269 Fri Dec  8 17:14:09 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40271         * Oops - removed one too many #include "autoptr.h"
40273 Fri Dec 08 16:50:42 GMT 2000 Olly Betts
40275         * Updated TODO.
40277 Fri Dec  8 16:44:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40279         * IndexerBuilder now returns OmIndexer objects instead of
40280           AutoPtr<OmIndexer>.  OmIndexer's internals are reference
40281           counted.
40283         * Moved autoptr.h from include/om to common/, since it's no
40284           longer used in the API.
40286 Fri Dec  8 16:22:48 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40288         * Fixed omstemmer node bug and made debug slightly more verbose
40289           in indextest.cc.
40291 Fri Dec  8 16:13:36 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40293         * Added a test for OmIndexerMessage to indextest
40295         * Added output operator for OmIndexerMessage
40297         * Fixed a bug introduced into omvectorsplit node
40299         * Changed couts in indextest.cc to touts.
40301 Fri Dec 08 14:53:24 GMT 2000 Olly Betts
40303         * quartztest: removed OmDocumentTerm reference so that it'll
40304           compile (tests fail though).
40306 Fri Dec  8 14:42:46 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40308         * OmIndexerMessage is now a class by itself, replacing OmIndexerData
40309           and the typedef to AutoPtr<OmindexerData>.  It's now a copy-on-write
40310           object.
40312         * The indexer stuff all changed.
40314 Fri Dec 08 14:24:02 GMT 2000 Olly Betts
40316         * omindexdoc.{cc,h}: no longer used so removed.
40318         * Pushed OmDocumentTerm from API level into the internals of the
40319           library.
40321         * Updated TODO.
40323 Fri Dec 08 12:08:49 GMT 2000 Olly Betts
40325         * delve: if just given a database (or list of databases), report the
40326           number of documents and average document length.
40328 Thu Dec  7 20:39:24 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40330         * Fix bug: Om*Iterators which were created over empty lists didn't
40331           have null internals, causing them not to compare equal to end
40332           iterators.
40334         * Added many asserts to iterator code.
40336 Thu Dec  7 20:02:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40338         * Removed OmTermListIteratorMap - OmTermListIterator can now be
40339           across either a map or an actual termlist.
40341         * Om*Iterator classes all now delete internals when reaching end,
40342           freeing resources sooner and making the comparison operators much
40343           simpler.
40345 Thu Dec  7 18:33:03 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40347         * Updates to TODO
40349 Thu Dec  7 18:32:39 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40351         * Implementation of write locks for Quartz
40353 Thu Dec  7 18:28:55 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40355         * Fix to backendmanager which doesn't return writable databases
40356           unnecessarily (which breaks things when there are write locks)
40358 Thu Dec  7 18:25:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40360         * Added test for Quartz write locks
40362 Thu Dec  7 17:56:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40364         * Add OmDocument::set_data() method which takes a string, instead of
40365           an OmData object.  This allows, implicitly, use of const char *'s
40366           as well.
40368         * Further fixes to quartztest.  It now compiles (though I've not
40369           tried linking it yet...)  :)
40371 Thu Dec  7 17:49:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40373         * Fixed omkeylistiterator return types.
40375 Thu Dec  7 17:27:57 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40377         * Moved get_document() from OmWritableDatabase to OmDatabase.
40379         * Added -> operator to OmKeyListIterator.  Fixed return values
40380           and constness of Om*Iterator::operator *() methods.
40382         * Some fixes to quartztest.cc, but not enough to get it compiling.
40384 Thu Dec 07 16:21:28 GMT 2000 Olly Betts
40386         * Some work on getting quartztest working.
40388 Thu Dec 07 16:10:00 GMT 2000 Olly Betts
40390         * The library now builds, but "make check" still fails.
40392 Thu Dec  7 15:39:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40394         * Fixes to testsuite/index_utils.cc to not segfault.
40396 Thu Dec  7 14:31:56 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40398         * Fixes to api_db.cc so that it compiles.
40400 Wed Dec  6 18:50:48 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40402         * Add test for terms with spaces, newlines, zero bytes, or
40403           backslashes.
40405         * Updates to TODO
40407 Wed Dec 06 18:18:16 GMT 2000 Olly Betts
40409         * Woohoo!  Now builds with just --disable-indexer!
40410           (still doesn't pass any tests).
40412 Wed Dec 06 17:24:19 GMT 2000 Olly Betts
40414         * Minor fix.  Now builds with --disable-indexer
40415           --disable-quartz-backend (but doesn't pass any tests).
40417 Wed Dec 06 16:35:34 GMT 2000 Olly Betts
40419         * Fixed up lots of build errors.
40421 Wed Dec 06 14:56:59 GMT 2000 Olly Betts
40423         * Begin the long job of replacing OmDocumentContents with
40424           OmDocument.  Won't currently build - expect the tree to be broken
40425           for a few days.  As usual, if you want a working build, use the
40426           "snapshot_latest" tag.
40428 Wed Dec  6 12:03:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40430         * Backed out yesterday's overwritten-handling stuff.
40432 Wed Dec  6 11:36:55 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40434         * Increase sleep in tcpclient1 to 3 (did tcpmatch1 last time, duh!)
40436 Tue Dec  5 17:13:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40438         * QuartzDocument now has a QuartzTableManager pointer rather than
40439           two QuartzTable pointers.
40441         * QuartzDatabase::do_get_document_internal() copes with Btree
40442           overwritten conditions.
40444         * QuartzDocument methods cope with Btree overwritten conditions
40446         * New method QuartzTableManager::reopen_tables_because_overwritten()
40447           for helping with the above.
40449         * New test in quartztest for testing overwritten problems from the
40450           API rather than just internally to Quartz.
40452         * Fixed a typo in omsettings.h comment (quartz_dir used to refer to
40453           a sleepycat database)
40455 Tue Dec  5 16:53:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40457         * Update todo.
40459         * Fix undesirable assert in stats.h
40461 Tue Dec  5 15:41:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40463         * Replace OmMSet::docs_considered with
40464           OmMSet::matches_{lower_bound,estimated,upper_bound}, giving more
40465           useful information.
40467         * PostLists now have get_termfreq_{min,est,max}(), instead of
40468           get_termfreq(), so the postlist tree can be used to calculate
40469           the matches_* values for the mset.  Implemented for all the
40470           postlist subclasses.
40472           LeafPostList's still has a virtual get_termfreq() method,
40473           and implements get_termfreq_* in terms of it, so database postlists
40474           don't need to be modified.
40476         * Passing of MSets across network modified to pass the new
40477           information.
40479         * PendingMSet uses the values from the mset to return the values
40480           of get_termfreq_*().  This assumes that recalc_maxweight has been
40481           called first, which is has been.
40483         * Muscat36 databases get_termfreq() methods fixed to use a
40484           LeafPostList rather than a PostList.
40486         * Renamed test docs_considered1 to matches1, and add several
40487           more cases to it.
40489 Tue Dec 05 15:38:27 GMT 2000 Olly Betts
40491         * Added tests/testdata/apitest_punc.txt to distribution.
40493 Tue Dec 05 15:07:26 GMT 2000 Olly Betts
40495         * Oops, failed to add new file `tests/testdata/apitest_punc.txt'
40496           with last check-in.
40498 Tue Dec 05 14:34:04 GMT 2000 Olly Betts
40500         * OmTermListIterator implemented for an OmDocument with terms stored
40501           in a map rather than coming from a Document.
40503         * Fixes to remote protocol so solve problems with terms with
40504           punctuation in (regression test punc_terms1).
40506 Mon Dec  4 15:02:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40508         * Makefile tweak in docs/
40510 Mon Dec 04 14:13:05 GMT 2000 Olly Betts
40512         * More OmDocument work.
40514 Mon Dec  4 11:43:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40516         * Renamed OmMSet::mbound to docs_considered.
40518 Mon Dec  4 10:11:11 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40520         * Added some more std:: prefixes for STLport.
40522 Fri Dec  1 17:45:01 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40524         * Increase the sleep after the server is started by tcpclient1 to 3
40525           seconds so that the server is more likely to have started when
40526           then test ran.  This seems to be what was causing the test to
40527           randomly fail.  Really, we want a better solution to this (such as
40528           the server picking a port and writing it out on stdout once it is
40529           listening.)
40531 Fri Dec  1 17:27:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40533         * Swapped the ports used by tcpclient1 and tcpmatch1 to see if the
40534           random failures follow suit.
40536 Fri Dec  1 17:21:07 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40538         * Another minor fix to work with STLport.
40540 Fri Dec  1 17:01:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40542         * Add std::'s and similar to fix compilation with STLport.
40544         * Fix bug in expander due to nth_element being called on the wrong
40545           element.  This is the counterpoint of the bug fixed on Nov 24th
40546           with the matcher.
40548 Fri Dec  1 16:30:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40550         * Minor tweaks in error strings.
40552 Fri Dec 01 12:57:59 GMT 2000 Olly Betts
40554         * Corrected erroneous documentation comment.
40556 Thu Nov 30 18:50:16 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40558         * OmSettings no longer throws exceptions internally (at the cost of
40559           slightly more code duplication).
40561 Thu Nov 30 18:05:39 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40563         * Add a few std::'s to strings which had been missed.
40565 Thu Nov 30 16:41:11 GMT 2000 Olly Betts
40567         * OmDocument::Internal now knows its OmDatabase.
40569 Thu Nov 30 16:40:33 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40571         * Add context to network errors thrown from OmSocketLineBuf.
40573 Thu Nov 30 16:21:47 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40575         * Added a quartz test for largish bitmaps.
40577         * Fixed the code so that the above test would pass.
40579 Thu Nov 30 16:10:37 GMT 2000 Olly Betts
40581         * OmDocument::add_posting() pretty much done.
40583 Thu Nov 30 15:51:46 GMT 2000 Olly Betts
40585         * More work on OmDocument::add_posting().
40587         * Added OmTermListIterator::positionlist_begin() and
40588           OmTermListIterator::positionlist_end().
40590 Thu Nov 30 14:16:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40592         * Fixed a prototype bug introduced with the last commit.
40594 Thu Nov 30 13:23:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40596         * Bcursor::find_key now more const-correct.
40598         * Bcursor_create now returns an AutoPtr.  The resultant changes
40599           fixed a memory leak.
40601         * New exception: OmDatabaseModifiedError.  Thrown when an open
40602           revision of a table is no longer valid due to multiple updates.
40604         * quartzoverwrite1 test re-enabled, and passes.
40606 Thu Nov 30 13:23:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40608         * nettest now uses quartz backend: should always run all tests now
40609           (apart from tcpdead1, which doesn't work).
40611 Wed Nov 29 19:46:22 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40613         * In testsuite, report the context of Om exceptions as well as their
40614           type and message.
40616 Wed Nov 29 18:30:10 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40618         * Add "remote_connect_timeout" parameter to be supplied when opening
40619           a remote database, to specify a separate timeout for the connect
40620           operation to that used once the connection has been opened.
40622         * Add setting of the context of errors thrown by tcpclient or
40623           progclient, so that the node which failed can be determined.
40625 Wed Nov 29 17:50:03 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40627         * Reworked Btree_base::read() a bit so that it's hopefully more
40628           readable.
40630         * Hopefully fixed a bug when the bitmap approaches 1k.
40632         * Fix to catch problems re-opening databases after an apply in
40633           Quartz.
40635 Wed Nov 29 17:30:26 GMT 2000 Olly Betts
40637         * Added OmDocument::termlist_begin() and OmDocument::termlist_end()
40639 Wed Nov 29 16:53:13 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40641         * Comment out quartzoverwrite1 test so that it doesn't cause problems
40642           for other developers.
40644 Wed Nov 29 16:27:19 GMT 2000 Olly Betts
40646         * docid now in Document class rather than subclasses.
40648 Wed Nov 29 14:54:13 GMT 2000 Olly Betts
40650         * leafdocument.cc renamed to document.cc
40652         * Document class now has a pointer to the associated Database class
40653           so we can open termlists, etc.
40655 Wed Nov 29 14:03:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40657         * Add quartztest to test for case when a database block gets
40658           overwritten.  Currently, this fails because an exception doesn't
40659           get thrown when it should.
40661 Wed Nov 29 13:18:24 GMT 2000 Olly Betts
40663         * LeafDocument class renamed to Document.
40665 Wed Nov 29 12:35:49 GMT 2000 Olly Betts
40667         * Added OmDocument::remove_posting(), OmDocument::remove_term(),
40668           and OmDocument::clear_terms()
40670 Wed Nov 29 12:31:22 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40672         * Added another revision number in the middle of the base file,
40673           before the bitmap.  Also now check that there isn't any extra
40674           data at the end after we finish reading it.  Incremented the
40675           database format.
40677 Wed Nov 29 11:55:03 GMT 2000 Olly Betts
40679         * Added OmDocument::remove_key() and OmDocument::clear_keys()
40681 Tue Nov 28 18:34:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40683         * Btree bitmap now merged with base - one object, one file.
40685 Tue Nov 28 17:13:56 GMT 2000 Olly Betts
40687         * Added OmDocument::set_data()
40689 Tue Nov 28 16:47:06 GMT 2000 Olly Betts
40691         * Started to alter OmDocument to be a general purpose document class
40692           which includes the functionality currently in OmDocumentContents.
40694 Tue Nov 28 15:08:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40696         * Added OmSplitOnCharsNode, which does a subset of OmRegexSplitNode
40697           but less slowly.
40699         * Modified RegexSplit node and regexcommon so that less copying
40700           of strings is needed.
40702 Tue Nov 28 13:42:41 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40704         * Moved the Btree's bitmap into a separate object.
40706 Tue Nov 28 13:06:36 GMT 2000 Olly Betts
40708         * Eliminated OmDocumentParams.
40710         * Removed unnecessary mutex from OmDocument::Internal.
40712 Mon Nov 27 18:45:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40714         * Implement get_position_list() on databases.  Untested.  Also needs
40715           some work to make consistent with open_position_list() on posting
40716           lists: see todo list.
40718 Mon Nov 27 18:29:00 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40720         * Change #define LEVEL ... to #define GET_LEVEL ... in btree_util.h:
40721           fixes problem reported by includetest
40723 Mon Nov 27 18:20:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40725         * Added a set of modifications to the todo.xml.  Also, add a
40726           "release" field, recording the release that the work must be
40727           performed by.
40729 Mon Nov 27 18:08:35 GMT 2000 Olly Betts
40731         * A RefCntPtr now copes with being assigned to itself (used to
40732           delete the underlying object if the reference count was 1).  Added
40733           regression test (refcnt2).
40735         * Now overwrite pointer inside RefCntPtr before deleting the pointed
40736           to object so there's no window where another thread can access the
40737           pointer and get the just-deleted object.
40739 Mon Nov 27 14:36:59 GMT 2000 Olly Betts
40741         * OmError class now optionally stores an errno value.
40743 Mon Nov 27 13:04:18 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40745         * Quartztest builds its test databases in a subdirectory, which
40746           is now in .cvsignore, so we shouldn't get cvs complaining about
40747           so many unknown files any more.
40749 Mon Nov 27 12:53:16 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40751         * Another TODO item.
40753 Mon Nov 27 12:15:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40755         * Added a couple of new items to the todo list.
40757 Fri Nov 24 19:23:56 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40759         * Quartztests now deletes all old tables, so that database formats
40760           don't cause problems.
40762 Fri Nov 24 19:03:59 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40764         * Added std:: prefix to lots of strings which didn't have it.
40765           I've probably added some where they shouldn't be: there were rather
40766           a lot of cases of this.
40768 Fri Nov 24 18:27:06 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40770         * Major bug fix!  When removing elements, matcher was performing
40771           nth_element() on the first element to be thrown away, rather than
40772           the lowest element to keep.  This meant that, after throwing away
40773           low scoring items, items.back() was a random item rather than the
40774           lowest scoring item.  This caused the min weight for getting into
40775           the mset to go up faster than it should have done, and generally
40776           broke everything.
40778           It will be interesting to compare evaluation measures before and
40779           after this fix.
40781 Fri Nov 24 15:34:17 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40783         * Declare this to be version 0.4.1