backends/chert/chert_table.cc: Initialise last_readahead - was
[xapian.git] / xapian-core / ChangeLog
blob09763af72bff86ad6c3c25623826b2a3094b1b70
1 Sat Sep 26 00:31:45 GMT 2015  Olly Betts <olly@survex.com>
3         * backends/chert/chert_table.cc: Initialise last_readahead - was
4           causing testsuite failures under valgrind.
6 Fri Sep 25 06:28:02 GMT 2015  Olly Betts <olly@survex.com>
8         * net/length.cc,net/length.h: Provide overloads for unsigned, unsigned
9           long, and unsigned long long, rather than uint32_t and uint64_t -
10           this avoids overload resolution failing when we pass a type which
11           isn't one which uint32_t or uint64_t is a typedef to.  (see #385)
13 Fri Sep 25 04:10:00 GMT 2015  Olly Betts <olly@survex.com>
15         * api/vectortermlist.cc: Check decoded length.
17 Sun Sep 13 08:27:53 GMT 2015  Olly Betts <olly@survex.com>
19         * common/socket_utils.cc: Change C-style cast to reinterpret_cast.
21 Wed Sep 02 03:13:45 GMT 2015  Olly Betts <olly@survex.com>
23         * docs/stemming.rst,languages/armenian.sbl,languages/basque.sbl,
24           languages/catalan.sbl: Update snowball website links to
25           snowballstem.org.  Correct "2-clause BSD" to "3-clause BSD".
27 Sun Aug 30 04:43:49 GMT 2015  Olly Betts <olly@survex.com>
29         * net/remote_protocol.rst: Markup tweak.
31 Thu Aug 13 08:56:25 GMT 2015  Olly Betts <olly@survex.com>
33         * backends/remote/remote-database.cc: Improve error when the client and
34           server remote protocol versions aren't compatible.
36 Tue Aug 11 09:32:46 GMT 2015  Olly Betts <olly@survex.com>
38         * docs/: Strip out "quickstart" examples which are out of date and
39           rather redundant with the "simple" examples.
41 Tue Aug 11 08:24:48 GMT 2015  Olly Betts <olly@survex.com>
43         * pkgconfig/xapian-core.pc.in: Fix library name in .pc file to say
44           "xapian" not "xapian-core".  Reported by Eric Lindblad to the
45           xapian-devel list.
47 Tue Jul 07 01:37:00 GMT 2015  Olly Betts <olly@survex.com>
49         * api/omenquire.cc,api/query.cc,backends/chert/,backends/database.cc,
50           backends/database.h,backends/glass/,common/io_utils.cc,
51           common/io_utils.h,configure.ac,include/xapian/enquire.h,
52           include/xapian/query.h,matcher/multimatch.cc: Where posix_fadvise()
53           is available, use it to prefetch postlist Btree blocks from the
54           level below the root block which will be needed for postlists of
55           terms in the query, and similarly for the record/docdata table
56           when MSet::fetch() is called.  Based on patch by Will Greenberg
57           in #671.
59 Mon Jul 06 09:44:54 GMT 2015  Olly Betts <olly@survex.com>
61         * common/safeunistd.h,configure.ac: Don't provide our own
62           implementation of sleep() under __WIN32__ if there's already one -
63           mingw provides one, and in some situations it seems to clash with
64           ours.  Reported to xapian-discuss by John Alveris.
66 Mon Jun 29 12:10:22 GMT 2015  Olly Betts <olly@survex.com>
68         * backends/chert/chert_compact.cc: Need <unistd.h> for unlink() on
69           FreeBSD, reported by Germán M. Bravo via github PR 72.
71 Wed Jun 24 10:07:05 GMT 2015  Olly Betts <olly@survex.com>
73         * tests/harness/testutils.cc,tests/harness/testutils.h: Use
74           'Xapian::docid' instead of 'unsigned int' so that things work with
75           64 bit docids (see #385).
77 Tue Jun 23 13:38:54 GMT 2015  Olly Betts <olly@survex.com>
79         * api/snipper.cc,api/snipperinternal.h: Use appropriate typedefs
80           rather than unsigned int.  Split out of patch by Dylan Griffith in
81           #385.
83 Tue Jun 23 13:32:36 GMT 2015  Olly Betts <olly@survex.com>
85         * backends/chert/chert_database.cc,backends/chert/chert_types.h,
86           backends/glass/glass_database.cc,backends/glass/glass_defs.h: Add
87           constants CHERT_MAX_DOCID and GLASS_MAX_DOCID for the largest docid
88           which the backends support, independent of the size of type
89           Xapian::docid.  (helps #385)
91 Tue Jun 23 13:19:06 GMT 2015  Olly Betts <olly@survex.com>
93         * tests/api_backend.cc: Add regression test for #678.
95 Tue Jun 23 13:04:06 GMT 2015  Olly Betts <olly@survex.com>
97         * api/,backends/remote/net_postlist.cc,
98           backends/remote/remote-database.cc,
99           geospatial/latlong_posting_source.cc,net/,tests/unittest.cc: Split
100           decode_length() into versions which decode a 32 vs 64 bit value,
101           and which check that there's at least the decoded length in bytes
102           in the source data.  (Fixes #678 and helps #385)
104 Tue Jun 23 11:49:15 GMT 2015  Olly Betts <olly@survex.com>
106         * net/remoteserver.cc: Check length of key in MSG_SETMETADATA.
108 Sat Jun 20 13:05:50 GMT 2015  Olly Betts <olly@survex.com>
110         * common/str.h,tests/,tests/harness/,tests/internaltest.cc,
111           tests/perftest/perftest.cc,tests/perftest/perftest_matchdecider.cc,
112           tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc,
113           tests/soaktest/soaktest_queries.cc,tests/termgentest.cc,
114           tests/unittest.cc: Make str() private to the library, and use
115           C++11 std::to_string() to convert numbers to std::string in the
116           testsuite.  (ticket #63)
118 Sat Jun 20 12:32:13 GMT 2015  Olly Betts <olly@survex.com>
120         * tests/api_unicode.cc: Fix trailing whitespace introduced by previous
121           commit.
123 Sat Jun 20 06:31:27 GMT 2015  Olly Betts <olly@survex.com>
125         * tests/api_unicode.cc,unicode/Makefile.mk,
126           unicode/UnicodeData-README.txt,unicode/UnicodeData.txt:
127           Update to Unicode 8.0.0.  (fixes #680)
129 Thu Jun 11 11:57:50 GMT 2015  Olly Betts <olly@survex.com>
131         * include/xapian/queryparser.h: Remove XAPIAN_CONST_FUNCTION marker
132           from sortable_serialise_() helper, as it writes to the passed in
133           buffer, so it isn't const or pure.  Fixes decvalwtsource2 testcase
134           failure when compiled with clang.
136 Thu Jun 11 05:05:27 GMT 2015  Olly Betts <olly@survex.com>
138         * examples/xapian-metadata.cc: Extend "list" subcommand to take
139           optional key prefix.
141 Sat Jun 06 11:02:50 GMT 2015  Olly Betts <olly@survex.com>
143         * queryparser/queryparser.lemony: Use C++11 auto and container
144           iteration for cleaner code.
146 Fri Jun 05 12:08:02 GMT 2015  Olly Betts <olly@survex.com>
148         * api/omenquire.cc,api/omenquireinternal.h,
149           backends/remote/remote-database.cc,backends/remote/remote-database.h,
150           include/xapian/matchspy.h,matcher/,net/remoteserver.cc,
151           tests/api_none.cc: Add support for optional reference counting of
152           MatchSpy objects.
154 Fri Jun 05 02:55:54 GMT 2015  Olly Betts <olly@survex.com>
156         * backends/remote/remote-database.h: Correct doxygen comment for
157           internal method.
159 Thu Jun 04 12:44:00 GMT 2015  Olly Betts <olly@survex.com>
161         * examples/quest.cc: Prefer pre-increment ++.
163 Thu Jun 04 12:42:49 GMT 2015  Olly Betts <olly@survex.com>
165         * tests/api_compact.cc,tests/api_posdb.cc: Remove unused variables.
167 Thu Jun 04 12:42:04 GMT 2015  Olly Betts <olly@survex.com>
169         * tests/api_backend.cc: Fix compilation in case where S_ISSOCK() isn't
170           defined.
172 Thu Jun 04 12:41:31 GMT 2015  Olly Betts <olly@survex.com>
174         * languages/compiler/generator.c: Remove redundant assignment.
176 Thu Jun 04 12:40:52 GMT 2015  Olly Betts <olly@survex.com>
178         * languages/compiler/generator.c: Remove extra "break;".
180 Thu Jun 04 12:39:51 GMT 2015  Olly Betts <olly@survex.com>
182         * include/xapian/query.h: Remove bogus extra "Query::" qualifier from
183           fake Query constructor prototypes provided for SWIG.
185 Thu Jun 04 12:38:36 GMT 2015  Olly Betts <olly@survex.com>
187         * api/documentvaluelist.h,api/leafpostlist.h,api/matchspy.cc,
188           include/xapian/,net/length.cc: Mark constructors taking a
189           single argument as "explicit" to avoid unwanted implicit
190           conversions.
192 Mon Jun 01 13:11:02 GMT 2015  Olly Betts <olly@survex.com>
194         * NEWS.SKELETON: Remove section for "flint backend" from template.
196 Mon Jun 01 13:09:55 GMT 2015  Olly Betts <olly@survex.com>
198         * NEWS,configure.ac: Update for 1.3.3.
200 Mon May 25 04:33:15 GMT 2015  Olly Betts <olly@survex.com>
202         * NEWS: Update.
204 Sun May 24 12:52:47 GMT 2015  Olly Betts <olly@survex.com>
206         * tests/api_postingsource.cc: timer_create() seems to always fail on
207           AIX with EAGAIN, so just skip the matchtimelimit1 testcase there.
209 Sun May 24 11:48:30 GMT 2015  Olly Betts <olly@survex.com>
211         * net/tcpserver.cc: Under __WIN32__, inet_ntop()'s second parameter
212           is 'void*' (to POSIX says it should be 'const void*').
214 Sun May 24 11:46:25 GMT 2015  Olly Betts <olly@survex.com>
216         * common/safenetdb.h: Under __WIN32__, MSDN says that newer platforms
217           need <ws2def.h> for AI_* constants.  And mingw doesn't seem to
218           define AI_NUMERICSERV yet.
220 Sun May 24 10:41:39 GMT 2015  Olly Betts <olly@survex.com>
222         * common/safewindows.h,configure.ac: Under __WIN32__, we need to
223           specify Vista as the minimum supported version to get the
224           AI_ADDRCONFIG flag.  Older versions seem to all be out of support
225           anyway.
227 Sun May 24 06:46:15 GMT 2015  Olly Betts <olly@survex.com>
229         * net/tcpclient.cc: Add missing declaration of variable under
230           __WIN32__.
232 Sun May 24 06:39:56 GMT 2015  Olly Betts <olly@survex.com>
234         * tests/harness/testsuite.h: Simplify FAIL_TEST and SKIP_TEST
235           slightly.
237 Sat May 23 11:52:03 GMT 2015  Olly Betts <olly@survex.com>
239         * tests/harness/backendmanager_remotetcp.cc: Don't leave an extra fd
240           open when starting xapian-tcpsrv for remotetcp tests.
242 Sat May 23 10:12:31 GMT 2015  Olly Betts <olly@survex.com>
244         * tests/harness/backendmanager_remotetcp.cc: Add spaces between literal
245           strings and macros which expand to literal strings for C++11
246           compatibility in __WIN32__-specific code.
248 Fri May 22 03:22:03 GMT 2015  Olly Betts <olly@survex.com>
250         * NEWS: Update.
252 Wed May 20 14:24:03 GMT 2015  Olly Betts <olly@survex.com>
254         * include/xapian/version_h.cc: If old and new __GXX_ABI_VERSION are
255           both >= 1002 (which means GCC >= 3.4), then issue a warning about
256           mismatching versions instead of an error.  The changes in these
257           versions are bug fixes for corner cases, so there's a good chance of
258           things working - e.g. building xapian-bindings with GCC 5.1 (which
259           defaults to __GXX_ABI_VERSION 1008) against xapian-core built with
260           GCC 4.9 (1002) seems to work OK.  A warning is still useful as a
261           clue to what is going on if linking fails due to a missing symbol.
263 Wed May 20 13:47:50 GMT 2015  Olly Betts <olly@survex.com>
265         * net/serialise.cc: Don't use encode_length() on a bool - it's
266           overkill, and leads to a warning from GCC 5.1 (due to the
267           comparison (bool_value < 255) from the template expansion
268           always being true).
270 Wed May 20 01:49:18 GMT 2015  Olly Betts <olly@survex.com>
272         * api/matchspy.cc: Fix comparison function not to return true for two
273           equal elements, which fixes matchspy4 test failure with clang and
274           libc++.
276 Wed May 20 00:20:56 GMT 2015  Olly Betts <olly@survex.com>
278         * configure.ac: Disable "<FUNCTION> is expected to return a value"
279           warning from Sun's C++ compiler, as it fires even for functions we
280           end in a "throw" statement.  Genuine instances will be caught by
281           compilers with superior warning machinery.
283 Mon May 18 04:18:37 GMT 2015  Olly Betts <olly@survex.com>
285         * configure.ac: Arrange to pass command line option so that xlC
286           actually fails to compile the test code for typeid() when RTTI isn't
287           enabled.
289 Sun May 17 11:35:36 GMT 2015  Olly Betts <olly@survex.com>
291         * backends/glass/glass_version.cc: When reporting an error that the
292           glass format version doesn't match, don't append an uninitialised
293           char[] buffer to the error string (code accidentally left behind
294           by the previous change in this area).
296 Sat May 16 12:08:17 GMT 2015  Olly Betts <olly@survex.com>
298         * common/socket_utils.cc: Fix casts on the 4th argument of
299           setsockopt() so they compile on platforms which expect
300           char * or const char * there.
302 Fri May 15 13:24:55 GMT 2015  Olly Betts <olly@survex.com>
304         * configure.ac: Enhance the probe for whether the test harness can use
305           RTTI so that it works for xlC (which defaults to not generating
306           RTTI).
308 Fri May 15 12:28:32 GMT 2015  Olly Betts <olly@survex.com>
310         * common/debuglog.h: Remove commented out STATIC_ASSERT() which
311           is conceptually flawed.
313 Fri May 15 12:27:45 GMT 2015  Olly Betts <olly@survex.com>
315         * common/omassert.h,common/pack.h,tests/api_wrdb.cc,
316           tests/internaltest.cc: Replace STATIC_ASSERT() with C++11's
317           static_assert().
319 Fri May 15 11:34:47 GMT 2015  Olly Betts <olly@survex.com>
321         * common/stringutils.cc: Use static_assert rather than an adhoc check
322           via a negative array size.
324 Fri May 15 11:16:18 GMT 2015  Olly Betts <olly@survex.com>
326         * common/io_utils.cc: Replace the code used on platforms without
327           F_DUPFD with simpler code which actually compiles.
329 Fri May 15 03:43:16 GMT 2015  Olly Betts <olly@survex.com>
331         * pkgconfig/xapian-core.pc.in: Include @ldflags@ in pkg-config .pc
332           file.
334 Fri May 15 03:33:40 GMT 2015  Olly Betts <olly@survex.com>
336         * pkgconfig/xapian-core.pc.in: Fix include directory reported by
337           pkg-config.
339 Fri May 15 03:31:43 GMT 2015  Olly Betts <olly@survex.com>
341         * configure.ac,pkgconfig/xapian-core.pc.in,xapian-config.in: When
342           compiling with xlC on AIX, _LARGE_FILES gets defined by
343           AC_SYS_LARGEFILE to enable large file support, and defining this
344           changes the ABI of std::string, so include it in xapian-config
345           --cxxflags and the pkg-config equivalent.
347 Fri May 15 02:52:10 GMT 2015  Olly Betts <olly@survex.com>
349         * tests/Makefile.am,tests/perftest/Makefile.mk: Use $(NO_INSTALL)
350           rather than @NO_INSTALL@ to allow make-time overriding.
352 Fri May 15 02:33:11 GMT 2015  Olly Betts <olly@survex.com>
354         * tests/soaktest/Makefile.mk: Use -no-fast-install instead of
355           -no-install for linking soaktest on platforms where libtool issues
356           a warning for -no-install, like we already do for all the other test
357           programs.
359 Fri May 15 02:14:16 GMT 2015  Olly Betts <olly@survex.com>
361         * examples/simpleexpand.cc,examples/simpleindex.cc,
362           examples/simplesearch.cc: '#include <config.h>' in the examples, as
363           when compiling with xlC on AIX, _LARGE_FILES gets defined by
364           AC_SYS_LARGEFILE to enable large file support, and defining this
365           changes the ABI of std::string, so it also needs to be defined when
366           compiling code using Xapian.
368 Thu May 14 03:17:28 GMT 2015  Olly Betts <olly@survex.com>
370         * backends/chert/chert_cursor.cc: Correct delete to delete [].
372 Tue May 12 14:33:28 GMT 2015  Olly Betts <olly@survex.com>
374         * docs/deprecation.rst: Add deprecation of --preserve-nonduplicates
375           which happened in 1.2.4.
377 Tue May 12 07:38:12 GMT 2015  Olly Betts <olly@survex.com>
379         * Makefile.am: Actually use $(NO_UNDEFINED).
381 Tue May 12 06:40:38 GMT 2015  Olly Betts <olly@survex.com>
383         * configure.ac: Only pass -no-undefined when linking the library if
384           it's actually required for the current platform.  Sun C++ doesn't
385           link the C++ runtime libraries to shared objects, so the build
386           fails with -no-undefined.
388 Tue May 12 06:39:26 GMT 2015  Olly Betts <olly@survex.com>
390         * INSTALL,configure.ac: Fix comment and doc typos.
392 Tue May 12 03:49:38 GMT 2015  Olly Betts <olly@survex.com>
394         * configure.ac: Add workaround for odd <cmath> issue with Sun C++.
396 Tue May 12 03:49:15 GMT 2015  Olly Betts <olly@survex.com>
398         * configure.ac: On Solaris, inet_ntop() needs -lnsl.
400 Tue May 12 03:48:48 GMT 2015  Olly Betts <olly@survex.com>
402         * api/keymaker.cc: Fix error compiling with Sun C++.
404 Tue May 12 03:07:06 GMT 2015  Olly Betts <olly@survex.com>
406         * include/xapian/attributes.h: Fix typo in definition of
407           XAPIAN_NOTHROW() definition for C++11 compilers other than GCC and
408           MSVC.
410 Tue May 12 01:48:19 GMT 2015  Olly Betts <olly@survex.com>
412         * exception_data.pm: Fix not to parse mentions of XAPIAN_THROW() in
413           comments.
415 Mon May 11 14:16:22 GMT 2015  Olly Betts <olly@survex.com>
417         * HACKING: libtool 2.4.6 is now used for snapshots and releases.
419 Mon May 11 14:14:04 GMT 2015  Olly Betts <olly@survex.com>
421         * common/str.cc,expand/bo1eweight.cc,geospatial/geoencode.cc,
422           matcher/multiandpostlist.cc,net/remoteconnection.cc,weight/:
423           Fixes for errors when compiling with Sun C++.
425 Mon May 11 10:53:47 GMT 2015  Olly Betts <olly@survex.com>
427         * common/log2.h,configure.ac: Change probe for log2() to check for a
428           declaration and '#include <cmath>' to get it to fix build on Solaris
429           with Sun C++.  C++11 compilers should all provide log2(), but let's
430           not rely on that just yet as it's easy to provide a fallback
431           implementation.
433 Mon May 11 07:04:06 GMT 2015  Olly Betts <olly@survex.com>
435         * common/getopt.cc,net/tcpserver.cc: Fix clang warnings on OS X.
436           Reported by Germán M. Bravo.
438 Mon May 11 06:29:42 GMT 2015  Olly Betts <olly@survex.com>
440         * api/constinfo.cc,docs/doxygen_api.conf.in,
441           docs/doxygen_source.conf.in,include/xapian/: C++11's noexcept
442           needs to be on definitions as well as declarations, but GCC
443           function attributes must only be on declarations, so split
444           XAPIAN_NOEXCEPT off from XAPIAN_NOTHROW.
446 Sun May 10 13:26:24 GMT 2015  Olly Betts <olly@survex.com>
448         * include/xapian/queryparser.h,queryparser/queryparser_internal.h,
449           tests/api_none.cc: Add support for optional reference counting of
450           FieldProcessor objects.
452 Sun May 10 11:07:36 GMT 2015  Olly Betts <olly@survex.com>
454         * include/xapian/intrusive_ptr.h,include/xapian/queryparser.h,
455           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
456           tests/api_none.cc: Add support for optional reference counting of
457           ValueRangeProcessor objects.
459 Thu May 07 12:42:11 GMT 2015  Olly Betts <olly@survex.com>
461         * bin/xapian-replicate.cc,common/socket_utils.cc,common/socket_utils.h,
462           net/replicatetcpclient.cc,net/replicatetcpclient.h: Set SO_KEEPALIVE
463           for xapian-replicate's connection to the master, and add command
464           line option to allow setting socket-level timeouts (SO_RCVTIMEO and
465           SO_SNDTIMEO) on platforms that support them.  Fixes #546, reported
466           by nkvoll.
468 Thu May 07 12:00:15 GMT 2015  Olly Betts <olly@survex.com>
470         * bin/xapian-replicate.cc: Fix connection timeout to be 10 seconds
471           rather than 10000 seconds which is has been since 1.2.3.
473 Tue May 05 02:38:37 GMT 2015  Olly Betts <olly@survex.com>
475         * net/tcpserver.cc: Use inet_ntop() instead of inet_ntoa() - the
476           latter isn't thread-safe.
478 Tue May 05 02:05:27 GMT 2015  Olly Betts <olly@survex.com>
480         * include/xapian/queryparser.h: Update documentation to reflect that
481           the database passed to QueryParser::set_database() is no longer
482           used to expand wildcards and partial terms.
484 Mon May 04 11:32:40 GMT 2015  Olly Betts <olly@survex.com>
486         * api/postlist.cc,api/postlist.h,common/remoteprotocol.h,matcher/,
487           net/serialise.cc,tests/api_backend.cc: Fix sort by value when
488           multiple databases are in use and one or more are remote.  Fixes
489           #674, reported by Dylan Griffith.
491 Sun May 03 12:41:58 GMT 2015  Olly Betts <olly@survex.com>
493         * docs/deprecation.rst,include/xapian/queryparser.h,
494           queryparser/queryparser.cc,queryparser/queryparser.lemony,
495           queryparser/queryparser_internal.h,tests/queryparsertest.cc:
496           Allow setting the expansion limits and types for wildcards
497           and partial terms in the QueryParser independently.  Partial
498           terms now default to the 100 most frequent matching terms.
499           Deprecate set_max_wildcard_expansion() in favour of new
500           set_max_expansion() method which can set expansion limits
501           for partial terms too.  Completes #608.
503 Sat May 02 09:20:30 GMT 2015  Olly Betts <olly@survex.com>
505         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
506           include/xapian/query.h,queryparser/queryparser.lemony,
507           tests/api_query.cc: Add a choice of ways to apply the limit on
508           wildcard expansion.  Fixes #608, reported by boomboo.
510 Fri May 01 14:53:16 GMT 2015  Olly Betts <olly@survex.com>
512         * tests/api_replicate.cc: Reenable replicate3 for glass, as it no
513           longer fails.
515 Fri May 01 13:38:48 GMT 2015  Olly Betts <olly@survex.com>
517         * common/autoptr.h: Just map AutoPtr to std::unique_ptr now we require
518           C++11.
520 Fri May 01 13:33:28 GMT 2015  Olly Betts <olly@survex.com>
522         * matcher/multimatch.cc,net/progclient.cc: IRIX is dead, so remove
523           lingering traces of support for SGI's compiler.
525 Fri May 01 08:59:13 GMT 2015  Olly Betts <olly@survex.com>
527         * HACKING,INSTALL: STLport was last released in 2008, so (a) it's no
528           longer actively developed and (b) it won't support C++11, so strip
529           out documentation which mentions it.
530         * configure.ac: For Sun's C++ compiler, -std=c++11 enables C++11
531           support, and is incompatible with -library=stlport, so remove code
532           to enable that later option.
534 Fri May 01 01:37:24 GMT 2015  Olly Betts <olly@survex.com>
536         * configure.ac: Tweak comment to match xapian-omega's configure.
538 Fri May 01 01:36:41 GMT 2015  Olly Betts <olly@survex.com>
540         * configure.ac: Set default value for AUTOM4TE before AC_OUTPUT so the
541           default will actually get used.
543 Fri May 01 01:36:05 GMT 2015  Olly Betts <olly@survex.com>
545         * configure.ac: Add explicit AC_CANONICAL_HOST.
547 Fri May 01 01:08:56 GMT 2015  Olly Betts <olly@survex.com>
549         * api/matchspy.cc,tests/api_nodb.cc: Eliminate needless uses of
550           AutoPtr.
552 Fri May 01 00:37:42 GMT 2015  Olly Betts <olly@survex.com>
554         * tests/internaltest.cc: Remove self-assignment check of AutoPtr as
555           that doesn't work under C++11 when AutoPtr is unique_ptr, and add
556           other checks of reassignment which should work for both.
558 Fri May 01 00:37:09 GMT 2015  Olly Betts <olly@survex.com>
560         * tests/api_postingsource.cc: Remove C++11 specific test which doesn't
561           actually work with C++11.
563 Fri May 01 00:33:43 GMT 2015  Olly Betts <olly@survex.com>
565         * tests/harness/backendmanager.cc,
566           tests/harness/backendmanager_remotetcp.cc,
567           tests/harness/testsuite.h,tests/harness/testutils.h: Add spaces
568           between literal strings and macros which expand to literal strings
569           for C++11 compatibility.
571 Thu Apr 30 14:41:59 GMT 2015  Olly Betts <olly@survex.com>
573         * backends/chert/chert_table.cc,backends/glass/glass_table.cc: Remove
574           duplicate includes of "omassert.h".
576 Thu Apr 30 14:41:31 GMT 2015  Olly Betts <olly@survex.com>
578         * backends/glass/glass_freelist.cc: Add missing explicit include of
579           "omassert.h",
581 Thu Apr 30 14:38:06 GMT 2015  Olly Betts <olly@survex.com>
583         * HACKING,backends/chert/chert_table.cc,
584           backends/chert/chert_version.cc,backends/glass/glass_table.cc,
585           common/omassert.h: Remove CompileTimeAssert() and just use
586           C++11's static_assert instead.
588 Thu Apr 30 14:28:10 GMT 2015  Olly Betts <olly@survex.com>
590         * backends/glass/glass_freelist.cc: Drop conditionals for GCC >= 3.4
591           as we now require >= 4.4.
593 Thu Apr 30 14:26:13 GMT 2015  Olly Betts <olly@survex.com>
595         * api/omdatabase.cc,include/xapian/queryparser.h,
596           tests/harness/backendmanager.h: Drop workarounds for ancient Sun
597           C++ compilers, as we now require a recent version for C++11 support.
599 Thu Apr 30 14:22:46 GMT 2015  Olly Betts <olly@survex.com>
601         * INSTALL: IRIX is past EOL so drop information about IRIX make.
603 Thu Apr 30 14:22:10 GMT 2015  Olly Betts <olly@survex.com>
605         * configure.ac: OS X >= 10.4 apparently supports symbol visibility, so
606           update comment.
608 Thu Apr 30 14:21:37 GMT 2015  Olly Betts <olly@survex.com>
610         * common/unordered_map.h: No longer relevant now we require C++11.
612 Thu Apr 30 13:59:16 GMT 2015  Olly Betts <olly@survex.com>
614         * HACKING,INSTALL,configure.ac,xapian-config.in: Require a C++
615           compiler - the minimum required GCC version is now probably GCC 4.4.
617 Thu Apr 30 13:48:54 GMT 2015  Olly Betts <olly@survex.com>
619         * xapian-config.in: Remove superfluous comment left over from code
620           refactoring.
622 Thu Apr 30 13:47:30 GMT 2015  Olly Betts <olly@survex.com>
624         * xapian-config.in: Fix the include directory reported by --swigflags
625           for an installed copy to include the "/xapian-1.3" component for
626           a development version.
628 Thu Apr 30 12:34:14 GMT 2015  Olly Betts <olly@survex.com>
630         * api/omenquire.cc: Fix for C++11 where AutoPtr is unique_ptr.
632 Thu Apr 30 12:20:22 GMT 2015  Olly Betts <olly@survex.com>
634         * api/replication.cc,backends/chert/chert_database.cc,
635           backends/chert/chert_table.cc,backends/chert/chert_version.cc,
636           backends/glass/,backends/remote/remote-database.cc,bin/,
637           examples/copydatabase.cc,examples/quest.cc,
638           examples/xapian-metadata.cc,net/tcpclient.cc,
639           queryparser/queryparser.lemony: Add spaces between literal strings
640           and macros which expand to literal strings for C++11 compatibility.
642 Thu Apr 30 12:17:17 GMT 2015  Olly Betts <olly@survex.com>
644         * bin/xapian-tcpsrv.cc: Use STRINGIZE() to include defaults literally
645           in string for --help.
647 Thu Apr 30 10:48:11 GMT 2015  Olly Betts <olly@survex.com>
649         * HACKING: Update URL.
651 Thu Apr 30 10:47:10 GMT 2015  Olly Betts <olly@survex.com>
653         * m4/ax_cxx_compile_stdcxx_11.m4: Add support for HP's aCC (untested
654           as I no longer have access to this compiler).
656 Thu Apr 30 05:30:13 GMT 2015  Olly Betts <olly@survex.com>
658         * m4/ax_cxx_compile_stdcxx_11.m4: Add macro from autoconf-archive to
659           detect any compiler options needed to enable C++11 support (not yet
660           used).
662 Thu Apr 30 05:14:56 GMT 2015  Olly Betts <olly@survex.com>
664         * common/posixy_wrapper.cc: O_RDONLY, etc are better described as
665           "POSIX" than "ANSI".
667 Thu Apr 30 05:12:33 GMT 2015  Olly Betts <olly@survex.com>
669         * configure.ac,xapian-config.in: Rename ANSI_CXXFLAGS to ISO_CXXFLAGS
670           and talk about ISO C++ in configure messages.
672 Thu Apr 30 05:10:40 GMT 2015  Olly Betts <olly@survex.com>
674         * .gitignore: Adjust for m4 subdirectory to only match files which
675           aren't in git.
677 Thu Apr 30 04:07:05 GMT 2015  Olly Betts <olly@survex.com>
679         * xapian-config.in: Fix typo so cached result of test in
680           is_uninstalled() is actually used on subsequent calls.  Fixes #676,
681           reported (with patch) by Ryan Schmidt.
683 Wed Apr 29 03:00:32 GMT 2015  Olly Betts <olly@survex.com>
685         * backends/chert/chert_database.cc,backends/glass/glass_database.cc:
686           Fix get_changeset_revisions() not to potentially read uninitialised
687           data if a changeset file is truncated.
689 Wed Apr 29 00:09:57 GMT 2015  Olly Betts <olly@survex.com>
691         * backends/chert/chert_databasereplicator.cc: Use return value of
692           get_message_chunk() rather than ignoring it and repeating the check
693           in the caller.
695 Tue Apr 28 22:22:01 GMT 2015  Olly Betts <olly@survex.com>
697         * bin/xapian-progsrv.cc: Fix comment typo.
699 Tue Apr 28 04:51:33 GMT 2015  Olly Betts <olly@survex.com>
701         * backends/chert/chert_cursor.cc,backends/chert/chert_table.cc,
702           backends/glass/glass_cursor.cc,backends/glass/glass_table.cc:
703           Potentially increment the cursor version on cancel() or when the
704           database is reopened, and flag the current cursor version as used
705           when a cursor is rebuilt.  Fixes #675, reported by Germán M. Bravo.
706         * tests/api_backend.cc: Add regression test cursorbug1 based on
707           reproducer supplied by Germán.
709 Thu Apr 23 05:25:48 GMT 2015  Olly Betts <olly@survex.com>
711         * matcher/exactphrasepostlist.cc: When matching an exact phrase, if a
712           term doesn't occur where we want, we can advance "term 0" using
713           skip_to() based on where the term does next occur rather than just
714           calling next() on it.
716 Thu Apr 23 05:03:28 GMT 2015  Olly Betts <olly@survex.com>
718         * matcher/nearpostlist.cc: Be lazier about opening PositionList
719           objects, as that causes a read of all the data for that
720           positionlist.
722 Thu Apr 23 04:11:30 GMT 2015  Olly Betts <olly@survex.com>
724         * matcher/nearpostlist.cc: Make code for scanning window for duplicate
725           positions a little clearer.
727 Wed Apr 22 13:52:55 GMT 2015  Olly Betts <olly@tartarus.org>
729         * matcher/nearpostlist.cc: Fix "/*" within comment.
731 Wed Apr 22 12:53:37 GMT 2015  Olly Betts <olly@survex.com>
733         * matcher/nearpostlist.cc,matcher/nearpostlist.h: Reimplement OP_NEAR
734           check.  The new implementation consistently requires the terms to
735           occur at different positions, and fixes some false negatives.
736         * tests/api_query.cc: Add regression tests as loosenear1.
738 Mon Apr 20 12:53:04 GMT 2015  Olly Betts <olly@survex.com>
740         * matcher/phrasepostlist.cc,matcher/phrasepostlist.h: Reimplement
741           OP_PHRASE check for loose phrases - the existing implementation was
742           buggy, giving both false positives and false negatives in rare
743           cases.  Fixes #653, reported by Jean-Francois Dockes.
744         * tests/api_query.cc: Add regression test loosephrase1.
746 Thu Apr 16 06:51:31 GMT 2015  Olly Betts <olly@survex.com>
748         * common/errno_to_string.cc: Fix to build with Sun's C++ compiler.
750 Thu Apr 16 06:43:40 GMT 2015  Olly Betts <olly@survex.com>
752         * configure.ac: Fix XAPIAN_TEST_CXXFLAGS macro to append to the
753           existing value of the variable, not its name.
755 Wed Apr 15 11:36:40 GMT 2015  Olly Betts <olly@tartarus.org>
757         * tests/api_wrdb.cc: Just #ifdef out the problematic part of the
758           adddoc5 testcase for clang.
760 Wed Apr 15 06:25:13 GMT 2015  Olly Betts <olly@survex.com>
762         * common/serialise-double.cc: Fix bug in recent fix.
763         * tests/unittest.cc: Extend serialise_double() to provide regression
764           test.
766 Thu Apr 09 00:40:24 GMT 2015  Olly Betts <olly@survex.com>
768         * net/remoteconnection.h: Avoid compiler warning from clang in new
769           getaddrinfo() code.
771 Wed Apr 08 11:59:00 GMT 2015  Olly Betts <olly@survex.com>
773         * common/serialise-double.cc: Add missing cast to unsigned char when
774           we check if the value will fit in the double type.  On machines with
775           IEEE-754 doubles (which is most current platforms), which change
776           makes no difference as we're checking if the value cast to a double
777           is > 255.<something> which is never the case.
779 Wed Apr 08 10:42:43 GMT 2015  Olly Betts <olly@survex.com>
781         * common/serialise-double.cc: Avoid reading one byte past the end of
782           the serialised value.  In practice this was harmless on most
783           platforms, as dbl_max_mantissa is 255 for IEEE-754 format doubles,
784           and at least GCC's std::string keeps the buffer nul-terminated.
785           Reported by Germán M. Bravo in github PR#67.
786         * tests/unittest.cc: Copy the serialised value to a temporary buffer
787           before calling unserialise_double() so that valgrind can detect if
788           we read one byte past the end.
790 Tue Apr 07 23:02:21 GMT 2015  Olly Betts <olly@survex.com>
792         * backends/chert/: Fix problems with get_unique_terms() on a modified
793           chert database.
794         * tests/: Add more test coverage for get_unique_terms().
796 Mon Apr 06 00:22:22 GMT 2015  Olly Betts <olly@survex.com>
798         * tests/harness/backendmanager_multi.cc,
799           tests/harness/backendmanager_remote.cc: Cleaner code for checking
800           the backend subtype.
802 Mon Mar 30 03:22:29 GMT 2015  Olly Betts <olly@survex.com>
804         * backends/flint_lock.cc: If available, use F_DUPFD to dup to a file
805           descriptor which is >= 2.
807 Mon Mar 30 01:16:06 GMT 2015  Olly Betts <olly@survex.com>
809         * api/error.cc,common/safenetdb.h,configure.ac,generate-exceptions,
810           net/remoteconnection.h,net/tcpclient.cc,net/tcpserver.cc: Use
811           getaddrinfo() instead of gethostbyname(), as a step towards
812           IPv6 support (currently we still only look for IPv4 addresses).
813           See #374.
815 Sun Mar 29 03:56:12 GMT 2015  Olly Betts <olly@survex.com>
817         * Makefile.am,docs/Makefile.am: Add missing quoting.
819 Mon Mar 23 06:33:39 GMT 2015  Olly Betts <olly@survex.com>
821         * backends/chert/chert_table.cc,backends/glass/glass_table.cc,
822           common/io_utils.cc,common/io_utils.h,tests/api_backend.cc:
823           Avoid using fds < 3 for writable database tables, as it risks
824           corruption is some code in the same process tries to write to stdout
825           or stderr without realising it is closed.  (Partly addresses #651)
827 Sat Mar 21 22:11:53 GMT 2015  Olly Betts <olly@survex.com>
829         * backends/glass/glass_cursor.cc: Add comment warning that B can't be
830           used in GlassCursor's destructor.
832 Tue Mar 17 03:51:00 GMT 2015  Olly Betts <olly@survex.com>
834         * matcher/exactphrasepostlist.cc: Fixed reversed conditonal for
835           picking the shorter position list for an exact phrase of two terms.
836           The difference this fix makes isn't dramatic, but can be measured
837           (at least with cachegrind).  Thanks to kbwt for spotting this.
839 Fri Mar 13 11:21:37 GMT 2015  Olly Betts <olly@survex.com>
841         * backends/chert/chert_compact.cc: Make sure we open all the tables of
842           a database at the same revision when compacting.  (Fixes #649)
844 Thu Mar 12 04:09:07 GMT 2015  Olly Betts <olly@survex.com>
846         * examples/xapian-metadata.cc: Add 'list' subcommand to list all the
847           metadata keys.
849 Mon Mar 09 03:08:14 GMT 2015  Olly Betts <olly@survex.com>
851         * include/xapian/constants.h,include/xapian/queryparser.h: Doxygen
852           comment wording tweaks.
854 Mon Mar 09 03:07:36 GMT 2015  Olly Betts <olly@survex.com>
856         * include/xapian/constants.h,include/xapian/queryparser.h,
857           include/xapian/weight.h: Doxygen comment formatting tweaks.
859 Sat Mar 07 11:27:23 GMT 2015  Olly Betts <olly@tartarus.org>
861         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Extend the
862           set of characters allowed in the start of a range to be anything
863           except for '(' and characters <= ' '.  This better matches what's
864           accepted for a range end (anything except for ')' and characters <=
865           ' ').  Reported by Jani Nikula.
867 Thu Mar 05 11:13:56 GMT 2015  Olly Betts <olly@survex.com>
869         * backends/dbcheck.cc: When checking a single table, handle the
870           ".glass" extension on glass database tables, and use the extension
871           to guide the decision of which backend the table is from.
873 Thu Mar 05 04:38:21 GMT 2015  Olly Betts <olly@survex.com>
875         * backends/dbcheck.cc: Don't hard-code string length as number.
877 Mon Feb 23 04:48:24 GMT 2015  Olly Betts <olly@survex.com>
879         * api/emptypostlist.cc,api/emptypostlist.h: Fix handling of
880           OP_WILDCARD which expands to no terms when used under OP_SYNONYM.
881         * tests/api_query.cc: Regression test dualprefixwildcard1.
883 Mon Feb 23 04:26:52 GMT 2015  Olly Betts <olly@survex.com>
885         * tests/harness/testsuite.cc: Fix compilation issue with previous
886           change.
888 Thu Feb 19 08:04:17 GMT 2015  Olly Betts <olly@survex.com>
890         * tests/api_anydb.cc,tests/api_nodb.cc,tests/harness/testrunner.cc,
891           tests/harness/testsuite.cc,tests/stemtest.cc: Use std::string's
892           assign() or construct from substring rather than assigning or
893           initialising with the result of calling substr().
895 Tue Feb 17 18:31:25 GMT 2015  Olly Betts <olly@survex.com>
897         * include/Makefile.mk: Ship new file from previous commit.
899 Tue Feb 17 05:14:02 GMT 2015  Olly Betts <olly@survex.com>
901         * api/Makefile.mk,api/constinfo.cc,api/version.cc,include/xapian.h,
902           include/xapian/constinfo.h,include/xapian/stem.h,languages/stem.cc:
903           Put the list of stemmers into the vinfo struct and renamed it to
904           const_info.
906 Mon Feb 16 10:18:51 GMT 2015  Olly Betts <olly@survex.com>
908         * configure.ac,languages/: Merge generate-allsnowballheaders script
909           into collate-sbl.
911 Mon Feb 16 04:15:46 GMT 2015  Olly Betts <olly@survex.com>
913         * backends/chert/chert_check.cc: Fix xapian-check on a single table.
915 Fri Feb 13 10:18:45 GMT 2015  Olly Betts <olly@survex.com>
917         * generate-exceptions: Note that the change to not negate
918           WSAGetLastError() values internally was backported for 1.2.20.
920 Fri Feb 13 05:57:13 GMT 2015  Olly Betts <olly@survex.com>
922         * api/,common/remoteprotocol.h,exception_data.pm,
923           include/xapian/query.h,include/xapian/queryparser.h,matcher/,
924           queryparser/queryparser.lemony,tests/api_qpbackend.cc,
925           tests/queryparsertest.cc,weight/weightinternal.cc,
926           weight/weightinternal.h: Add new OP_WILDCARD query operator, which
927           expands wildcards lazily, so now we create the PostList tree for a
928           wildcard directly, rather than creating an intermediate Query tree.
929           See ticket#48.
931 Wed Feb 11 22:45:26 GMT 2015  Olly Betts <olly@survex.com>
933         * backends/glass/glass_table.cc: mid_point() should never fail to find
934           a split point, but just in case it does, return a usable answer.
936 Wed Feb 11 22:44:35 GMT 2015  Olly Betts <olly@survex.com>
938         * backends/chert/chert_table.cc: mid_point() should never fail to find
939           a split point, but just in case it does, return a usable answer.
941 Mon Feb 09 02:56:54 GMT 2015  Olly Betts <olly@survex.com>
943         * api/queryinternal.cc,matcher/localsubmatch.cc,
944           matcher/localsubmatch.h,matcher/queryoptimiser.h,tests/api_query.cc:
945           Don't convert an unweighted term which indexes all docs to an all
946           docs postlist if we need positional data for it.
948 Sun Jan 25 23:48:34 GMT 2015  Olly Betts <olly@survex.com>
950         * configure.ac: Check for declaration of fdatasync() first, as OS X
951           has a dummy implementation in the library which is not prototyped in
952           any header.  Reported by Vlad Shablinsky.
954 Fri Jan 09 05:19:20 GMT 2015  Olly Betts <olly@survex.com>
956         * backends/glass/glass_freelist.cc: Fix freelist handling to allow for
957           the newly loaded first block of the freelist being already used up.
959 Fri Jan 09 04:38:03 GMT 2015  Olly Betts <olly@survex.com>
961         * common/debuglog.cc: Add '#include "errno_to_string.h"'.
963 Thu Jan 08 05:59:01 GMT 2015  Olly Betts <olly@survex.com>
965         * backends/glass/glass_compact.cc: Fix compaction of position tables
966           for the change in key format.
968 Tue Jan 06 02:22:37 GMT 2015  Olly Betts <olly@survex.com>
970         * HACKING: Now using automake 1.15 and libtool 2.4.4.
972 Mon Jan 05 08:39:47 GMT 2015  Olly Betts <olly@survex.com>
974         * Makefile.am: Remove the generated .pc file on "make distclean".
976 Mon Jan 05 04:43:35 GMT 2015  Olly Betts <olly@survex.com>
978         * backends/glass/glass_table.cc: In enter_key(), we know the insertion
979           point will be the position after the current cursor position, so
980           there's no need to call find_in_block() to locate it.
982 Mon Jan 05 04:42:17 GMT 2015  Olly Betts <olly@survex.com>
984         * backends/glass/glass_table.cc: More assertions that c is valid.
986 Mon Jan 05 01:52:54 GMT 2015  Olly Betts <olly@survex.com>
988         * backends/chert/chert_dbcheck.cc,backends/glass/glass_dbcheck.cc:
989           Cross-check the position and postlist tables and report positional
990           data for non-existent documents.
992 Mon Jan 05 01:28:28 GMT 2015  Olly Betts <olly@survex.com>
994         * backends/glass/glass_dbcheck.cc: Fix decoding of positionlist keys -
995           this hadn't been updated for the key format change.
997 Mon Jan 05 01:25:17 GMT 2015  Olly Betts <olly@survex.com>
999         * backends/glass/glass_check.cc: Check that dir_end is odd.
1001 Tue Dec 23 21:26:49 GMT 2014  Olly Betts <olly@survex.com>
1003         * backends/chert/chert_table.cc: More assertions about c.
1005 Tue Dec 23 04:26:38 GMT 2014  Olly Betts <olly@survex.com>
1007         * backends/chert/chert_table.cc: Fix assertion to allow for c being
1008           DIR_START - D2 in leaf blocks.
1010 Tue Dec 23 04:01:54 GMT 2014  Olly Betts <olly@survex.com>
1012         * backends/chert/chert_table.cc: Add more assertions that c has
1013           suitable values.
1015 Tue Dec 23 03:58:00 GMT 2014  Olly Betts <olly@survex.com>
1017         * backends/chert/chert_table.cc: In enter_key(), we know the insertion
1018           point will be the position after the current cursor position, so
1019           there's no need to call find_in_block() to locate it.
1021 Tue Dec 23 03:11:12 GMT 2014  Olly Betts <olly@survex.com>
1023         * backends/chert/chert_check.cc: Add check that dir_end is odd.
1025 Mon Dec 22 23:28:54 GMT 2014  Olly Betts <olly@survex.com>
1027         * backends/chert/chert_table.cc: Document situations in which the
1028           cursor can be left pointing before DIR_START.
1030 Mon Dec 22 03:39:14 GMT 2014  Olly Betts <olly@survex.com>
1032         * backends/glass/glass_freelist.cc: Add more freelist assertions.
1034 Mon Dec 22 03:15:50 GMT 2014  Olly Betts <olly@survex.com>
1036         * backends/glass/glass_freelist.cc: Allow restricting the number of
1037           freelist entries per block by setting GLASS_FREELIST_SIZE.
1039 Sun Dec 21 20:55:47 GMT 2014  Olly Betts <olly@survex.com>
1041         * include/xapian/weight.h: Document the enum stat_flags values.
1043 Sun Dec 21 20:51:47 GMT 2014  Olly Betts <olly@survex.com>
1045         * include/xapian/weight.h: Fix indentation.
1047 Sat Dec 20 10:40:44 GMT 2014  Sébastien Debrard <sebastien.debrard@gmail.com>
1049         * Makefile.am,configure.ac,pkgconfig/,xapian-core.spec.in: Generate a
1050           file for pkg-config.  (Fixes#540)
1052 Fri Dec 19 22:30:39 GMT 2014  Olly Betts <olly@survex.com>
1054         * common/errno_to_string.cc: Need stdlib.h under mingw.
1056 Fri Dec 19 04:38:56 GMT 2014  Olly Betts <olly@survex.com>
1058         * backends/glass/glass_check.cc: Distinguish between a block in use
1059           and in the freelist, and a block in the freelist more than once.
1061 Fri Dec 19 04:37:14 GMT 2014  Olly Betts <olly@survex.com>
1063         * backends/glass/glass_freelist.cc,backends/glass/glass_freelist.h:
1064           Avoid any mutual recursion between GlassFreeList::get_block() and
1065           GlassFreeList::mark_block_unused().
1067 Thu Dec 18 10:28:17 GMT 2014  Olly Betts <olly@survex.com>
1069         * common/safesyssocket.h: Include safeerrno.h when we use errno.
1071 Thu Dec 18 06:17:18 GMT 2014  Olly Betts <olly@survex.com>
1073         * net/tcpclient.cc: Use POSIX O_NONBLOCK in preference to O_NDELAY
1074           which has different semantics on BSD and System V.
1076 Wed Dec 17 02:59:54 GMT 2014  Olly Betts <olly@survex.com>
1078         * configure.ac: Drop probe for gethostbyaddr() - we've not used it for
1079           over 8.5 years (since e33972a5).
1081 Wed Dec 17 02:33:36 GMT 2014  Olly Betts <olly@survex.com>
1083         * common/internaltypes.h: Take CHAR_BIT into account when choosing
1084           types for uint2, uint4 and uint8.
1086 Wed Dec 17 02:30:14 GMT 2014  Olly Betts <olly@survex.com>
1088         * api/error.cc,backends/chert/chert_btreebase.cc,
1089           backends/chert/chert_table.cc,backends/flint_lock.cc,
1090           backends/glass/glass_table.cc,common/,configure.ac,
1091           net/remoteconnection.cc: Add errno_to_string() function which is
1092           thread-safe where a suitable alternative to strerror() exists.
1094 Tue Dec 16 06:54:32 GMT 2014  Olly Betts <olly@survex.com>
1096         * configure.ac: Add missing m4 quoting.  Generated configure file is
1097           unchanged.
1099 Tue Dec 16 06:28:21 GMT 2014  Olly Betts <olly@survex.com>
1101         * configure.ac: Don't check for strerror - it's specified by C89, and
1102           we weren't using the result of the check anyway.
1104 Tue Dec 16 03:59:39 UTC 2014  Sébastien Debrard <sebastien.debrard@gmail.com>
1106         * api/omenquire.cc,backends/multi/multi_postlist.cc,
1107           tests/api_anydb.cc,tests/api_db.cc: Prefer ++x to x++.
1109 Tue Dec 16 03:50:41 GMT 2014  Olly Betts <olly@survex.com>
1111         * configure.ac: Define MINGW_HAS_SECURE_API under mingw to get
1112           _putenv_s() declared in stdlib.h.
1114 Sun Dec 14 09:42:01 GMT 2014  Olly Betts <olly@survex.com>
1116         * api/omdatabase.cc,include/xapian/database.h: Make overloaded forms of
1117           Database::allterms_begin() and Database::allterms_end() use default
1118           parameters instead.
1120 Sat Dec 13 02:48:10 GMT 2014  Olly Betts <olly@survex.com>
1122         * api/error.cc,generate-exceptions,net/remoteconnection.h: On
1123           Windows, avoid defining EADDRINUSE, etc if they're already defined,
1124           and use WSAE* constants un-negated, as they start from a high value
1125           so won't collide with E* constants.
1127 Fri Dec 12 03:41:02 GMT 2014  Olly Betts <olly@survex.com>
1129         * backends/glass/glass_freelist.cc: Avoid infinite recursion when we
1130           hit the end of the freelist block we're reading and the end of the
1131           block we're writing at the same time.
1133 Thu Dec 11 20:45:28 GMT 2014  Olly Betts <olly@survex.com>
1135         * backends/glass/glass_version.cc: Use str() rather than sprintf().
1137 Thu Dec 11 03:21:46 GMT 2014  Olly Betts <olly@survex.com>
1139         * net/tcpserver.cc: Fix comment.
1141 Thu Dec 11 03:20:56 GMT 2014  Olly Betts <olly@survex.com>
1143         * api/compactor.cc,api/error.cc,api/replication.cc,
1144           backends/chert/chert_databasereplicator.cc,
1145           backends/chert/chert_table.cc,
1146           backends/glass/glass_databasereplicator.cc,
1147           backends/glass/glass_table.cc: Remove unnecessary includes of
1148           <cstdio> in files which used to need it for rename() but no longer
1149           do.
1151 Fri Dec 05 11:30:05 GMT 2014  Olly Betts <olly@survex.com>
1153         * ChangeLog,ChangeLog.0,ChangeLog.examples,
1154           backends/chert/chert_btreebase.cc,backends/chert/chert_database.h,
1155           languages/compiler/driver.c,languages/turkish.sbl: Fix typos reported
1156           by Veres Lajos.
1158 Thu Dec 04 02:17:46 GMT 2014  Olly Betts <olly@survex.com>
1160         * configure.ac: Fix detection of fdatasync(), which appears to have
1161           been broken practically forever - this means we've probably been
1162           using fsync() instead, which probably isn't a big additional
1163           overhead.
1165 Wed Dec 03 09:38:24 GMT 2014  Olly Betts <olly@survex.com>
1167         * docs/Makefile.am: Quote png filenames we run through pngcrush to
1168           avoid problems if there's an oddly-named extra PNG file in the
1169           directory.
1171 Tue Dec 02 02:58:59 GMT 2014  Olly Betts <olly@survex.com>
1173         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
1174           backends/chert/chert_databasereplicator.cc,backends/,
1175           backends/glass/glass_compact.cc,backends/glass/glass_database.cc,
1176           backends/glass/glass_databasereplicator.cc,
1177           backends/remote/remote-database.cc,backends/remote/remote-database.h,
1178           include/xapian/constants.h,include/xapian/database.h,
1179           include/xapian/dbfactory.h,net/,tests/api_backend.cc: Add new flag
1180           Xapian::DB_RETRY_LOCK which allows opening a database for writing
1181           to wait until it can get a write lock.  (fixes#275)
1183 Tue Dec 02 02:55:33 GMT 2014  Olly Betts <olly@survex.com>
1185         * backends/glass/glass_database.h: Document parameter to internal
1186           method
1188 Sun Nov 30 15:55:20 GMT 2014  James Aylett <james@tartarus.org>
1190         * HACKING: improve OS X docs build information.
1192 Thu Nov 27 04:00:38 GMT 2014  Olly Betts <olly@survex.com>
1194         * backends/dbcheck.cc,backends/flint_lock.cc,backends/flint_lock.h,
1195           examples/copydatabase.cc,tests/api_backend.cc: Drop support code for
1196           building on OS/2 with EMX - EMX was last updated in 2001 and comes
1197           with GCC 3.2.1, which pre-dates C++11 and we're going to require
1198           a compiler with good C++11 support in the near future.
1200 Thu Nov 27 03:15:51 GMT 2014  Olly Betts <olly@survex.com>
1202         * HACKING: Rename svn-ci to xapian-commit (see #621).
1204 Thu Nov 27 03:05:18 GMT 2014  Olly Betts <olly@survex.com>
1206         * backends/flint_lock.cc: Use F_OFD_SETLK where available, which
1207           avoids having to fork() a child process to hold the lock.  This
1208           currently requires Linux kernel >= 3.15, but it has been submitted
1209           to POSIX so hopefully will be widely supported eventually.  Thanks
1210           to Austin Clements for pointing out this now exists.
1212 Wed Nov 26 04:03:45 GMT 2014  Olly Betts <olly@survex.com>
1214         * include/xapian/geospatial.h: Drop documentation of parameter which
1215           the method doesn't actually take.
1217 Wed Nov 26 04:03:24 GMT 2014  Olly Betts <olly@survex.com>
1219         * include/xapian/enquire.h: Fix incorrect parameter name in doxygen
1220           comment.
1222 Wed Nov 26 03:29:28 GMT 2014  Olly Betts <olly@survex.com>
1224         * docs/doxygen_source.conf.in: @MAKEINDEX@ isn't substituted, so just
1225           use literal 'makeindex'.
1227 Wed Nov 26 03:28:32 GMT 2014  Olly Betts <olly@survex.com>
1229         * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Update to
1230           avoid warnings about obsolete tags from newer doxygen.
1232 Tue Nov 25 21:13:51 GMT 2014  Olly Betts <olly@survex.com>
1234         * configure.ac: Update link to cygwin FAQ.
1236 Tue Nov 25 01:55:17 GMT 2014  Olly Betts <olly@survex.com>
1238         * HACKING: Update details of building Xapian packages.
1240 Tue Nov 25 01:48:44 GMT 2014  Olly Betts <olly@survex.com>
1242         * HACKING: Update for SVN to git migration.
1244 Mon Nov 24 19:50:32 GMT 2014  Olly Betts <olly@survex.com>
1246         * NEWS,configure.ac: Update for 1.3.2.
1248 Mon Nov 24 03:59:02 GMT 2014  Olly Betts <olly@survex.com>
1250         * languages/Makefile.mk: Add missing '\' at end of line in previous
1251           commit.
1253 Mon Nov 24 03:14:22 GMT 2014  Olly Betts <olly@survex.com>
1255         * languages/: Install the stopword lists as
1256           ${pkgdatadir}/stopwords/LANG.list.
1258 Sun Nov 23 23:56:02 GMT 2014  Olly Betts <olly@survex.com>
1260         * HACKING,INSTALL,NEWS,NEWS.SKELETON,api/compactor.cc,
1261           api/replication.cc,backends/Makefile.mk,backends/brass/,
1262           backends/databasereplicator.cc,backends/dbcheck.cc,
1263           backends/dbfactory.cc,backends/glass/,bin/Makefile.mk,
1264           common/Makefile.mk,common/pack.h,common/pretty.h,configure.ac,docs/,
1265           include/xapian/,net/replication_protocol.rst,tests/,tests/harness/:
1266           Rename 'brass' backend to 'glass'.
1268 Sun Nov 23 22:23:00 GMT 2014  Olly Betts <olly@survex.com>
1270         * backends/brass/brass_freelist.cc,backends/brass/brass_freelist.h:
1271           Set the revision in BrassFreeList::write_block().
1273 Thu Nov 20 21:36:35 GMT 2014  Olly Betts <olly@survex.com>
1275         * backends/brass/brass_freelist.h: Reset flw_appending when we unpack
1276           a freelist.
1278 Thu Nov 20 21:36:15 GMT 2014  Olly Betts <olly@survex.com>
1280         * backends/brass/brass_freelist.cc: Fix comment typo.
1282 Thu Nov 20 03:53:32 GMT 2014  Olly Betts <olly@survex.com>
1284         * backends/brass/brass_freelist.cc: Fix end-of-block condition when
1285           walking the freelist during database consistency checking.
1287 Thu Nov 20 02:32:37 GMT 2014  Olly Betts <olly@survex.com>
1289         * backends/brass/brass_freelist.cc: Wrap comment line.
1291 Thu Nov 20 02:31:54 GMT 2014  Olly Betts <olly@survex.com>
1293         * matcher/exactphrasepostlist.cc: Straighten out confusing comments.
1295 Sun Nov 16 23:49:38 GMT 2014  Olly Betts <olly@survex.com>
1297         * NEWS: Update.
1299 Thu Nov 13 20:35:25 GMT 2014  Olly Betts <olly@survex.com>
1301         * backends/brass/brass_freelist.cc: Wrap comment line.
1303 Tue Nov 11 22:17:48 GMT 2014  Olly Betts <olly@survex.com>
1305         * api/queryinternal.cc,api/queryinternal.h: Move all the get_op()
1306           definitions out of the header as they're virtual and there's not
1307           much scope for devirtualisation.
1309 Tue Nov 11 02:58:05 GMT 2014  Olly Betts <olly@survex.com>
1311         * exception_data.pm: Just have one copy of the licence boilerplate.
1313 Sun Nov 09 22:38:04 GMT 2014  Olly Betts <olly@survex.com>
1315         * NEWS: Update.
1317 Fri Nov 07 00:49:22 GMT 2014  Olly Betts <olly@survex.com>
1319         * queryparser/lemon.c: Sync change from upstream: "Modify the
1320           %nonassoc directive in lemon so that it generates a run-time error
1321           rather than a parsing conflict. This changes is due to a bug report
1322           on the mailing list. SQLite does not use the %nonassoc directive in
1323           its grammar so this change does not affect SQLite."  Generated code
1324           is identical.
1326 Fri Nov 07 00:44:57 GMT 2014  Olly Betts <olly@survex.com>
1328         * queryparser/lemon.c: Sync change from upstream: "Fix harmless
1329           compiler warning in LEMON."  Generated code is identical.
1331 Fri Nov 07 00:39:44 GMT 2014  Olly Betts <olly@survex.com>
1333         * queryparser/lemon.c: Sync change from upstream: "In LEMON, limit the
1334           size of the grammar file to 100MB. This ensures that the program
1335           will never experience integer overflow. To be doubly sure, use
1336           calloc() instead of malloc() when allocating arrays." Generated code
1337           is identical.
1339 Fri Nov 07 00:34:26 GMT 2014  Olly Betts <olly@survex.com>
1341         * queryparser/lemon.c: Sync change from upstream: "Add the
1342           "%token_class" directive to the LEMON parser generator. This opens
1343           up the possibility of simplifying the parser. Also remove all calls
1344           to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler
1345           warnings on OpenBSD. (Aside: It is this change to avoid harmless
1346           compiler warnings that was the cause of the reason spat of bugs.)"
1347           Generated code is identical aside from whitespace changes in
1348           queryparser_token.h.
1350 Fri Nov 07 00:17:18 GMT 2014  Olly Betts <olly@survex.com>
1352         * queryparser/lemon.c: Sync change from upstream: "In Lemon, when
1353           comparing the output to the *.h file to see if it has changed, make
1354           sure that the proposed new output and the preexisting output are the
1355           same size before deciding that they are the same".  Generated code
1356           is identical, but this will fix misbehaviour in a build from a
1357           non-clean tree if new tokens get appended to queryparser_token.h.
1359 Thu Nov 06 22:23:27 GMT 2014  Olly Betts <olly@survex.com>
1361         * HACKING: Now using doxygen 1.8.8.
1363 Thu Nov 06 04:18:32 GMT 2014  Olly Betts <olly@survex.com>
1365         * HACKING: Now using libtool 2.4.3.
1367 Wed Nov 05 21:38:45 GMT 2014  Olly Betts <olly@survex.com>
1369         * backends/chert/chert_check.cc: Handle DBCHECK_FIX for a zero sized
1370           .DB file.
1372 Wed Nov 05 21:02:21 GMT 2014  Olly Betts <olly@survex.com>
1374         * backends/chert/chert_check.cc: After we successfully regenerate
1375           baseA, remove any empty baseB file to prevent it causing problems.
1376           Tracked down with help from Phil Hands.
1378 Wed Nov 05 20:58:27 GMT 2014  Olly Betts <olly@survex.com>
1380         * backends/chert/chert_check.cc: Fix DBCHECK_FIX to be able to find a
1381           level 0 root block (happens when a table has sufficiently little
1382           data in that it all fits in one block).
1384 Sun Nov 02 21:14:43 GMT 2014  Olly Betts <olly@survex.com>
1386         * docs/deprecation.rst: Fix typo.
1388 Tue Oct 28 23:35:10 GMT 2014  Olly Betts <olly@survex.com>
1390         * docs/replication.rst: Fix typo.
1392 Tue Oct 28 02:34:54 GMT 2014  Olly Betts <olly@survex.com>
1394         * docs/postingsource.rst: Use a modern class in postingsource example.
1395           (Noted by James Aylett)
1397 Mon Oct 27 21:06:55 GMT 2014  Olly Betts <olly@survex.com>
1399         * docs/,net/Makefile.mk,net/remote_protocol.rst,
1400           net/replication_protocol.rst: Move the protocol docs for the remote
1401           and replication protocols into the net/ subdirectory.
1403 Mon Oct 27 19:19:59 GMT 2014  Olly Betts <olly@survex.com>
1405         * Makefile.am,api/Makefile.mk,api/dir_contents,backends/Makefile.mk,
1406           backends/brass/Makefile.mk,backends/brass/dir_contents,
1407           backends/chert/Makefile.mk,backends/chert/dir_contents,
1408           backends/dir_contents,backends/inmemory/Makefile.mk,
1409           backends/inmemory/dir_contents,backends/multi/Makefile.mk,
1410           backends/multi/dir_contents,backends/remote/Makefile.mk,
1411           backends/remote/dir_contents,bin/Makefile.mk,bin/dir_contents,
1412           common/Makefile.mk,common/dir_contents,configure.ac,dir_contents,
1413           docs/,examples/Makefile.mk,examples/dir_contents,expand/Makefile.mk,
1414           expand/dir_contents,geospatial/Makefile.mk,geospatial/dir_contents,
1415           include/Makefile.mk,include/dir_contents,include/xapian/dir_contents,
1416           languages/Makefile.mk,languages/dir_contents,m4-macros/dir_contents,
1417           m4/dir_contents,matcher/Makefile.mk,matcher/dir_contents,
1418           net/Makefile.mk,net/dir_contents,preautoreconf,
1419           queryparser/Makefile.mk,queryparser/dir_contents,tests/Makefile.am,
1420           tests/dir_contents,tests/harness/Makefile.mk,
1421           tests/harness/dir_contents,tests/perftest/Makefile.mk,
1422           tests/perftest/dir_contents,tests/soaktest/Makefile.mk,
1423           tests/soaktest/dir_contents,unicode/Makefile.mk,unicode/dir_contents,
1424           weight/Makefile.mk,weight/dir_contents: Remove the dir_contents files
1425           and all the machinery to handle them.
1427 Sat Oct 25 19:25:06 GMT 2014  Olly Betts <olly@survex.com>
1429         * api/query.cc,api/queryinternal.cc,api/smallvector.h,
1430           include/xapian/query.h: Stop using a reference where we may end up
1431           passing *NULL, as that's invalid.  Thanks Nick Lewycky and ubsan
1432           for helping track this down.
1433         * tests/api_postingsource.cc: Fix testsuite to avoid passing literal
1434           NULL - pass nullptr for C++11 and don't bother with that part of
1435           the testcase for older C++.
1437 Sat Oct 25 19:05:07 GMT 2014  Olly Betts <olly@survex.com>
1439         * weight/dlhweight.cc,weight/dphweight.cc: Avoid dividing by zero when
1440           the collection size is 0.
1442 Fri Oct 24 23:04:24 GMT 2014  Gaurav Arora <gauravarora.daiict@gmail.com>
1444         * api/registry.cc,include/xapian/weight.h,tests/api_backend.cc,
1445           tests/api_nodb.cc,tests/api_weight.cc,weight/Makefile.mk,
1446           weight/lmweight.cc: Add Unigram LMWeight class.
1448 Tue Oct 21 19:19:32 GMT 2014  Olly Betts <olly@survex.com>
1450         * NEWS: Update for 1.2.19 release.
1452 Mon Oct 20 00:47:32 GMT 2014  Olly Betts <olly@survex.com>
1454         * .gitignore,docs/.gitignore,tests/.gitignore,unicode/.gitignore:
1455           Update to ignore new generated files.
1457 Sat Oct 18 06:15:52 GMT 2014  Olly Betts <olly@survex.com>
1459         * include/xapian/enquire.h: Don't provide a default expansion scheme
1460           name in Enquire::set_expansion_scheme().
1462 Fri Oct 17 00:33:55 GMT 2014  Olly Betts <olly@survex.com>
1464         * api/queryinternal.cc,matcher/: Split NearPostList out into separate
1465           source file and header.
1467 Wed Oct 15 04:33:31 GMT 2014  Olly Betts <olly@survex.com>
1469         * api/queryinternal.cc,matcher/exactphrasepostlist.cc: We never try to
1470           build an ExactPhrasePostList over 0 or 1 terms, so simply assert we
1471           don't, rather than having an explicit check for it in the code.
1473 Tue Oct 14 02:47:02 GMT 2014  Olly Betts <olly@survex.com>
1475         * matcher/phrasepostlist.cc,tests/api_backend.cc: If the anchor term
1476           for a phrase is the first or last, set the min or max to its
1477           position respectively.  Fixes the testcase in #657, but may not be
1478           a complete fix.
1480 Sun Oct 12 12:03:10 GMT 2014  Olly Betts <olly@survex.com>
1482         * NEWS: Update.
1484 Fri Oct 10 10:53:38 GMT 2014  Olly Betts <olly@survex.com>
1486         * backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc: The
1487           table is sync-ed after the base file, so it's the last table we want
1488           to full-sync, not the last base file.
1490 Thu Oct 09 02:39:00 GMT 2014  Olly Betts <olly@survex.com>
1492         * common/debuglog.h: Suppress unused typedef warnings from debugging
1493           logging macros, which occur in functions which always exit via
1494           throwing an exception.
1496 Thu Oct 09 01:45:00 GMT 2014  Olly Betts <olly@survex.com>
1498         * tests/harness/fdtracker.cc: Fix code typo in recent change to skip
1499           apparent leaks of /dev/urandom.
1501 Thu Oct 09 01:43:02 GMT 2014  Olly Betts <olly@survex.com>
1503         * common/pretty.h: Fix debug logging code to compile with clang.
1504           (fixes #657, reported by Germán M. Bravo)
1506 Wed Oct 08 04:43:05 GMT 2014  Olly Betts <olly@survex.com>
1508         * matcher/multimatch.cc: If an empty RSet is specified, just handle it
1509           as if no RSet were specified.
1511 Mon Oct 06 21:41:58 GMT 2014  Olly Betts <olly@survex.com>
1513         * tests/Makefile.am: Remove .replicatmp upon "make clean".
1515 Fri Sep 19 05:31:15 GMT 2014  Olly Betts <olly@survex.com>
1517         * include/xapian/enquire.h: Fix compilation with clang.  Reported by
1518           Germán M. Bravo.
1520 Fri Sep 12 17:54:34 GMT 2014  Olly Betts <olly@survex.com>
1522         * docs/overview.rst: Add missing database path to example of using
1523           xapian-progsrv in a stub database file.
1525 Thu Sep 11 21:33:49 GMT 2014  Olly Betts <olly@survex.com>
1527         * include/Makefile.mk,include/xapian/enquire.h,
1528           include/xapian/iterator.h: Add simple API to help with creating
1529           language-idiomatic iterator wrappers.
1531 Wed Sep 10 17:02:18 GMT 2014  Olly Betts <olly@survex.com>
1533         * api/queryinternal.cc: If we hit an unknown query serialisation,
1534           report the numeric code for it in the exception thrown.
1536 Wed Sep 10 16:59:20 GMT 2014  Olly Betts <olly@survex.com>
1538         * tests/queryparsertest.cc: Enable some disabled cases which actually
1539           work (in some cases with slightly tweaked expected answers which are
1540           equivalent to those that were shown).
1542 Fri Sep 05 17:41:53 GMT 2014  Olly Betts <olly@survex.com>
1544         * tests/harness/fdtracker.cc: Don't report apparent leaks of fds
1545           opened on /dev/urandom - at least on Linux, something in the C
1546           library seems to lazily open it, and the report of a possible leak
1547           followed by assurance that it's OK really is just noise we could
1548           do without.
1550 Fri Sep 05 14:06:08 GMT 2014  Olly Betts <olly@survex.com>
1552         * common/pretty.h: Add new brass-related types.
1554 Thu Sep 04 20:51:16 GMT 2014  Olly Betts <olly@survex.com>
1556         * backends/dbfactory.cc: Fix incorrect return type in logging
1557           annotations for InMemory::open().
1559 Thu Sep 04 20:48:37 GMT 2014  Olly Betts <olly@survex.com>
1561         * backends/brass/brass_database.cc,backends/chert/chert_database.cc:
1562           Fix logging annotations for get_freqs() to reflect that it now has
1563           void return type.
1565 Thu Sep 04 20:21:32 GMT 2014  Olly Betts <olly@survex.com>
1567         * api/,backends/brass/,backends/chert/,backends/dbfactory_remote.cc,
1568           matcher/mergepostlist.cc,matcher/remotesubmatch.cc,
1569           net/progclient.cc: Add missing RETURN() markup for debug logging,
1570           highlighted by warning from recent GCC.
1572 Thu Sep 04 18:02:38 GMT 2014  Olly Betts <olly@survex.com>
1574         * backends/brass/brass_freelist.cc,backends/brass/brass_freelist.h:
1575           Make the BrassTable parameter a const pointer.
1577 Thu Sep 04 17:13:57 GMT 2014  Olly Betts <olly@survex.com>
1579         * common/io_utils.cc: Reading or writing a block will almost always
1580           complete in one call, so streamline that case.
1582 Wed Sep 03 19:30:00 GMT 2014  Olly Betts <olly@survex.com>
1584         * common/internaltypes.h: Update comment to reflect C++11 now being
1585           out.
1587 Wed Sep 03 19:29:09 GMT 2014  Olly Betts <olly@survex.com>
1589         * common/internaltypes.h,configure.ac: Make uint2 available.
1591 Wed Sep 03 19:27:41 GMT 2014  Olly Betts <olly@survex.com>
1593         * backends/brass/brass_database.h: Remove method which is declared but
1594           never defined.
1596 Wed Sep 03 18:52:40 GMT 2014  Olly Betts <olly@survex.com>
1598         * generate-exceptions,include/xapian/: Use XAPIAN_IN_XAPIAN_H rather
1599           than XAPIAN_INCLUDED_XAPIAN_H in the direct inclusion of subheader
1600           checks.  Currently neither will catch the case of the user including
1601           a sub-header after <xapian.h> since the include guard for the
1602           subheader will stop us getting to the direct inclusion check, but
1603           XAPIAN_IN_XAPIAN_H will work if we move the check outside the
1604           include guard.
1606 Wed Sep 03 18:29:41 GMT 2014  Olly Betts <olly@survex.com>
1608         * include/xapian/constants.h: Hide internal constants from external
1609           users.
1611 Tue Sep 02 14:15:50 GMT 2014  Olly Betts <olly@survex.com>
1613         * backends/brass/brass_spellingwordslist.h: Explicit include
1614           brass_cursor.h since we actually use BrassCursor here.
1616 Mon Sep 01 22:03:11 GMT 2014  Olly Betts <olly@survex.com>
1618         * tests/api_backend.cc: New testcase readonlyparentdir1 to ensure that
1619           commit works with a read-only parent directory.
1621 Mon Sep 01 21:51:45 GMT 2014  Olly Betts <olly@survex.com>
1623         * tests/harness/testrunner.h: Drop "flint" flag - flint was removed
1624           from trunk some time ago.
1626 Mon Sep 01 21:42:31 GMT 2014  Olly Betts <olly@survex.com>
1628         * backends/brass/: Eliminate brass_doclen_t in favour of just using
1629           Xapian::termcount.
1631 Mon Sep 01 21:28:39 GMT 2014  Olly Betts <olly@survex.com>
1633         * backends/brass/brass_check.h: Tweak to ease upcoming big merge.
1635 Mon Sep 01 20:59:40 GMT 2014  Olly Betts <olly@survex.com>
1637         * backends/brass/,backends/dbcheck.cc: Only create a btree entry for
1638           the document data if it is non-empty.  The table is now lazily
1639           created, so won't exist if no documents have document data set.
1641 Mon Sep 01 16:54:44 GMT 2014  Olly Betts <olly@survex.com>
1643         * backends/brass/brass_record.cc,backends/brass/brass_record.h: Remove
1644           BrassRecordTable::get_doccount() as it is no longer used.
1646 Mon Sep 01 16:51:04 GMT 2014  Olly Betts <olly@survex.com>
1648         * backends/brass/: Track doccount in the database stats.
1650 Mon Sep 01 16:27:15 GMT 2014  Olly Betts <olly@survex.com>
1652         * backends/brass/brass_database.cc: Update comment and exception
1653           message not to talk about "consistent state", as that was to do
1654           with the base files.
1656 Mon Sep 01 14:57:02 GMT 2014  Olly Betts <olly@survex.com>
1658         * backends/brass/brass_database.cc: Explicitly include brass_defs.h.
1660 Mon Sep 01 14:48:01 GMT 2014  Olly Betts <olly@survex.com>
1662         * backends/brass/: Eliminate backends/brass/brass_types.h.
1664 Fri Aug 29 21:06:22 GMT 2014  Olly Betts <olly@survex.com>
1666         * backends/dbcheck.cc: Fix checking a single brass table.
1668 Thu Aug 28 16:04:59 GMT 2014  Olly Betts <olly@survex.com>
1670         * backends/brass/brass_check.cc,backends/chert/chert_check.cc,
1671           bin/xapian-check.cc,include/xapian/constants.h: Rename
1672           DBCHECK_SHOW_BITMAP to DBCHECK_SHOW_FREELIST.
1674 Tue Aug 26 22:31:32 GMT 2014  Olly Betts <olly@survex.com>
1676         * NEWS: Update.
1678 Fri Aug 22 09:09:52 GMT 2014  Gaurav Arora <gauravarora.daiict@gmail.com>
1680         * api/,backends/brass/,backends/chert/,
1681           backends/contiguousalldocspostlist.cc,
1682           backends/contiguousalldocspostlist.h,backends/database.h,
1683           backends/inmemory/inmemory_database.cc,
1684           backends/inmemory/inmemory_database.h,
1685           backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
1686           backends/remote/,common/remoteprotocol.h,docs/sorting.rst,
1687           include/xapian/database.h,include/xapian/postingiterator.h,
1688           include/xapian/weight.h,matcher/,net/remoteserver.cc,
1689           net/remoteserver.h,tests/,weight/: Provide the number of distinct
1690           terms in the document to weighting schemes.  The current
1691           implementation for the disk-based backends is a bit inefficient as
1692           it has to look at the termlist table entry for the document.
1694 Thu Aug 21 12:29:57 GMT 2014  Olly Betts <olly@survex.com>
1696         * weight/weight.cc: Add missing parameter to debug logging for
1697           Weight::init_().
1699 Tue Aug 19 14:25:39 GMT 2014  Olly Betts <olly@survex.com>
1701         * backends/brass/brass_table.h: Don't sync handles for tables which
1702           aren't open.  Reported by Austin Clements.
1704 Fri Aug 15 13:13:43 GMT 2014  Olly Betts <olly@survex.com>
1706         * HACKING: freecode no longer accepts updates, so drop that item from
1707           the release checklist.
1709 Wed Aug 13 23:55:24 GMT 2014  Olly Betts <olly@survex.com>
1711         * backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc:
1712           Only full sync the final base file written.
1714 Mon Aug 11 05:30:20 GMT 2014  Olly Betts <olly@survex.com>
1716         * configure.ac: For Sun's C++ compiler, pass -library=Crun separately
1717           since libtool looks for " -library=stlport4 " (with the spaces).
1718           (fixes#650)
1720 Mon Aug 11 03:00:15 GMT 2014  Olly Betts <olly@survex.com>
1722         * configure.ac: Rename XAPIAN_TEST_CXXFLAGS_ to XAPIAN_TEST_CXXFLAGS
1723           (since the latter is never used) and make it take a variable to
1724           add the flags to.  Also, fix it to restore CXXFLAGS correctly if
1725           the success case contains "break".
1727 Wed Aug 06 10:49:46 GMT 2014  Olly Betts <olly@survex.com>
1729         * include/xapian/compactor.h: Fix formatting of doxygen comment.
1731 Wed Aug 06 10:49:20 GMT 2014  Olly Betts <olly@survex.com>
1733         * include/xapian/constants.h: Whitespace tweak.
1735 Wed Aug 06 10:08:09 GMT 2014  Olly Betts <olly@survex.com>
1737         * backends/brass/brass_version.cc,common/io_utils.h,
1738           include/xapian/constants.h: Add DB_FULL_SYNC flag - if this is set
1739           for a database, we use the Mac OS X F_FULL_SYNC instead of
1740           fdatasync()/fsync()/etc on the version file when committing.
1742 Mon Aug 04 05:58:13 GMT 2014  Olly Betts <olly@survex.com>
1744         * backends/brass/brass_compact.cc: Whitespace tweak.
1746 Mon Aug 04 05:57:27 GMT 2014  Olly Betts <olly@survex.com>
1748         * backends/brass/brass_compact.cc: When compacting, sync all the
1749           tables together at the end.
1751 Mon Aug 04 05:42:21 GMT 2014  Olly Betts <olly@survex.com>
1753         * backends/brass/brass_compact.cc,backends/brass/brass_version.cc:
1754           Clean up temporary file in BrassVersion::sync() in all failure
1755           cases.
1757 Mon Aug 04 05:21:02 GMT 2014  Olly Betts <olly@survex.com>
1759         * backends/brass/: In DB_DANGEROUS mode, update the version file
1760           in-place.
1762 Fri Aug 01 02:49:57 GMT 2014  Olly Betts <olly@survex.com>
1764         * backends/brass/brass_compact.cc: Lock the target database while
1765           we're compacting to it, which has the side effect of creating the
1766           'flintlock' file there.
1768 Fri Aug 01 02:35:35 GMT 2014  Olly Betts <olly@survex.com>
1770         * include/xapian/visibility.h: Add link to GCC Visibility wiki page.
1772 Thu Jul 31 02:54:40 GMT 2014  Olly Betts <olly@survex.com>
1774         * tests/api_weight.cc,weight/bb2weight.cc: Avoid calculating logs of 0
1775           or negative values by clamping the normalise wdf to at most one less
1776           than the collection frequency, and the collection size to at least
1777           2.
1779 Thu Jul 31 02:48:35 GMT 2014  Olly Betts <olly@survex.com>
1781         * tests/api_weight.cc,weight/bb2weight.cc: Fix upper bound for
1782           BB2Weight to not be scaled twice by wqf and factor.
1784 Wed Jul 30 05:48:46 GMT 2014  Olly Betts <olly@survex.com>
1786         * weight/bb2weight.cc: Fix comment typo, and capitalise "Stirling" in
1787           comments.
1789 Wed Jul 30 05:47:31 GMT 2014  Olly Betts <olly@survex.com>
1791         * weight/bb2weight.cc: Whitespace cleanup.
1793 Wed Jul 30 05:43:59 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1795         * include/xapian/weight.h,weight/bb2weight.cc: Optimise BB2Weight and
1796           fix incorrect upper bound in some cases.
1798 Tue Jul 29 07:20:57 GMT 2014  Olly Betts <olly@survex.com>
1800         * backends/brass/brass_version.cc: Remove assertion that table sizes
1801           are all the same, and redundant assertion that the unserialised
1802           blocksize is >= 2048.  Fixes set-but-not-used warning in
1803           non-assertion build.
1805 Mon Jul 28 06:35:45 GMT 2014  Olly Betts <olly@survex.com>
1807         * backends/brass/brass_databasereplicator.cc,
1808           backends/brass/brass_databasereplicator.h,
1809           backends/brass/brass_table.cc: Replace enum table_id with enum
1810           Brass::table_type.
1812 Mon Jul 28 04:28:12 GMT 2014  Olly Betts <olly@survex.com>
1814         * NEWS: Note the freelist implementation fixed #40.
1816 Mon Jul 28 04:26:07 GMT 2014  Olly Betts <olly@survex.com>
1818         * api/compactor.cc,backends/brass/,backends/dbcheck.cc,
1819           tests/api_wrdb.cc: Eliminate the base files, and instead store the
1820           root block and freelist pointers in the "iambrass" file.
1822 Mon Jul 28 03:22:22 GMT 2014  Olly Betts <olly@survex.com>
1824         * backends/brass/brass_databasereplicator.cc: Remove variable which is
1825           set but never used.
1827 Sun Jul 27 01:56:58 GMT 2014  Olly Betts <olly@survex.com>
1829         * backends/dbcheck.cc: Don't try to write output when no output stream
1830           is specified in the case where the database open fails and so we
1831           can't check changes files.
1833 Thu Jul 24 21:12:23 GMT 2014  Olly Betts <olly@survex.com>
1835         * NEWS: Update.
1837 Fri Jul 11 10:44:48 GMT 2014  Olly Betts <olly@survex.com>
1839         * weight/bm25weight.cc: Improve BM25 upper bound in the case when our
1840           wdf upper bound > our document length lower bound.  Thanks to
1841           Craig Macdonald for pointing out this trick.
1843 Thu Jul 10 13:29:50 GMT 2014  Olly Betts <olly@survex.com>
1845         * weight/bm25weight.cc: Pre-multiply termweight by (param_k1 + 1).
1847 Sat Jun 28 11:00:49 GMT 2014  Olly Betts <olly@survex.com>
1849         * languages/Makefile.mk: Sort the stop.list files (since loading a
1850           sorted list is likely to be more efficient) and remove any duplicate
1851           entries.
1853 Sat Jun 28 10:48:03 GMT 2014  Olly Betts <olly@survex.com>
1855         * languages/stopwords/finnish/stop.txt,
1856           languages/stopwords/norwegian/stop.txt: Remove duplicate entries.
1858 Sat Jun 28 10:38:56 GMT 2014  Olly Betts <olly@survex.com>
1860         * languages/stopwords/russian/stop.txt: Convert from KOI8-R to UTF-8.
1862 Mon Jun 23 02:26:24 GMT 2014  Olly Betts <olly@survex.com>
1864         * configure.ac: configure.ac: Add hints for which package to install
1865           for rst2html
1867 Mon Jun 23 00:54:05 GMT 2014  Olly Betts <olly@survex.com>
1869         * configure.ac: Use AS_MKDIR_P instead of test -d || mkdir.
1871 Sun Jun 22 07:32:11 GMT 2014  Olly Betts <olly@survex.com>
1873         * NEWS: Update.
1875 Sat Jun 21 03:45:19 GMT 2014  Olly Betts <olly@survex.com>
1877         * docs/Makefile.am: Use $(MKDIR_P) instead of test -d || mkdir 3
1878           times.
1880 Sat Jun 21 03:44:37 GMT 2014  Olly Betts <olly@survex.com>
1882         * languages/Makefile.mk: Generate the directories for the minimised
1883           stopword files in a VPATH build.
1885 Tue Jun 17 13:36:40 GMT 2014  Assem Chelli <assem.ch@gmail.com>
1887         * include/xapian/queryparser.h: Add the example of initializing
1888           SimpleStopper using a file as a doccomment.
1890 Tue Jun 17 13:30:09 GMT 2014  Olly Betts <olly@survex.com>
1892         * languages/Makefile.mk: Remove trailing whitespace (some of which
1893           breaks the parsing to get the lists of source files to pass to
1894           doxygen).
1896 Tue Jun 17 13:24:59 GMT 2014  Assem Chelli <assem.ch@gmail.com>
1898         * languages/: Add stopwords lists from Snowball plus an Arabic one.
1900 Tue Jun 17 11:48:12 GMT 2014  Olly Betts <olly@survex.com>
1902         * weight/dlhweight.cc: Fix comment typo.
1904 Tue Jun 17 11:46:40 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1906         * weight/dlhweight.cc: Improve the upper bound on DLH ~3-4 times.
1908 Tue Jun 17 11:32:22 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1910         * include/xapian/weight.h,weight/dphweight.cc: Combine factor into
1911           constants calculated in init().  Improve get_maxpart() a little
1912           in the (common) case where the wdf upper bound is less than half
1913           the document length upper bound.
1915 Tue Jun 17 03:42:36 GMT 2014  Olly Betts <olly@survex.com>
1917         * tests/api_unicode.cc,unicode/UnicodeData-README.txt,
1918           unicode/UnicodeData.txt: Update to Unicode 7.0.0.
1920 Mon Jun 16 14:13:18 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1922         * weight/dphweight.cc: Improved upper bound for DPH.
1924 Mon Jun 16 13:58:24 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1926         * include/xapian/weight.h,weight/ifb2weight.cc,weight/ineb2weight.cc,
1927           weight/inl2weight.cc: Include 'factor' in the constants we calculate
1928           in init_().
1930 Mon Jun 16 13:53:05 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1932         * include/xapian/weight.h,weight/dlhweight.cc: DLH optimization.
1934 Mon Jun 16 13:02:24 GMT 2014  Olly Betts <olly@survex.com>
1936         * HACKING: Need python3-sphinx to generate docs for python3.
1938 Mon Jun 16 12:37:13 GMT 2014  Assem Chelli <assem.ch@gmail.com>
1940         * HACKING: Note sphinx-doc now needed (for Python bindings API docs).
1942 Mon Jun 16 05:35:03 GMT 2014  Olly Betts <olly@survex.com>
1944         * HACKING,configure.ac,docs/Makefile.am,docs/doxygen_api.conf.in:
1945           Don't build, ship or install PDF versions of the API docs by
1946           default, but provide an easy way for people to build it for
1947           themselves if they want it.
1949 Mon Jun 16 04:20:40 GMT 2014  Olly Betts <olly@survex.com>
1951         * include/xapian/queryparser.h: Improve the descriptions of the
1952           stem_strategy values.  (Reported by "oilap" on #xapian)
1954 Fri Jun 13 07:52:53 GMT 2014  Olly Betts <olly@survex.com>
1956         * weight/dphweight.cc: Fix some comment typos.
1958 Fri Jun 13 07:47:32 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1960         * include/xapian/weight.h,weight/dphweight.cc: Optimized DPH code.
1962 Fri Jun 13 01:39:07 GMT 2014  Olly Betts <olly@survex.com>
1964         * examples/quest.cc: Fix ordering of "bm25" and "bool" in allegedly
1965           sorted list, so that --weight bm25 and --weight bool work.
1967 Thu Jun 12 13:49:19 GMT 2014  Olly Betts <olly@survex.com>
1969         * matcher/extraweightpostlist.h: Add an assertion that get_sumextra()
1970           returns a weight contribution which is <= the upper bound which
1971           get_maxextra() returns.
1973 Thu Jun 12 13:30:55 GMT 2014  Olly Betts <olly@survex.com>
1975         * api/leafpostlist.cc,matcher/synonympostlist.cc: Add assertions that
1976           get_sumpart() returns a weight contribution which is <= the upper
1977           bound which get_maxpart() returns.
1979 Wed Jun 11 05:34:16 GMT 2014  Olly Betts <olly@survex.com>
1981         * languages/hungarian.sbl: Fix incorrect Unicode codepoints for
1982           o-double-acute and u-double-acute in Hungarian Snowball stemmer.
1983           Reported by Tom Lane to snowball-discuss.
1985 Tue Jun 10 10:59:18 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1987         * include/xapian/weight.h,weight/ineb2weight.cc: Optimized IneB2:
1988           Reduced number of calculations in get_sumpart and tightened upper
1989           bound.
1991 Tue Jun 10 10:23:09 GMT 2014  Olly Betts <olly@survex.com>
1993         * weight/ineb2weight.cc: Fix closing brace indentation.
1995 Tue Jun 10 09:58:18 GMT 2014  Olly Betts <olly@survex.com>
1997         * examples/quest.cc: Rework the weight name lookup to use a table like
1998           the other lookups.  Change the weight names not to include "weight".
2000 Tue Jun 10 08:15:18 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
2002         * include/xapian/weight.h,weight/ifb2weight.cc: Optimized
2003           upper bound and weighting formula in IfB2Weight.
2005 Tue Jun 10 05:34:52 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
2007         * include/xapian/weight.h,weight/inl2weight.cc: Optimized
2008           upper bound and weighting formula in InL2Weight.
2010 Tue Jun 10 05:09:08 GMT 2014  Olly Betts <olly@survex.com>
2012         * examples/quest.cc: Add --weight option to allow the weighting scheme
2013           to be specified.
2015 Thu Jun 05 03:42:51 GMT 2014  Olly Betts <olly@survex.com>
2017         * api/omdatabase.cc,tests/api_backend.cc: Fix
2018           Database::get_wdf_upper_bound("") not to fail with an assertion.
2020 Tue Jun 03 22:59:10 GMT 2014  Olly Betts <olly@survex.com>
2022         * matcher/localsubmatch.cc: Use RETURN() instead of return in methods
2023           with LOGCALL annotations.
2025 Mon Jun 02 13:15:36 GMT 2014  Olly Betts <olly@survex.com>
2027         * docs/Makefile.am: Actually ship, process and install geospatial.rst.
2029 Mon Jun 02 11:40:27 GMT 2014  Olly Betts <olly@survex.com>
2031         * languages/Makefile.mk: Ship collate-sbl script.
2033 Thu May 29 12:13:06 GMT 2014  Olly Betts <olly@survex.com>
2035         * HACKING: Replace a link to the outdated autotools "goat book" with a
2036           link to the "Portable Shell" chapter of the autoconf manual.
2038 Thu May 29 03:31:10 GMT 2014  Olly Betts <olly@survex.com>
2040         * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Allow
2041           the user to specify how long a snippet they want.  Only add "..." if
2042           the sample was actually truncated.
2044 Wed May 28 12:52:26 GMT 2014  Olly Betts <olly@survex.com>
2046         * include/xapian/snipper.h: Add the standard guards to prevent user
2047           code from including this header directly.
2049 Tue May 27 04:19:12 GMT 2014  Olly Betts <olly@survex.com>
2051         * include/Makefile.mk: Ship include/xapian/snipper.h in tarball.
2053 Tue May 27 04:03:09 GMT 2014  Olly Betts <olly@survex.com>
2055         * api/snipper.cc,include/xapian/snipper.h,
2056           tests/generate-api_generated: Add missing assignment operator to
2057           Xapian::Snipper class.
2059 Tue May 27 03:43:03 GMT 2014  Olly Betts <olly@survex.com>
2061         * include/xapian/snipper.h: Add missing doxygen comments.
2063 Tue May 27 03:41:08 GMT 2014  Olly Betts <olly@survex.com>
2065         * include/xapian/snipper.h,tests/api_snipper.cc: Whitespace tweaks.
2067 Tue May 27 03:36:19 GMT 2014  Olly Betts <olly@survex.com>
2069         * api/snipper.cc,include/xapian/snipper.h,tests/api_snipper.cc: Remove
2070           getters for obtaining info about the relevance model, and instead
2071           add a get_description() method which includes all such info in the
2072           returned description.
2074 Tue May 27 03:06:36 GMT 2014  Olly Betts <olly@survex.com>
2076         * api/snipper.cc: Use an iterator instead of subscripting.
2078 Tue May 27 03:03:33 GMT 2014  Olly Betts <olly@survex.com>
2080         * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Use
2081           appropriate named types rather than "int" or "unsigned int".
2083 Tue May 27 03:02:48 GMT 2014  Olly Betts <olly@survex.com>
2085         * api/snipperinternal.h: Remove constants which are no longer used.
2087 Tue May 27 02:48:44 GMT 2014  Olly Betts <olly@survex.com>
2089         * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h:
2090           Rework Snipper methods set_smoothing_coef() and set_window_size() as
2091           optional parameters of generate_snippet().
2093 Tue May 27 02:33:39 GMT 2014  Olly Betts <olly@survex.com>
2095         * api/snipper.cc,api/snipperinternal.h: Just pass rm_docno through to
2096           Snipper::Internal::calculate_rm() as a parameter rather than storing
2097           it in a member variable.
2099 Tue May 27 02:25:41 GMT 2014  Olly Betts <olly@survex.com>
2101         * api/snipper.cc: Use clear() method to empty a container.
2103 Tue May 27 02:22:37 GMT 2014  Olly Betts <olly@survex.com>
2105         * tests/api_snipper.cc: Drop unused <algorithm>.
2107 Tue May 27 02:21:53 GMT 2014  Olly Betts <olly@survex.com>
2109         * api/snipper.cc: Eliminate ret_value variable.
2111 Tue May 27 02:20:25 GMT 2014  Olly Betts <olly@survex.com>
2113         * api/snipper.cc: Avoid unnecessary substr operations.
2115 Tue May 27 02:17:32 GMT 2014  Olly Betts <olly@survex.com>
2117         * api/snipper.cc: Prefer ++i to i++ in loops.
2119 Tue May 27 02:16:14 GMT 2014  Olly Betts <olly@survex.com>
2121         * api/snipper.cc: Use TermIterator::positionlist_count().
2123 Tue May 27 02:14:52 GMT 2014  Olly Betts <olly@survex.com>
2125         * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Fix
2126           typos in comments and variable names in new snipper code.
2128 Tue May 27 02:13:09 GMT 2014  Olly Betts <olly@survex.com>
2130         * tests/Makefile.am: Hook up new Snipper API tests to actually be
2131           used.
2133 Tue May 27 02:09:49 GMT 2014  Mihai Bivol <mm.bivol@gmail.com>
2135         * tests/api_snipper.cc: Add Snipper API tests.
2137 Tue May 27 02:04:26 GMT 2014  Olly Betts <olly@survex.com>
2139         * api/snipper.cc: Add missing #include <config.h>.
2141 Tue May 27 02:00:32 GMT 2014  Mihai Bivol <mm.bivol@gmail.com>
2143         * api/Makefile.mk,api/snipper.cc,api/snipperinternal.h,
2144           include/xapian.h,include/xapian/snipper.h: Add Xapian::Snipper
2145           class.
2147 Mon May 26 05:52:22 GMT 2014  Olly Betts <olly@survex.com>
2149         * api/omdatabase.cc,backends/brass/brass_postlist.h,
2150           backends/chert/chert_postlist.h,backends/database.h: Fix comment
2151           typos.
2153 Fri May 23 11:59:26 GMT 2014  Olly Betts <olly@survex.com>
2155         * api/matchspy.cc: Pass std::string by const reference.
2157 Thu May 22 06:31:12 GMT 2014  Olly Betts <olly@survex.com>
2159         * matcher/localsubmatch.cc: Fix the check for a term which matches all
2160           documents to use the sub-db termfreq, not the combined db termfreq.
2162 Thu May 22 06:00:47 GMT 2014  Olly Betts <olly@survex.com>
2164         * matcher/localsubmatch.cc: If a term matches all documents and its
2165           weight doesn't depend on its wdf, we can optimise it to MatchAll
2166           (the previous requirement that maxpart == 0 was unnecessarily
2167           strict).
2169 Thu May 22 05:52:15 GMT 2014  Olly Betts <olly@survex.com>
2171         * matcher/localsubmatch.cc,tests/api_percentages.cc: When we optimise
2172           a postlist for a term which matches all documents to use MatchAll,
2173           we still need to set a weight object on it to get percentages
2174           calculated correctly.
2176 Thu May 22 04:08:35 GMT 2014  Olly Betts <olly@survex.com>
2178         * api/queryinternal.cc,matcher/localsubmatch.cc,
2179           matcher/localsubmatch.h,matcher/queryoptimiser.h: Refactor to group
2180           most of the code to create a postlist for a term and set its weight
2181           into one place.
2183 Mon May 19 00:08:04 GMT 2014  Olly Betts <olly@survex.com>
2185         * backends/brass/brass_freelist.cc,tests/api_backend.cc: When we start
2186           to write a new freelist block, set the revision on the old one we
2187           write out correctly, and don't "-1" out the next block pointer
2188           before we write out the block in this case.  New regression testcase
2189           newfreelistblock1.
2190         * backends/brass/brass_freelist.cc: Add assertions that the freelist
2191           block has a next pointer when fl_end is a different block to fl.
2193 Fri May 16 04:35:21 GMT 2014  Olly Betts <olly@survex.com>
2195         * backends/brass/brass_freelist.h: Fix BrassFreeList::swap() to also
2196           swap the flw_appending members.
2198 Thu May 15 12:51:15 GMT 2014  Olly Betts <olly@survex.com>
2200         * HACKING: Add checking config/config.* are up to date to the 
2201           release checklist.
2203 Thu May 15 12:47:28 GMT 2014  Olly Betts <olly@survex.com>
2205         * HACKING: Now using automake 1.14.1 to bootstrap snapshots and
2206           1.3.x releases.
2208 Wed May 14 03:18:37 GMT 2014  Olly Betts <olly@survex.com>
2210         * api/queryinternal.cc: Only serialise parameter where it is actually
2211           used.
2213 Fri May 09 01:56:48 GMT 2014  Olly Betts <olly@survex.com>
2215         * HACKING: Now using doxygen 1.8.7 to bootstrap tarballs.
2217 Mon May 05 05:37:32 GMT 2014  Olly Betts <olly@survex.com>
2219         * backends/chert/chert_check.cc,backends/chert/chert_dbcheck.cc,
2220           backends/dbcheck.cc: Improve DBCHECK_FIX - if fixing a whole
2221           database, we now take the revision from the first table we
2222           successfully look at, which should be correct in most cases,
2223           and is definitely better than trying to determine the revision
2224           of each broken table independently.
2226 Fri May 02 02:36:05 GMT 2014  Olly Betts <olly@survex.com>
2228         * matcher/valuestreamdocument.cc,matcher/valuestreamdocument.h: Put
2229           the docid in the sub-database into the ValueStreamDocument object as
2230           that's what Xapian::Document::get_docid() is documented to return.
2231           (fixes#636, reported by Jeff Rand).
2233 Thu May 01 13:25:35 GMT 2014  Olly Betts <olly@survex.com>
2235         * api/omdatabase.cc,include/xapian/database.h,
2236           matcher/valuestreamdocument.cc: Eliminate
2237           Database::get_document_lazily_() completely.
2239 Thu May 01 11:48:00 GMT 2014  Olly Betts <olly@survex.com>
2241         * backends/database.cc,backends/slowvaluelist.cc,
2242           backends/slowvaluelist.h: Don't wrap the subdatabase object in a
2243           Xapian::Database for SlowValueList, which mean we can just call
2244           open_document(did, true) on it instead of having to use
2245           Xapian::Database::get_document_lazily_().
2247 Wed Apr 30 00:31:52 GMT 2014  Olly Betts <olly@survex.com>
2249         * api/omdatabase.cc: Explicitly '#include <algorithm>' for std::max(),
2250           fixing build with VS2013.  (fixes#641)
2252 Tue Apr 29 04:28:06 GMT 2014  Olly Betts <olly@survex.com>
2254         * common/append_filename_arg.h,net/remoteconnection.h: Comment tweaks.
2256 Tue Apr 29 04:26:26 GMT 2014  Olly Betts <olly@survex.com>
2258         * tests/harness/unixcmds.cc: Drop code supporting Microsoft Windows 9x
2259           which reached EOL in 2006.
2261 Thu Apr 17 05:06:21 GMT 2014  Olly Betts <olly@survex.com>
2263         * common/autoptr.h: Under C++11, use unique_ptr for AutoPtr.
2265 Wed Apr 09 22:16:37 GMT 2014  Olly Betts <olly@survex.com>
2267         * api/documentterm.h,api/omdocument.cc: Don't store the termname in
2268           OmDocumentTerm - we were only using it in get_description() output
2269           and an exception message.  Speeds up indexing etext.txt using
2270           simpleindex by 0.4%, and should reduce memory usage a bit too.
2271           (Change inspired by comments from Vishesh Handa on xapian-devel).
2273 Wed Apr 09 05:17:58 GMT 2014  Olly Betts <olly@survex.com>
2275         * backends/brass/brass_btreebase.cc,backends/brass/brass_table.cc:
2276           Remove comment references to using bitmaps for freespace tracking.
2278 Tue Apr 08 04:20:00 GMT 2014  Olly Betts <olly@survex.com>
2280         * bin/xapian-delve.cc: Add -A <prefix> option to list all terms with
2281           a particular prefix.
2283 Mon Apr 07 05:45:06 GMT 2014  Olly Betts <olly@survex.com>
2285         * api/omdatabase.cc,backends/brass/,backends/chert/,
2286           backends/database.cc,backends/database.h,
2287           backends/inmemory/inmemory_database.cc,
2288           backends/inmemory/inmemory_database.h,
2289           backends/remote/remote-database.cc,backends/remote/remote-database.h,
2290           common/remoteprotocol.h,matcher/const_database_wrapper.cc,
2291           matcher/const_database_wrapper.h,net/remoteserver.cc,
2292           net/remoteserver.h,weight/weightinternal.cc: Fetch termfreq and
2293           collection frequency in a single call - shaves ~0.3% off a test
2294           search.
2296 Thu Apr 03 23:40:45 GMT 2014  Olly Betts <olly@survex.com>
2298         * net/serialise.cc,weight/weightinternal.h: Make Weight::Internal
2299           track if any max_part values are set, so we don't need to
2300           serialise them when they've not been set.
2302 Thu Apr 03 05:50:13 GMT 2014  Olly Betts <olly@survex.com>
2304         * weight/weightinternal.cc: Enhance
2305           Weight::Internal::get_description() to report TermFreqs.
2307 Thu Apr 03 05:46:44 GMT 2014  Olly Betts <olly@survex.com>
2309         * api/omenquire.cc,api/omenquireinternal.h,common/submatch.h,matcher/,
2310           net/remoteserver.cc,net/serialise.cc,weight/weight.cc,
2311           weight/weightinternal.cc,weight/weightinternal.h: Eliminate the
2312           map<string, TermFreqAndWeight> in MSet::Internal, and instead just
2313           preserve the Weight::Internal object there as that holds all the
2314           information we need.
2316 Thu Apr 03 04:40:09 GMT 2014  Olly Betts <olly@survex.com>
2318         * backends/remote/remote-database.cc,net/remoteserver.cc,
2319           net/serialise.cc,net/serialise.h: Avoid returning
2320           Xapian::Weight::Internal by value from unserialise_stats().
2322 Tue Apr 01 22:41:16 GMT 2014  Olly Betts <olly@survex.com>
2324         * matcher/localsubmatch.cc,weight/weight.cc,weight/weightinternal.cc,
2325           weight/weightinternal.h: Replace Weight::Internal methods to get
2326           termfreq, reltermfreq and colltermfreq with a single inlined
2327           get_stats() method, which only needs to search the map once.
2328           Shaves ~1.6% off the time to do a wildcard query with a lot of
2329           terms.
2331 Tue Apr 01 22:11:52 GMT 2014  Olly Betts <olly@survex.com>
2333         * matcher/localsubmatch.cc: Don't refetch the termfreq if we already
2334           have it.
2336 Sun Mar 30 22:54:22 GMT 2014  Anish Kanchan <anishgkanchan@gmail.com>
2338         * include/xapian/termgenerator.h: Make TermGenerator flags an
2339           anonymous enum, and typedef TermGenerator::flags to int for backward
2340           compatibility with existing user code which uses it.  (fixes #616)
2342 Thu Mar 27 05:45:14 GMT 2014  Liu Chi <liuchi09@gmail.com>
2344         * include/xapian/stem.h,languages/Makefile.mk,
2345           languages/earlyenglish.sbl,languages/stem.cc,tests/api_stem.cc:
2346           Add an early english stemmer.
2348 Wed Mar 19 02:42:00 GMT 2014  Olly Betts <olly@survex.com>
2350         * weight/weightinternal.cc: Fix comment typo.
2352 Fri Mar 14 09:53:22 GMT 2014  Olly Betts <olly@survex.com>
2354         * HACKING: MacTeX seems to be the best option if using homebrew.
2356 Fri Mar 07 23:17:43 GMT 2014  Olly Betts <olly@survex.com>
2358         * matcher/maxpostlist.cc: More fixes for --enable.log.
2360 Fri Mar 07 23:01:45 GMT 2014  Olly Betts <olly@survex.com>
2362         * matcher/maxpostlist.cc: Fix compilation error with --enable-log on.
2363           Reported by Anurag Soni.
2365 Fri Mar 07 00:39:11 GMT 2014  Olly Betts <olly@survex.com>
2367         * HACKING: Fix typo and RST markup.
2369 Fri Mar 07 00:21:16 GMT 2014  VcamX <vcamx3@gmail.com>
2371         * HACKING: Note packages to install from homebrew on Mac OS X.
2373 Fri Mar 07 00:17:01 GMT 2014  VcamX <vcamx3@gmail.com>
2375         * backends/dbcheck.cc,common/pack.h: Fix warnings with clang 5.0.
2377 Tue Mar 04 04:25:11 GMT 2014  Olly Betts <olly@survex.com>
2379         * api/queryinternal.cc,api/queryinternal.h: Only simplify OP_SYNONYM
2380           with a single subquery if that subquery is a term or MatchAll.
2382 Tue Mar 04 04:12:58 GMT 2014  Olly Betts <olly@survex.com>
2384         * tests/api_none.cc: Test OPs with a single MatchAll subquery.
2386 Mon Mar 03 22:59:55 GMT 2014  Mayank Chaudhary <mayankchaudhary.iitr@gmail.com>
2388         * docs/Makefile.am,docs/bm25.rst,docs/intro_ir.rst: Convert equations
2389           in rst docs to use LaTeX via the math role and directive.
2391 Fri Feb 28 06:12:36 GMT 2014  Olly Betts <olly@survex.com>
2393         * backends/brass/brass_positionlist.h,
2394           backends/chert/chert_positionlist.h: Remove next_internal() methods
2395           which were declared but not defined or used (left-overs from flint).
2396           Reported by "Hurricane Tong".
2398 Wed Feb 26 01:33:50 GMT 2014  Olly Betts <olly@survex.com>
2400         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
2401           examples/quest.cc,include/xapian/query.h,matcher/Makefile.mk,
2402           matcher/maxpostlist.cc,matcher/maxpostlist.h,
2403           queryparser/queryparser.cc,tests/api_none.cc,tests/api_opsynonym.cc:
2404           Implement new OP_MAX query operator, which returns the maximum
2405           weight of any of its subqueries.  (see #360)
2407 Wed Feb 26 00:48:23 GMT 2014  Olly Betts <olly@survex.com>
2409         * matcher/localsubmatch.cc,matcher/synonympostlist.cc,
2410           matcher/synonympostlist.h: In SynonymPostList, avoid fetching the
2411           doclength if the weighting scheme doesn't need it and the calculated
2412           wdf for the synonym in <= doclength_lower_bound for the current
2413           subdatabase.  (fixes #360)
2415 Wed Feb 26 00:12:22 GMT 2014  Olly Betts <olly@survex.com>
2417         * backends/brass/brass_changes.cc: Fix compilation without
2418           --enable-assertions.
2420 Tue Feb 25 02:33:14 GMT 2014  Olly Betts <olly@survex.com>
2422         * examples/quest.cc: Add --default-op option.
2424 Tue Feb 25 01:56:34 GMT 2014  Olly Betts <olly@survex.com>
2426         * examples/quest.cc: Whitespace tweak.
2428 Mon Feb 24 06:33:37 GMT 2014  Olly Betts <olly@survex.com>
2430         * tests/api_opsynonym.cc: Refactor symonym1 so that the test data is
2431           specified by an array, rather than built up by code, so that the
2432           actual testcases can be more easily seen.
2434 Sun Feb 23 01:22:56 GMT 2014  Olly Betts <olly@survex.com>
2436         * common/bitstream.cc,common/bitstream.h: Add comments to better
2437           document BitReader and BitWriter. (fixes#252)
2439 Sun Feb 23 00:35:17 GMT 2014  Olly Betts <olly@survex.com>
2441         * HACKING: Stop trying to explicitly list compilers which support
2442           __builtin_expect (LLVM does too, others may as well).
2444 Fri Feb 21 01:34:59 GMT 2014  Olly Betts <olly@survex.com>
2446         * backends/brass/,backends/dbcheck.cc,common/,
2447           docs/replication_protocol.rst,tests/api_backend.cc,
2448           tests/api_replicate.cc: Keep track of unused blocks in the Btrees
2449           using freelists rather than bitmaps.
2451 Fri Feb 21 01:21:45 GMT 2014  Olly Betts <olly@survex.com>
2453         * tests/api_wrdb.cc: Expand crashrecovery1 to check that the expected
2454           base files exist and ones which shouldn't exist don't.
2456 Thu Feb 20 00:34:47 GMT 2014  Olly Betts <olly@survex.com>
2458         * HACKING: makeindex is now in Debian package texlive-binaries.
2460 Wed Feb 19 06:50:58 GMT 2014  Olly Betts <olly@survex.com>
2462         * docs/sorting.rst: Fix incorrect parameter types in Xapian::Weight
2463           subclass example.
2465 Tue Feb 18 23:34:19 GMT 2014  Olly Betts <olly@survex.com>
2467         * api/replication.cc: Fix conditional for enabling replication code
2468           - if chert is disabled but brass isn't, we should still enable it.
2470 Tue Feb 18 01:33:28 GMT 2014  Olly Betts <olly@survex.com>
2472         * tests/api_replicate.cc: Move comment to in front of the function it
2473           is actually talking about.
2475 Sun Feb 16 04:53:57 GMT 2014  Olly Betts <olly@survex.com>
2477         * xapian-config.in: Add some missing shell quoting identified by
2478           shellcheck.
2480 Sun Feb 16 00:53:01 GMT 2014  Olly Betts <olly@survex.com>
2482         * docs/quickstart.rst: Split --cxxflags and --libs for portability
2483           (noted by "Hurricane Tong" on xapian-devel).
2485 Sat Feb 15 04:59:37 GMT 2014  Olly Betts <olly@survex.com>
2487         * docs/glossary.rst: Add definition of "collection frequency".
2489 Fri Feb 14 22:24:26 GMT 2014  Olly Betts <olly@survex.com>
2491         * NEWS: Update.
2493 Fri Jan 17 03:50:44 GMT 2014  Olly Betts <olly@survex.com>
2495         * backends/brass/brass_databasereplicator.cc,
2496           backends/brass/brass_table.cc,
2497           backends/chert/chert_databasereplicator.cc,
2498           backends/chert/chert_table.cc,common/io_utils.cc,common/io_utils.h:
2499           Add io_read_block() and io_write_block() as wrappers around pread()
2500           and pwrite() (or lseek() plus read() and lseek() plus write()).
2502 Sat Jan 11 06:32:19 GMT 2014  Olly Betts <olly@survex.com>
2504         * configure.ac: Sun C++ seems to explicitly need Crun now.
2506 Sat Jan 11 02:23:06 GMT 2014  Olly Betts <olly@survex.com>
2508         * configure.ac: Fix checks for Sun C++.
2510 Fri Jan 10 22:38:01 GMT 2014  Olly Betts <olly@survex.com>
2512         * matcher/multimatch.cc: timer_create() doesn't handle CLOCK_MONOTONIC
2513           on Solaris, so use CLOCK_REALTIME there instead.
2515 Fri Jan 10 11:22:37 GMT 2014  Olly Betts <olly@survex.com>
2517         * configure.ac: Improve handling of Sun's C++ compiler - trick libtool
2518           into not adding -library=Cstd, and prefer -library=stdcxx4 if
2519           supported.
2521 Fri Jan 10 11:16:15 GMT 2014  Olly Betts <olly@survex.com>
2523         * configure.ac: Add XAPIAN_TEST_CXXFLAGS macro, and use it to check
2524           the flags to cxx actually work.
2526 Fri Jan 10 10:56:17 GMT 2014  Olly Betts <olly@survex.com>
2528         * configure.ac: Apply missing functional part of previous change.
2530 Fri Jan 10 10:46:53 GMT 2014  Olly Betts <olly@survex.com>
2532         * configure.ac: Avoid using grep -e as /usr/bin/grep on Solaris
2533           doesn't support it.
2535 Fri Jan 10 03:30:10 GMT 2014  Olly Betts <olly@survex.com>
2537         * backends/brass/brass_databasereplicator.cc: Whitespace tweak.
2539 Thu Jan 09 11:06:05 GMT 2014  Olly Betts <olly@survex.com>
2541         * backends/brass/brass_cursor.h,backends/brass/brass_database.cc,
2542           backends/chert/chert_database.cc,
2543           backends/chert/chert_databasereplicator.cc,
2544           backends/inmemory/inmemory_database.h,common/log2.h,
2545           common/realtime.h,matcher/multimatch.cc,weight/pl2weight.cc,
2546           weight/tradweight.cc: Fix compilations issues with Sun's C++
2547           compiler (mostly missing library headers).
2549 Thu Jan 09 06:00:03 GMT 2014  Olly Betts <olly@survex.com>
2551         * backends/dbcheck.cc: Skip absent lazily created tables in the case
2552           where out == NULL too.
2554 Thu Jan 09 05:31:40 GMT 2014  Olly Betts <olly@survex.com>
2556         * tests/api_wrdb.cc: Use Xapian::Database::check() in cursordelbug1.
2557           (partly addresses #238)
2559 Thu Jan 09 05:30:45 GMT 2014  Olly Betts <olly@survex.com>
2561         * include/xapian/database.h: Make second and third parameters to
2562           Xapian::Database::check() optional, defaulting to a quiet check.
2564 Thu Jan 09 02:52:54 GMT 2014  Olly Betts <olly@survex.com>
2566         * backends/brass/,backends/chert/,backends/dbcheck.cc,
2567           bin/xapian-check.cc,include/xapian/database.h: Alter
2568           Database::check() to take its "out" parameter as a pointer to
2569           std::ostream instead of a reference, and make passing NULL means "do
2570           not produce output".  Remove the form without the "out" parameter,
2571           which used to mean "send output to stdout" - if you want this, just
2572           pass "&std::cout" in.
2574 Thu Jan 09 01:50:14 GMT 2014  Olly Betts <olly@survex.com>
2576         * include/xapian/database.h: OS X SDK check() macro takes one
2577           argument, so there's no need to protect check() methods with
2578           more than one argument.
2579         * include/xapian/valueiterator.h: Protect the one check() method in
2580           our API which does take one argument.
2582 Wed Jan 08 11:48:58 GMT 2014  Olly Betts <olly@survex.com>
2584         * api/smallvector.cc,api/smallvector.h: Include cstddef rather than
2585           cstring for std::size_t, as it's a simpler header.  Don't assume
2586           size_t will be available unqualified.  Add SmallVector::size_type
2587           typedef.
2589 Mon Jan 06 11:54:53 GMT 2014  Olly Betts <olly@survex.com>
2591         * net/progclient.cc: Fix xlC warning.
2593 Mon Jan 06 00:31:19 GMT 2014  Olly Betts <olly@survex.com>
2595         * backends/brass/brass_table.cc,backends/chert/chert_table.cc:
2596           Validate dir_end when reading a block.  (fixes #592)
2598 Wed Jan 01 01:20:46 GMT 2014  Olly Betts <olly@survex.com>
2600         * docs/Makefile.am: Fix handling of MAINTAINER_NO_DOCS.
2602 Mon Dec 30 05:33:59 GMT 2013  Olly Betts <olly@survex.com>
2604         * tests/api_unicode.cc: Add regression test for incorrect results
2605           from Unicode::tolower() for 4 code points (U+01C5, U+01C8, U+01CB,
2606           U+01F2) with Xapian 1.2.16 and earlier.
2608 Sun Dec 29 05:46:14 GMT 2013  Olly Betts <olly@survex.com>
2610         * docs/postingsource.rst: Clarify a couple of points (reported by
2611           "vHanda" on IRC).
2613 Tue Dec 24 02:00:26 GMT 2013  Olly Betts <olly@survex.com>
2615         * tests/Makefile.am,tests/perftest/Makefile.mk: Actually use
2616           @NO_INSTALL@.
2618 Tue Dec 24 01:59:05 GMT 2013  Olly Betts <olly@survex.com>
2620         * configure.ac: Use -no-fast-install on platforms where -no-install
2621           causes libtool to emit a warning.
2623 Mon Dec 23 04:17:35 GMT 2013  Olly Betts <olly@survex.com>
2625         * HACKING: Drop note about needing git-svn if you're using git -
2626           bootstrap now only uses git-svn if your Xapian tree was checked out
2627           using git-svn.
2629 Mon Dec 23 04:16:58 GMT 2013  Olly Betts <olly@survex.com>
2631         * HACKING: Note that Tcl is now needed to generate
2632           unicode/unicode-data.cc.
2634 Mon Dec 23 04:01:05 GMT 2013  Olly Betts <olly@survex.com>
2636         * tests/api_unicode.cc: Add a test that a character due to be added in 
2637           Unicode 7.0.0 is categorised as "unassigned".
2639 Mon Dec 23 03:50:37 GMT 2013  Olly Betts <olly@survex.com>
2641         * unicode/Makefile.mk,unicode/uniParse.tcl: Adjust to not need a
2642           symlink.  Give the generated file a new name, since the "tcl" prefix
2643           doesn't make much sense here, and it avoids issues with
2644           transitioning from a file in version control to one which is
2645           generated.
2647 Mon Dec 23 03:32:40 GMT 2013  Olly Betts <olly@survex.com>
2649         * unicode/: Add the source data file and scripts to generate
2650           tclUniData.cc.
2652 Mon Dec 23 02:20:57 GMT 2013  Olly Betts <olly@survex.com>
2654         * NEWS: Update from ChangeLog.
2656 Mon Dec 23 01:04:26 GMT 2013  Olly Betts <olly@survex.com>
2658         * include/xapian/enquire.h: Note that 1.2.17 is required for the
2659           correct sense of the reverse parameter to Enquire methods
2660           set_sort_by_relevance_then_value() and
2661           set_sort_by_relevance_then_key().
2663 Mon Dec 23 00:30:53 GMT 2013  Olly Betts <olly@survex.com>
2665         * backends/brass/brass_btreebase.cc: Fix comment documenting what's in
2666           the base file (the sequential flag was missing).
2668 Fri Dec 20 03:47:56 GMT 2013  Olly Betts <olly@survex.com>
2670         * backends/brass/brass_termlisttable.h,include/xapian/constants.h,
2671           tests/api_backend.cc: Add Xapian::DB_NO_TERMLIST flag to allow
2672           creating a database without a termlist (see #181).
2674 Fri Dec 20 03:04:51 GMT 2013  Olly Betts <olly@survex.com>
2676         * include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode
2677           character database to 6.3.0.
2678         * tests/api_unicode.cc: Add tests for U+061C, added in 6.3.0.
2680 Fri Dec 20 00:20:01 GMT 2013  Olly Betts <olly@survex.com>
2682         * backends/dbfactory.cc: Clear any backend flag passed in before
2683           passing the flags when opening stub databases, fixing test failure
2684           in replicate1 caused by recent change adding
2685           Xapian::DB_BACKEND_STUB.
2687 Thu Dec 19 23:11:32 GMT 2013  Olly Betts <olly@survex.com>
2689         * tests/api_backend.cc: Simplify database creation in testcase
2690           blocksize1.
2692 Thu Dec 19 23:10:37 GMT 2013  Olly Betts <olly@survex.com>
2694         * backends/dbfactory.cc: Tweak conditionals around $XAPIAN_PREFER_BRASS
2695           check.
2697 Thu Dec 19 23:09:30 GMT 2013  Olly Betts <olly@survex.com>
2699         * api/replication.cc,backends/dbfactory.cc,docs/deprecation.rst,
2700           docs/overview.rst,include/xapian/constants.h,
2701           include/xapian/dbfactory.h,tests/api_backend.cc,tests/api_db.cc:
2702           Add Xapian::DB_BACKEND_STUB and deprecate Xapian::Auto::open_stub().
2704 Thu Dec 19 06:46:15 GMT 2013  Olly Betts <olly@survex.com>
2706         * docs/deprecation.rst: Update example version to a more recent one.
2708 Thu Dec 19 04:01:31 GMT 2013  Olly Betts <olly@survex.com>
2710         * docs/deprecation.rst,include/xapian/dbfactory.h,tests/api_db.cc,
2711           tests/harness/: Deprecate Xapian::Brass::open() and
2712           Xapian::Chert::open() in favour of the new Xapian::DB_BACKEND_BRASS
2713           and Xapian::DB_BACKEND_CHERT flags.
2715 Thu Dec 19 01:17:02 GMT 2013  Olly Betts <olly@survex.com>
2717         * api/compactor.cc,backends/brass/,backends/chert/chert_database.cc,
2718           backends/chert/chert_database.h,backends/database.h,
2719           backends/dbcheck.cc,backends/dbfactory.cc,include/xapian/constants.h,
2720           include/xapian/database.h,include/xapian/dbfactory.h: Add flags
2721           which can be bitwise OR-ed into the second argument when opening a
2722           writable datase: DB_NO_SYNC (to disable use of fsync, etc) and
2723           DB_DANGEROUS (to enable in-place updates).  WritableDatabase
2724           can now be constructed from just a filename (defaulting to opening
2725           the database with DB_CREATE_OR_OPEN).
2727 Thu Dec 19 00:11:26 GMT 2013  Olly Betts <olly@survex.com>
2729         * tests/harness/backendmanager_multi.cc: Fix comment typo.
2731 Wed Dec 18 23:52:49 GMT 2013  Olly Betts <olly@survex.com>
2733         * backends/brass/brass_table.cc,backends/chert/chert_table.cc,
2734           tests/api_backend.cc: Fix handling of invalid block sizes - the
2735           size gets fixed as documented, but the uncorrected size was passed
2736           to the base file.  Also, abort() was called on 0.
2738 Wed Dec 18 22:48:18 GMT 2013  Olly Betts <olly@survex.com>
2740         * api/replication.cc,backends/brass/brass_check.cc,
2741           backends/brass/brass_database.cc,backends/chert/chert_check.cc,
2742           backends/chert/chert_database.cc,backends/database.h,
2743           backends/dbcheck.cc,bin/xapian-tcpsrv.cc,include/Makefile.mk,
2744           include/xapian.h,include/xapian/database.h,net/remoteserver.cc:
2745           Move Xapian::DB_* and Xapian:DBCHECK_* constants into
2746           xapian/constants.h.
2748 Wed Dec 18 22:30:23 GMT 2013  Olly Betts <olly@survex.com>
2750         * backends/brass/brass_database.cc,backends/chert/chert_database.cc:
2751           Include xapian/*.h with "" not <> inside the library.
2753 Wed Dec 18 22:17:15 GMT 2013  Olly Betts <olly@survex.com>
2755         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
2756           Include only the needed xapian/*.h headers (rather than xapian.h) to
2757           reduce inter-file dependencies within the library.
2759 Wed Dec 18 03:24:22 GMT 2013  Olly Betts <olly@survex.com>
2761         * tests/runtest.in: Report if a test is being run under eatmydata,
2762           like we do for running under valgrind.
2764 Wed Dec 18 02:43:47 GMT 2013  Olly Betts <olly@survex.com>
2766         * backends/brass/brass_version.h,backends/chert/chert_version.h:
2767           Comment out unused set_uuid() and set_uuid_string() methods - they
2768           may be useful in future, but we aren't currently using them.  Also
2769           make set_uuid() take a const pointer.
2771 Wed Dec 18 02:40:18 GMT 2013  Olly Betts <olly@survex.com>
2773         * HACKING,configure.ac,tests/runtest.in: Automatically probe for and
2774           hook in eatmydata to the testsuite using the wrapper script it now
2775           includes.
2777 Wed Dec 18 01:21:07 GMT 2013  Olly Betts <olly@survex.com>
2779         * HACKING: Update website update info.
2781 Sat Dec 14 06:01:33 GMT 2013  Olly Betts <olly@survex.com>
2783         * weight/dlhweight.cc,weight/dphweight.cc: Whitespace tweak.
2785 Fri Dec 13 21:06:28 GMT 2013  Olly Betts <olly@survex.com>
2787         * backends/brass/brass_cursor.cc,backends/brass/brass_cursor.h,
2788           backends/brass/brass_table.cc: Reference count blocks in the
2789           btree cursor, so cursors can cheaply share blocks.  This can
2790           significantly reduce the amount of memory used for cursors
2791           for queries which contain a lot of terms (e.g. wildcards which
2792           expand to a lot of terms).
2794 Thu Dec 12 22:37:22 GMT 2013  Olly Betts <olly@survex.com>
2796         * backends/brass/brass_btreebase.cc: Add assertions that we don't read
2797           beyond the end of the freespace bitmap.
2799 Thu Dec 12 22:25:04 GMT 2013  Olly Betts <olly@survex.com>
2801         * matcher/msetcmp.cc: Fix sense of reverse parameter to
2802           Enquire::set_sort_by_relevance_then_value.  Reported by "boomboo" on
2803           IRC.
2804         * tests/api_db.cc: Fix testcase sortrel1.
2806 Thu Dec 12 19:47:46 GMT 2013  Olly Betts <olly@survex.com>
2808         * backends/brass/: Make Brass::Cursor members n and p private.
2810 Thu Dec 12 19:46:23 GMT 2013  Olly Betts <olly@survex.com>
2812         * backends/brass/brass_check.cc,backends/brass/brass_table.cc: Add
2813           const to a few pointers we only read through.
2815 Thu Dec 12 09:04:13 GMT 2013  Olly Betts <olly@survex.com>
2817         * configure.ac: Improve reporting of GCC version.
2819 Thu Dec 12 09:01:26 GMT 2013  Olly Betts <olly@survex.com>
2821         * tests/api_query.cc,unicode/description_append.cc: Escape \x7f in
2822           object descriptions.
2824 Wed Dec 11 23:40:37 GMT 2013  Olly Betts <olly@survex.com>
2826         * api/leafpostlist.cc,api/leafpostlist.h,backends/brass/,
2827           matcher/localsubmatch.cc,matcher/localsubmatch.h,
2828           matcher/queryoptimiser.h: Under brass, optimise the turning of a
2829           query into a postlist to copy the cursor blocks for the previous
2830           term's postlist.  This is particularly effective for wildcard
2831           queries which expand to a lot of terms.
2833 Wed Dec 11 22:05:34 GMT 2013  Olly Betts <olly@survex.com>
2835         * backends/brass/brass_postlist.h: We don't have a
2836           BrassModifiedPostList class, so we don't need protected members in
2837           BrassPostList for it to use.
2839 Wed Dec 11 04:46:58 GMT 2013  Olly Betts <olly@survex.com>
2841         * weight/bm25weight.cc: Fix case where (k1 == 0 || b == 0) but k2 != 0.
2842           Reported by "boomboo" on IRC.
2843         * tests/api_weight.cc: Add regression test bm25weight5.
2845 Wed Dec 04 05:44:29 GMT 2013  Olly Betts <olly@survex.com>
2847         * NEWS: Update from 1.2.16 and ChangeLog.
2849 Mon Dec 02 02:34:43 GMT 2013  Olly Betts <olly@survex.com>
2851         * configure.ac: Clarify version of MSVCRT which we require for mingw.
2853 Fri Nov 29 04:21:46 GMT 2013  Olly Betts <olly@survex.com>
2855         * configure.ac: Fix typo in previous commit.
2857 Fri Nov 29 03:48:24 GMT 2013  Olly Betts <olly@survex.com>
2859         * configure.ac: Report GCC version.
2861 Wed Nov 27 04:06:32 GMT 2013  Olly Betts <olly@survex.com>
2863         * Backport change from brass:
2864         * backends/chert/chert_table.cc: Check if the block we want is in the
2865           internal cursor for a read-only table too - it isn't needed for
2866           correctness in this case, but it is more efficient not to reload a
2867           block which we already have.
2869 Sun Nov 24 23:05:37 GMT 2013  Olly Betts <olly@survex.com>
2871         * NEWS: Update from ChangeLog.
2873 Fri Nov 22 20:18:43 GMT 2013  Olly Betts <olly@survex.com>
2875         * backends/brass/brass_databasereplicator.cc,
2876           backends/brass/brass_databasereplicator.h: compression_stream.h
2877           isn't used in brass_databasereplicator.h, so move include to
2878           brass_databasereplicator.cc.
2880 Fri Nov 22 01:22:32 GMT 2013  Olly Betts <olly@survex.com>
2882         * queryparser/queryparser.lemony: Minor tweak to structuring of tests
2883           in check_infix().
2885 Sat Nov 09 08:51:27 GMT 2013  Olly Betts <olly@survex.com>
2887         * backends/brass/brass_table.cc: Check if the block we want is in the
2888           internal cursor for a read-only table too - it isn't needed for
2889           correctness in this case, but it is more efficient not to reload a
2890           block which we already have.
2892 Sat Nov 09 08:48:02 GMT 2013  Olly Betts <olly@survex.com>
2894         * backends/brass/: Use a separate cursor for each position list - now
2895           we're ordering the position B-tree by term first, phrase matching was
2896           causing the cursor to cycle between disparate areas of the B-tree,
2897           and it would have to reread the same blocks over and over.
2899 Fri Nov 08 09:57:52 GMT 2013  Olly Betts <olly@survex.com>
2901         * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Add
2902           check for the database being closed in read_block(), which fixes
2903           pythontest.py testcase valuemods.
2905 Fri Nov 08 08:58:48 GMT 2013  Olly Betts <olly@survex.com>
2907         * api/maptermlist.h,api/termlist.cc,api/termlist.h,backends/brass/:
2908           Avoid two vector copies when storing term positions in most common
2909           cases.
2911 Fri Nov 08 08:57:07 GMT 2013  Olly Betts <olly@survex.com>
2913         * configure.ac: Bump LIBRARY_VERSION_INFO.
2915 Thu Nov 07 16:14:23 GMT 2013  Olly Betts <olly@survex.com>
2917         * backends/brass/brass_database.cc,
2918           backends/brass/brass_positionlist.cc,
2919           backends/brass/brass_positionlist.h: There's no need to pass around
2920           an end PositionIterator, and it's actually slightly more efficient
2921           not to.
2923 Thu Nov 07 16:11:27 GMT 2013  Olly Betts <olly@survex.com>
2925         * backends/brass/: Batch up positionlist changes in memory and write
2926           them out in key order.
2928 Thu Nov 07 15:30:48 GMT 2013  Olly Betts <olly@survex.com>
2930         * backends/brass/brass_positionlist.h,backends/brass/brass_version.cc:
2931           Change positionlist keys to be ordered by term first rather than
2932           docid first, which helps phrase searching significantly.
2934 Wed Nov 06 17:12:29 GMT 2013  Olly Betts <olly@survex.com>
2936         * backends/brass/brass_values.cc,backends/brass/brass_values.h,
2937           backends/chert/chert_values.cc,backends/chert/chert_values.h: Reuse
2938           a cursor for reading values from valuestreams rather than creating
2939           a new one each time.  This can dramatically reduce the number of
2940           blocks redundantly reread when sorting by value.  The rereads will
2941           generally get served from VM cache, but there's still an overhead
2942           to that.
2944 Tue Nov 05 16:28:08 GMT 2013  Olly Betts <olly@survex.com>
2946         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
2947           include/xapian/query.h,tests/api_query.cc: Having a separate 'type'
2948           enum seems to just make for clumsier code, so merged the LEAF_*
2949           values into the 'op' enum, add LEAF_MATCH_ALL and LEAF_MATCH_NOTHING
2950           and return when appropriate, and add test coverage.
2952 Tue Nov 05 15:20:15 GMT 2013  Olly Betts <olly@survex.com>
2954         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
2955           include/xapian/query.h: Add methods to allow introspection on
2956           Query objects - currently you can read the type/operator, how many
2957           subqueries there are, and get a particular subquery.  For a
2958           query which is a term, Query::get_terms_begin() allows you to
2959           get read the term.  (see #159)
2961 Mon Nov 04 19:06:38 GMT 2013  Olly Betts <olly@survex.com>
2963         * examples/quest.cc: Add --check-at-least option to quest.
2965 Thu Oct 24 04:38:52 GMT 2013  Olly Betts <olly@survex.com>
2967         * configure.ac,tests/soaktest/soaktest.cc: If srandom() and random()
2968           aren't available, use srand() and rand() instead.
2970 Thu Oct 24 02:34:06 GMT 2013  Olly Betts <olly@survex.com>
2972         * common/safewindows.h: Define WINVER to 0x0500 if not otherwise set,
2973           so we get new interfaces like MEMORYSTATUSEX under mingw.
2975 Thu Oct 24 02:11:36 GMT 2013  Olly Betts <olly@survex.com>
2977         * tests/harness/backendmanager_remotetcp.cc: Need cstdlib for free
2978           under mingw.
2980 Thu Oct 24 02:11:05 GMT 2013  Olly Betts <olly@survex.com>
2982         * configure.ac,tests/api_replicate.cc,tests/queryparsertest.cc,
2983           tests/termgentest.cc: Probe for _putenv_s() in configure as mingw
2984           doesn't provide it.
2986 Thu Oct 24 01:23:14 GMT 2013  Olly Betts <olly@survex.com>
2988         * configure.ac: Don't unset CC as it's used by libtool under mingw.
2990 Thu Oct 24 01:17:07 GMT 2013  Olly Betts <olly@survex.com>
2992         * net/tcpserver.cc: Fix mingw build error.
2994 Thu Oct 24 01:00:18 GMT 2013  Olly Betts <olly@survex.com>
2996         * common/omassert.h: Suppress "unused local typedef" warnings from
2997           GCC 4.8.
2999 Wed Oct 23 20:00:05 GMT 2013  Olly Betts <olly@survex.com>
3001         * common/realtime.h: Rework RealTime::to_timeval() under __WIN32__ to
3002           avoid having to pull in safewinsock2.h,
3004 Wed Oct 23 12:39:53 GMT 2013  Olly Betts <olly@survex.com>
3006         * common/realtime.h: Under __WIN32__, we need safewinsock2.h for
3007           struct timeval.
3009 Wed Oct 23 10:21:02 GMT 2013  Olly Betts <olly@survex.com>
3011         * common/omassert.h: If the compiler supports C++11, use
3012           static_assert to implement CompileTimeAssert.
3014 Wed Oct 23 10:02:50 GMT 2013  Olly Betts <olly@survex.com>
3016         * common/realtime.h,net/tcpclient.cc: Fix mingw build errors.
3018 Wed Oct 23 09:50:00 GMT 2013  Olly Betts <olly@survex.com>
3020         * common/win32_uuid.cc: Fix mingw compiler warning.
3022 Wed Oct 23 04:19:05 GMT 2013  jiangwen jiang <jiangwen127@gmail.com>
3024         * api/omdocument.cc,api/query.cc: Add more LOGCALL annotations.
3026 Tue Oct 22 03:09:48 GMT 2013  Olly Betts <olly@survex.com>
3028         * HACKING: Note we now use doxygen 1.8.5 for 1.3.x snapshots and
3029           releases.
3031 Mon Oct 21 01:55:48 GMT 2013  Olly Betts <olly@survex.com>
3033         * queryparser/lemon.c: Sync change from upstream: "Fix a harmless
3034           compiler warning in lemon.c."  Generated code is identical, at least
3035           on x86-64 Debian wheezy.
3037 Mon Oct 21 01:52:12 GMT 2013  Olly Betts <olly@survex.com>
3039         * queryparser/lemon.c: Sync change from upstream: "In the lemon parser
3040           generator, change all hashes to unsigned to avoid potential problems
3041           with signed integer overflow."  Generated code is identical, at
3042           least on x86-64 Debian wheezy.
3044 Sat Oct 19 06:38:48 GMT 2013  Olly Betts <olly@survex.com>
3046         * backends/flint_lock.cc: Under cygwin, use cygwin_conv_path() if
3047           using a new enough cygwin version, rather than the now deprecated
3048           cygwin_conv_to_win32_path().  Reported by "Haroogan" on the
3049           xapian-devel mailing list.
3051 Sat Oct 19 00:36:06 GMT 2013  Olly Betts <olly@survex.com>
3053         * configure.ac: Simplify test for uuid_unparse_lower().  (see #626)
3055 Sat Oct 19 00:21:37 GMT 2013  Olly Betts <olly@survex.com>
3057         * Makefile.am,configure.ac: Split XAPIAN_LIBS out of XAPIAN_LDFLAGS.
3058           (fixes#626)
3060 Fri Oct 18 11:51:40 GMT 2013  Olly Betts <olly@survex.com>
3062         * geospatial/geoencode.cc: Use lround() instead of round(), since we
3063           want the result as an int.  GCC 4.4.3 seems to optimise to use
3064           lround() anyway, but other compilers may not.
3066 Fri Oct 18 11:44:10 GMT 2013  Olly Betts <olly@survex.com>
3068         * geospatial/geoencode.cc: Include <math.h> for round() (fixes #628).
3070 Tue Oct 15 03:16:04 GMT 2013  Olly Betts <olly@survex.com>
3072         * include/xapian/enquire.h,include/xapian/unicode.h: Mark internal
3073           methods which are public for implementation convenience as
3074           "@private" for doxygen where they weren't already.
3076 Mon Oct 14 09:45:13 GMT 2013  Olly Betts <olly@survex.com>
3078         * include/xapian.h: Mark vinfo struct and get_vinfo_() function as
3079           @private for doxygen.
3081 Thu Oct 10 10:36:45 GMT 2013  Olly Betts <olly@survex.com>
3083         * include/xapian/: Methods and functions which take a string to
3084           unserialise now consistently call that parameter "serialised".
3086 Mon Oct 07 04:08:14 GMT 2013  Olly Betts <olly@survex.com>
3088         * tests/zlib-vg.c: Fix two warnings when compiled with clang.
3090 Fri Oct 04 19:46:16 GMT 2013  Olly Betts <olly@survex.com>
3092         * backends/brass/brass_check.cc,backends/chert/chert_check.cc: Correct
3093           failure message which talks above the root block when it's actually
3094           testing a leaf key.
3096 Fri Oct 04 04:51:39 GMT 2013  Olly Betts <olly@survex.com>
3098         * backends/brass/brass_check.cc,backends/chert/chert_check.cc: Escape
3099           invalid UTF-8 data in keys and tags reported by xapian-check, using
3100           the same code we use to clean up string in object descriptions.
3102 Fri Oct 04 04:50:52 GMT 2013  Olly Betts <olly@survex.com>
3104         * backends/brass/brass_check.cc,backends/chert/chert_check.cc: Fix
3105           xapian-check to report block numbers correctly for links within the
3106           B-tree.
3108 Thu Oct 03 07:35:44 GMT 2013  Olly Betts <olly@survex.com>
3110         * backends/brass/brass_dbcheck.cc,backends/chert/chert_dbcheck.cc: If
3111           the METAINFO key is missing, only report it once per table.
3113 Sat Sep 28 09:27:51 GMT 2013  Olly Betts <olly@survex.com>
3115         * include/xapian.h: Hide struct vinfo and get_vinfo_() from SWIG and
3116           doxygen.
3118 Sat Sep 28 06:25:44 GMT 2013  Olly Betts <olly@survex.com>
3120         * api/version.cc,include/xapian.h: Reimplement version functions to
3121           use a single function in libxapian which returns a pointer to a
3122           static const struct containing the version information, with inline
3123           wrappers in the API header which call this.  This means we only need
3124           one relocation instead of 4.
3125         * tests/api_none.cc: New testcase version1 to provide coverage for the
3126           version API functions.
3128 Fri Sep 27 22:53:15 GMT 2013  Olly Betts <olly@survex.com>
3130         * api/omenquire.cc,include/xapian/enquire.h,tests/api_anydb.cc: Fix
3131           backwards compatibility get_eset() wrapper to allow for the optional
3132           parameters which were supported before.  Also, just inline it from
3133           the API header.
3135 Fri Sep 27 11:19:50 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3137         * api/omenquire.cc,api/omenquireinternal.h,expand/,
3138           include/xapian/enquire.h,tests/api_anydb.cc: Add support for the Bo1
3139           query expansion scheme.
3141 Thu Sep 26 04:11:49 GMT 2013  Olly Betts <olly@survex.com>
3143         * tests/api_weight.cc: Don't pass integer arguments to log() to avoid
3144           ambiguity errors with some compilers.  (fixes #627)
3146 Thu Sep 26 02:02:24 GMT 2013  Olly Betts <olly@survex.com>
3148         * backends/brass/,backends/chert/,backends/dbcheck.cc: Fix database
3149           consistency checking to always open all the tables at the same
3150           revision, which could lead to false errors being reported after
3151           a commit interrupted by the process being killed or the machine
3152           crashing.  Reported by Joey Hess in http://bugs.debian.org/724610
3154 Wed Sep 25 02:21:29 GMT 2013  Olly Betts <olly@survex.com>
3156         * tests/queryparsertest.cc: Add testcase for FieldProcessor on boolean
3157           prefix with quoted contents.
3159 Wed Sep 25 02:16:55 GMT 2013  Olly Betts <olly@survex.com>
3161         * queryparser/queryparser.lemony: Fix comment typo.
3163 Wed Sep 25 02:13:20 GMT 2013  Olly Betts <olly@survex.com>
3165         * api/: Split QueryVector into a template SmallVector class and then
3166           'typedef SmallVector<Query> QueryVector;', as it would be good to
3167           use the same approach for Database internals.
3169 Tue Sep 24 09:59:05 GMT 2013  Olly Betts <olly@survex.com>
3171         * .gitignore,xapian-core.spec.in: Update two references to .tar.gz
3172           files.
3174 Tue Sep 24 09:54:42 GMT 2013  Olly Betts <olly@survex.com>
3176         * docs/install.rst: Fix typo (bogus extra 'and');
3178 Tue Sep 24 09:54:01 GMT 2013  Olly Betts <olly@survex.com>
3180         * configure.ac,docs/install.rst: Compress source tarballs with xz
3181           instead of gzip.
3183 Mon Sep 23 12:58:23 GMT 2013  Olly Betts <olly@survex.com>
3185         * common/realtime.h,configure.ac,matcher/multimatch.cc: Implement
3186           RealTime::sleep() using nanosleep() where it's available, since
3187           it has a simpler API and a finer granularity than select().
3189 Mon Sep 23 12:27:37 GMT 2013  Olly Betts <olly@survex.com>
3191         * common/realtime.h,net/remoteconnection.cc,net/tcpclient.cc: Add
3192           RealTime::to_timeval() helper function to break a time interval
3193           as a double into a struct timeval.  This uses modf() which gives
3194           more compact and faster code than using fmod() as we previously
3195           did.
3197 Mon Sep 23 08:20:03 GMT 2013  Olly Betts <olly@survex.com>
3199         * common/realtime.h,configure.ac: Use clock_gettime() to implement
3200           RealTime::now() where it's available.
3202 Mon Sep 16 11:53:28 GMT 2013  Olly Betts <olly@survex.com>
3204         * api/,backends/brass/brass_postlist.cc,
3205           backends/remote/net_postlist.cc,backends/slowvaluelist.cc,
3206           expand/esetinternal.cc,include/xapian/unicode.h,
3207           matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc,
3208           tests/api_query.cc,tests/queryparsertest.cc,unicode/: Fix all
3209           get_description() methods to always return UTF-8 text.  (fixes #620)
3211 Mon Sep 16 11:47:16 GMT 2013  Olly Betts <olly@survex.com>
3213         * include/xapian/unicode.h: Document how Utf8Iterator handles invalid
3214           UTF-8.
3216 Mon Sep 16 11:19:48 GMT 2013  Olly Betts <olly@survex.com>
3218         * tests/queryparsertest.cc: Add test coverage for explicit synonym of
3219           a term with a prefix (e.g. ~foo:search).
3221 Fri Sep 06 07:11:29 GMT 2013  Olly Betts <olly@survex.com>
3223         * api/valueiterator.cc,tests/api_backend.cc: Don't segfault is
3224           skip_to() or check() are called on a ValueIterator which is already
3225           at_end().
3227 Fri Sep 06 06:52:49 GMT 2013  Olly Betts <olly@survex.com>
3229         * api/positioniterator.cc,api/postingiterator.cc,api/termiterator.cc,
3230           tests/api_backend.cc: Don't segfault if skip_to() is called on an
3231           iterator which is already at_end().  Reported by David Bremner.
3233 Wed Sep 04 04:52:50 GMT 2013  Olly Betts <olly@survex.com>
3235         * weight/weightinternal.cc: TermFreqs now tracks collection frequency,
3236           so make TermFreqs::get_description() report it.
3238 Thu Aug 29 01:30:45 GMT 2013  Olly Betts <olly@survex.com>
3240         * matcher/andmaybepostlist.cc,matcher/multiandpostlist.h: Fix
3241           assertion failure for when an OrPostList decays to an AndPostList
3242           - the ordering of the subqueries by estimated termfreq may not be
3243           the same as it was when the OrPostList was constructed, as the
3244           subqueries may themselves have decayed.  Reported by Michel
3245           Pelletier.
3247 Fri Aug 23 03:17:33 GMT 2013  Olly Betts <olly@survex.com>
3249         * m4-macros/xapian-1.3.m4: Handle empty or unset XAPIAN_CONFIG
3250           correctly.
3252 Mon Jul 15 12:01:17 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3254         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3255           tests/api_weight.cc,weight/Makefile.mk,weight/dphweight.cc: Add an
3256           implementation of DfR weighting scheme DPH.
3258 Sun Jul 14 07:39:37 GMT 2013  Olly Betts <olly@survex.com>
3260         * include/xapian/weight.h,weight/pl2weight.cc: Optimise PL2Weight to
3261           only calculate 2 logs per call to get_sumpart() instead of 4 by
3262           precalculating three document-independent values in init().
3264 Sun Jul 14 07:04:52 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3266         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3267           tests/api_weight.cc,weight/Makefile.mk,weight/pl2weight.cc: Add an
3268           implementation of DfR weighting scheme PL2.
3270 Sat Jul 13 11:24:20 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3272         * weight/tfidfweight.cc: Explicitly cast argument of log() to double,
3273           as xlC doesn't manage to chose an overloaded form to call otherwise.
3275 Sat Jul 13 07:29:25 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3277         * include/xapian/weight.h,tests/api_weight.cc,
3278           tests/generate-api_generated,weight/: Fix new weighting schemes to
3279           work with OP_SCALE_WEIGHT.
3281 Wed Jul 10 12:57:01 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3283         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3284           tests/api_weight.cc,weight/Makefile.mk,weight/dlhweight.cc: Add an
3285           implementation of DfR weighting scheme DLH.
3287 Wed Jul 10 07:38:15 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3289         * expand/expandweight.h: Track collection_freq and totlen restricted
3290           to the RSet in preparation for supporting DfR query expansion
3291           schemes.
3293 Mon Jul 08 06:27:05 GMT 2013  Olly Betts <olly@survex.com>
3295         * weight/Makefile.mk: Normalise whitespace in BB2 change.
3297 Sun Jul 07 12:29:48 GMT 2013  Olly Betts <olly@survex.com>
3299         * weight/bb2weight.cc: New file for BB2Weight which I failed to
3300           commit.
3302 Sun Jul 07 11:51:45 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3304         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3305           tests/api_weight.cc,weight/Makefile.mk: Add implementation of DfR
3306           weighting scheme BB2.
3308 Sat Jul 06 02:07:13 GMT 2013  Olly Betts <olly@survex.com>
3310         * api/omdatabase.cc: Fix add_document() to always use exactly the next
3311           docid after get_lastdocid() in the multidatabase case.
3313 Fri Jul 05 06:19:55 GMT 2013  Olly Betts <olly@survex.com>
3315         * backends/dbfactory.cc: Allow open a stub database containing
3316           multiple subdatabases as a WritableDatabase.
3318 Thu Jul 04 06:29:56 GMT 2013  Olly Betts <olly@survex.com>
3320         * tests/harness/backendmanager.cc,tests/harness/index_utils.cc,
3321           tests/harness/index_utils.h: Simplify the FileIndexer class.
3323 Thu Jul 04 06:09:06 GMT 2013  Olly Betts <olly@survex.com>
3325         * tests/harness/backendmanager_multi.cc,tests/harness/index_utils.cc,
3326           tests/harness/index_utils.h: Make use of the new writable
3327           multidatabase feature to simplify the multi-database handling in the
3328           test harness.
3330 Wed Jul 03 13:58:46 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3332         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3333           tests/api_weight.cc,weight/Makefile.mk,weight/ineb2weight.cc: Add
3334           implementation of DfR weighting scheme IneB2.
3336 Wed Jul 03 13:39:11 GMT 2013  Olly Betts <olly@survex.com>
3338         * include/xapian/weight.h: "please refer:" -> "please refer to:"
3340 Wed Jul 03 13:31:59 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3342         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3343           tests/api_weight.cc,weight/Makefile.mk,weight/ifb2weight.cc: Add
3344           implementation of DfR weighting scheme IfB2.
3346 Wed Jul 03 12:42:23 GMT 2013  Olly Betts <olly@survex.com>
3348         * common/safeuuid.h: Make a few tweaks to support AIX.
3350 Wed Jul 03 12:33:40 GMT 2013  Olly Betts <olly@survex.com>
3352         * common/safeuuid.h: Remove bogus take-address-of from uuid handling
3353           code for netbsd and openbsd.
3355 Wed Jul 03 11:56:05 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3357         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3358           tests/api_weight.cc,weight/Makefile.mk,weight/inl2weight.cc: Add
3359           implementation of DfR weighting scheme InL2.
3361 Wed Jul 03 08:20:26 GMT 2013  Olly Betts <olly@survex.com>
3363         * api/error.cc,common/Makefile.mk,common/safenetdb.h,net/tcpclient.cc,
3364           net/tcpserver.cc: AIX needs _USE_IRS defined for hstrerror, so
3365           create safenetdb.h to take care of that.
3367 Wed Jul 03 07:34:13 GMT 2013  Olly Betts <olly@survex.com>
3369         * common/safeuuid.h: Add missing '#include <cstdlib>' and qualify free
3370           with std.
3372 Tue Jul 02 23:44:48 GMT 2013  Olly Betts <olly@survex.com>
3374         * api/omdatabase.cc: Add support for WritableDatabase with multiple
3375           subdatabases.
3377 Tue Jul 02 23:40:08 GMT 2013  Olly Betts <olly@survex.com>
3379         * api/omdatabase.cc,tests/api_none.cc: Trying to perform operations on
3380           a database with no subdatabases now throws InvalidOperationError not
3381           DocNotFoundError.
3383 Tue Jul 02 13:22:31 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3385         * tests/api_weight.cc: Extend checkstatsweight1 to check that
3386           Weight::get_collection_freq() returns the same number as
3387           Database::get_collection_freq().
3389 Tue Jul 02 05:00:30 GMT 2013  Olly Betts <olly@survex.com>
3391         * api/omenquire.cc,api/omenquireinternal.h,
3392           backends/remote/remote-database.cc,backends/remote/remote-database.h,
3393           common/remoteprotocol.h,configure.ac,docs/remote_protocol.rst,
3394           include/xapian/enquire.h,matcher/multimatch.cc,matcher/multimatch.h,
3395           net/remoteserver.cc,tests/api_postingsource.cc: Add
3396           Enquire::set_time_limit() method which sets a timelimit after which
3397           check_at_least will be disabled.
3399 Mon Jul 01 23:42:33 GMT 2013  Olly Betts <olly@survex.com>
3401         * tests/Makefile.am: Fix to actually removed cached databases before
3402           "make check".
3404 Mon Jul 01 22:21:41 GMT 2013  Olly Betts <olly@survex.com>
3406         * NEWS,api/queryinternal.cc,matcher/valuestreamdocument.h: Revert
3407           changes accidentally included in r17373.
3409 Sat Jun 29 12:39:10 GMT 2013  Olly Betts <olly@survex.com>
3411         * include/xapian/unicode.h,unicode/tclUniData.cc: Change
3412           Xapian::Unicode::Internal::get_character_info() to simply return
3413           Xapian::Unicode::UNASSIGNED for character outside unicode (ch >=
3414           0x110000) which avoids a special check for such values before
3415           we call get_character_info().
3417 Sat Jun 29 09:31:12 GMT 2013  Olly Betts <olly@survex.com>
3419         * tests/api_serialise.cc: Remove code from registry* testcases which
3420           tries to test the consequences of throwing an exception from a
3421           destructor - it's complex to ensure we don't leak memory while doing
3422           this (it seems GCC doesn't release the object in this case, but
3423           clang does), and it's generally frowned upon, plus C++11 makes
3424           destructors noexcept by default.
3426 Thu Jun 27 02:36:02 GMT 2013  Olly Betts <olly@survex.com>
3428         * weight/weightinternal.h: Initialise total_term_count to zero.
3429           Fixes failure of qp_flag_wildcard3 under valgrind in buildbot.
3431 Wed Jun 26 05:48:21 GMT 2013  Olly Betts <olly@survex.com>
3433         * backends/dbfactory.cc: '# if defined' -> '#ifdef' to match
3434           surrounding code better.
3436 Wed Jun 26 05:47:38 GMT 2013  Olly Betts <olly@survex.com>
3438         * backends/dbfactory.cc: Fix 'unused label' warning when chert backend
3439           is disabled.
3441 Wed Jun 26 05:40:29 GMT 2013  Olly Betts <olly@survex.com>
3443         * tests/queryparsertest.cc: Fix previous change to compile.
3445 Wed Jun 26 05:34:25 GMT 2013  Olly Betts <olly@survex.com>
3447         * tests/queryparsertest.cc: Change qp_scale1 to time 5 repetitions of
3448           the large query to help average out variations.
3450 Wed Jun 26 04:52:33 GMT 2013  Olly Betts <olly@survex.com>
3452         * configure.ac: Tweak to simplify diff against similar code in
3453           xapian-omega.
3455 Wed Jun 26 03:56:14 GMT 2013  Olly Betts <olly@survex.com>
3457         * api/matchspy.cc: Fix get_description() to work on a
3458           ValueCountMatchSpy with NULL internals - fixes matchspy5 testcase
3459           with remote backends when configured with --enable-log.
3460         * api/matchspy.cc: Add assertions that internal is non-NULL before
3461           using it.
3462         * include/xapian/matchspy.h: If internal is NULL, make
3463           ValueCountMatchSpy::get_total() return 0 rather than dereferencing
3464           NULL.
3466 Wed Jun 26 03:10:58 GMT 2013  Olly Betts <olly@survex.com>
3468         * tests/harness/testsuite.cc,tests/harness/testsuite.h: If
3469           -v/--verbose is specified more than once, show the diagnostic output
3470           for passing tests as well as failing/skipped ones.
3472 Wed Jun 26 03:08:08 GMT 2013  Olly Betts <olly@survex.com>
3474         * tests/api_scalability.cc: Change querypairwise1_helper to repeat the
3475           query build 100 times, as with a fast modern machine we were
3476           sometimes trying to so many subqueries that we would run out of
3477           stack.
3479 Wed Jun 26 02:55:20 GMT 2013  Olly Betts <olly@survex.com>
3481         * weight/tfidfweight.cc: Wrap long lines.
3483 Wed Jun 26 02:00:12 GMT 2013  Olly Betts <olly@survex.com>
3485         * configure.ac,m4-macros/xapian-1.3.m4: Fix stripping of _git suffix
3486           from snapshot versions not to relying of sed having support for \|
3487           as it doesn't on OS X.
3489 Tue Jun 25 13:21:44 GMT 2013  Olly Betts <olly@survex.com>
3491         * weight/tfidfweight.cc: Merge "impossible" cases in switch statements
3492           into possible ones which contain the same code, adding assertions
3493           that the "impossible" hasn't happened.  More robust and improves
3494           test coverage.
3496 Tue Jun 25 06:28:00 GMT 2013  Olly Betts <olly@survex.com>
3498         * m4-macros/xapian-1.3.m4: XO_LIB_XAPIAN now handles the user
3499           specifying a relative path in XAPIAN_CONFIG, e.g.: "./configure
3500           XAPIAN_CONFIG=../xapian-core/xapian-config"
3502 Tue Jun 25 05:34:41 GMT 2013  Olly Betts <olly@survex.com>
3504         * m4-macros/xapian-1.3.m4: Fix comment typo.
3506 Tue Jun 25 05:33:54 GMT 2013  Olly Betts <olly@survex.com>
3508         * configure.ac: Use AC_PATH_PROG instead of AC_PATH_PROG when there's
3509           only one name for the program to look for.
3511 Sun Jun 23 13:12:54 GMT 2013  Olly Betts <olly@survex.com>
3513         * configure.ac: clang doesn't support -Wstrict-null-sentinel or
3514           -Wlogical-op, so don't pass it these options.
3516 Sat Jun 22 13:40:40 GMT 2013  Olly Betts <olly@survex.com>
3518         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
3519           Fix failure when built with -D_GLIBCXX_DEBUG - we were modifying
3520           the top() element of a heap before calling pop(), such that the
3521           heap comparison operation (which is called when -D_GLIBCXX_DEBUG
3522           is on to verify the heap is valid) would read off the end of the
3523           data.  In a normal build, this issue would likely never manifest.
3525 Sat Jun 22 11:21:22 GMT 2013  Olly Betts <olly@survex.com>
3527         * common/bitstream.cc: Fix assertion in BitReader::decode().
3529 Sat Jun 22 09:13:13 GMT 2013  Olly Betts <olly@survex.com>
3531         * matcher/localsubmatch.cc: Fix assertion failure when built with
3532           --enable-assertions.  The behaviour when built without assertions
3533           happened to be correct.
3535 Fri Jun 21 13:10:53 GMT 2013  Olly Betts <olly@survex.com>
3537         * tests/unittest.cc: Add simple test for log2().
3539 Fri Jun 21 13:09:09 GMT 2013  Olly Betts <olly@survex.com>
3541         * common/Makefile.mk,common/log2.h,configure.ac: Add log2.h header
3542           which provides an implementation of log2() if it isn't available in
3543           the standard libraries.
3545 Fri Jun 14 13:20:58 GMT 2013  Olly Betts <olly@survex.com>
3547         * common/fd.h: Add missing header include guards.
3549 Fri Jun 14 13:19:44 GMT 2013  Olly Betts <olly@survex.com>
3551         * common/append_filename_arg.h,geospatial/geoencode.h: Fix header
3552           include guard names which don't match our naming conventions.
3554 Fri Jun 14 13:18:40 GMT 2013  Olly Betts <olly@survex.com>
3556         * backends/brass/brass_dbcheck.h,backends/chert/chert_dbcheck.h,
3557           backends/multi/multi_alltermslist.h: Fix header include guard macro
3558           names which don't match the source file names.
3560 Fri Jun 14 12:48:14 GMT 2013  Olly Betts <olly@survex.com>
3562         * common/compression_stream.h: Whitespace tweak.
3564 Thu Jun 13 13:58:14 GMT 2013  Olly Betts <olly@survex.com>
3566         * backends/chert/chert_positionlist.cc: Remove 'Assert(rd);' since rd
3567           is no longer a pointer.
3569 Thu Jun 13 13:28:43 GMT 2013  Olly Betts <olly@survex.com>
3571         * tests/harness/utestsuite.cc: Add missing GPL boilerplate and
3572           copyright statements.
3574 Thu Jun 13 13:26:07 GMT 2013  Olly Betts <olly@survex.com>
3576         * common/compression_stream.cc,common/compression_stream.h: Add
3577           missing GPL boilerplate and copyright statements.
3579 Thu Jun 13 13:24:34 GMT 2013  Olly Betts <olly@survex.com>
3581         * common/compression_stream.cc,common/compression_stream.h: Remove
3582           unused header includes; don't use "using namespace std;" in a
3583           header.
3585 Thu Jun 13 08:30:26 GMT 2013  Olly Betts <olly@survex.com>
3587         * backends/brass/brass_positionlist.cc: Remove 'Assert(rd);' since rd
3588           is no longer a pointer.
3590 Thu Jun 13 05:07:27 GMT 2013  Olly Betts <olly@survex.com>
3592         * common/compression_stream.h: Update include guard to match source
3593           file name.
3595 Thu Jun 13 02:38:20 GMT 2013  Olly Betts <olly@survex.com>
3597         * common/,net/length.h,net/serialise.h: Fix @file markup which wasn't
3598           actually in a doxygen comment.
3600 Thu Jun 13 02:14:22 GMT 2013  Olly Betts <olly@survex.com>
3602         * preautoreconf: Remove needless use of perl prototype.
3604 Tue Jun 11 00:40:37 GMT 2013  Olly Betts <olly@survex.com>
3606         * common/remoteprotocol.h,docs/remote_protocol.rst: Bump
3607           remote protocol version to 38.o.
3609 Tue Jun 11 00:37:01 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3611         * api/leafpostlist.cc,matcher/,net/serialise.cc,weight/weight.cc,
3612           weight/weightinternal.cc,weight/weightinternal.h: Make collection
3613           frequency available to Xapian::Weight subclasses.  Extracted from
3614           Gaurav Arora's LM branch.
3616 Wed May 22 10:04:25 GMT 2013  Olly Betts <olly@survex.com>
3618         * configure.ac: When generating ABI compatibility checks in
3619           xapian/version.h, pass $CXXFLAGS and $CPPFLAGS to $CXXCPP as they
3620           could contain options which affect the ABI (such as -fabi-version
3621           for GCC).  (Fixes #622)
3623 Wed May 22 04:20:39 GMT 2013  Olly Betts <olly@survex.com>
3625         * common/win32_uuid.cc: Microsoft GUIDs in binary form have reversed
3626           byte order in the first three components compared to standard UUIDs,
3627           so the same database would report a different UUID on Windows to
3628           on other platforms.  With this fix, the UUIDs of existing databases
3629           will appear to change on Windows (except in rare "palindronic" cases).
3631 Fri May 17 05:52:43 GMT 2013  Olly Betts <olly@survex.com>
3633         * docs/overview.rst: Correct documentation for stub files specifying
3634           "prog" remote databases.
3636 Thu May 16 05:47:40 GMT 2013  Olly Betts <olly@survex.com>
3638         * backends/chert/chert_dbcheck.cc: Code tweak for clarity.
3640 Thu May 16 05:46:42 GMT 2013  Olly Betts <olly@survex.com>
3642         * backends/chert/chert_dbcheck.cc: Fix database check that first docid
3643           in each doclength chunk is more than the last docid in the previous
3644           chunk - previously this didn't actually work.
3646 Thu May 16 05:45:04 GMT 2013  Olly Betts <olly@survex.com>
3648         * common/bitstream.h: Fix database check not to falsely report
3649           "position table: Junk after position data" whenever there are 7
3650           unused bits (7 is OK, *more* than 7 isn't).
3652 Tue May 14 12:42:11 GMT 2013  Olly Betts <olly@survex.com>
3654         * m4-macros/xapian-1.3.m4: Adjust XO_LIB_XAPIAN to strip _gitNNN
3655           suffix from snapshot versions.
3657 Sun May 12 06:11:36 GMT 2013  Olly Betts <olly@survex.com>
3659         * configure.ac: Simplify previous change.
3661 Sun May 12 06:06:47 GMT 2013  Olly Betts <olly@survex.com>
3663         * configure.ac: Handle git snapshot naming when calculating REVISION.
3665 Wed May 08 11:56:27 GMT 2013  Olly Betts <olly@survex.com>
3667         * HACKING,INSTALL,Makefile.am,README,docs/Makefile.am,docs/install.rst,
3668           docs/stemming.rst,languages/Makefile.mk,queryparser/Makefile.mk,
3669           tests/Makefile.am,tests/perftest/perftest.cc: SVN -> git.
3671 Wed May 08 08:51:22 GMT 2013  Olly Betts <olly@survex.com>
3673         * backends/brass/brass_version.cc,backends/chert/chert_version.cc:
3674           Remove unused '#include <cstdio>'.
3676 Mon May 06 11:10:25 GMT 2013  Olly Betts <olly@survex.com>
3678         * api/omenquire.cc,configure.ac,include/xapian/enquire.h: Merge two
3679           Enquire::get_eset() overloaded forms into one with a default value
3680           for parameter min_wt.
3682 Thu May 02 12:05:28 GMT 2013  Olly Betts <olly@survex.com>
3684         * NEWS,configure.ac: Update for 1.3.1.
3686 Thu May 02 11:13:30 GMT 2013  Olly Betts <olly@survex.com>
3688         * include/xapian/weight.h,tests/api_nodb.cc,tests/api_weight.cc,
3689           weight/tfidfweight.cc: Use lowercase letters for the TfIdfWeight
3690           descriptions to match what SMART uses.
3692 Wed May 01 05:13:07 GMT 2013  Olly Betts <olly@survex.com>
3694         * include/xapian/database.h: Work around Apple's OS X SDK defining a
3695           check() macro.
3697 Tue Apr 30 13:51:53 GMT 2013  Olly Betts <olly@survex.com>
3699         * NEWS: Update from ChangeLog.
3701 Mon Apr 29 03:09:16 GMT 2013  Olly Betts <olly@survex.com>
3703         * backends/brass/brass_dbcheck.cc,backends/chert/chert_dbcheck.cc:
3704           Use decode_interpolative_next() when checking database consistency.
3705           We also now complain about any junk after the position data.
3706         * common/bitstream.cc,common/bitstream.h: Remove the old version of
3707           decode_interpolative() which unpacks into a std::vector.
3709 Mon Apr 29 02:16:54 GMT 2013  Olly Betts <olly@survex.com>
3711         * backends/chert/chert_positionlist.cc,
3712           backends/chert/chert_positionlist.h: Backport positionlist changes
3713           from brass.
3715 Mon Apr 29 01:58:59 GMT 2013  Olly Betts <olly@survex.com>
3717         * backends/brass/brass_positionlist.cc: No need to initialise the
3718           BitReader object in the single-entry position list case.
3720 Mon Apr 29 01:58:10 GMT 2013  Olly Betts <olly@survex.com>
3722         * backends/brass/brass_positionlist.cc: Fix bug when reaching the last
3723           positionlist entry in skip_to().
3725 Mon Apr 29 00:46:10 GMT 2013  Olly Betts <olly@survex.com>
3727         * tests/api_posdb.cc: Fix comment typos.
3729 Mon Apr 29 00:27:42 GMT 2013  Olly Betts <olly@survex.com>
3731         * backends/brass/brass_positionlist.cc: Fix handling of single-entry
3732           position lists.
3734 Sun Apr 28 23:45:02 GMT 2013  Olly Betts <olly@survex.com>
3736         * backends/brass/brass_positionlist.cc: Fix BrassPositionList for case
3737           when there's no positional information for a term.
3739 Sun Apr 28 10:29:59 GMT 2013  Olly Betts <olly@survex.com>
3741         * backends/brass/brass_positionlist.cc: Simplify setting of
3742           have_started in BrassPositionList::skip_to().
3744 Sun Apr 28 10:19:52 GMT 2013  Olly Betts <olly@survex.com>
3746         * backends/brass/brass_positionlist.cc,
3747           backends/brass/brass_positionlist.h,common/bitstream.h: Make the
3748           BitReader object a member of BrassPositionList rather than tracking
3749           a pointer to it.
3751 Sun Apr 28 07:22:07 GMT 2013  Olly Betts <olly@survex.com>
3753         * backends/brass/brass_positionlist.cc,common/bitstream.h: Reuse the
3754           same BitReader object for each document rather than deleting the old
3755           one and creating a new one.
3757 Sun Apr 28 07:06:12 GMT 2013  Olly Betts <olly@survex.com>
3759         * backends/brass/brass_positionlist.cc: Move check for reaching the
3760           end after the next() in the loop in skip_to(), as we know we aren't
3761           at the end on the first iteration, and we've now handled the case of
3762           termpos == last before we get here.
3764 Sun Apr 28 07:04:54 GMT 2013  Olly Betts <olly@survex.com>
3766         * backends/brass/brass_positionlist.cc: We know what the last entry in
3767           the position list is, so special case skip_to(last_entry) to just
3768           move there rather than calling next() a lot of times.
3770 Sun Apr 28 07:03:57 GMT 2013  Olly Betts <olly@survex.com>
3772         * common/bitstream.h: We don't need to stack pos_j when doing lazy
3773           interpolative decoding.
3775 Sun Apr 28 06:48:01 GMT 2013  Olly Betts <olly@survex.com>
3777         * common/bitstream.h: Store j and k before pos_j and pos_k as it's
3778           fractionally more efficient.
3780 Sun Apr 28 06:44:32 GMT 2013  Olly Betts <olly@survex.com>
3782         * backends/brass/brass_positionlist.cc,
3783           backends/brass/brass_positionlist.h,common/bitstream.cc,
3784           common/bitstream.h: Hook up BrassPositionList to the new lazy
3785           interpolative decoder.
3787 Fri Apr 26 02:09:38 GMT 2013  Marius Tibeica <mtibeica@gmail.com>
3789         * common/bitstream.cc,common/bitstream.h: Support reading entries from
3790           an interpolative coded list one by one.
3792 Thu Apr 25 10:57:02 GMT 2013  Olly Betts <olly@survex.com>
3794         * docs/remote_protocol.rst: Correct error in documentation of
3795           REPLY_DOCDATA message.
3797 Thu Apr 25 10:44:56 GMT 2013  Marius Tibeica <mtibeica@gmail.com>
3799         * common/bitstream.cc: renamed my_fls to highest_order_bit.
3801 Thu Apr 25 06:49:48 GMT 2013  Olly Betts <olly@survex.com>
3803         * backends/remote/remote-database.cc,common/remoteprotocol.h,
3804           docs/remote_protocol.rst,net/remoteserver.cc: Prefix compress
3805           list of terms and metadata keys in the remote protocol.  
3806           This requires a remote protocol major version bump.
3808 Wed Apr 24 23:14:47 GMT 2013  Olly Betts <olly@survex.com>
3810         * queryparser/lemon.c,queryparser/queryparser.lt: Fix comment typos.
3812 Wed Apr 24 06:27:26 GMT 2013  Olly Betts <olly@survex.com>
3814         * include/xapian.h: Add catch for Wt defining a macro called slots,
3815           like we already do for Qt.
3817 Wed Apr 24 03:40:13 GMT 2013  Olly Betts <olly@survex.com>
3819         * NEWS: Update.
3821 Tue Apr 23 12:34:23 GMT 2013  Olly Betts <olly@survex.com>
3823         * backends/brass/brass_table.cc: Use a block's revision number to
3824           check if it was newly allocated in the current revision, and
3825           assert that the base file shows it block_free_at_start (previously
3826           the check and assertion were the other way around).
3828 Tue Apr 23 12:11:21 GMT 2013  Olly Betts <olly@survex.com>
3830         * HACKING: Note macports needed for development work.
3832 Tue Apr 23 11:41:17 GMT 2013  Olly Betts <olly@survex.com>
3834         * include/xapian/version_h.cc: Fix typo in doc comment.
3836 Tue Apr 23 11:39:30 GMT 2013  Olly Betts <olly@survex.com>
3838         * include/xapian/version_h.cc: Disable error for direct inclusion
3839           of xapian/version.h for now.
3841 Sun Apr 21 07:49:38 GMT 2013  Olly Betts <olly@survex.com>
3843         * include/xapian/version_h.cc: Fix quotes in new #error in version.h.
3845 Sun Apr 21 06:25:57 GMT 2013  Olly Betts <olly@survex.com>
3847         * configure.ac,generate-exceptions,include/xapian/: Give an error if
3848           user code tries to include API headers other than xapian.h directly.
3850 Sat Apr 20 10:12:23 GMT 2013  Olly Betts <olly@survex.com>
3852         * languages/compiler/generator.c: Generate '#include <config.h>' at
3853           the start of the stemmer code.
3855 Fri Apr 19 23:36:25 GMT 2013  Olly Betts <olly@survex.com>
3857         * configure.ac: Remove empty default cases.
3859 Wed Apr 17 03:06:57 GMT 2013  Olly Betts <olly@survex.com>
3861         * NEWS: Update from 1.2.15 and ChangeLog.
3863 Thu Apr 11 22:17:44 GMT 2013  Olly Betts <olly@survex.com>
3865         * backends/brass/brass_version.cc,backends/chert/chert_version.cc:
3866           Call io_sync() on the version file when we create it.
3868 Tue Apr 09 11:02:35 GMT 2013  Olly Betts <olly@survex.com>
3870         * bin/xapian-delve.cc: If -v is specified more than once, show even
3871           more info in some cases.
3873 Tue Apr 09 09:40:02 GMT 2013  Olly Betts <olly@survex.com>
3875         * tests/Makefile.am: Force automake to use the serial test driver,
3876           which requires automake 1.12 (to recognise the serial-tests driver).
3878 Mon Apr 08 06:30:40 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3880         * weight/: Added tfidfweight.cc containing the implementation of the
3881           TfIdfWeight class.
3883         * include/xapian/weight.h: Added TfIdfWeight class for the tf-idf
3884           weighting scheme.
3886         * tests/api_weight.cc: Added tests for TfIdfWeight.
3888         * tests/api_nodb.cc: Added simple tests for TfIdfWeight.
3890 Sat Apr 06 00:21:34 GMT 2013  Olly Betts <olly@survex.com>
3892         * m4-macros/xapian-1.3.m4: XO_LIB_XAPIAN now handles the user
3893           specifying XAPIAN_CONFIG without a path - e.g.: "./configure
3894           XAPIAN_CONFIG=xapian-config-1.3"
3896 Thu Apr 04 12:02:36 GMT 2013  Olly Betts <olly@survex.com>
3898         * common/Makefile.mk: Remove random comment.
3900 Thu Apr 04 10:06:53 GMT 2013  Olly Betts <olly@survex.com>
3902         * Makefile.am,configure.ac,tests/Makefile.am: Remove support for
3903           'configure --enable-quiet', 'make QUIET=' and 'make QUIET=y' -
3904           automake now supports 'configure --enable-silent-rules', 'make V=1'
3905           and 'make V=0' which are broadly equivalent and more standard.
3907 Thu Apr 04 09:58:35 GMT 2013  Olly Betts <olly@survex.com>
3909         * HACKING: Update to note that automake 1.12.2 is now a hard
3910           requirement.
3912 Tue Apr 02 10:22:44 GMT 2013  Olly Betts <olly@survex.com>
3914         * queryparser/lemon.c: Comment typo fixes.
3916 Tue Apr 02 09:47:14 GMT 2013  Olly Betts <olly@survex.com>
3918         * queryparser/lemon.c,queryparser/queryparser.lt: Sync with latest
3919           upstream version of lemon.  The only notable change is a bug fix for
3920           platforms where sizeof(long) < sizeof(void*) (LLP64 model).
3922 Tue Apr 02 05:51:12 GMT 2013  Olly Betts <olly@survex.com>
3924         * HACKING: Tell vim to syntax highlight as rst.
3926 Tue Apr 02 05:50:26 GMT 2013  Olly Betts <olly@survex.com>
3928         * HACKING: Update for recent changes to bootstrap.  In particular, we
3929           now bootstrap snapshots with automake 1.13.1.
3931 Fri Mar 29 05:18:11 GMT 2013  Olly Betts <olly@survex.com>
3933         * net/tcpclient.cc: Fix __WIN32__ conditional, accidentally broken in
3934           last change to this file.
3936 Thu Mar 28 04:19:26 GMT 2013  jiangwen jiang <jiangwen127@gmail.com>
3938         * api/expanddecider.cc,include/xapian/expanddecider.h,
3939           tests/api_anydb.cc,tests/api_nodb.cc: Add ExpandDeciderFilterPrefix
3940           class to only return terms with a particular prefix.  (fixes #467)
3942 Thu Mar 21 23:55:26 GMT 2013  Olly Betts <olly@survex.com>
3944         * tests/queryparsertest.cc: Add test coverage for change to
3945           QueryParser CJK handling in previous commit.
3947 Thu Mar 21 07:21:30 GMT 2013  Greg Banks <gnb@fastmail.fm>
3949         * queryparser/cjk-tokenizer.cc,queryparser/termgenerator_internal.cc,
3950           tests/termgentest.cc: Some CJK codepoints are also punctuation and
3951           hence not word characters, and should not really be used as fodder
3952           for generating N-grams.  Also fixes a pre-existing bug where every
3953           second sequence of N-grammable CJK characters in the text failed to
3954           generate the first 2-gram.
3956 Sun Mar 17 20:45:48 GMT 2013  Olly Betts <olly@survex.com>
3958         * common/pretty.h: Restore space after comma in output.
3960 Sun Mar 17 03:59:52 GMT 2013  Dan Colish <dcolish@gmail.com>
3962         * common/pretty.h: Correct recursion issue.
3964 Sun Mar 17 02:58:52 GMT 2013  Dan Colish <dcolish@gmail.com>
3966         * common/pretty.h: Resolve ambiguity by moving operator| to a member
3967           function of PrettyOStream
3969 Sat Mar 16 21:43:32 GMT 2013  Olly Betts <olly@survex.com>
3971         * queryparser/queryparser.lemony: std::less provides a total order over
3972           pointers, so we can just use that to implement
3973           filter_group_id::operator<() - we only need a consistent order so we
3974           can use it as the key to a std::map.
3976 Fri Mar 15 06:36:32 GMT 2013  Dan Colish <dcolish@gmail.com>
3978         * backends/brass/brass_table.cc,backends/chert/chert_table.cc,
3979           common/pretty.h: Avoid needlessly casting away const-ness in
3980           debug logging.
3982 Fri Mar 15 06:31:32 GMT 2013  Olly Betts <olly@survex.com>
3984         * matcher/multiandpostlist.cc,matcher/multixorpostlist.cc: Add a
3985           couple more LOGCALL annotations.
3987 Fri Mar 15 06:27:42 GMT 2013  Dan Colish <dcolish@gmail.com>
3989         * api/registry.cc,common/pretty.h: Fix incorrect LOGCALL return value.
3991 Fri Mar 15 06:24:11 GMT 2013  Olly Betts <olly@survex.com>
3993         * api/registry.cc,common/Makefile.mk,common/registryinternal.h:
3994           common/registryinternal.h is only included by api/registry.cc so
3995           just inline its contents.
3997 Fri Mar 15 06:11:14 GMT 2013  Olly Betts <olly@survex.com>
3999         * api/registry.cc: No need to explicitly default initialise std::map
4000           members or the base class.
4002 Fri Mar 08 04:05:31 GMT 2013  Olly Betts <olly@survex.com>
4004         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc: Fix
4005           multipass compaction not to damage document values, and to merge the
4006           database stats correctly.  (fixes #615)
4007         * tests/api_compact.cc: Add regression test compactmultipass1.
4009 Thu Mar 07 00:34:46 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
4011         * tests/api_anydb.cc: Added tradweight4 testcase to test TradWeight
4012           with an RSet for weighting documents.
4014 Wed Mar 06 08:55:12 GMT 2013  Olly Betts <olly@survex.com>
4016         * HACKING: gs package has been replaced by ghostscript package in
4017           current Debian and Ubuntu releases.
4019 Tue Feb 19 04:17:19 GMT 2013  Olly Betts <olly@survex.com>
4021         * common/Tokeniseise.pm: Add the ability to append lines to the
4022           header.
4024 Fri Feb 15 05:37:09 GMT 2013  Olly Betts <olly@survex.com>
4026         * common/realtime.h: Fix RealTime::sleep() to calculate the delta to
4027           the time we want to sleep to the right way round.  Previously we
4028           wouldn't sleep if we were before the deadline, but would sleep if
4029           the deadline had already passed (and by the amount the deadline had
4030           passed)!  And on Windows, fix the sleep to be for the delta rather
4031           than 43+ years (the time elapsed since the start of 1970).  (Fixes
4032           #472)
4034 Fri Feb 15 04:09:28 GMT 2013  Olly Betts <olly@survex.com>
4036         * api/queryinternal.cc: Need <functional> for mem_fun().
4038 Fri Feb 15 03:56:32 GMT 2013  Olly Betts <olly@survex.com>
4040         * tests/harness/testsuite.cc: Don't provide explicit template types to
4041           make_pair - it isn't useful, and breaks with C++11.  Fixes build
4042           error with MSVC2012.
4044 Thu Jan 31 23:39:08 GMT 2013  Olly Betts <olly@survex.com>
4046         * common/Tokeniseise.pm: Put the binary chop tables with the larger
4047           ones last, so the offsets to the start of them are more likely to
4048           fit into a byte.
4050 Wed Jan 30 04:17:07 GMT 2013  Olly Betts <olly@survex.com>
4052         * common/Makefile.mk,common/Tokeniseise.pm,languages/Makefile.mk,
4053           languages/collate-sbl: Factor out the generic code to create a
4054           string-to-enum mapping table into a perl module so we can reuse
4055           it elsewhere.
4057 Mon Jan 28 01:44:53 GMT 2013  Olly Betts <olly@survex.com>
4059         * examples/quest.cc: Fix to build with Sun Studio 12 compiler.
4060           (ticket#611)
4062 Thu Jan 24 22:40:12 GMT 2013  Olly Betts <olly@survex.com>
4064         * common/Makefile.mk,common/keyword.cc,common/keyword.h: Commit new
4065           keyword lookup function needed by previous commit.
4067 Thu Jan 24 22:26:19 GMT 2013  Olly Betts <olly@survex.com>
4069         * languages/: Generate a compact and efficient table to convert
4070           language names to enum codes, which we can then use a C switch
4071           statement to dispatch.  The table first checks the token length,
4072           and then does a binary chop on tokens of the same length.  This
4073           is both faster and smaller than the approach we were using, with
4074           the benefit that the table is auto-generated.
4076 Wed Jan 23 00:51:42 GMT 2013  Olly Betts <olly@survex.com>
4078         * matcher/selectpostlist.cc,matcher/selectpostlist.h: Check document
4079           matches weight threshold before checking positional information,
4080           which speeds up slow phrase searches (tweaked version of
4081           positional-query-weight-check-first.patch from #394).
4083 Thu Jan 17 06:48:41 GMT 2013  Olly Betts <olly@survex.com>
4085         * tests/api_stem.cc: Extend stem2 to ensure description of the stemmer
4086           isn't the same as the description of Stem("none").  Fix description
4087           of testcase stemlangs2.
4089 Thu Jan 17 02:32:31 GMT 2013  Olly Betts <olly@survex.com>
4091         * HACKING: Update link to new home of autotools tutorial.
4093 Wed Jan 16 02:40:20 GMT 2013  Olly Betts <olly@survex.com>
4095         * HACKING,Makefile.am: Rename CHK_SOURCES to check_sources - variables
4096           ending _SOURCES usually have a special meaning in automake, so it's
4097           confusing to have one which doesn't.
4099 Wed Jan 16 01:55:50 GMT 2013  Olly Betts <olly@survex.com>
4101         * api/omenquire.cc: Don't cache documents retrieved by
4102           MSet::get_document() unless they were requested with fetch().  This
4103           avoids using a lot of memory when many MSet entries are retrieved.
4104           (Fixes #604)
4106 Wed Jan 09 11:49:58 GMT 2013  Olly Betts <olly@survex.com>
4108         * NEWS: Update from ChangeLog and 1.2 branch.
4110 Fri Jan 04 23:14:33 GMT 2013  Olly Betts <olly@survex.com>
4112         * net/progclient.cc: Fix typo so we actually use SOCK_CLOEXEC.
4114 Fri Jan 04 23:14:01 GMT 2013  Olly Betts <olly@survex.com>
4116         * common/safesyssocket.h: We need the same workaround for socket() too.
4118 Fri Jan 04 04:41:17 GMT 2013  Olly Betts <olly@survex.com>
4120         * common/safesyssocket.h: On Linux at least, sometimes SOCK_CLOEXEC is
4121           defined but the kernel doesn't handle it in socketpair(), so add a
4122           wrapper which will retry without SOCK_CLOEXEC in this case.  Noticed
4123           on Ubuntu precise.
4125 Sat Dec 29 17:53:30 GMT 2012  Olly Betts <olly@survex.com>
4127         * docs/quickstart.rst: Fix seriously outdated statement that Xapian
4128           doesn't create the database directory - that changed in 0.7.2
4129           (release 2003-07-11), pointed out by aarsh on #xapian.
4131 Thu Dec 27 06:06:30 GMT 2012  Olly Betts <olly@survex.com>
4133         * queryparser/queryparser.lemony: Adjust handling of Unicode
4134           opening/closing double quotes - if a quoted boolean term was started
4135           with ASCII double quote, then only ASCII double quote can end it, as
4136           otherwise it's impossible to quote a term containing Unicode double
4137           quotes.
4138         * tests/queryparsertest.cc: Update testcases.
4140 Sun Dec 23 18:16:52 GMT 2012  Olly Betts <olly@survex.com>
4142         * configure.ac: Fix typo in previous commit.
4144 Sun Dec 23 18:06:45 GMT 2012  Olly Betts <olly@survex.com>
4146         * configure.ac: Use the new flock()-based flint-compatible locking
4147           under DJGPP, and remove special cases to disable chert and brass
4148           under DJGPP (untested, as I no longer have a DJGPP setup or
4149           cross-compiler).
4151 Sun Dec 23 17:51:36 GMT 2012  Olly Betts <olly@survex.com>
4153         * backends/flint_lock.cc,backends/flint_lock.h: Add flock() based
4154           locking implementation, which is much simpler than using fcntl() due
4155           to saner semantics around releasing locks when closing other
4156           descriptors on the same file (at least on platforms where flock()
4157           isn't just a compatibility wrapper around fcntl()).  We can't simply
4158           switch to this without breaking locking compatibility with previous
4159           releases, though it might be useful for porting to platforms without
4160           fcntl() locking.  Also, flock() apparently doesn't work over NFS -
4161           perhaps that's OK, but we should at least check the failure mode.
4163 Sat Dec 22 06:29:23 GMT 2012  Olly Betts <olly@survex.com>
4165         * backends/flint_lock.cc: Only set close-on-exec on the lockfile fd if
4166           we are able to clear it in the child process, and clear it in the
4167           child process if we set it when we opened it.
4169 Sat Dec 22 06:14:40 GMT 2012  Olly Betts <olly@survex.com>
4171         * backends/flint_lock.cc,net/progclient.cc: Use SOCK_CLOEXEC with
4172           socketpair(), and then clear the close-on-exec flag for child process
4173           end of the pair before we call exec.
4175 Sat Dec 22 06:13:44 GMT 2012  Olly Betts <olly@survex.com>
4177         * net/progclient.cc: Remove O_CLOEXEC where we open stderr on /dev/null
4178           before calling exec as we want that fd to survive the exec!
4180 Sat Dec 22 05:53:12 GMT 2012  Olly Betts <olly@survex.com>
4182         * HACKING,backends/flint_lock.cc,common/Makefile.mk,
4183           common/safesyssocket.h,net/progclient.cc,net/tcpclient.cc,
4184           net/tcpserver.cc,tests/harness/backendmanager_remotetcp.cc:
4185           Use SOCK_CLOEXEC where available, and try FD_CLOEXEC if SOCK_CLOEXEC
4186           isn't available.
4188 Sat Dec 22 04:09:23 GMT 2012  Olly Betts <olly@survex.com>
4190         * backends/brass/,backends/chert/,backends/flint_lock.cc,
4191           common/debuglog.cc,common/replicate_utils.cc,common/safefcntl.h,
4192           net/progclient.cc,net/remoteconnection.cc,
4193           tests/harness/testsuite.cc: If O_CLOEXEC is supported, pass it to
4194           open() so fds we open are closed if the application using us calls
4195           exec().
4197 Fri Dec 21 03:48:36 GMT 2012  Olly Betts <olly@survex.com>
4199         * configure.ac: Don't autodisable the remote backend if we fail to find
4200           a required function.  It's more likely the user needs to pass
4201           LIBS=-lfoo and it's more helpful to error out so they can do that, or
4202           pass --disable-backend-remote if they really don't want it, rather
4203           than having them not notice the automatic disabling until after
4204           they've built.  This also matches what we do for the disk based
4205           backends.
4207 Fri Dec 21 03:48:11 GMT 2012  Olly Betts <olly@survex.com>
4209         * configure.ac: Expand comment about DJGPP.
4211 Fri Dec 21 03:47:13 GMT 2012  Olly Betts <olly@survex.com>
4213         * configure.ac: Update comment - we've supported the prog backend on
4214           Windows for more than 5 years now!
4216 Fri Dec 21 03:32:13 GMT 2012  Olly Betts <olly@survex.com>
4218         * tests/api_replicate.cc: Use O_BINARY in replication tests.
4220 Fri Dec 21 03:24:37 GMT 2012  Olly Betts <olly@survex.com>
4222         * common/replicate_utils.cc: Make posixy_open() always use O_BINARY.
4223         * backends/brass/brass_btreebase.cc,backends/brass/brass_database.cc,
4224           backends/brass/brass_databasereplicator.cc,
4225           backends/chert/chert_btreebase.cc,
4226           backends/chert/chert_databasereplicator.cc,common/posixy_wrapper.cc:
4227           Don't pass O_BINARY to posixy_open() in the places where we were
4228           (which wasn't everywhere, probably causing replication bugs under
4229           __WIN32__).
4231 Fri Dec 21 02:57:56 GMT 2012  Olly Betts <olly@survex.com>
4233         * net/remoteconnection.cc,net/remoteconnection.h: Only "outline"
4234           RemoteConnection dtor under __WIN32__.
4236 Fri Dec 21 02:56:28 GMT 2012  Olly Betts <olly@survex.com>
4238         * backends/remote/remote-database.cc: Make the UnimplementedError for a
4239           MatchSpy which doesn't implement name() clearer that it's this
4240           particular subclass which can't be used remotely, not all MatchSpy
4241           objects.
4243 Thu Dec 20 22:27:40 GMT 2012  Olly Betts <olly@survex.com>
4245         * configure.ac: Use user-specified LIBS for configure tests, which is
4246           what's expected, and provides a way for the user to tell configure
4247           where to find library functions which configure can't find for
4248           itself.
4250 Thu Dec 20 22:07:19 GMT 2012  Olly Betts <olly@survex.com>
4252         * api/compactor.cc,api/replication.cc,backends/brass/,backends/chert/,
4253           common/,net/remoteconnection.cc: Rename msvc_posix_rename(), etc to
4254           posixy_rename() (avoid a posix_ prefix as that's used by some library
4255           functions, and these aren't necessarily 100% POSIX compatible), and
4256           provide macro versions on Unix, so we can avoid a #ifdef at every
4257           call site.
4259 Thu Dec 20 20:57:18 GMT 2012  Olly Betts <olly@survex.com>
4261         * configure.ac: socketpair() needs -lnetwork on Haiku.
4263 Thu Dec 20 02:30:12 GMT 2012  Olly Betts <olly@survex.com>
4265         * backends/brass/brass_databasereplicator.cc,
4266           backends/chert/chert_databasereplicator.cc: Simplify how we open the
4267           .DB file on the replication slave to just call open() once with
4268           O_CREAT, rather than once without, than stat() if that fails, and
4269           then again with O_CREAT|O_TRUNC if stat() doesn't show an ordinary
4270           file exists.
4272 Thu Dec 20 02:05:12 GMT 2012  Olly Betts <olly@survex.com>
4274         * api/compactor.cc,common/,languages/compiler/syswords2.h,
4275           tests/api_compact.cc: Remove extra blank lines at end of files.
4277 Thu Dec 20 01:54:47 GMT 2012  Olly Betts <olly@survex.com>
4279         * backends/brass/brass_database.cc,backends/chert/chert_database.cc:
4280           Fix "if (fd > 0)" tests to be "if (fd >= 0)" in code related to
4281           replication.  In practice this is unlikely to actually have caused
4282           problems in real world cases.
4284 Sun Dec 16 23:10:13 GMT 2012  Olly Betts <olly@survex.com>
4286         * bin/Makefile.mk: INCLUDES is always used, AM_CPPFLAGS isn't if there
4287           are per-executable CPPFLAGS, so add AM_CPPFLAGS explicitly when we
4288           use per-executable CPPFLAGS.
4290 Fri Dec 14 21:25:58 GMT 2012  Olly Betts <olly@survex.com>
4292         * Makefile.am,languages/Makefile.mk,queryparser/Makefile.mk,
4293           tests/Makefile.am: In automake, INCLUDES is now deprecated in favour
4294           of AM_CPPFLAGS so update to use the latter.
4296 Tue Nov 27 05:39:30 GMT 2012  Olly Betts <olly@survex.com>
4298         * examples/quest.cc: Need <algorithm> for lower_bound().
4300 Mon Nov 26 23:46:43 GMT 2012  Olly Betts <olly@survex.com>
4302         * examples/quest.cc: Align option descriptions in --help output, and
4303           make the initial letter of such descriptions consistently lowercase.
4305 Mon Nov 26 19:52:50 GMT 2012  Olly Betts <olly@survex.com>
4307         * examples/quest.cc: Add --flags command line option to allow setting
4308           arbitrary QueryParser flags.
4310 Mon Nov 26 03:02:03 GMT 2012  Olly Betts <olly@survex.com>
4312         * api/valuerangeproc.cc: Move 3 declarations to where we first use the
4313           variables.
4315 Mon Nov 26 02:59:41 GMT 2012  Olly Betts <olly@survex.com>
4317         * matcher/multimatch.cc: We no longer use the highest weighted
4318           MSet entry to calculate percentages, so stop searching for it.
4319           (Spotted by cppcheck)
4321 Mon Nov 26 02:59:02 GMT 2012  Olly Betts <olly@survex.com>
4323         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
4324           Remove unused variables (spotted by cppcheck).
4326 Mon Nov 26 02:12:19 GMT 2012  Olly Betts <olly@survex.com>
4328         * api/maptermlist.h,api/matchspy.cc,api/omdatabase.cc,
4329           backends/inmemory/inmemory_database.cc,
4330           backends/inmemory/inmemory_positionlist.cc,
4331           backends/multi/multi_postlist.cc,backends/remote/net_termlist.cc,
4332           bin/xapian-delve.cc,matcher/exactphrasepostlist.cc,
4333           matcher/mergepostlist.cc,matcher/phrasepostlist.cc,
4334           tests/harness/backendmanager.cc: Prefer ++i to i++.
4336 Fri Nov 23 03:38:39 GMT 2012  Olly Betts <olly@survex.com>
4338         * HACKING,Makefile.am: With lcov 1.10, we no longer need any of our
4339           hacky workarounds, so make this a requirement and simplify the rules
4340           in the makefile.
4342 Thu Nov 22 23:34:09 GMT 2012  Olly Betts <olly@survex.com>
4344         * Makefile.am: Pass -f to lcov, which should avoid the need for the
4345           patch we've been applying to lcov.
4347 Thu Nov 22 01:34:05 GMT 2012  Olly Betts <olly@survex.com>
4349         * backends/flint_lock.cc: Close excess file handles before we get the
4350           fcntl() lock, just in case one of those file handles is open on the
4351           lock file.
4352         * tests/api_backend.cc: Add regression test lockfilealreadyopen1.
4354 Thu Nov 22 00:35:51 GMT 2012  Olly Betts <olly@survex.com>
4356         * common/closefrom.cc,configure.ac: On platforms with the F_MAXFD
4357           fcntl but without closefrom(), we were failing to close the highest
4358           numbered open fd in our closefrom() replacement.  We now also work
4359           around valgrind not hiding some extra fds it has open, but then
4360           complaining if we try to close them.
4362 Wed Nov 21 22:50:21 GMT 2012  Olly Betts <olly@survex.com>
4364         * tests/harness/testsuite.cc: When reporting valgrind error, skip any
4365           warnings.
4367 Tue Nov 20 07:26:24 GMT 2012  Olly Betts <olly@survex.com>
4369         * tests/api_anydb.cc: msetweights1 makes multidb1 and multidb2
4370           redundant, so remove them.
4372 Tue Nov 20 07:21:46 GMT 2012  Olly Betts <olly@survex.com>
4374         * tests/api_backend.cc: Extend msetweights1 to test the case where
4375           only even docids match, so in the multi_* case, only docids from
4376           one subdatabase match.
4378 Tue Nov 20 07:04:55 GMT 2012  Olly Betts <olly@survex.com>
4380         * tests/api_backend.cc: Add testcase msetweights1 which checks we
4381           get the weights we expect for a two term query.
4383 Mon Nov 19 21:17:33 GMT 2012  Olly Betts <olly@survex.com>
4385         * queryparser/termgenerator.cc: TermGenerator internal member can
4386           never be NULL, so drop NULL test.
4388 Sat Nov 17 20:54:50 GMT 2012  Olly Betts <olly@survex.com>
4390         * tests/harness/testsuite.cc: Remove compatibility code for valgrind <
4391           3.3.0, since we reject such old versions at configure time.
4393 Sat Nov 17 00:05:36 GMT 2012  Olly Betts <olly@survex.com>
4395         * matcher/localsubmatch.cc: Optimise an unweighted query term which
4396           matches all the documents in a subdatabase to use the "MatchAll"
4397           postlist.  (ticket#387)
4399 Fri Nov 16 23:36:34 GMT 2012  Olly Betts <olly@survex.com>
4401         * tests/api_weight.cc: New testcase checkstatsweight1 which checks a
4402           weight subclass gets the correct values for all the stats.
4404 Fri Nov 16 07:30:18 GMT 2012  Olly Betts <olly@survex.com>
4406         * include/xapian/version_h.cc: Generate a check for compatible _DEBUG
4407           settings if built with MSVC.  (ticket#389)
4409 Fri Nov 16 01:28:55 GMT 2012  Olly Betts <olly@survex.com>
4411         * queryparser/queryparser.lemony: Improve a couple of comments.
4413 Fri Nov 16 01:25:28 GMT 2012  Olly Betts <olly@survex.com>
4415         * queryparser/queryparser.lemony: Implicitly close any unclosed brackets
4416           at the end of the query string.  Patch from Sehaj Singh Kalra.
4417         * tests/queryparsertest.cc: Adjust existing testcases and feature tests.
4419 Thu Nov 15 23:57:10 GMT 2012  Olly Betts <olly@survex.com>
4421         * tests/api_query.cc: Add testcase xor3 to ensure that XOR handles all
4422           remaining subqueries running out at the same time.
4424 Thu Nov 15 10:57:32 GMT 2012  Olly Betts <olly@survex.com>
4426         * tests/api_query.cc: One test here does need a backend, and it seems
4427           a more useful category, so drop the "don't need a backend" part from
4428           the @brief documentation comment.
4430 Thu Nov 15 09:29:47 GMT 2012  Olly Betts <olly@survex.com>
4432         * matcher/multimatch.cc: Fix calculation of 0.0/0.0 in some cases.
4433           This then got used as a minimum weight, but it seems this gives -nan
4434           (at least on x86-64 Linux) so it may have been harmless in practice.
4436 Thu Nov 15 05:39:47 GMT 2012  Olly Betts <olly@survex.com>
4438         * tests/api_anydb.cc: Eliminate workarounds for egcs 1.1.2 (certainly
4439           we no longer support a compiler that old, but maybe some newer
4440           compilers have the same issue, so I've rewritten the code to iterate
4441           backwards over one MSet, which is a useful feature to have coverage
4442           for).
4444 Thu Nov 15 05:28:40 GMT 2012  Olly Betts <olly@survex.com>
4446         * tests/api_anydb.cc: Fix reversebool1 and reversebool2 to actually
4447           use the result when they check an MSetIterator against end().
4449 Thu Nov 15 01:55:15 GMT 2012  Olly Betts <olly@survex.com>
4451         * bin/xapian-replicate.cc: Add --quiet option to xapian-replicate, and
4452           be a little more verbose by default.
4454 Thu Nov 15 01:54:14 GMT 2012  Olly Betts <olly@survex.com>
4456         * bin/xapian-replicate.cc: xapian-replicate --force-copy now only
4457           forces a single copy, and then attempts to replicate incrementally.
4459 Thu Nov 15 00:51:50 GMT 2012  Olly Betts <olly@survex.com>
4461         * bin/xapian-replicate.cc: Tweak code layout.
4463 Wed Nov 14 21:40:45 GMT 2012  Olly Betts <olly@survex.com>
4465         * net/remoteconnection.cc: Allow files > 32G to be be copied by
4466           replication.
4468 Tue Nov 13 03:44:03 GMT 2012  Olly Betts <olly@survex.com>
4470         * tests/api_replicate.cc: Pass 'true' or 'false' for 'bool' parameter,
4471           not '0' or '1' (especially confusing as the two previous parameters
4472           were integers which were often 0 or 1...)
4474 Tue Nov 13 03:34:42 GMT 2012  Olly Betts <olly@survex.com>
4476         * bin/xapian-replicate.cc,net/replicatetcpclient.cc,
4477           net/replicatetcpclient.h: Add --full-copy option to xapian-replicate.
4478         * tests/api_replicate.cc: New testcase replicate6 which tests the same
4479           code path used by 'xapian-replicate --full-copy'.
4481 Tue Nov 13 02:55:44 GMT 2012  Olly Betts <olly@survex.com>
4483         * tests/api_replicate.cc: Use '++' instead of '+= 1'.  Drop superfluous
4484           'return;' at end of function returning void.
4486 Tue Nov 13 01:12:33 GMT 2012  Olly Betts <olly@survex.com>
4488         * tests/harness/unixcmds.cc: Tweak to avoid default initialisation of
4489           string.
4491 Mon Nov 12 23:25:14 GMT 2012  Olly Betts <olly@survex.com>
4493         * include/xapian/unicode.h: GCC 4.6.3 doesn't optimise the asr idion
4494           either.  Add links to the PR I filed and the GCC documentation that
4495           signed right shift does sign extension.
4497 Mon Nov 12 10:21:19 GMT 2012  Olly Betts <olly@survex.com>
4499         * include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode
4500           character database to 6.2.0.
4501         * tests/api_unicode.cc: Add tests for U+20BA, added in 6.2.0.
4503 Sat Nov 10 05:39:16 GMT 2012  Olly Betts <olly@survex.com>
4505         * api/leafpostlist.cc,matcher/multiandpostlist.cc: Improved fix for
4506           #590 - count all matching LeafPostList objects with a Weight object
4507           rather than trying to prune at the MultiAndPostList level based on
4508           max_wt (if wdf is always zero for a term, BM25 gives max_wt of 0,
4509           which leads to us never counting that subquery.
4510         * tests/api_percentages.cc: Add regression test topercent7.
4512 Fri Nov 09 04:25:32 GMT 2012  Olly Betts <olly@survex.com>
4514         * tests/api_percentages.cc: Note bug number in regression test for
4515           #590.
4517 Tue Nov 06 22:42:31 GMT 2012  Olly Betts <olly@survex.com>
4519         * backends/brass/brass_table.cc: Restore two missing lines in database
4520           checking where we report a block with the wrong level.
4522 Tue Oct 16 11:19:42 GMT 2012  Olly Betts <olly@survex.com>
4524         * api/compactor.cc,backends/dbcheck.cc,backends/dbfactory.cc,
4525           common/Makefile.mk: Fix to build when configured with
4526           --disable-backend-brass --disable-backend-chert.  (ticket#586)
4528 Mon Oct 15 04:07:30 GMT 2012  Olly Betts <olly@survex.com>
4530         * HACKING: automake 1.12.4 is now used to generate snapshots and
4531           releases.
4533 Sat Oct 13 09:34:21 GMT 2012  Olly Betts <olly@survex.com>
4535         * weight/weightinternal.h: Revert addition of "#include <config.h>" in
4536           r16820.
4537         * HACKING: Document that we don't include <config.h> from header
4538           files, and the reason why.
4540 Sat Oct 13 09:00:23 GMT 2012  Olly Betts <olly@survex.com>
4542         * include/xapian/queryparser.h: Fix documentation comment typos:
4543           "covert" -> "convert".
4545 Thu Oct 11 12:28:30 GMT 2012  Olly Betts <olly@survex.com>
4547         * docs/valueranges.rst: Update documentation to reflect change in
4548           Xapian 1.1.2 - DateValueRangeProcessor and StringValueRangeProcessor
4549           now support a prefix or suffix.
4551 Mon Oct 01 05:05:54 GMT 2012  Olly Betts <olly@survex.com>
4553         * HACKING: Try to make it clearer we're looking for a dual-licence
4554           on submitted patches.
4556 Tue Sep 25 08:09:08 GMT 2012  Olly Betts <olly@survex.com>
4558         * common/Makefile.mk,common/append_filename_arg.h,
4559           tests/harness/unixcmds.cc: Split out append_filename_argument() into
4560           its own file so it can be used elsewhere.
4562 Tue Sep 25 06:46:03 GMT 2012  Olly Betts <olly@survex.com>
4564         * include/xapian/enquire.h: Mark MSetIterator::at_end() and
4565           ESetIterator::at_end() as @private @internal so that they don't
4566           appear in the API docs.
4568 Tue Sep 25 06:45:07 GMT 2012  Olly Betts <olly@survex.com>
4570         * include/xapian/enquire.h: Remove FIXMEs about converting MSetIterator
4571           and ESetIterator to use Internal classes - as HACKING notes, the
4572           current implementation is that way for performance reasons.
4574 Tue Sep 25 06:36:37 GMT 2012  Olly Betts <olly@survex.com>
4576         * tests/harness/unixcmds.cc: Escape filenames on POSIX platforms by
4577           wrapping in single quotes and specially handling single quotes in
4578           the filename - previously newlines in filenames got eaten by the
4579           shell.
4581 Tue Sep 25 06:32:36 GMT 2012  Olly Betts <olly@survex.com>
4583         * tests/harness/unixcmds.cc: Protect filenames which start with '-' on
4584           MS Windows like we already do on other platforms.  The built-in
4585           commands generally only interpret '/' as the character introducing a
4586           command line option (which we already convert to '\'), but many
4587           ported programs understand '-' too/instead.
4589 Sat Aug 25 16:09:50 GMT 2012  Dan Colish <dcolish@gmail.com>
4591         * include/xapian/enquire.h: Add function to test MSetIterator and
4592           ESetIterator exhaustion against the size of the underlying interee
4593           since comparison against an empty Itor is not suitable for an
4594           exhaustion test. Add FIXME that these Iterators should use an Internal
4595           class. 
4597 Thu Aug 09 21:50:52 GMT 2012  Dan Colish <dcolish@gmail.com>
4599         * weight/weightinternal.h: Include config.h since macros are used
4600           from it. 
4602 Wed Aug 08 15:40:38 GMT 2012  Dan Colish <dcolish@gmail.com>
4604         * api/queryvector.h: Backout previous fix. When compiling with -O0,
4605           increase the stack limit to > 8M when running scalability tests.
4607 Wed Aug 08 02:10:21 GMT 2012  Dan Colish <dcolish@gmail.com>
4609         * api/queryvector.h: Fix SIGBUS when clearing QueryVectors
4611 Wed Aug 01 15:25:25 GMT 2012  Dan Colish <dcolish@gmail.com>
4613         * HACKING,Makefile.am,tests/Makefile.am: Fix non-portable warnings
4614         from automake, add HACKING doc for check-syntax make target
4616 Wed Aug 01 04:54:18 GMT 2012  Dan Colish <dcolish@gmail.com>
4618         * Makefile.am,api/Makefile,backends/Makefile,backends/brass/Makefile,
4619           backends/chert/Makefile,backends/inmemory/Makefile,
4620           backends/multi/Makefile,backends/remote/Makefile,bin/Makefile,
4621           common/Makefile,examples/Makefile,expand/Makefile,
4622           geospatial/Makefile,include/Makefile,include/xapian/Makefile,
4623           languages/Makefile,matcher/Makefile,net/Makefile,
4624           queryparser/Makefile,tests/harness/Makefile,unicode/Makefile,
4625           weight/Makefile: Add check-syntax target to Makefiles to support
4626           editor syntax checks
4628 Sun Jul 29 15:32:00 GMT 2012  Olly Betts <olly@survex.com>
4630         * configure.ac: Bump LIBRARY_VERSION_INFO so I can package a snapshot
4631           cleanly.
4633 Tue Jul 24 01:35:17 GMT 2012  Olly Betts <olly@survex.com>
4635         * include/xapian/queryparser.h,queryparser/queryparser.cc,
4636           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
4637           tests/queryparsertest.cc: Add FieldProcessor class (ticket#128) -
4638           currently marked as an experimental API while we sort out how best
4639           to sort out exactly how it interacts with other QueryParser features.
4641 Tue Jul 24 01:19:03 GMT 2012  Olly Betts <olly@survex.com>
4643         * include/xapian/queryparser.h: Add extra DateValueRangeProcessor
4644           constructor overloaded form so that in DateValueRangeProcessor(1,
4645           "date:"), the const char * gets interpreted as std::string rather
4646           than bool.
4647         * tests/queryparsertest.cc: Add regression test.
4649 Thu Jul 19 05:32:04 GMT 2012  Olly Betts <olly@survex.com>
4651         * backends/brass/brass_dbcheck.h,
4652           backends/inmemory/inmemory_alltermslist.cc,bin/xapian-delve.cc: Fix
4653           filenames in comments which mismatch actual name of file.
4655 Thu Jul 19 05:27:38 GMT 2012  Olly Betts <olly@survex.com>
4657         * queryparser/termgenerator_internal.cc: Remove "FIXME: Add API to
4658           allow control of how stemming is used?", as we have now added such
4659           an API.
4661 Thu Jul 19 05:24:49 GMT 2012  Olly Betts <olly@survex.com>
4663         * include/xapian/termgenerator.h,queryparser/termgenerator.cc,
4664           queryparser/termgenerator_internal.cc,
4665           queryparser/termgenerator_internal.h,tests/termgentest.cc: Add new
4666           method TermGenerator::set_max_word_length() to allow this limit to
4667           be adjusted by the user.
4669 Mon Jul 16 03:34:27 GMT 2012  Olly Betts <olly@survex.com>
4671         * include/xapian/enquire.h: Clarify that the "reverse" parameter of
4672           set_sort_by_relevance_then_value() and
4673           set_sort_by_relevance_then_key() only affects the ordering of the
4674           value/key part of the sort.
4676 Fri Jul 13 04:55:26 GMT 2012  Dan Colish <dcolish@gmail.com>
4678         * matcher/multimatch.cc: Remove duplicate import
4680 Thu Jul 12 05:13:57 GMT 2012  Olly Betts <olly@survex.com>
4682         * common/debuglog.cc: Preserve errno over debug logging calls, so they
4683           can safely be added to code which expects errno not to change.
4685 Mon Jul 02 05:27:43 GMT 2012  Dan Colish <dcolish@gmail.com>
4687         * backends/brass/brass_databasereplicator.cc: Use new/delete to avoid
4688           variable length array gcc extension and comply with c++98
4690 Mon Jul 02 05:02:14 GMT 2012  Dan Colish <dcolish@gmail.com>
4692         * api/omdatabase.cc,tests/api_wrdb.cc: Prefer container.empty() to
4693           container.size() == 0.
4695 Sun Jul 01 10:46:19 GMT 2012  Olly Betts <olly@survex.com>
4697         * NEWS: Update from ChangeLog, 1.2.11 and 1.2.12.
4699 Fri Jun 29 15:32:11 GMT 2012  Dan Colish <dcolish@>
4701         * tests/harness/testsuite.cc: Add safeunistd.h unconditionally for
4702           isatty, required by GCC 4.7
4704 Wed Jun 27 10:45:13 GMT 2012  Olly Betts <olly@survex.com>
4706         * AUTHORS: Add GSoC students.
4708 Tue Jun 26 08:45:03 GMT 2012  Olly Betts <olly@survex.com>
4710         * include/xapian.h: Add check for Qt headers being included before us
4711           and defining 'slots' as a macro - if they are, give a clear error
4712           advising how to work around this.
4714 Thu Jun 14 23:48:15 GMT 2012  Olly Betts <olly@survex.com>
4716         * docs/admin_notes.rst: Correction - we don't "create a lock file", we
4717           "lock a file".
4719 Tue Jun 12 13:08:58 GMT 2012  Olly Betts <olly@survex.com>
4721         * tests/api_replicate.cc: Make sure XAPIAN_MAX_CHANGESETS gets unset
4722           after testcases which set it, so further testcases don't waste time
4723           generating changesets.
4725 Tue Jun 12 12:11:51 GMT 2012  Olly Betts <olly@survex.com>
4727         * docs/replication.rst: The value of XAPIAN_MAX_CHANGESETS does now
4728           actually determine how many changesets we keep.
4730 Tue Jun 12 01:20:59 GMT 2012  Olly Betts <olly@survex.com>
4732         * configure.ac: Force link_all_deplibs_CXX=no for Solaris.
4734 Tue Jun 12 01:08:17 GMT 2012  Olly Betts <olly@survex.com>
4736         * xapian-config.in: Don't interpret a missing .la file as meaning that
4737           we only have static libraries.
4739 Sun Jun 10 12:57:16 GMT 2012  Olly Betts <olly@survex.com>
4741         * backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h,
4742           backends/brass/brass_check.cc: Remove is_empty(), tweak
4743           calculate_last_block() to calculate the bit map size correctly in
4744           the case of an empty table, and use the bit map size instead of
4745           is_empty() in xapian-check.
4746         * backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h,
4747           backends/chert/chert_check.cc: Make equivalent changes for chert.
4749 Sun Jun 10 11:27:52 GMT 2012  Olly Betts <olly@survex.com>
4751         * backends/brass/brass_table.cc,backends/brass/brass_table.h: We don't
4752           need the workaround for existing tables which were built with a 32
4753           bit item count for brass, since that bug was fixed in 1.1.4, which
4754           is the same version which brass was added in.
4756 Sun Jun 10 11:20:58 GMT 2012  Olly Betts <olly@survex.com>
4758         * backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h,
4759           backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h:
4760           Remove unused copy constructors for BrassTable_base and
4761           ChertTable_base.
4763 Wed Jun 06 11:10:26 GMT 2012  Olly Betts <olly@survex.com>
4765         * include/xapian/queryparser.h: Note that STEM_ALL_Z was added in
4766           1.2.11.  Change already made on 1.2 branch.
4768 Tue Jun 05 06:51:12 GMT 2012  Olly Betts <olly@survex.com>
4770         * common/compression_stream.cc,common/compression_stream.h: Move the
4771           default argument to the CompressionStream constructor to the header
4772           and mark the constructor as explicit, since it has a single argument
4773           form.
4775 Tue Jun 05 06:41:22 GMT 2012  Olly Betts <olly@survex.com>
4777         * api/queryvector.h: Fix somewhat dubious warning from clang.
4779 Tue Jun 05 06:33:09 GMT 2012  Olly Betts <olly@survex.com>
4781         * configure.ac: Overhaul handling of compilers which pretend to be GCC,
4782           using a simple "case" on the preprocessed output of '__INTEL_COMPILER
4783           __clang__' to tell which is in use.  We now explicitly check for
4784           clang, and only pass it warning flags it actually understands.  GCC
4785           4.0 is now lumped in with 3.*, since we handle it exactly the same.
4786           Enable -Wdouble-promotion for GCC >= 4.6.  Check for symbol
4787           visibility support under any GCC-alike (which means we now run the
4788           test with Intel's compiler).  Move the check for -Bsymbolic-functions 
4789           to be run for all compilers.
4791 Mon Jun 04 06:21:02 GMT 2012  Olly Betts <olly@survex.com>
4793         * backends/dbfactory.cc: Test if we fail to open a stub database file
4794           in Xapian::Auto::open_stub() and throw an exception if so.
4795         * tests/api_backend.cc: Add regression test stubdb7.
4797 Sun Jun 03 11:43:44 GMT 2012  Olly Betts <olly@survex.com>
4799         * include/xapian/query.h: Add second fake specialised form of the
4800           templated iterator Query constructor, for use in the Java bindings.
4802 Sat Jun 02 12:15:11 GMT 2012  Olly Betts <olly@survex.com>
4804         * docs/scalability.rst: Update gmane size, fix a typo, tweak wording.
4806 Sat Jun 02 12:10:55 GMT 2012  Olly Betts <olly@survex.com>
4808         * Makefile.am,api/omdocument.cc,api/omenquire.cc,backends/brass/,
4809           backends/chert/,bin/xapian-delve.cc,common/getopt.cc,configure.ac,
4810           docs/,m4-macros/xapian-1.3.m4,matcher/multimatch.cc,preautoreconf,
4811           tests/Makefile.am,tests/api_db.cc,tests/harness/testsuite.h,
4812           tests/harness/testutils.h: Change `...' quoting in prose to '...'.
4814 Fri Jun 01 07:40:48 GMT 2012  Olly Betts <olly@survex.com>
4816         * HACKING,Makefile.am: If you run "make coverage-check" by hand, the
4817           default of compressed HTML is unhelpful, so don't default to passing
4818           --html-gzip to genhtml, but instead add support for GENHTML_ARGS.
4820 Thu May 31 11:41:19 GMT 2012  Olly Betts <olly@survex.com>
4822         * tests/api_weight.cc: Add test that init() is now called for the
4823           term-independent weight contribution.
4825 Thu May 31 11:23:05 GMT 2012  Olly Betts <olly@survex.com>
4827         * weight/bm25weight.cc: Avoid use of undefined values when k1 or b are
4828           zero.
4830 Wed May 30 21:50:54 GMT 2012  Olly Betts <olly@survex.com>
4832         * tests/api_matchspy.cc: Use a cached generated database for matchspy2
4833           and matchspy4.
4835 Wed May 30 13:22:54 GMT 2012  Olly Betts <olly@survex.com>
4837         * include/xapian/weight.h,weight/weight.cc: We were failing to call
4838           init() for Weight objects providing the term-independent weight.
4839           These now get called with init(0.0).
4841 Wed May 30 13:13:03 GMT 2012  Olly Betts <olly@survex.com>
4843         * include/xapian/weight.h: Remove duplicate "need_stat(WDF);" calls,
4844           accidentally added by merge of opsynonym branch in r12609.
4846 Wed May 30 07:44:23 GMT 2012  Olly Betts <olly@survex.com>
4848         * weight/bm25weight.cc: Fix use of uninitialised value found by new
4849           bm25weight4 testcase.
4851 Wed May 30 05:38:58 GMT 2012  Olly Betts <olly@survex.com>
4853         * tests/api_weight.cc: Add tests for BM25 parameter combinations where
4854           doclen shouldn't affect the weights.
4856 Wed May 30 05:11:34 GMT 2012  Olly Betts <olly@survex.com>
4858         * tests/Makefile.am: Move api_geospatial.cc into alphabetical order.
4860 Wed May 30 05:07:51 GMT 2012  Olly Betts <olly@survex.com>
4862         * weight/bm25weight.cc,weight/tradweight.cc: Throw SerialisationError
4863           not NetworkError if unserialise() fails.
4864         * tests/.gitignore,tests/Makefile.am,tests/api_weight.cc: Add test
4865           coverage for this.
4867 Wed May 30 05:01:33 GMT 2012  Olly Betts <olly@survex.com>
4869         * weight/tradweight.cc: BM25Weight -> TradWeight in exception message.
4871 Wed May 30 04:28:43 GMT 2012  Olly Betts <olly@survex.com>
4873         * tests/queryparsertest.cc: Fix feature test added for STEM_ALL_Z.
4875 Tue May 29 07:29:01 GMT 2012  Olly Betts <olly@survex.com>
4877         * tests/harness/testutils.cc,tests/harness/testutils.h: Remove unused
4878           test helper mset_range_is_same_percents() (thanks, lcov!)
4880 Tue May 29 04:10:07 GMT 2012  Olly Betts <olly@survex.com>
4882         * tests/generate-api_generated: Test that the string returned by a
4883           get_description() method isn't empty.
4885 Tue May 29 03:54:15 GMT 2012  Olly Betts <olly@survex.com>
4887         * generate-exceptions: Use function attributes in generated error.h.
4889 Tue May 29 02:10:23 GMT 2012  Olly Betts <olly@survex.com>
4891         * configure.ac,tests/runsrv.in: In the testsuite, only run remote
4892           servers under valgrind if x87 FP instructions are in use.
4894 Tue May 29 00:24:42 GMT 2012  Olly Betts <olly@survex.com>
4896         * include/xapian/: Use the new function attributes on various API
4897           methods.
4898         * tests/api_wrdb.cc: get_termfreq() is now marked as pure, so the
4899           testsuite needs to actually use the return value to check its
4900           exception behaviour.
4902 Mon May 28 22:31:21 GMT 2012  Olly Betts <olly@survex.com>
4904         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
4905           include/xapian/query.h: Pass vector<pair<Xapian::termpos>, string> >&
4906           argument to Query::Internal::gather_terms() as a void* to avoid
4907           having to include <vector> in query.h.
4909 Mon May 28 05:07:02 GMT 2012  Olly Betts <olly@survex.com>
4911         * include/xapian/attributes.h: Remove unused XAPIAN_NOTHROW_API_METHOD
4912           as we're handling that a different way instead.
4914 Mon May 28 00:41:55 GMT 2012  Olly Betts <olly@survex.com>
4916         * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Hide new
4917           function attribute macros from doxygen.
4919 Sun May 27 14:04:34 GMT 2012  Olly Betts <olly@survex.com>
4921         * include/xapian/query.h: Use "Internal" instead of "Query::Internal"
4922           in constructor prototype argument list for consistency with other
4923           cosntructors, and so this constructor gets ignored by SWIG.
4925 Sun May 27 07:38:56 GMT 2012  Olly Betts <olly@survex.com>
4927         * exception_data.pm: Fix typo to fix warning and so that XAPIAN_NOTHROW
4928           on a method will work.
4930 Sun May 27 01:43:30 GMT 2012  Olly Betts <olly@survex.com>
4932         * exception_data.pm,include/Makefile.mk,include/xapian.h,
4933           include/xapian/attributes.h,include/xapian/unicode.h: Add
4934           XAPIAN_CONST_FUNCTION, XAPIAN_PURE_FUNCTION, and XAPIAN_NOTHROW
4935           macros for marking functions and methods with those attributes.
4936           (tickets #151, #454)
4938 Fri May 25 06:42:35 GMT 2012  Olly Betts <olly@survex.com>
4940         * include/xapian/weight.h: Fix documentation comment typo ("k1" ->
4941           "k").
4943 Fri May 25 05:44:05 GMT 2012  Olly Betts <olly@survex.com>
4945         * backends/flint_lock.h: Mark FlintLock::throw_databaselockerror() as
4946           XAPIAN_NORETURN.
4948 Thu May 24 12:28:35 GMT 2012  Olly Betts <olly@survex.com>
4950         * include/xapian/termgenerator.h,queryparser/termgenerator.cc,
4951           queryparser/termgenerator_internal.cc,
4952           queryparser/termgenerator_internal.h: Add
4953           TermGenerator::set_stemming_strategy() method, with strategies which
4954           correspond to those of QueryParser.  Based on patch from Sehaj Singh
4955           Kalra, with some tweaks for adding term positions in more cases.
4956           (Fixes ticket#563)
4957         * tests/termgentest.cc: Add test coverage for the new features.
4959 Thu May 24 01:37:31 GMT 2012  Olly Betts <olly@survex.com>
4961         * include/xapian/queryparser.h: Add doc comment for stem_strategy
4962           typedef.
4964 Wed May 23 11:33:08 GMT 2012  Olly Betts <olly@survex.com>
4966         * include/xapian/queryparser.h,queryparser/queryparser.lemony:
4967           Add new QueryParser::STEM_ALL_Z stemming strategy, which stems all
4968           terms and adds a Z prefix.  (Patch from Sehaj Singh Kalra, fixes
4969           ticket#562)
4970         * tests/queryparsertest.cc: Add test coverage for
4971           QueryParser::STEM_ALL_Z.
4973 Wed May 23 05:37:20 GMT 2012  Olly Betts <olly@survex.com>
4975         * api/valuesetmatchdecider.cc,include/xapian/valuesetmatchdecider.h:
4976           "Limited" to "Ltd" in (C) two statements, for consistency (and with
4977           Charlie's agreement on IRC).
4979 Wed May 23 02:25:53 GMT 2012  Olly Betts <olly@survex.com>
4981         * api/,include/xapian/query.h: Rework QueryBranch to use a special
4982           QueryVector class rather than std::vector<Xapian::Query>.  The
4983           special class is no bigger than std::vector<Xapian::Query>, and
4984           handles up to two entries by holding them within the object (at
4985           least GCC's std::vector doesn't currently do this space optimisation)
4986           which significantly reduces the memory used by a pairwise operator,
4987           which is very desirable as we no longer flatten a tree of the same
4988           pairwise operator as we build the query.
4990 Tue May 22 06:25:10 GMT 2012  Olly Betts <olly@survex.com>
4992         * api/queryinternal.cc: Handle the left side of AND_NOT and
4993           AND_MAYBE being MatchNothing in add_subquery() rather than
4994           in done().
4996 Tue May 22 02:40:45 GMT 2012  Olly Betts <olly@survex.com>
4998         * api/queryinternal.cc: Handle QueryAndLike with a MatchNothing
4999           subquery in add_subquery() rather than done().
5001 Tue May 22 02:01:00 GMT 2012  Olly Betts <olly@survex.com>
5003         * api/queryinternal.cc,api/queryinternal.h: Drop MatchNothing
5004           subqueries in OR-like situations in add_subquery() rather than
5005           adding them and then handling it later.
5007 Sat May 19 00:27:23 GMT 2012  Olly Betts <olly@survex.com>
5009         * tests/runsrv.in: Add explanation of why we have this script.
5011 Sat May 19 00:27:10 GMT 2012  Olly Betts <olly@survex.com>
5013         * tests/runtest.in: Fix comment typo.
5015 Fri May 18 12:50:08 GMT 2012  Olly Betts <olly@survex.com>
5017         * backends/inmemory/inmemory_database.cc: Check if the database is
5018           closed when asked to iterate metadata keys.  Fixes recently added
5019           testcase closedb10 for inmemory.
5021 Fri May 18 12:34:24 GMT 2012  Olly Betts <olly@survex.com>
5023         * tests/Makefile.am: Pass -ldl last when compiling zlib-vg.so, as that
5024           seems to be needed on Ubuntu 12.04.
5026 Fri May 18 04:54:09 GMT 2012  Olly Betts <olly@survex.com>
5028         * tests/api_closedb.cc: We now test almost all methods of Database
5029           and WritableDatabase after calling close().  (ticket#337)
5031 Thu May 17 14:26:11 GMT 2012  Olly Betts <olly@survex.com>
5033         * backends/brass/,backends/chert/: After closing the database, methods
5034           which try to use the termlist would throw FeatureUnavailableError
5035           with message "Database has no termlist", assuming that the termlist
5036           table not being open meant it wasn't present.  Fix to check if the
5037           postlist_table is open to determine which case we're in.
5038         * tests/api_closedb.cc: Improve test coverage for closed databases.
5039           (ticket#337)
5041 Tue May 15 11:24:34 GMT 2012  Olly Betts <olly@survex.com>
5043         * NEWS: Update from ChangeLog and 1.2.10.
5045 Tue May 15 11:12:42 GMT 2012  Olly Betts <olly@survex.com>
5047         * backends/chert/chert_cursor.cc: Fix incorrect use of "delete" to
5048           "delete []".  The type is POD, so I suspect this mistake didn't
5049           actually cause any problems, and it only happens when a cursor
5050           gets rebuilt because the B-tree has gained a level, so it's
5051           a rather rare occurrence.
5053 Tue May 15 11:09:44 GMT 2012  Olly Betts <olly@survex.com>
5055         * backends/brass/brass_cursor.cc: Fix incorrect use of "delete" to
5056           "delete []".  The type is POD, so I suspect this mistake didn't
5057           actually cause any problems, and it only happens when a cursor
5058           gets rebuilt because the B-tree has gained a level, so it's
5059           a rather rare occurrence.
5061 Thu May 10 02:16:21 GMT 2012  Olly Betts <olly@survex.com>
5063         * HACKING: Update Debian/Ubuntu packaging instructions.
5065 Thu May 10 02:14:48 GMT 2012  Olly Betts <olly@survex.com>
5067         * HACKING: freshmeat -> freecode.
5069 Wed May 09 02:54:40 GMT 2012  Olly Betts <olly@survex.com>
5071         * tests/api_wrdb.cc: Add "safeunistd.h", required for GCC 4.7.
5073 Wed May 09 00:09:17 GMT 2012  Olly Betts <olly@survex.com>
5075         * api/query.cc: Construct MatchAll using constructor rather than
5076           assignment syntax.
5078 Wed May 09 00:08:29 GMT 2012  Olly Betts <olly@survex.com>
5080         * backends/brass/brass_cursor.h: Whitespace tweaks.
5082 Tue May 08 23:51:01 GMT 2012  Olly Betts <olly@survex.com>
5084         * docs/admin_notes.rst: Document xapian-check for fixing corrupted
5085           databases.
5087 Tue May 08 11:30:06 GMT 2012  Olly Betts <olly@survex.com>
5089         * common/fileutils.cc: Add safeunistd.h for mkdir, required by GCC
5090           4.7 (reported by Gaurav Arora).
5092 Wed May 02 03:44:25 GMT 2012  Olly Betts <olly@survex.com>
5094         * weight/weightinternal.cc: Using AssertEq() on NULL doesn't compile,
5095           at least with recent GCC.
5097 Wed May 02 02:58:37 GMT 2012  Olly Betts <olly@survex.com>
5099         * common/omassert.cc: Fix warning with GCC in build with assertions
5100           enabled.
5102 Wed May 02 02:55:54 GMT 2012  Olly Betts <olly@survex.com>
5104         * HACKING: We're now using automake 1.12 to generate snapshots and
5105           releases.
5107 Mon Apr 23 13:16:36 GMT 2012  Olly Betts <olly@survex.com>
5109         * tests/api_anydb.cc: Fix tradweight1 to test that TradWeight(0)
5110           means that wdf and doc length don't affect the weight of a term.
5112 Mon Apr 23 03:44:02 GMT 2012  Olly Betts <olly@survex.com>
5114         * backends/chert/,backends/dbcheck.cc,bin/xapian-check.cc,
5115           include/xapian/database.h: Add "fix" option to xapian-check, which
5116           currently will regenerate iamchert if it isn't valid, and will
5117           regenerate base files from the .DB files (only really tested on
5118           databases which have just been compacted).
5120 Mon Apr 23 03:40:35 GMT 2012  Olly Betts <olly@survex.com>
5122         * common/filetests.h: Add new function file_size() to get the size
5123           of a file from a path or file descriptor.
5124         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc,
5125           net/remoteconnection.cc,tests/api_replicate.cc: Use this new
5126           function.
5128 Wed Apr 18 01:35:21 GMT 2012  Olly Betts <olly@survex.com>
5130         * weight/bm25weight.cc,weight/tradweight.cc: Fix comment typo.
5132 Wed Apr 11 08:26:42 GMT 2012  Olly Betts <olly@survex.com>
5134         * HACKING: Update section on patches to mention git (git diff and git
5135           format-patch), and using "-r" with normal diff, and also that
5136           ptardiff offers a nice way to diff against an unpacked tarball.
5138 Wed Apr 04 02:22:04 GMT 2012  Olly Betts <olly@survex.com>
5140         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
5141           If the output database is empty, don't write a metainfo tag out.
5142           Take care not to divide by zero when computing the percentage
5143           size change for a table.
5144         * tests/api_compact.cc: Add new testcase compactempty1 to provide
5145           regression tests.
5147 Wed Apr 04 01:48:34 GMT 2012  Olly Betts <olly@survex.com>
5149         * backends/dbcheck.cc: If the database couldn't be opened, don't try
5150           to reserve space for cross-checking doclens, as that just results in
5151           us reporting a confusing warning about there being too many documents
5152           to cross-check doclens.
5154 Fri Mar 30 22:23:53 GMT 2012  Olly Betts <olly@survex.com>
5156         * backends/document.h: "An string" -> "A string" in internal doc
5157           comment.
5159 Fri Mar 30 22:20:11 GMT 2012  Olly Betts <olly@survex.com>
5161         * include/xapian/weight.h: Fix switched lower and upper in doc comments
5162           for Weight methods get_doclength_lower_bound() and
5163           get_doclength_upper_bound().  Correct maximum to minimum in
5164           get_doclength_lower_bound() comment and note that this excludes zero
5165           length documents.  Fix "An lower" to "A lower".
5167 Wed Mar 28 09:54:33 GMT 2012  Olly Betts <olly@survex.com>
5169         * NEWS: Fix typos in another old entry.
5171 Wed Mar 28 09:53:00 GMT 2012  Olly Betts <olly@survex.com>
5173         * NEWS: DatabaseCoruptError -> DatabaseCorruptError in old entries.
5175 Wed Mar 28 08:05:13 GMT 2012  Olly Betts <olly@survex.com>
5177         * tests/termgentest.cc: Add test coverage for discarding of terms > 64
5178           bytes by TermGenerator.
5180 Tue Mar 27 21:07:07 GMT 2012  Olly Betts <olly@survex.com>
5182         * include/xapian/database.h: Note when Database::close() was added.
5184 Tue Mar 27 13:03:22 GMT 2012  Olly Betts <olly@survex.com>
5186         * api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h,
5187           include/xapian/errorhandler.h: Deprecate Xapian::ErrorHandler.
5188           (ticket#3)
5190 Tue Mar 27 13:01:53 GMT 2012  Olly Betts <olly@survex.com>
5192         * HACKING,docs/deprecation.rst,docs/doxygen_api.conf.in,
5193           docs/doxygen_source.conf.in: Updates for addition of
5194           XAPIAN_DEPRECATED_EX() and XAPIAN_DEPRECATED_CLASS_EX.
5196 Tue Mar 27 10:11:23 GMT 2012  Olly Betts <olly@survex.com>
5198         * HACKING,include/xapian.h,include/xapian/deprecated.h: Add
5199           XAPIAN_DEPRECATED_EX() and XAPIAN_DEPRECATED_CLASS_EX macros which
5200           mark a feature as deprecated externally but not when building the
5201           library.
5203 Tue Mar 27 08:46:29 GMT 2012  Olly Betts <olly@survex.com>
5205         * api/compactor.cc: Include the xapian sub-headers we actually use
5206           rather than xapian.h, to avoid needless rebuilds.
5208 Tue Mar 27 08:33:28 GMT 2012  Olly Betts <olly@survex.com>
5210         * HACKING: Add example of deprecating a pure virtual method.
5212 Tue Mar 27 08:30:17 GMT 2012  Olly Betts <olly@survex.com>
5214         * NEWS: Update from ChangeLog.
5216 Sat Mar 24 12:33:44 GMT 2012  Olly Betts <olly@survex.com>
5218         * backends/brass/brass_databasereplicator.cc: Fix signed vs unsigned
5219           comparison warning with GCC 4.4.3.
5221 Sat Mar 24 12:26:13 GMT 2012  Olly Betts <olly@survex.com>
5223         * include/xapian/queryparser.h,queryparser/queryparser_internal.h:
5224           Change the default stemming strategy to STEM_SOME, to eliminate
5225           the API gotcha that setting a stemmer is ignored until you also
5226           set a strategy.
5227         * tests/queryparsertest.cc: Add testcase qp_defaultstrategysome1 to
5228           check that the default is STEM_SOME.
5230 Fri Mar 23 04:29:32 GMT 2012  Olly Betts <olly@survex.com>
5232         * tests/perftest/perftest.cc: Fix comment cut-and-paste error.
5234 Fri Mar 23 04:28:24 GMT 2012  Olly Betts <olly@survex.com>
5236         * Makefile.am: Use git commit hash in the title of a coverage report
5237           generated from a git tree.
5239 Thu Mar 22 04:29:38 GMT 2012  Olly Betts <olly@survex.com>
5241         * xapian-core.spec.in: Remove xapian-chert-update.
5243 Mon Mar 19 05:42:50 GMT 2012  Olly Betts <olly@survex.com>
5245         * matcher/multiandpostlist.cc: Don't count unweighted subqueries of
5246           MultiAndPostList for percentage calculations, as OP_FILTER maps to
5247           MultiAndPostList now.  (ticket#590)
5248         * tests/api_percentages.cc: Regression test topercent6.
5250 Sun Mar 18 23:24:04 GMT 2012  Dan Colish <dcolish@>
5252         * backends/brass/brass_databasereplicator.cc: size out buffer to the
5253           incoming blocksize
5255 Sun Mar 18 17:02:14 GMT 2012  Dan Colish <dcolish@>
5257         * .gitignore: ignore /.deps as well
5259 Sun Mar 18 16:46:45 GMT 2012  Dan Colish <dcolish@>
5261         * .gitignore:Update gitignore for bump to libxapian-1.3
5263 Sun Mar 18 04:37:37 GMT 2012  Olly Betts <olly@survex.com>
5265         * configure.ac: Set LIBRARY_VERSION_SUFFIX to -1.3.
5267 Sun Mar 18 00:48:05 GMT 2012  Dan Colish <dcolish@gmail.com>
5269         * backends/brass/,common/Makefile.mk, common/compression_stream.h,
5270           common/compression_stream.cc: Compress changesets in brass
5271           replication. Increments the changeset version. Ticket #348
5273 Sun Mar 18 00:39:23 GMT 2012  Dan Colish <dcolish@gmail.com>
5275         * tests/.gitignore,tests/soaktest/.gitignore: Add additional ignores
5276           for test artifacts
5278 Fri Mar 16 05:23:54 GMT 2012  Olly Betts <olly@survex.com>
5280         * common/Makefile.mk: Missing part of previous change.
5282 Fri Mar 16 04:59:53 GMT 2012  Olly Betts <olly@survex.com>
5284         * Makefile.am,m4-macros/xapian.m4: Rename libxapian to libxapian-1.3
5285           and xapian.m4 to xapian-1.3.m4.
5287 Wed Mar 14 04:58:55 GMT 2012  Olly Betts <olly@survex.com>
5289         * NEWS,tests/api_unicode.cc,unicode/tclUniData.cc: Update
5290           Unicode character database to 6.1.0.
5292 Wed Mar 14 02:23:27 GMT 2012  Olly Betts <olly@survex.com>
5294         * NEWS: Update for 1.3.0.
5296 Tue Mar 13 07:44:32 GMT 2012  Olly Betts <olly@survex.com>
5298         * NEWS: Update from 1.2.9 and ChangeLog.
5300 Tue Mar 13 00:28:58 GMT 2012  Olly Betts <olly@survex.com>
5302         * docs/geospatial.rst: Fix typo - it's LatLongCoords::append() not
5303           LatLongCoords::insert().
5305 Mon Mar 12 23:14:20 GMT 2012  Olly Betts <olly@survex.com>
5307         * docs/admin_notes.rst: Fix typo - need "1.2.x" not "1.0.x" to get
5308           both flint and chert support.
5310 Mon Mar 12 11:54:19 GMT 2012  Olly Betts <olly@survex.com>
5312         * docs/Makefile.am: doxygen no longer generates any GIF files, so
5313           stop trying to ship or install them.
5315 Thu Mar 08 10:21:51 GMT 2012  Olly Betts <olly@survex.com>
5317         * docs/index.rst: Add link to new "getting started" guide.
5319 Mon Mar 05 06:05:28 GMT 2012  Olly Betts <olly@survex.com>
5321         * tests/queryparsertest.cc: Fix curly double quote testcase.
5323 Mon Mar 05 00:36:33 GMT 2012  Olly Betts <olly@survex.com>
5325         * matcher/: Fix issue with AND, OR, and XOR queries against a database
5326           with no documents in it - this was causing a divide by zero, which led
5327           to MSet::get_matches_estimated() reporting 2147483648 on i386.
5328         * tests/api_backend.cc: Add regression test emptydb1.
5330 Sun Mar 04 23:05:17 GMT 2012  Olly Betts <olly@survex.com>
5332         * matcher/multimatch.cc: Fix comment typo.
5334 Fri Mar 02 04:00:19 GMT 2012  Olly Betts <olly@survex.com>
5336         * tests/harness/testsuite.cc: Address new warnings from GCC 4.6.
5338 Wed Feb 29 22:36:26 GMT 2012  Olly Betts <olly@survex.com>
5340         * include/xapian/database.h: Improve documentation of Database::close()
5341           and ~WritableDatabase().
5343 Thu Jan 26 03:49:24 GMT 2012  Olly Betts <olly@survex.com>
5345         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow
5346           Unicode curly double quote characters to start and/or end phrases.
5348 Sun Jan 22 13:28:30 GMT 2012  Olly Betts <olly@survex.com>
5350         * bin/xapian-delve.cc: Send errors to stderr not stdout.
5352 Sun Jan 22 13:16:21 GMT 2012  Olly Betts <olly@survex.com>
5354         * HACKING: Update details of versions of doxygen, automake and libtool
5355           used to bootstrap snapshots and releases.
5357 Fri Jan 20 21:35:38 GMT 2012  Olly Betts <olly@survex.com>
5359         * tests/Makefile.am: unittest needs getopt for non-glibc platforms.
5361 Fri Jan 20 21:33:59 GMT 2012  Olly Betts <olly@survex.com>
5363         * include/xapian/query.h: GCC 4.2.1 on Mac OS X seems to need a copy
5364           ctor for InvertedQuery_ - unclear why, but it's easy to add one.
5366 Wed Jan 18 13:13:07 GMT 2012  Olly Betts <olly@survex.com>
5368         * include/xapian/matchspy.h,include/xapian/postingsource.h,
5369           include/xapian/weight.h: Document that you can define a static
5370           operator delete method in your subclass if deallocation needs to be
5371           handled specially.  (Closes ticket#554)
5373 Wed Jan 18 12:27:20 GMT 2012  Olly Betts <olly@survex.com>
5375         * include/xapian/geospatial.h: Mark as experimental for now.
5377 Wed Jan 18 12:22:39 GMT 2012  Olly Betts <olly@survex.com>
5379         * docs/geospatial.rst: Say "haversine" rather than "Haversine"
5380           consistently.
5382 Wed Jan 18 12:01:28 GMT 2012  Olly Betts <olly@survex.com>
5384         * include/xapian/geospatial.h: Change empty() to return bool not
5385           size_t.
5387 Wed Jan 18 10:44:16 GMT 2012  Olly Betts <olly@survex.com>
5389         * docs/geospatial.rst: Fix minor typos in geospatial docs.
5391 Wed Jan 18 10:39:53 GMT 2012  Olly Betts <olly@survex.com>
5393         * Makefile.am,api/postingsource.cc,api/queryinternal.cc,
5394           api/registry.cc,common/output.h,common/registryinternal.h,
5395           docs/geospatial.rst,geospatial/,include/Makefile.mk,include/xapian.h,
5396           include/xapian/geospatial.h,include/xapian/postingsource.h,
5397           include/xapian/registry.h,tests/.gitignore,tests/Makefile.am,
5398           tests/api_geospatial.cc: Merge geotomerge2 branch from github.
5399           Closes ticket#481.
5401 Tue Jan 17 22:29:10 GMT 2012  Olly Betts <olly@survex.com>
5403         * api/errorhandler.cc: Reorder header includes.
5405 Mon Jan 16 22:59:02 GMT 2012  Olly Betts <olly@survex.com>
5407         * include/xapian/queryparser.h,queryparser/queryparser.lemony: Fix
5408           FLAG_AUTO_SYNONYMS not to enable auto multi-word synonyms too.
5409         * tests/queryparsertest.cc: Extend testcase qp_synonym1 to include a
5410           regression test for this bug.
5412 Sun Jan 15 12:41:35 GMT 2012  Olly Betts <olly@survex.com>
5414         * .gitignore,backends/Makefile.mk,backends/brass/,backends/chert/,
5415           backends/dbcheck.cc,bin/,common/bitstream.h,
5416           include/xapian/database.h: Add a (currently experimental) API for
5417           checking the integrity of databases (partly addresses ticket#238).
5418           This means we can remove XAPIAN_VISIBILITY_DEFAULT from a number of
5419           functions which aren't in the public API (partly addresses
5420           ticket#63).
5422 Fri Jan 13 12:07:39 GMT 2012  Olly Betts <olly@survex.com>
5424         * tests/stemtest.cc: Include <xapian.h> rather than <xapian/stem.h> -
5425           we're trying to test the public API, so including the public API
5426           header is better.
5428 Thu Jan 12 13:15:27 GMT 2012  Olly Betts <olly@survex.com>
5430         * tests/unittest.cc: Add new testcases simple_exceptions_work1 and
5431           class_exceptions_work1 which perform sanity tests of exception
5432           handling.
5433         * tests/internaltest.cc: Remove testcase test_except1 which is now
5434           redundant.
5436 Thu Jan 12 13:09:25 GMT 2012  Olly Betts <olly@survex.com>
5438         * common/str.cc: Special cases for 0 in tostring() templates aren't
5439           actually needed, but special casing single digit numbers may be
5440           worthwhile anyway, so change comments to FIXME ones about checking
5441           this.
5442         * tests/internaltest.cc: Test str() on unsigned 0, and some negative,
5443           signed positive, and unsigned positive single digits values.
5445 Wed Jan 11 13:03:54 GMT 2012  Olly Betts <olly@survex.com>
5447         * backends/multi/multi_alltermslist.h: Fix filename in @file.
5449 Wed Jan 11 12:53:44 GMT 2012  Olly Betts <olly@survex.com>
5451         * api/documentterm.h,api/maptermlist.h,api/omenquireinternal.h,
5452           backends/brass/,backends/chert/,backends/database.h,
5453           backends/document.h,backends/inmemory/inmemory_alltermslist.h,
5454           backends/inmemory/inmemory_database.h,
5455           backends/inmemory/inmemory_positionlist.h,
5456           backends/multi/multi_postlist.h,backends/multi/multi_termlist.h,
5457           backends/positionlist.h,backends/remote/net_termlist.h,
5458           backends/valuestats.h,common/,include/xapian/query.h,matcher/,
5459           queryparser/queryparser_internal.h,tests/harness/,
5460           tests/perftest/freemem.h,tests/perftest/runprocess.h: Convert
5461           comments at the start of files to @file and @brief doxygen comments.
5463 Wed Jan 11 11:36:55 GMT 2012  Olly Betts <olly@survex.com>
5465         * matcher/phrasepostlist.h: Remove lone "----START-LICENCE----" -
5466           the rest got removed ages ago.
5468 Wed Jan 11 11:23:04 GMT 2012  Olly Betts <olly@survex.com>
5470         * common/replicate_utils.h: Fix "@raises" to "@exception".
5472 Wed Jan 11 11:21:31 GMT 2012  Olly Betts <olly@survex.com>
5474         * matcher/multiandpostlist.h: Fix "@parameter" to "@param".
5476 Wed Jan 11 11:20:11 GMT 2012  Olly Betts <olly@survex.com>
5478         * common/debuglog.h: Fix "@msg" to "@a msg" in doxygen comment.
5480 Wed Jan 11 11:18:50 GMT 2012  Olly Betts <olly@survex.com>
5482         * matcher/multiandpostlist.h: Correct @exceptions to @exception.
5484 Wed Jan 11 10:48:05 GMT 2012  Olly Betts <olly@survex.com>
5486         * HACKING: We no longer have any uses of \ to introduce doxygen
5487           directives, so update HACKING to reflect that.
5489 Wed Jan 11 10:46:01 GMT 2012  Olly Betts <olly@survex.com>
5491         * api/omdatabase.cc: Change \todo to @todo.
5493 Wed Jan 11 10:09:29 GMT 2012  Olly Betts <olly@survex.com>
5495         * api/replication.h,api/valuesetmatchdecider.cc,
5496           common/output-internal.h,common/output.h,include/xapian/,
5497           tests/harness/testrunner.cc,tests/harness/testrunner.h,
5498           tests/perftest/perftest.cc,tests/perftest/perftest.h: Change the
5499           instances of \file and \brief in doxygen comments to @file and
5500           @brief.
5502 Wed Jan 11 10:08:19 GMT 2012  Olly Betts <olly@survex.com>
5504         * tests/internaltest.cc: Remove serialisedoc1 from the list of
5505           testcases to run too.
5507 Wed Jan 11 09:50:22 GMT 2012  Olly Betts <olly@survex.com>
5509         * matcher/multixorpostlist.h: Remove "using namespace std;" which we
5510           don't need here.
5512 Wed Jan 11 09:38:27 GMT 2012  Olly Betts <olly@survex.com>
5514         * common/filetests.h: Remove "using namespace std;" which we don't
5515           need here.
5517 Wed Jan 11 09:36:27 GMT 2012  Olly Betts <olly@survex.com>
5519         * common/filetests.h: Add documentation comments.
5521 Wed Jan 11 09:28:26 GMT 2012  Olly Betts <olly@survex.com>
5523         * tests/api_serialise.cc: Extend serialise_document1 to test
5524           serialising and unserialising an empty document, which is an
5525           interesting edge case.
5526         * tests/internaltest.cc: Remove testcase serialisedoc1, which
5527           now doesn't add useful additional coverage over serialise_document1.
5529 Wed Jan 11 08:29:04 GMT 2012  Olly Betts <olly@survex.com>
5531         * tests/internaltest.cc: Test document serialisation via the public
5532           API (which was added after the tests were).
5533         * net/serialise.h: Remove XAPIAN_VISIBILITY_DEFAULT from
5534           serialise_document() and unserialise_document().
5536 Wed Jan 11 05:57:14 GMT 2012  Olly Betts <olly@survex.com>
5538         * api/replication.cc,common/,tests/unittest.cc: Move removedir() from
5539           utils.{cc,h} to fileutils.{cc,h}, and remove the now empty
5540           utils.{cc,h}.
5542 Wed Jan 11 05:44:38 GMT 2012  Olly Betts <olly@survex.com>
5544         * tests/harness/unixcmds.cc: Check return values from system() calls
5545           and throw a std::string exception if non-zero.
5547 Wed Jan 11 05:20:30 GMT 2012  Olly Betts <olly@survex.com>
5549         * common/Makefile.mk,common/omassert.cc,common/omassert.h,
5550           common/utils.cc: Change the sense of the bool returned by
5551           within_DBL_EPSILON() to match what the name suggests instead of being
5552           the opposite, and change the use of it too.  Move
5553           within_DBL_EPSILON() implementation from utils.cc to new file
5554           omassert.cc, only compile it when assertions are on, and prototype it
5555           in omassert.h rather than utils.h.
5557 Wed Jan 11 05:09:39 GMT 2012  Olly Betts <olly@survex.com>
5559         * api/compactor.cc,api/replication.cc,backends/brass/,backends/chert/,
5560           backends/dbfactory.cc,common/utils.cc,common/utils.h,
5561           tests/api_backend.cc,tests/api_wrdb.cc,
5562           tests/harness/backendmanager.cc,tests/harness/unixcmds.cc: Remove
5563           std::string wrappers for C library functions from utils.h and just
5564           explicitly call c_str() when we need to.  These wrappers are
5565           problematic as they suppress warnings from _FORTIFY_SOURCE about
5566           ignored return values, and I can't see an easy way to avoid that.
5568 Wed Jan 11 03:35:35 GMT 2012  Olly Betts <olly@survex.com>
5570         * api/replication.cc,backends/brass/brass_databasereplicator.cc,
5571           backends/brass/brass_table.cc,
5572           backends/chert/chert_databasereplicator.cc,
5573           backends/chert/chert_table.cc,backends/databasereplicator.cc,
5574           backends/dbfactory.cc,common/utils.cc,common/utils.h: Use
5575           file_exists() and dir_exists() from common/filetests.h everywhere and
5576           remove the old versions in common/utils.h and common/utils.cc.
5578 Wed Jan 11 02:20:45 GMT 2012  Olly Betts <olly@survex.com>
5580         * common/utils.h: Remove XAPIAN_VISIBILITY_DEFAULT from old
5581           file_exists() and dir_exists().
5583 Wed Jan 11 02:19:58 GMT 2012  Olly Betts <olly@survex.com>
5585         * tests/api_compact.cc: Convert to use filetests.h.
5587 Wed Jan 11 02:14:07 GMT 2012  Olly Betts <olly@survex.com>
5589         * bin/xapian-check.cc,bin/xapian-inspect.cc: Convert to use
5590           filetests.h.
5592 Wed Jan 11 02:13:02 GMT 2012  Olly Betts <olly@survex.com>
5594         * common/filetests.h: Rename directory_exists() to dir_exists().
5596 Wed Jan 11 02:10:06 GMT 2012  Olly Betts <olly@survex.com>
5598         * common/Makefile.mk,common/filetests.h,tests/api_replicate.cc,
5599           tests/harness/backendmanager_multi.cc,tests/harness/testsuite.cc:
5600           Add new inline versions of file_exists() and directory_exists() and
5601           use these from the testsuite, as a step towards making these internal
5602           to the library.
5604 Tue Jan 10 23:37:36 GMT 2012  Olly Betts <olly@survex.com>
5606         * tests/api_serialise.cc: Change the rather odd "operator delete(p);"
5607           to the more natural "delete p;".
5609 Tue Jan 10 22:45:01 GMT 2012  Olly Betts <olly@survex.com>
5611         * tests/unittest.cc: Fix message typo in recent unittest change.
5613 Tue Jan 10 13:48:38 GMT 2012  Olly Betts <olly@survex.com>
5615         * common/safesysstat.h: The S_ISDIR and S_ISREG macros for MSVC are
5616           unlikely to work on other platforms (_S_IFMT vs S_IFMT, etc) so
5617           split them.  Tweak a few comments.
5619 Tue Jan 10 13:10:25 GMT 2012  Olly Betts <olly@survex.com>
5621         * net/: Split encode_length() and decode_length() out of
5622           serialise.{cc,h} into new file length.{cc,h}, and remove
5623           XAPIAN_VISIBILITY_DEFAULT from decode_length().
5624         * api/,backends/brass/brass_database.cc,
5625           backends/chert/chert_database.cc,backends/remote/net_postlist.cc,
5626           backends/remote/remote-database.cc,net/: Update headers which need
5627           to be included.
5628         * tests/internaltest.cc,tests/unittest.cc: Move serialiselength1 and
5629           serialiselength2 from internaltest to unittest.
5631 Mon Jan 09 02:16:22 GMT 2012  Olly Betts <olly@survex.com>
5633         * tests/api_compact.cc: Actually add test coverage for
5634           ByteLengthPrefixedStringItor - the previous attempt didn't cause
5635           merging of synonym lists to happen.
5637 Mon Jan 09 00:21:25 GMT 2012  Olly Betts <olly@survex.com>
5639         * tests/api_replicate.cc: Fix comment typo.
5641 Sun Jan 08 14:47:19 GMT 2012  Olly Betts <olly@survex.com>
5643         * tests/api_compact.cc: Add test coverage for
5644           ByteLengthPrefixedStringItor.
5646 Sun Jan 08 14:05:19 GMT 2012  Olly Betts <olly@survex.com>
5648         * common/fd.h,tests/api_db.cc,tests/harness/backendmanager.cc: Add
5649           missing explicit header includes, uncovered by compiling with
5650           STLport.
5652 Sat Jan 07 11:45:00 GMT 2012  Olly Betts <olly@survex.com>
5654         * INSTALL,configure.ac,m4/rjb_find_stlport.m4,xapian-config.in: Remove
5655           configure's --with-stlport and --with-stlport-compiler options, as
5656           they don't allow you to actually specify what you need (at least to
5657           use the Debian STLport package), and instead document what to pass
5658           to configure to enable building with STLport (though it seems to no
5659           longer be actively maintained, and the debug mode (which is probably
5660           the most interesting feature now) doesn't seem to work on Debian
5661           stable).
5663 Sat Jan 07 10:24:25 GMT 2012  Olly Betts <olly@survex.com>
5665         * HACKING: Update STLPort URL to point to the more active fork on
5666           SourceForge.
5668 Fri Jan 06 20:07:06 GMT 2012  Olly Betts <olly@survex.com>
5670         * tests/api_sorting.cc: Add check that NeverUseMeKeyMaker::operator()
5671           would actually cause a test failure if called.
5673 Fri Jan 06 20:01:27 GMT 2012  Olly Betts <olly@survex.com>
5675         * tests/api_stem.cc: Test get_description() on a user-implemented
5676           stemmer.
5678 Fri Jan 06 14:34:16 GMT 2012  Olly Betts <olly@survex.com>
5680         * tests/Makefile.am,tests/harness/,tests/queryparsertest.cc,
5681           tests/termgentest.cc,tests/unittest.cc: Make unittest use the test
5682           harness, so it gets all the valgrind and fd leak checks, and other
5683           handy features all the other tests have.  Currently this is done in
5684           a bit of a hacky way, but it's a starting point for abstracting out
5685           the Xapian-specific parts of the test harness.
5687 Fri Jan 06 08:42:26 GMT 2012  Olly Betts <olly@survex.com>
5689         * Makefile.am: Delete generated lcov directory before running genhtml.
5690           Pass --demangle-cpp and --html-gzip to genhtml.
5692 Fri Jan 06 08:14:05 GMT 2012  Olly Betts <olly@survex.com>
5694         * Makefile.am: Trim `pwd` off all paths in coverage report.
5696 Fri Jan 06 02:29:04 GMT 2012  Olly Betts <olly@survex.com>
5698         * common/pretty.h: Add support for AndContext and OrContext.
5700 Fri Jan 06 02:28:07 GMT 2012  Olly Betts <olly@survex.com>
5702         * common/pretty.h: Use XAPIAN_PRETTY_AS_CLASSNAME for classes in
5703           namespace Xapian::Internal too.
5705 Thu Jan 05 12:23:10 GMT 2012  Olly Betts <olly@survex.com>
5707         * tests/internaltest.cc,tests/unittest.cc: Move tests of
5708           serialise_double() and unserialise_double() from internaltest to
5709           unittest.
5710         * common/serialise-double.h: This means serialise_double() and
5711           unserialise_double() no longer need external visibility, so make
5712           them internal only.
5714 Thu Jan 05 12:08:15 GMT 2012  Olly Betts <olly@survex.com>
5716         * common/bitstream.h: BitWriter doesn't need public visibility.
5718 Thu Jan 05 10:53:23 GMT 2012  Olly Betts <olly@survex.com>
5720         * common/output-internal.h,common/pretty.h: Fix include paths for two
5721           cases which are only used in a logging build.
5723 Fri Dec 30 09:17:50 GMT 2011  Olly Betts <olly@survex.com>
5725         * tests/queryparsertest.cc: Update expected results (mostly because we
5726           no longer flatten groups of the same operator at Query construction
5727           time).
5729 Thu Dec 29 13:47:04 GMT 2011  Olly Betts <olly@survex.com>
5731         * api/Makefile.mk: Add missing backslash so various headers actually
5732           get shipped.
5734 Thu Dec 29 11:29:04 GMT 2011  Olly Betts <olly@survex.com>
5736         * include/xapian/query.h: Add fake templated ctor for SWIG.
5738 Thu Dec 29 00:23:25 GMT 2011  Olly Betts <olly@survex.com>
5740         * tests/api_scalability.cc: Add regression test querypairwise1 for
5741           ticket#273.
5743 Thu Dec 29 00:03:17 GMT 2011  Olly Betts <olly@survex.com>
5745         * api/,backends/remote/remote-database.cc,
5746           backends/remote/remote-database.h,docs/deprecation.rst,
5747           include/xapian/query.h,matcher/,net/remoteserver.cc,
5748           queryparser/queryparser.lemony,tests/,weight/weightinternal.h: Merge
5749           query-internal-reimplementation git branch which reimplements
5750           Query::Internal. (ticket#280).  These are the most notable changes:
5751           + Query objects are smaller and should be faster.
5752           + More readable format for Query::get_description().
5753           + More compact serialisation format for Query objects.
5754           + Query operators are no longer flattened as you build up a tree (but
5755             the query optimiser still combines groups of the same operator).
5756             This means that Query objects are truly immutable, and so we don't
5757             need to copy Query objects when composing them.  This should also
5758             fix a few O(n*n) cases when building up an n-way query pair-wise.
5759             (ticket#273)
5760           + The Query optimiser can do a few extra optimisations.
5762 Mon Dec 26 12:13:36 GMT 2011  Olly Betts <olly@survex.com>
5764         * include/xapian/queryparser.h,queryparser/queryparser.cc: Change
5765           QueryParser::set_default_op() to reject operators which don't make
5766           sense to set, and explicitly document all the operators which are
5767           allowed.
5768         * tests/queryparsertest.cc: Check that bad operators are rejected in
5769           existing testcase qp_default_op2.  Add new testcase qp_default_op3 to
5770           check that good operators can be set and work in a simple testcase.
5772 Mon Dec 26 09:12:09 GMT 2011  Olly Betts <olly@survex.com>
5774         * tests/harness/backendmanager_brass.h,
5775           tests/harness/backendmanager_chert.h: Remove superfluous "private:"
5776           access specifiers.
5778 Sat Dec 24 12:34:19 GMT 2011  Olly Betts <olly@survex.com>
5780         * HACKING: Recommend installing valgrind, ccache, and eatmydata.
5782 Sat Dec 24 12:28:44 GMT 2011  Olly Betts <olly@survex.com>
5784         * HACKING: Make it clear "Building from SVN" applies to git too, and
5785           mention that git-svn is needed when building from git.
5787 Thu Dec 22 11:18:17 GMT 2011  Olly Betts <olly@survex.com>
5789         * languages/compiler/generator.c: Initialise variable which can
5790           be used uninitialised.
5792 Thu Dec 22 03:14:02 GMT 2011  Olly Betts <olly@survex.com>
5794         * bin/Makefile.mk: Link $(libxapian_la) after libbrasscheck.la and
5795           libchertcheck.la to fix mingw build.  Probably closes ticket#567.
5797 Thu Dec 22 02:45:45 GMT 2011  Olly Betts <olly@survex.com>
5799         * include/xapian/query.h: Document that OP_ELITE_SET with non-term
5800           subqueries might pick subqueries which don't match anything.
5801           Closes ticket#49.
5803 Thu Dec 22 02:37:10 GMT 2011  Olly Betts <olly@survex.com>
5805         * include/xapian/query.h: Improve documentation of OP_ELITE_SET.
5807 Wed Dec 21 12:26:00 GMT 2011  Olly Betts <olly@survex.com>
5809         * api/errorhandler.cc: Rearrange code in ErrorHandler::operator() to
5810           be clearer.
5812 Wed Dec 21 11:23:28 GMT 2011  Olly Betts <olly@survex.com>
5814         * include/xapian/errorhandler.h: Fix typo: 'APU' -> 'API'.
5816 Wed Dec 21 09:57:32 GMT 2011  Olly Betts <olly@survex.com>
5818         * api/,backends/brass/brass_postlist.cc,
5819           backends/brass/brass_postlist.h,backends/chert/,
5820           backends/contiguousalldocspostlist.cc,
5821           backends/contiguousalldocspostlist.h,
5822           backends/inmemory/inmemory_database.cc,
5823           backends/inmemory/inmemory_database.h,
5824           backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
5825           backends/remote/,docs/,expand/,include/xapian/,matcher/,
5826           net/remoteserver.cc,net/serialise.cc,tests/,weight/bm25weight.cc,
5827           weight/boolweight.cc,weight/tradweight.cc: Deprecate Xapian::weight
5828           typedef in favour of just using double, and make the replacement
5829           everywhere.  Closes ticket#560.
5831 Tue Dec 20 13:31:21 GMT 2011  Olly Betts <olly@survex.com>
5833         * net/remoteconnection.cc: Include "safesysstat.h" for fstat().
5835 Fri Dec 16 03:05:17 GMT 2011  Olly Betts <olly@survex.com>
5837         * backends/brass/brass_termlisttable.cc,
5838           backends/chert/chert_termlisttable.cc,
5839           backends/multi/multi_postlist.cc,net/replicatetcpclient.cc,
5840           net/serialise.cc,net/tcpserver.cc,tests/,
5841           tests/harness/backendmanager_remoteprog.cc,tests/queryparsertest.cc,
5842           tests/soaktest/soaktest_queries.cc,tests/termgentest.cc: Remove
5843           unnecessary includes on "utils.h".
5845 Fri Dec 16 02:57:49 GMT 2011  Olly Betts <olly@survex.com>
5847         * backends/brass/brass_btreebase.cc,backends/brass/brass_database.cc,
5848           backends/brass/brass_databasereplicator.cc,
5849           backends/chert/chert_btreebase.cc,backends/chert/chert_database.cc,
5850           backends/chert/chert_databasereplicator.cc,
5851           net/remoteconnection.cc,tests/api_replicate.cc: Replace uses of
5852           fdcloser class with new FD class.
5853         * common/utils.h: Remove fdcloser class.
5855 Fri Dec 16 00:56:45 GMT 2011  Olly Betts <olly@survex.com>
5857         * tests/api_replicate.cc: Use a const int rather than a #define for
5858           BUFSIZE.
5860 Fri Dec 16 00:50:57 GMT 2011  Olly Betts <olly@survex.com>
5862         * tests/api_replicate.cc: Avoid leaking fds on exceptions in
5863           truncated_copy().
5865 Fri Dec 16 00:42:11 GMT 2011  Olly Betts <olly@survex.com>
5867         * common/fd.h: Oops, fix to actually compile.
5869 Thu Dec 15 23:54:44 GMT 2011  Olly Betts <olly@survex.com>
5871         * common/Makefile.mk,common/fd.h: Add new FD class which wraps a file
5872           descriptor and ensures it gets released when we exit the scope.
5874 Thu Dec 15 22:44:16 GMT 2011  Olly Betts <olly@survex.com>
5876         * weight/Makefile: Add forwarding Makefile.
5878 Thu Dec 15 22:17:18 GMT 2011  Olly Betts <olly@survex.com>
5880         * weight/Makefile.mk: Ship dir_contents and Makefile.
5882 Tue Dec 13 10:33:21 GMT 2011  Olly Betts <olly@survex.com>
5884         * NEWS: Update from ChangeLog and branches/1.2.
5886 Fri Dec 09 10:33:25 GMT 2011  Olly Betts <olly@survex.com>
5888         * tests/soaktest/soaktest.cc,tests/soaktest/soaktest.h,
5889           tests/soaktest/soaktest_queries.cc: "boulton" -> "Boulton" in
5890           copyright statements.
5892 Fri Dec 09 10:31:18 GMT 2011  Olly Betts <olly@survex.com>
5894         * tests/soaktest/soaktest.cc: With Sun's compiler, random() and
5895           srandom() aren't in <cstdlib> so we need to use <stdlib.h> instead.
5897 Fri Dec 09 07:51:44 GMT 2011  Olly Betts <olly@survex.com>
5899         * include/xapian/types.h: Set BAD_VALUENO to 0xffffffff rather than
5900           static_cast<valueno>(-1) - it's the same value currently, but more
5901           robust to valueno being set a wider type.
5903 Fri Dec 09 07:49:07 GMT 2011  Olly Betts <olly@survex.com>
5905         * include/xapian/types.h: Explicitly document which value slot numbers
5906           are valid.  Fixes ticket#555.
5908 Sat Dec 03 09:32:55 GMT 2011  Olly Betts <olly@survex.com>
5910         * tests/api_opsynonym.cc: Fix typo in comment.
5912 Thu Dec 01 04:41:24 GMT 2011  Olly Betts <olly@survex.com>
5914         * include/xapian/database.h: Remove bogus paragraph in
5915           replace_document() documentation comment, cut and pasted from
5916           delete_document() documentation comment.  (Fixes bug#579)
5918 Tue Nov 08 01:50:25 GMT 2011  Olly Betts <olly@survex.com>
5920         * include/xapian/enquire.h: Add missing doxygen @param commands.
5922 Tue Nov 08 01:33:34 GMT 2011  Olly Betts <olly@survex.com>
5924         * include/xapian/database.h,include/xapian/document.h: Add missing
5925           doxygen @param commands.
5927 Mon Nov 07 10:31:04 GMT 2011  Olly Betts <olly@survex.com>
5929         * include/xapian/queryparser.h: Address doxygen warnings.
5931 Mon Nov 07 02:40:50 GMT 2011  Olly Betts <olly@survex.com>
5933         * include/xapian/postingsource.h: Document undocumented parameters,
5934           fixing doxygen warnings.
5935         * include/xapian/queryparser.h: Escape < and > in doxygen comments.
5937 Mon Nov 07 02:38:18 GMT 2011  Olly Betts <olly@survex.com>
5939         * include/xapian/enquire.h: Enquire::get_eset() doesn't take a min_wt
5940           parameter, so remove @param documentation for it.
5942 Mon Nov 07 01:59:54 GMT 2011  Olly Betts <olly@survex.com>
5944         * include/xapian/: Document lots of parameters, fixing doxygen
5945           warnings.
5947 Sun Nov 06 22:05:09 GMT 2011  Olly Betts <olly@survex.com>
5949         * generate-exceptions: Document all parameters to fix doxygen
5950           warnings.
5952 Sun Nov 06 22:03:50 GMT 2011  Olly Betts <olly@survex.com>
5954         * include/xapian/: Fix doxygen warnings.
5956 Sun Nov 06 21:00:08 GMT 2011  Olly Betts <olly@survex.com>
5958         * include/xapian/queryparser.h: Document value parameter of
5959           sortable_serialise() and sortable_unserialise().
5961 Sun Nov 06 17:53:31 GMT 2011  Olly Betts <olly@survex.com>
5963         * include/xapian/document.h: Improve Document get_data() and set_data()
5964           documentation comments.
5966 Sun Nov 06 17:14:39 GMT 2011  Olly Betts <olly@survex.com>
5968         * tests/Makefile.am: Add -I$(top_srcdir) so api/replication.h is found
5969           in a VPATH build.
5971 Sun Nov 06 16:06:52 GMT 2011  Olly Betts <olly@survex.com>
5973         * api/,backends/database.h,backends/document.h,
5974           backends/multi/multi_alltermslist.h,backends/positionlist.h,common/,
5975           tests/harness/: More more headers out of common.
5977 Sun Nov 06 14:55:25 GMT 2011  Olly Betts <olly@survex.com>
5979         * api/maptermlist.h,backends/inmemory/Makefile.mk,
5980           backends/inmemory/inmemory_positionlist.h,
5981           backends/remote/Makefile.mk,backends/remote/remote-database.cc,
5982           backends/remote/remote-database.h,common/Makefile.mk,
5983           common/inmemory_positionlist.h,common/remote-database.h,
5984           matcher/multimatch.cc,matcher/remotesubmatch.cc,
5985           matcher/remotesubmatch.h,net/progclient.h,net/remotetcpclient.h:
5986           Move two more headers out of common.
5988 Sun Nov 06 11:56:46 GMT 2011  Olly Betts <olly@survex.com>
5990         * tests/internaltest.cc: Fix for VPATH build.
5992 Sun Nov 06 11:26:18 GMT 2011  Olly Betts <olly@survex.com>
5994         * common/,tests/api_replicate.cc: Factor internal classes out of
5995           output.h into new output-internal.h to fix build failures in VPATH
5996           due to move of weightinternal.h out of common (since the test harness
5997           uses output.h).
5999 Sun Nov 06 00:49:45 GMT 2011  Olly Betts <olly@survex.com>
6001         * api/,backends/brass/,backends/chert/,backends/dbfactory_remote.cc,
6002           backends/inmemory/inmemory_database.cc,
6003           backends/multi/multi_termlist.cc,backends/remote/net_postlist.cc,
6004           backends/remote/net_termlist.h,backends/remote/remote-database.cc,
6005           bin/,common/,expand/,matcher/,net/,tests/internaltest.cc,
6006           weight/Makefile.mk,weight/weightinternal.h: Move even more headers
6007           out of common and next to their corresponding C++ file.
6009 Sat Nov 05 23:55:55 GMT 2011  Olly Betts <olly@survex.com>
6011         * api/replication.cc,backends/Makefile.mk,
6012           backends/brass/brass_databasereplicator.h,
6013           backends/chert/chert_databasereplicator.h,
6014           backends/databasereplicator.h,common/Makefile.mk,
6015           common/databasereplicator.h: Move databasereplicator.h from common to
6016           backends.
6018 Sat Nov 05 23:51:40 GMT 2011  Olly Betts <olly@survex.com>
6020         * backends/Makefile.mk: Fix sort order of noinst_HEADERS.
6022 Sat Nov 05 23:50:33 GMT 2011  Olly Betts <olly@survex.com>
6024         * api/documentvaluelist.h,api/omdatabase.cc,api/valueiterator.cc,
6025           backends/Makefile.mk,backends/brass/,backends/chert/,
6026           backends/inmemory/inmemory_database.cc,
6027           backends/multi/multi_valuelist.cc,backends/multivaluelist.h,
6028           backends/valuelist.h,backends/valuestats.h,bin/xapian-check-brass.cc,
6029           bin/xapian-check-chert.cc,common/,matcher/valuerangepostlist.h,
6030           matcher/valuestreamdocument.h: Move multivaluelist.h, valuelist.h and
6031           valuestats.h from common to backends.
6033 Sat Nov 05 23:40:49 GMT 2011  Olly Betts <olly@survex.com>
6035         * api/,backends/brass/brass_postlist.h,backends/chert/chert_postlist.h,
6036           backends/contiguousalldocspostlist.h,backends/database.cc,
6037           backends/inmemory/inmemory_database.h,
6038           backends/multi/multi_postlist.h,backends/remote/net_postlist.h,
6039           backends/remote/remote-database.cc,common/,matcher/: Move
6040           emptypostlist.h, leafpostlist.h and postlist.h from common to api.
6042 Sat Nov 05 23:31:14 GMT 2011  Olly Betts <olly@survex.com>
6044         * backends/Makefile.mk,backends/brass/brass_database.cc,
6045           backends/chert/chert_database.cc,
6046           backends/contiguousalldocspostlist.h,common/Makefile.mk,
6047           common/contiguousalldocspostlist.h: Move contiguousalldocspostlist.h
6048           from common to backends.
6050 Sat Nov 05 23:28:49 GMT 2011  Olly Betts <olly@survex.com>
6052         * api/omdatabase.cc,backends/Makefile.mk,backends/alltermslist.h,
6053           backends/brass/,backends/chert/,
6054           backends/inmemory/inmemory_alltermslist.h,common/Makefile.mk,
6055           common/alltermslist.h,common/multialltermslist.h: Move alltermslist.h
6056           from common to backends.
6058 Sat Nov 05 23:20:05 GMT 2011  Olly Betts <olly@survex.com>
6060         * common/safesysselect.h: Fix typo (FDSET -> FD_SET).
6062 Sat Nov 05 23:12:09 GMT 2011  Olly Betts <olly@survex.com>
6064         * common/safesysselect.h: Enhance to provide portability for __WIN32__
6065           too.
6066         * net/remoteconnection.cc,net/tcpclient.cc: Update to make use of this.
6068 Sat Nov 05 22:39:51 GMT 2011  Olly Betts <olly@survex.com>
6070         * common/safesysselect.h: Add wrapper around FD_SET() under __WIN32__
6071           which casts the fd parameter to unsigned to avoid a warning on mingw.
6072         * net/tcpclient.cc: Remove __WIN32__-specific case here which was
6073           working around this warning.
6075 Sat Nov 05 21:58:12 GMT 2011  Olly Betts <olly@survex.com>
6077         * bin/.gitignore,bin/Makefile.mk,bin/xapian-delve.cc,
6078           docs/admin_notes.rst,examples/,xapian-core.spec.in: Move delve from
6079           examples to bin and rename to xapian-delve.
6081 Sat Nov 05 15:18:37 GMT 2011  Olly Betts <olly@survex.com>
6083         * docs/overview.rst: Fix a few things which were out of date and
6084           improve wording in various places.
6086 Sat Nov 05 12:07:14 GMT 2011  Olly Betts <olly@survex.com>
6088         * docs/quickstart.rst: Fix some factual errors, and tweak .rst
6089           source layout a little (":\n::\n" -> "::\n").
6091 Thu Nov 03 20:53:49 GMT 2011  Richard Boulton <richard@tartarus.org>
6093         * common/msvc_posix_wrapper.cc,common/safe.cc,net/tcpclient.cc:
6094           Some fixes for warnings when cross-compiling with mingw; missing
6095           includes to get declarations of functions in windows support
6096           code, and change to use the windows SOCKET type to avoid a
6097           signed/unsigned comparison warning in tcpclient.
6099 Sun Oct 30 23:31:09 GMT 2011  Olly Betts <olly@survex.com>
6101         * NEWS: Update from ChangeLog.
6103 Sun Oct 30 13:16:12 GMT 2011  Olly Betts <olly@survex.com>
6105         * include/xapian/queryparser.h: List which flags FLAG_DEFAULT includes
6106           in the doxygen documentation comments.
6108 Sat Oct 29 14:47:04 GMT 2011  Olly Betts <olly@survex.com>
6110         * include/xapian/enquire.h: Add note to API docs to discourage use
6111           of percentage scores.
6113 Sat Oct 29 14:40:39 GMT 2011  Olly Betts <olly@survex.com>
6115         * docs/quickstart.rst,docs/quickstartexpand.cc.html,
6116           docs/quickstartsearch.cc.html,examples/quest.cc,
6117           examples/simpleexpand.cc,examples/simplesearch.cc: Use get_weight()
6118           instead of get_percent() in examples, since percentages are rather
6119           old fashioned and you probably don't want to use them in new
6120           applications.
6122 Sat Oct 29 13:29:37 GMT 2011  Olly Betts <olly@survex.com>
6124         * api/omenquire.cc,common/omenquireinternal.h,docs/deprecation.rst,
6125           include/xapian/enquire.h,include/xapian/types.h,tests/api_anydb.cc:
6126           Deprecate Xapian::percent and use int instead in the API and our
6127           own code.
6129 Sat Oct 29 12:30:05 GMT 2011  Olly Betts <olly@survex.com>
6131         * docs/quickstart.rst: Fix indentation of example code.
6133 Sat Oct 29 10:04:24 GMT 2011  Olly Betts <olly@survex.com>
6135         * docs/overview.rst: Fix typo in example code.
6137 Fri Oct 28 14:39:09 GMT 2011  Olly Betts <olly@survex.com>
6139         * include/xapian/database.h: Note that commit() was new in 1.1.0.
6141 Fri Oct 14 12:38:45 GMT 2011  Olly Betts <olly@survex.com>
6143         * common/realtime.h: Use safesysselect.h.
6145 Mon Oct 03 00:53:13 GMT 2011  Olly Betts <olly@survex.com>
6147         * queryparser/lemon.c: Incorporate changes from latest upstream
6148           version.  I'm failing to follow branch structure upstream to work
6149           out which changesets to merge so it's simpler to just compare the
6150           latest version with what we currently have.
6152 Sun Oct 02 23:31:52 GMT 2011  Olly Betts <olly@survex.com>
6154         * queryparser/lemon.c: Merge http://www.sqlite.org/src/info/d8bab8cf0b:
6155           'Added %expect directive, to consider a certain number of conflicts
6156           "correct." This has the side effect of changing the process exit
6157           code to never overflow.'
6159 Sun Oct 02 23:26:34 GMT 2011  Olly Betts <olly@survex.com>
6161         * queryparser/lemon.c: Merge http://www.sqlite.org/src/info/e6cbe1e5ee:
6162           "Added -T option, to specify a template filename on the command
6163           line.  The default is still "lempar.c", though."  Not currently
6164           useful to us, but trying to minimise differences with upstream
6165           lemon.
6167 Sun Oct 02 23:14:32 GMT 2011  Olly Betts <olly@survex.com>
6169         * queryparser/lemon.c: Merge http://www.sqlite.org/src/info/e22c090f35:
6170           "Another attempt at fixing the table generator in lemon. Again, this
6171           does not effect the SQLite grammar."  No change to generated grammar
6172           for QueryParser.
6174 Sun Oct 02 22:59:28 GMT 2011  Olly Betts <olly@survex.com>
6176         * queryparser/lemon.c: Merge http://www.sqlite.org/src/info/077a6bee2d:
6177           "Fix an issue with lemon generating incorrect grammars. This issue
6178           does not effect SQLite."  This means we now get the same tables
6179           generated as before the previous change.
6181 Sun Oct 02 22:25:54 GMT 2011  Olly Betts <olly@survex.com>
6183         * queryparser/lemon.c,queryparser/queryparser.lt: Merge
6184           http://www.sqlite.org/src/info/27d8e684db: Enhancements to lemon to
6185           generate more compact action tables and to avoid making array bounds
6186           tests that can never fail on action table calculations.  This
6187           reduces the size of QueryParser's tables a little.
6189 Sun Oct 02 21:47:36 GMT 2011  Olly Betts <olly@survex.com>
6191         * queryparser/lemon.c: Merge http://www.sqlite.org/src/info/d66a0f31eb:
6192           Adjust the lemon implementation so that it always computes the same
6193           PDA regardless of qsort() implementation on the host platform. In
6194           other words, make all sorts in lemon stable.
6196 Thu Sep 29 12:11:28 GMT 2011  Olly Betts <olly@survex.com>
6198         * tests/queryparsertest.cc: Add cases to ensure a quoted boolean
6199           prefix accepts an empty value or a single space.
6201 Wed Sep 14 04:48:57 GMT 2011  Olly Betts <olly@survex.com>
6203         * docs/quickstart.rst: Correct link which was to
6204           quickstartsearch.cc.html but should be to quickstartindex.cc.html.
6206 Tue Sep 13 08:51:34 GMT 2011  Olly Betts <olly@survex.com>
6208         * backends/flint_lock.cc: Fix comment typo.
6210 Thu Sep 01 12:50:43 GMT 2011  Olly Betts <olly@survex.com>
6212         * include/xapian/enquire.h: Clarify "sort by date" with BoolWeight
6213           example.
6215 Tue Aug 30 13:51:48 GMT 2011  Olly Betts <olly@survex.com>
6217         * docs/index.rst: Add link to apidoc.pdf.
6219 Wed Aug 24 14:12:05 GMT 2011  Olly Betts <olly@survex.com>
6221         * queryparser/queryparser.lemony: Fix memory leak (caught by existing
6222           testcase queryparser1 when run under valgrind).
6224 Wed Aug 24 12:47:49 GMT 2011  Olly Betts <olly@survex.com>
6226         * queryparser/,tests/queryparsertest.cc,tests/termgentest.cc: Add
6227           support for indexing and searching CJK text using n-grams.  Currently
6228           this is only enabled if environmental variable XAPIAN_CJK_NGRAM is
6229           set to a non-empty value.
6231 Tue Aug 23 03:49:27 GMT 2011  Olly Betts <olly@survex.com>
6233         * api/vectortermlist.cc,api/vectortermlist.h: Change so that p == NULL
6234           represents at_end, and p == data.data() means we've yet to start.
6236 Mon Aug 22 15:30:51 GMT 2011  Olly Betts <olly@survex.com>
6238         * api/vectortermlist.cc: Add new source file missed from last commit.
6240 Mon Aug 22 14:32:50 GMT 2011  Olly Betts <olly@survex.com>
6242         * api/,backends/brass/brass_synonym.cc,backends/chert/chert_synonym.cc,
6243           common/Makefile.mk,common/vectortermlist.h,
6244           queryparser/queryparser.cc: Reimplement VectorTermList to store the
6245           list of terms encoded into a single std::string, which is a lot more
6246           memory efficient that std::vector<std::string>.
6248 Mon Aug 22 12:22:49 GMT 2011  Olly Betts <olly@survex.com>
6250         * common/Makefile.mk,common/const_database_wrapper.cc,
6251           common/const_database_wrapper.h,matcher/Makefile.mk,
6252           matcher/const_database_wrapper.cc,matcher/const_database_wrapper.h:
6253           Move const_database_wrapper.h and const_database_wrapper.cc from
6254           common/ to matcher/.
6256 Sun Aug 21 12:43:38 GMT 2011  Olly Betts <olly@survex.com>
6258         * Makefile.am: Since we require GNU find for the coverage-check target,
6259           make use of its -delete option, so we no longer also need GNU xargs.
6261 Thu Aug 18 06:28:11 GMT 2011  Olly Betts <olly@survex.com>
6263         * queryparser/queryparser.lemony: Reorder header includes to be more
6264           standard.
6266 Thu Aug 18 01:06:00 GMT 2011  Olly Betts <olly@survex.com>
6268         * queryparser/queryparser.lemony: <cstring> not <string.h>.
6270 Tue Aug 16 04:56:20 GMT 2011  Olly Betts <olly@survex.com>
6272         * bin/xapian-check.cc: Throw Xapian::FeatureUnavailableError if
6273           backends are disabled, rather than const char *.
6275 Tue Aug 16 04:49:05 GMT 2011  Olly Betts <olly@survex.com>
6277         * backends/brass/brass_check.cc,backends/brass/brass_check.h,
6278           backends/chert/chert_check.cc,backends/chert/chert_check.h,
6279           bin/xapian-check.cc: Instead of giving cryptic numeric codes for
6280           B-tree errors and then throwing const char *, throw
6281           Xapian::DatabaseError() exceptions with string descriptions.
6283 Fri Aug 12 23:11:51 GMT 2011  Olly Betts <olly@survex.com>
6285         * NEWS: Update from 1.2.7 and ChangeLog.
6287 Fri Aug 12 06:38:45 GMT 2011  Olly Betts <olly@survex.com>
6289         * backends/remote/remote-database.cc: Factor out throw_bad_message().
6291 Fri Aug 12 06:22:14 GMT 2011  Olly Betts <olly@survex.com>
6293         * net/remoteconnection.cc: Factor out throw_database_closed().
6295 Fri Aug 12 06:17:43 GMT 2011  Olly Betts <olly@survex.com>
6297         * net/remoteserver.cc: Factor out throw_read_only() function.
6299 Fri Aug 12 06:17:01 GMT 2011  Olly Betts <olly@survex.com>
6301         * common/noreturn.h: Add comment showing how to use XAPIAN_NORETURN
6302           macro.
6304 Sat Aug 06 05:15:53 GMT 2011  Olly Betts <olly@survex.com>
6306         * api/positioniterator.cc,api/postingsource.cc,api/valueiterator.cc,
6307           common/serialise.h,include/xapian/positioniterator.h,
6308           include/xapian/postingsource.h: Fix new warnings from -Wshadow with
6309           GCC 4.6.  These warnings are when a variable name "shadows" a
6310           typename, which doesn't seem problematic in general, but the only
6311           alternative seems to be to disable -Wshadow entirely, and it is
6312           useful in other cases.
6314 Thu Aug 04 07:57:09 GMT 2011  Olly Betts <olly@survex.com>
6316         * backends/dbfactory_remote.cc,docs/deprecation.rst,
6317           include/xapian/dbfactory.h,include/xapian/types.h: Deprecate
6318           Xapian::timeout in favour of POSIX type useconds_t.
6320 Thu Aug 04 04:04:45 GMT 2011  Olly Betts <olly@survex.com>
6322         * include/xapian/termgenerator.h,
6323           queryparser/termgenerator_internal.cc: Rename weight parameter to
6324           wdf_inc, which much better describes what it does, and avoids a
6325           -Wshadow warning with GCC 4.6.
6327 Thu Aug 04 04:03:37 GMT 2011  Olly Betts <olly@survex.com>
6329         * api/registry.cc: Rename weight variable to weighting_scheme to avoid
6330           -Wshadow warning.
6332 Wed Aug 03 23:13:36 GMT 2011  Olly Betts <olly@survex.com>
6334         * configure.ac: -Wshadow gives bogus warnings with 4.0 (at least on Mac
6335           OS X), so disable it for GCC < 4.1 (like the comments suggest we
6336           already did!)
6338 Wed Aug 03 22:53:55 GMT 2011  Olly Betts <olly@survex.com>
6340         * configure.ac: Enable -fshow-column for GCC - things like vim's
6341           quickfix mode will then jump to the appropriate column for a
6342           compiler error or warning, not just the appropriate line.
6344 Wed Aug 03 22:13:26 GMT 2011  Olly Betts <olly@survex.com>
6346         * api/omdocument.cc,backends/brass/brass_database.cc,
6347           backends/chert/chert_database.cc,common/document.h: Document objects
6348           now track if term positions might have been modified, so we can avoid
6349           having to consider them at all if you take a document and add or
6350           remove a boolean filter term.  This gives an 18% speedup for adding
6351           tags in notmuch.
6353 Mon Aug 01 15:15:17 GMT 2011  Olly Betts <olly@survex.com>
6355         * api/Makefile.mk,api/ompostlistiterator.cc,api/postingiterator.cc,
6356           include/xapian/postingiterator.h,tests/api_db.cc: Redo
6357           PostingIterator based on TermIterator with efficient end iterator
6358           checks.
6360 Mon Aug 01 13:34:44 GMT 2011  Olly Betts <olly@survex.com>
6362         * api/,backends/brass/brass_database.cc,
6363           backends/chert/chert_database.cc,
6364           backends/inmemory/inmemory_database.cc,common/positionlist.h,
6365           examples/delve.cc,include/xapian/positioniterator.h,
6366           include/xapian/termiterator.h,include/xapian/valueiterator.h: Take
6367           the old SVN end-iterator-proxies branch and rework the TermIterator
6368           and PositionIterator reimplementations there to use the same
6369           approach as ValueIterator now uses.
6371 Sun Jul 31 15:24:55 GMT 2011  Olly Betts <olly@survex.com>
6373         * include/xapian/valueiterator.h: Fix comment typo.
6375 Sun Jul 31 14:45:46 GMT 2011  Olly Betts <olly@survex.com>
6377         * api/omenquire.cc,tests/api_anydb.cc: Previously,
6378           Enquire::get_matching_terms_begin() threw InvalidArgumentError if
6379           the query was empty.  Now we just return an end iterator, which is
6380           more consistent with how empty queries behave elsewhere.
6382 Sun Jul 31 13:44:06 GMT 2011  Olly Betts <olly@survex.com>
6384         * api/valueiterator.cc,include/xapian/valueiterator.h: Rename private
6385           ValueIterator::deref() method to decref() (since dereference has
6386           another meaning to the intended "remove a reference").
6388 Sun Jul 31 11:27:33 GMT 2011  Olly Betts <olly@survex.com>
6390         * api/valueiterator.cc,include/xapian/database.h,
6391           include/xapian/document.h,include/xapian/valueiterator.h: Don't use
6392           intrusive_ptr to reference count ValueIterator internals, but
6393           instead update the reference count in hand-written code.  This is
6394           less good in itself, but it means we can inline ValueIterator's
6395           default constructor and its destructor in the case where the
6396           internal is NULL, which should mean a comparison with the end
6397           iterator optimises to a NULL pointer check but without needing
6398           the ValueIteratorEnd_ class, which doesn't work as ValueIterator()
6399           would in templates or some cases of overload resolution.
6401 Sat Jul 30 12:07:52 GMT 2011  Olly Betts <olly@survex.com>
6403         * docs/doxygen_api.conf.in: Don't generate XML from doxygen for the
6404           bindings - the bindings now do this for themselves.  (ticket#262)
6406 Fri Jul 29 01:33:37 GMT 2011  Olly Betts <olly@survex.com>
6408         * include/xapian/enquire.h: Just forward declare "class KeyMaker"
6409           rather than including <xapian/keymaker.h>.
6411 Fri Jul 29 01:28:08 GMT 2011  Olly Betts <olly@survex.com>
6413         * api/omdatabase.cc,backends/slowvaluelist.cc,
6414           include/xapian/database.h,matcher/valuestreamdocument.cc: Change
6415           Database::get_document_lazily_() to return void* so we don't need
6416           to include xapian/document.h from xapian/database.h just to get
6417           Document::Internal declared.  This doesn't affect user code, but
6418           reduces the number of files which need to be rebuilt in the library
6419           when xapian/document.h changes.
6421 Wed Jul 27 05:59:32 GMT 2011  Olly Betts <olly@survex.com>
6423         * include/xapian/matchspy.h: Remove unnecessary header includes.
6425 Wed Jul 27 02:11:08 GMT 2011  Olly Betts <olly@survex.com>
6427         * docs/index.rst: Add links to Omega and bindings docs.
6429 Tue Jul 26 05:36:50 GMT 2011  Olly Betts <olly@survex.com>
6431         * docs/deprecation.rst: Add Omega's OLDP CGI parameter.
6433 Fri Jul 22 15:37:48 GMT 2011  Olly Betts <olly@survex.com>
6435         * include/xapian/queryparser.h: Reword documentation of
6436           add_boolean_prefix()'s exclusive parameter to talk about terms and
6437           prefixes rather than values and fields (which was confusing since
6438           "document value" has a particular meaning in Xapian).
6440 Thu Jul 21 03:37:49 GMT 2011  Olly Betts <olly@survex.com>
6442         * matcher/mergepostlist.cc: Another debug logging fix.
6444 Thu Jul 21 03:16:39 GMT 2011  Olly Betts <olly@survex.com>
6446         * api/omenquire.cc,api/ompostlistiterator.cc,
6447           backends/brass/brass_database.cc,
6448           backends/brass/brass_positionlist.cc,
6449           backends/brass/brass_postlist.cc,backends/chert/chert_database.cc,
6450           backends/chert/chert_positionlist.cc,
6451           backends/chert/chert_postlist.cc: More debug logging fixes.
6453 Thu Jul 21 02:55:00 GMT 2011  Olly Betts <olly@survex.com>
6455         * api/omdatabase.cc,api/omenquire.cc,api/replication.cc,
6456           backends/brass/brass_alldocspostlist.cc,
6457           backends/brass/brass_database.cc,
6458           backends/brass/brass_spellingwordslist.cc,backends/chert/,
6459           matcher/mergepostlist.cc,matcher/msetpostlist.cc,
6460           matcher/synonympostlist.cc: Fix various incorrect LOGCALL lines.
6462 Thu Jul 21 02:12:25 GMT 2011  Olly Betts <olly@survex.com>
6464         * backends/brass/brass_postlist.cc,backends/chert/chert_postlist.cc,
6465           common/documentterm.h,net/progclient.cc: Fix uses of LOGCALL_VOID
6466           which should be LOGCALL_CTOR.
6468 Wed Jul 20 07:00:48 GMT 2011  Olly Betts <olly@survex.com>
6470         * tests/api_matchspy.cc: Remove checks for remote dbtype in matchspy2
6471           and matchspy4 testcases - these were checking for values which would
6472           never match, and the testcases should and do work with remote
6473           backends.
6475 Wed Jul 20 01:19:46 GMT 2011  Olly Betts <olly@survex.com>
6477         * docs/facets.rst: Minor clarification.
6479 Wed Jul 20 00:22:38 GMT 2011  Olly Betts <olly@survex.com>
6481         * bin/xapian-check.cc: Document in --help that checking a whole
6482           database performs additional cross-checks between the tables.
6484 Tue Jul 19 18:29:51 GMT 2011  Richard Boulton <richard@tartarus.org>
6486         * docs/facets.rst: Expand descriptions for indexing and finding
6487           facets to hopefully be more helpful to newcomers.
6489 Tue Jul 19 17:52:25 GMT 2011  Richard Boulton <richard@tartarus.org>
6491         * docs/facets.rst: Fix example calls to add_matchspy() to be passed
6492           pointers, and example call to get_termfreq().
6494 Sat Jul 16 10:54:39 GMT 2011  Olly Betts <olly@survex.com>
6496         * tests/collate-test: Now understand use of "#if 0" to disable
6497           testcases.
6498         * tests/api_db.cc: Remove comment in front of
6499           "DEFINE_TESTCASE(multierrhandler1, [...]" which is no longer needed.
6501 Wed Jul 13 15:07:27 GMT 2011  Olly Betts <olly@survex.com>
6503         * include/xapian/database.h: Improve the documentation comment for
6504           Database::close().  (ticket#504)
6506 Sat Jul 09 14:00:08 GMT 2011  Olly Betts <olly@survex.com>
6508         * include/xapian/stem.h,languages/stem.cc: Stem::operator= now returns
6509           a reference to the assigned-to object.
6511 Sat Jul 09 07:08:03 GMT 2011  Olly Betts <olly@survex.com>
6513         * languages/compiler/analyser.c: Change reporting of line number for
6514           repeated string in among to use "FILE:LINE:" prefix.
6516 Sat Jul 09 01:04:18 GMT 2011  Olly Betts <olly@survex.com>
6518         * common/pretty.h: Don't dereference a NULL pointer.
6520 Fri Jul 08 14:28:42 GMT 2011  Olly Betts <olly@survex.com>
6522         * common/output.h,common/pretty.h: Fix invalid templates in pretty.h.
6524 Fri Jul 08 12:55:19 GMT 2011  Olly Betts <olly@survex.com>
6526         * common/pretty.h: Fix template for pretty printing a std::list.
6528 Thu Jul 07 10:40:53 GMT 2011  Olly Betts <olly@survex.com>
6530         * api/omenquire.cc: Add assertions that the index is in range when
6531           dereferencing MSetIterator and ESetIterator.
6533 Wed Jul 06 08:20:56 GMT 2011  Olly Betts <olly@survex.com>
6535         * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Trust
6536           new to throw std::bad_alloc rather than returning NULL.
6538 Wed Jul 06 05:50:38 GMT 2011  Olly Betts <olly@survex.com>
6540         * tests/internaltest.cc: Remove testcase serialisequery1.
6541         * tests/api_serialise.cc: Extend serialise_query1 to cover equivalent
6542           cases via the API.
6544 Tue Jul 05 01:20:59 GMT 2011  Olly Betts <olly@survex.com>
6546         * common/debuglog.h: Add QUERY category for debug logging.
6548 Fri Jul 01 04:55:02 GMT 2011  Olly Betts <olly@survex.com>
6550         * common/unordered_map.h: Add my <unordered_map> portability wrapper
6551           which was used by the JNI java bindings.  It's not currently used
6552           here, but is likely to be useful (two of the GSoC projects are
6553           using unordered_map).
6555 Wed Jun 29 12:16:59 GMT 2011  Richard Boulton <richard@tartarus.org>
6557         * languages/compiler/tokeniser.c: Fix memory leak (of file name) in
6558           snowball compiler introduced by last commit.
6560 Wed Jun 29 07:49:36 GMT 2011  Olly Betts <olly@survex.com>
6562         * languages/compiler/: Report "FILE:LINE:" before each error so tools
6563           like vim's quickfix mode can parse this and bring up the line with
6564           the error automatically.
6566 Wed Jun 29 07:49:10 GMT 2011  Olly Betts <olly@survex.com>
6568         * languages/compiler/header.h: Add comments to note that struct input
6569           must be a prefix of struct tokeniser.
6571 Wed Jun 29 07:47:30 GMT 2011  Olly Betts <olly@survex.com>
6573         * languages/basque.sbl: Use stringdef instead of literal accented
6574           characters in the code.
6576 Wed Jun 29 07:13:30 GMT 2011  Olly Betts <olly@survex.com>
6578         * docs/stemming.rst,include/xapian/stem.h,languages/: Add stemmers
6579           for Armenian (hy), Basque (eu), and Catalan (ca).
6581 Mon Jun 27 08:16:55 GMT 2011  Olly Betts <olly@survex.com>
6583         * include/xapian/query.h: Add a fake specialised form of the templated
6584           ctor for SWIG.
6586 Sat Jun 25 11:27:00 GMT 2011  Olly Betts <olly@survex.com>
6588         * include/xapian/enquire.h: Fix doc comment typo which reversed the
6589           intended sense.
6591 Sat Jun 25 06:20:34 GMT 2011  Olly Betts <olly@survex.com>
6593         * api/omenquire.cc,common/omenquireinternal.h: Remove unused method
6594           Enquire::Internal::register_match_decider().
6596 Sat Jun 25 06:05:22 GMT 2011  Olly Betts <olly@survex.com>
6598         * include/xapian/enquire.h: MSet(MSet::Internal *) -> MSet(Internal *)
6599           for consistency with other classes.
6601 Fri Jun 24 16:15:00 GMT 2011  Olly Betts <olly@survex.com>
6603         * api/omdatabase.cc,backends/slowvaluelist.cc,
6604           include/xapian/database.h,matcher/valuestreamdocument.cc: Rename
6605           Database::get_document_lazily() to get_document_lazily_() to conform
6606           to our convention for naming methods for internal use which have
6607           "public" visibility.
6609 Wed Jun 22 23:51:15 GMT 2011  Richard Boulton <richard@tartarus.org>
6611         * configure.ac: Correct tiny typo in error message when zlib isn't
6612           found.
6614 Tue Jun 21 04:08:29 GMT 2011  Olly Betts <olly@survex.com>
6616         * common/autoptr.h: Update comment about why we have this file.  It's
6617           no longer a concern that we might need our own AutoPtr implementation
6618           but we are likely to want to be able to migrate to unique_ptr easily
6619           as C++0x features become more widely available.
6621 Tue Jun 21 02:26:36 GMT 2011  Olly Betts <olly@survex.com>
6623         * HACKING,common/pretty.h,configure.ac,tests/internaltest.cc: Fix a
6624           few lingering references to RefCntPtr and RefCntBase.
6626 Tue Jun 21 02:01:25 GMT 2011  Olly Betts <olly@survex.com>
6628         * api/,backends/brass/,backends/chert/,backends/database.cc,
6629           backends/inmemory/inmemory_alltermslist.h,
6630           backends/inmemory/inmemory_database.cc,
6631           backends/inmemory/inmemory_database.h,
6632           backends/multi/multi_alltermslist.cc,
6633           backends/multi/multi_valuelist.cc,backends/remote/,common/,
6634           docs/doxygen_api.conf.in,include/Makefile.mk,include/xapian/,
6635           matcher/msetpostlist.h,matcher/multimatch.cc,
6636           queryparser/queryparser_internal.h,
6637           queryparser/termgenerator_internal.h,tests/internaltest.cc: Convert
6638           to use xapian/intrusive_ptr.h instead of xapian/base.h.
6640 Mon Jun 20 23:55:10 GMT 2011  Olly Betts <olly@survex.com>
6642         * include/xapian/intrusive_ptr.h: Unmodified version of
6643           boost/smart_ptr/intrusive_ptr.hpp as of Boost 1.42 (committed to aid
6644           merging changes in the future).
6646 Mon Jun 20 12:46:47 GMT 2011  Olly Betts <olly@survex.com>
6648         * common/databasereplicator.h,languages/steminternal.h,tests/harness/:
6649           Remove inclusions of xapian/base.h from files which don't use
6650           RefCntPtr or RefCntBase.
6652 Mon Jun 20 11:33:03 GMT 2011  Olly Betts <olly@survex.com>
6654         * include/xapian/base.h: Remove unnecessary check for self-assignment
6655           as it isn't a common case and the current code copes gracefully with
6656           it anyway.
6658 Mon Jun 20 05:25:05 GMT 2011  Olly Betts <olly@survex.com>
6660         * backends/brass/brass_postlist.cc,backends/brass/brass_postlist.h,
6661           backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h:
6662           Reduce size of BrassPostList/ChertPostList objects by moving bool
6663           members together (168->160 bytes for ChertPostList on x86-64 Linux).
6665 Sun Jun 19 13:44:32 GMT 2011  Olly Betts <olly@survex.com>
6667         * tests/internaltest.cc: Fix typo in comment and verbose output.
6669 Sun Jun 19 12:23:43 GMT 2011  Olly Betts <olly@survex.com>
6671         * api/error.cc,generate-exceptions: Rearrange members of Xapian::Error
6672           to reduce its size (from 48 to 40 bytes on x86-64 Linux).
6674 Sun Jun 19 12:22:53 GMT 2011  Olly Betts <olly@survex.com>
6676         * common/pretty.h: Fix comment typo.
6678 Sun Jun 19 04:45:26 GMT 2011  Olly Betts <olly@survex.com>
6680         * INSTALL: Update GCC details - we now recommend 4.3 or newer (was 4.1)
6681           and note that while 3.1 is the hard minimum requirement, the oldest
6682           we've tested with at all recently was 3.3.
6684 Sat Jun 18 14:27:14 GMT 2011  Olly Betts <olly@survex.com>
6686         * queryparser/queryparser.lemony,
6687           queryparser/termgenerator_internal.cc: Fix warning from GCC 3.3.
6689 Sat Jun 18 06:27:03 GMT 2011  Olly Betts <olly@survex.com>
6691         * api/,expand/ortermlist.cc,include/xapian/: Use TermIterator() instead
6692           of TermIterator(NULL), and similarly for other Xapian iterator
6693           classes.
6695 Sat Jun 18 05:16:23 GMT 2011  Olly Betts <olly@survex.com>
6697         * tests/zlib-vg.so: Remove file committed accidentally.
6699 Sat Jun 18 05:07:56 GMT 2011  Olly Betts <olly@survex.com>
6701         * api/,include/xapian/positioniterator.h,
6702           include/xapian/termiterator.h: Reimplementations of PositionIterator
6703           and TermIterator from the end-iterator-proxies branch.  Assignment
6704           operators for these classes now return *this rather than void.
6706 Sat Jun 18 01:49:02 GMT 2011  Olly Betts <olly@survex.com>
6708         * tests/perftest/Makefile.mk: Make sure that perftest isn't run with
6709           libeatmydata preloaded.
6711 Fri Jun 17 07:39:35 GMT 2011  Olly Betts <olly@survex.com>
6713         * docs/deprecation.rst: Tabs to spaces.
6715 Fri Jun 17 07:38:06 GMT 2011  Olly Betts <olly@survex.com>
6717         * docs/deprecation.rst: Add flush() -> commit().
6719 Thu Jun 16 14:40:35 GMT 2011  Olly Betts <olly@survex.com>
6721         * tests/: Add TEST( ) or TEST(! ) around existing reopen() calls to
6722           check that we get true or false returned as we would expect.
6723           (ticket#548)
6725 Thu Jun 16 05:15:28 GMT 2011  Olly Betts <olly@survex.com>
6727         * README: Note licence is GPL *2+*.  Say "SVN/git".  Use trac URL for
6728           wiki.
6730 Wed Jun 15 23:31:03 GMT 2011  Olly Betts <olly@survex.com>
6732         * xapian-core/api/error.cc: Don't include the magic code byte at the
6733           start of Error::get_description()'s return value.
6735 Wed Jun 15 15:51:42 GMT 2011  Olly Betts <olly@survex.com>
6737         * exception_data.pm,generate-exceptions,net/serialise.cc: When
6738           propagating exceptions from a remote backend server, use a numeric
6739           code to represent which exception is being transferred rather than
6740           the name of the type as that can be turned back into an exception
6741           with a simple switch statement.  It's also less data to transfer.
6742           (ticket#471)
6744 Wed Jun 15 14:03:49 GMT 2011  Olly Betts <olly@survex.com>
6746         * backends/remote/remote-database.cc,common/remote-database.h,
6747           common/remoteprotocol.h,docs/remote_protocol.rst,net/remoteserver.cc:
6748           Propagate the return value of Database::reopen() across the link.
6749           (ticket#548)
6751 Wed Jun 15 13:03:56 GMT 2011  Olly Betts <olly@survex.com>
6753         * backends/remote/remote-database.cc,common/remote-database.h,
6754           common/remoteprotocol.h,docs/remote_protocol.rst,net/remoteserver.cc:
6755           Unify REPLY_GREETING and REPLY_UPDATE; send (last_docid - doccount)
6756           instead of last_docid; send (doclen_ubound - doclen_lbound) instead
6757           of doclen_ubound.  This requires a remote protocol major version
6758           bump.  Fix out of date documentation for what's in a REPLY_UPDATE
6759           message.
6761 Wed Jun 15 12:24:07 GMT 2011  Olly Betts <olly@survex.com>
6763         * backends/remote/remote-database.cc: Remove special check which gives
6764           a more helpful error message when a modern client is used against a
6765           remote server running Xapian <= 0.9.6.
6767 Wed Jun 15 11:07:19 GMT 2011  Olly Betts <olly@survex.com>
6769         * net/remoteserver.cc: Remove unnecessary call to reopen() - either we
6770           just called it or we're a writable database and it doesn't do
6771           anything.
6773 Wed Jun 15 09:03:06 GMT 2011  Olly Betts <olly@survex.com>
6775         * xapian-core/backends/remote/remote-database.cc,
6776           xapian-core/common/remote-database.h: Factor out the code to decode
6777           the returned stats into a new apply_stats_update() method.
6779 Wed Jun 15 08:57:12 GMT 2011  Olly Betts <olly@survex.com>
6781         * xapian-core/Makefile.am: Remove check-* from .PHONY as that doesn't
6782           work with a pattern rule.  Fix check-% pattern rule to actually work.
6784 Tue Jun 14 15:11:38 GMT 2011  Olly Betts <olly@survex.com>
6786         * docs/remote_protocol.rst: Fixed typo which reversed the intended
6787           sense.
6789 Tue Jun 14 02:01:42 GMT 2011  Olly Betts <olly@survex.com>
6791         * Makefile.am,configure.ac: Avoid portability warning from automake
6792           about GNU make %-style pattern rules.
6794 Tue Jun 14 01:42:01 GMT 2011  Olly Betts <olly@survex.com>
6796         * configure.ac: Add unnecessary AC_LANG_SOURCE wrapper to shut up
6797           autoconf warning.
6799 Tue Jun 14 01:18:54 GMT 2011  Olly Betts <olly@survex.com>
6801         * configure.ac: Reset LIBRARY_VERSION_INFO to 0:0:0 for the
6802           development series, since the library name is different (it has a
6803           -1.3 suffix).
6805 Mon Jun 13 16:24:20 GMT 2011  Olly Betts <olly@survex.com>
6807         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
6808           docs/deprecation.rst,include/xapian/enquire.h,matcher/multimatch.cc,
6809           net/remoteserver.cc,tests/api_backend.cc: Remove the deprecated
6810           old-style match spy approach of using a MatchDecider.
6812 Mon Jun 13 15:47:57 GMT 2011  Olly Betts <olly@survex.com>
6814         * api/keymaker.cc,docs/deprecation.rst,include/xapian/keymaker.h,
6815           tests/Makefile.am,tests/api_sortingold.cc: Remove deprecated Sorter
6816           class and MultiValueSorter subclass.
6817         * tests/Makefile.mk,tests/perftest/Makefile.mk,
6818           tests/soaktest/Makefile.mk: Make the generated "*_all.h" depend on
6819           the Makefile.am or Makefile.mk which contains the list of files it
6820           is generated from so that it gets regenerated when a file is
6821           removed from that list.
6823 Mon Jun 13 13:18:29 GMT 2011  Olly Betts <olly@survex.com>
6825         * common/omenquireinternal.h: Remove a FIXME - caching the Document
6826           object in MSetItem isn't a replacement for storing the sort_key
6827           now that sort_keys can be computed.
6829 Mon Jun 13 13:07:31 GMT 2011  Olly Betts <olly@survex.com>
6831         * include/xapian/queryparser.h,queryparser/queryparser.cc: Fold the
6832           two forms of QueryParser::add_boolean_prefix() into one method
6833           with a default parameter now that changing the ABI isn't a worry.
6835 Mon Jun 13 12:00:36 GMT 2011  Olly Betts <olly@survex.com>
6837         * docs/deprecation.rst: Non-pythonic iterators have been removed.
6838           (ticket#255)
6840 Mon Jun 13 10:40:30 GMT 2011  Olly Betts <olly@survex.com>
6842         * docs/deprecation.rst: Python Stem_get_available_languages() has now
6843           been removed.
6845 Mon Jun 13 10:38:49 GMT 2011  Olly Betts <olly@survex.com>
6847         * docs/deprecation.rst,include/xapian/enquire.h: Remove deprecated
6848           default value for second parameter to Enquire::set_sort_by_value()
6849           and friends.
6851 Mon Jun 13 09:30:15 GMT 2011  Olly Betts <olly@survex.com>
6853         * api/omdatabase.cc,backends/brass/brass_database.cc,
6854           backends/brass/brass_database.h,backends/chert/chert_database.cc,
6855           backends/chert/chert_database.h,backends/database.cc,
6856           backends/inmemory/inmemory_database.cc,
6857           backends/inmemory/inmemory_database.h,
6858           backends/remote/remote-database.cc,common/,
6859           include/xapian/database.h: Database::reopen() now returns true if
6860           the database may have been reopened.  (ticket#548)
6862 Mon Jun 13 09:01:33 GMT 2011  Olly Betts <olly@survex.com>
6864         * docs/admin_notes.rst: Add note about xapian-chert-update.
6866 Mon Jun 13 08:47:06 GMT 2011  Olly Betts <olly@survex.com>
6868         * bin/xapian-check-flint.cc,bin/xapian-check-flint.h: Remove two
6869           flint-specific files I missed.
6871 Mon Jun 13 08:42:11 GMT 2011  Olly Betts <olly@survex.com>
6873         * HACKING,INSTALL,Makefile.am,api/compactor.cc,api/replication.cc,
6874           backends/Makefile.mk,backends/brass/brass_compact.cc,
6875           backends/chert/chert_compact.cc,backends/databasereplicator.cc,
6876           backends/dbfactory.cc,backends/dir_contents,backends/flint/,
6877           backends/slowvaluelist.h,bin/,common/database.h,common/pretty.h,
6878           common/unaligned.h,configure.ac,docs/,include/xapian/dbfactory.h,
6879           include/xapian/valueiterator.h,include/xapian/version_h.cc,tests/,
6880           tests/harness/,tests/queryparsertest.cc,tests/termgentest.cc,
6881           tests/testdata/flint-0.9.9/,tests/testdata/flint-1.0.1/,
6882           tests/testdata/flint-1.0.2/: Remove flint backend.
6884 Mon Jun 13 06:09:29 GMT 2011  Olly Betts <olly@survex.com>
6886         * bin/Makefile.mk: Remove lingering reference to quartz (rules to
6887           generate man pages for quartzdump, etc).
6889 Mon Jun 13 05:46:00 GMT 2011  Olly Betts <olly@survex.com>
6891         * Makefile.am,tests/Makefile.am: Just use a GNU-make-specific pattern
6892           rules to forward check-* targets from the top level to the tests
6893           subdirectory.  It's clear we aren't keeping the explicit list of
6894           target forwarding rules up to date, and this is just a convenience
6895           so not worth a lot of maintenance effort.
6897 Mon Jun 13 05:01:33 GMT 2011  Olly Betts <olly@survex.com>
6899         * configure.ac: Update version to 1.3.0 and add -1.3 suffix for
6900           library and /xapian-1.3 suffix to include file installation
6901           directory.
6903 Mon Jun 13 04:56:13 GMT 2011  Olly Betts <olly@survex.com>
6905         * unicode/tclUniData.cc: Upgrade to Unicode 6.0.0 (ticket#497).
6906         * tests/api_unicode.cc: Extend testcases to check for assorted changes
6907           and additions in Unicode 6.0.0.
6909 Sun Jun 12 11:54:45 GMT 2011  Olly Betts <olly@survex.com>
6911         * NEWS: Final update for 1.2.6.
6913 Sat Jun 11 10:11:23 GMT 2011  Olly Betts <olly@survex.com>
6915         * api/omdocument.cc: Update LOGCALL(MATCH, ...) to LOGCALL(DB, ...).
6916           Convert LOGLINE() at start of method to LOGCALL().
6918 Sat Jun 11 09:57:00 GMT 2011  Olly Betts <olly@survex.com>
6920         * api/omdatabase.cc: Remove self-assignment check from
6921           Database::operator= since this is an uncommon code path and
6922           RefCntPtr ensures that self-assignment of the internals is
6923           safe.
6925 Sat Jun 11 08:48:10 GMT 2011  Olly Betts <olly@survex.com>
6927         * api/omdatabase.cc,backends/brass/brass_cursor.h,
6928           backends/chert/chert_cursor.h,backends/flint/flint_cursor.h,
6929           backends/flint/flint_table.cc,backends/flint/flint_values.cc,
6930           backends/inmemory/inmemory_database.cc,bin/xapian-check-brass.cc,
6931           bin/xapian-check-chert.cc,bin/xapian-chert-update.cc,
6932           matcher/queryoptimiser.cc,matcher/valuegepostlist.h: Use string() or
6933           std::string() rather than "".
6934         * common/remoteconnection.h,net/tcpserver.cc: Use 2 parameter form of
6935           Error subclass ctors when the context is "".
6936         * api/replication.cc,backends/flint/flint_database.cc,
6937           common/remoteconnection.h,net/replicatetcpclient.cc,
6938           net/replicatetcpserver.cc: Make context parameter of
6939           RemoteConnection ctor optional.
6940         * common/leafpostlist.h: Say 'empty' rather than '""' in a
6941           documentation comment.
6942         * examples/simpleindex.cc: Use '.resize(0)' rather than '= ""'.
6944 Sat Jun 11 07:01:41 GMT 2011  Olly Betts <olly@survex.com>
6946         * api/,backends/brass/,backends/chert/,backends/flint/,
6947           backends/remote/remote-database.cc,common/,include/xapian/,matcher/,
6948           net/remoteserver.cc,net/serialise.cc: Consistently use "slot" in
6949           variable names for value slots, rather than valueno, valno, valueid
6950           or value.  The only exception remaining is a protected member of
6951           Xapian::StringValueRangeProcessor since that's really part of the
6952           public API.
6954 Fri Jun 10 11:55:45 GMT 2011  Olly Betts <olly@survex.com>
6956         * NEWS,configure.ac: Update in preparation for 1.2.6.
6958 Fri Jun 10 09:05:38 GMT 2011  Olly Betts <olly@survex.com>
6960         * examples/NEWS,examples/TODO: Remove files which are unused since the
6961           examples were merged into xapian-core.
6963 Fri Jun 10 09:03:33 GMT 2011  Olly Betts <olly@survex.com>
6965         * Makefile.am: Ship ChangeLog.0 in the tarball.
6967 Fri Jun 10 05:19:24 GMT 2011  Olly Betts <olly@survex.com>
6969         * tests/Makefile.am: Actually include soaktest/Makefile.mk.
6971 Thu Jun 09 23:26:52 GMT 2011  Olly Betts <olly@survex.com>
6973         * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Define
6974           XAPIAN_DEPRECATED_CLASS to empty for doxygen.
6976 Thu Jun 09 22:21:29 GMT 2011  Olly Betts <olly@survex.com>
6978         * docs/overview.rst: Document "remote" in stub databases.
6980 Thu Jun 09 15:23:12 GMT 2011  Olly Betts <olly@survex.com>
6982         * HACKING,docs/deprecation.rst,include/xapian/deprecated.h,
6983           include/xapian/keymaker.h: Add XAPIAN_DEPRECATED_CLASS macro
6984           for marking a class as deprecated, so we don't have to call
6985           XAPIAN_DEPRECATED() with no parameters.
6987 Thu Jun 09 14:03:17 GMT 2011  Olly Betts <olly@survex.com>
6989         * HACKING: Clarify wording about PATH.
6991 Thu Jun 09 13:04:53 GMT 2011  Olly Betts <olly@survex.com>
6993         * docs/queryparser.rst,include/xapian/queryparser.h,
6994           queryparser/queryparser.cc,queryparser/queryparser.lemony,
6995           queryparser/queryparser_internal.h,tests/queryparsertest.cc: Add
6996           QueryParser::set_max_wildcard_expansion() method to allow limiting
6997           the number of terms a wildcard can expand to.  Implementation mostly
6998           from a patch by Adam Sjøgren in ticket#350.
7000 Tue Jun 07 23:16:33 GMT 2011  Dan Colish <dcolish@gmail.com>
7002         * backends/brass/brass_changesetapplier.h,
7003           backends/chert/chert_changesetapplier.h,
7004           backends/flint/flint_changesetapplier.h: Remove dead code
7006 Thu Jun 02 13:21:28 GMT 2011  Olly Betts <olly@survex.com>
7008         * AUTHORS: Add recent bug reporters.
7010 Thu Jun 02 11:03:57 GMT 2011  Olly Betts <olly@survex.com>
7012         * queryparser/queryparser.lemony: If default_op is OP_NEAR or
7013           OP_PHRASE then disable stemming of the terms, since we don't index
7014           positional information for stemmed terms by default.
7015         * tests/queryparsertest.cc: Adjust near1 and phrase1 to act as
7016           regression tests for this fix.
7018 Thu Jun 02 02:58:58 GMT 2011  Olly Betts <olly@survex.com>
7020         * backends/brass/brass_spelling.cc,backends/brass/brass_spelling.h,
7021           backends/chert/chert_spelling.cc,backends/chert/chert_spelling.h,
7022           backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h:
7023           Fix bug Nikita Smetanin spotted with adding a word which has the
7024           same trigram in an even number of times.
7025         * tests/api_spelling.cc: Add regression test spell8.
7027 Wed Jun 01 14:11:38 GMT 2011  Olly Betts <olly@survex.com>
7029         * backends/flint_lock.cc: Kill the child process which holds the lock
7030           with SIGKILL as that can't be ignored, whereas SIGHUP can be in some
7031           cases it seems.
7033 Wed Jun 01 12:12:14 GMT 2011  Olly Betts <olly@survex.com>
7035         * docs/quickstartexpand.cc.html,docs/quickstartindex.cc.html,
7036           docs/quickstartsearch.cc.html: Reinstate the old HTML versions
7037           of these files.
7039 Wed Jun 01 12:09:55 GMT 2011  Olly Betts <olly@survex.com>
7041         * docs/queryparser.rst,docs/remote_protocol.rst: Fix literal hard
7042           spaces in input to just be spaces.
7044 Wed Jun 01 12:06:26 GMT 2011  Olly Betts <olly@survex.com>
7046         * docs/quickstart.rst: Fix sub-heading run in to previous paragraph.
7048 Wed Jun 01 12:04:52 GMT 2011  Olly Betts <olly@survex.com>
7050         * docs/remote.rst: Replace out-dated list of xapian-tcpsrv's command
7051           line options with a reference to --help and the man page.  Tweak
7052           wording in a few places.
7054 Wed Jun 01 11:54:37 GMT 2011  Olly Betts <olly@survex.com>
7056         * docs/overview.rst: Change omrset to rset.  Remove some bogus `` left
7057           over from fixing definition list formatting.
7059 Wed Jun 01 11:38:09 GMT 2011  Olly Betts <olly@survex.com>
7061         * docs/stemming.rst: Comment out bogus claim that there are stopword
7062           lists in xapian-data (the lack of stopword lists is already
7063           ticket#269).
7065 Wed Jun 01 11:29:58 GMT 2011  Olly Betts <olly@survex.com>
7067         * docs/matcherdesign.rst,docs/stemming.rst: Convert more arrows to
7068           Unicode.
7069         * docs/stemming.rst: Fix some missing paragraph breaks.
7071 Wed Jun 01 11:18:25 GMT 2011  Olly Betts <olly@survex.com>
7073         * docs/intro_ir.rst: Use Unicode right arrow.
7075 Wed Jun 01 10:38:27 GMT 2011  Olly Betts <olly@survex.com>
7077         * docs/: Revert quickstart*.cc.html to being HTML rather than .rst as
7078           the .rst version lose the syntax highlighting.  Update svn:ignore.
7080 Wed Jun 01 10:27:11 GMT 2011  Olly Betts <olly@survex.com>
7082         * docs/intro_ir.rst: Sort out the remaining formatting issues.
7084 Wed Jun 01 08:05:05 GMT 2011  Olly Betts <olly@survex.com>
7086         * docs/intro_ir.rst: More markup fixes.
7088 Wed Jun 01 06:16:56 GMT 2011  Olly Betts <olly@survex.com>
7090         * docs/tests.rst: Use generated contents list instead of manual one.
7092 Wed Jun 01 06:16:13 GMT 2011  Olly Betts <olly@survex.com>
7094         * docs/index.rst,docs/internals.rst: Centre links at top; Sort out
7095           <hr> to be full width.
7097 Wed Jun 01 03:23:20 GMT 2011  Olly Betts <olly@survex.com>
7099         * docs/bm25.rst: Sort out inline equations.
7101 Tue May 31 15:21:10 GMT 2011  Olly Betts <olly@survex.com>
7103         * docs/spelling.rst: Add link to Omega documentation.
7105 Tue May 31 07:52:19 GMT 2011  Olly Betts <olly@survex.com>
7107         * docs/overview.rst,docs/quickstart.rst,docs/remote_protocol.rst: More
7108           .rst formatting fixes.
7110 Tue May 31 05:02:48 GMT 2011  Olly Betts <olly@survex.com>
7112         * docs/overview.rst: More .rst fixes.
7114 Tue May 31 04:32:52 GMT 2011  Olly Betts <olly@survex.com>
7116         * docs/: More .rst fixes.
7118 Tue May 31 04:11:27 GMT 2011  Olly Betts <olly@survex.com>
7120         * docs/Makefile.am,docs/code_structure.rst: Revert code_structure.html
7121           conversion - this file is generated by a script.
7123 Tue May 31 03:56:39 GMT 2011  Olly Betts <olly@survex.com>
7125         * docs/install.rst,docs/stemming.rst,docs/tests.rst: Fix up some .rst
7126           conversion issues.
7128 Tue May 31 03:36:49 GMT 2011  Dan Colish <dcolish@gmail.com>
7130         * docs/remote_protocol.rst docs/quickstart.rst docs/remote.rst
7131         docs/internals.rst docs/scalability.rst
7132         docs/quickstartsearch.cc.rst
7133         docs/bm25.rst docs/install.rst docs/quickstartindex.cc.rst
7134         docs/index.rst docs/matcherdesign.rst docs/quickstartexpand.cc.rst
7135         docs/queryparser.rst docs/stemming.rst docs/intro_ir.rst
7136         docs/code_structure.rst docs/Makefile.am docs/tests.rst
7137         docs/overview.rst: Bulk port all remaining documentation to RST.
7139 Sun May 29 07:04:42 GMT 2011  Olly Betts <olly@survex.com>
7141         * docs/postingsource.rst: Add PostingSource example.  (ticket#503)
7143 Sun May 29 05:19:40 GMT 2011  Olly Betts <olly@survex.com>
7145         * include/xapian/database.h: Add @exception InvalidArgumentError for
7146           Database::get_document() (ticket#542).
7148 Fri May 27 05:36:28 GMT 2011  Olly Betts <olly@survex.com>
7150         * NEWS: Update from ChangeLog.
7152 Thu May 26 02:44:07 GMT 2011  Olly Betts <olly@survex.com>
7154         * include/xapian/queryparser.h: FIXME:1.1.3 -> FIXME:1.3.
7156 Wed May 25 14:58:37 GMT 2011  Olly Betts <olly@survex.com>
7158         * docs/queryparser.html: Document the precedence order of operators.
7160 Fri May 20 04:13:54 GMT 2011  Olly Betts <olly@survex.com>
7162         * examples/simpleindex.cc: Add short description to usage message.
7164 Tue May 17 21:44:55 GMT 2011  Olly Betts <olly@survex.com>
7166         * docs/scalability.html: Bring up-to-date.
7168 Wed May 11 01:34:34 GMT 2011  Olly Betts <olly@survex.com>
7170         * AUTHORS: Add Scott Zhang for mingw fixes.
7172 Wed May 11 01:30:54 GMT 2011  Olly Betts <olly@survex.com>
7174         * net/progclient.cc,net/tcpserver.cc: Need <cstdio> for sprintf on
7175           __WIN32__ and cygwin.
7177 Wed May 11 01:22:07 GMT 2011  Olly Betts <olly@survex.com>
7179         * configure.ac: Define __MSVCRT_VERSION__ to 0x0601 under mingw so
7180           we get _ftime64().
7182 Wed May 11 01:19:14 GMT 2011  Olly Betts <olly@survex.com>
7184         * common/closefrom.cc,common/closefrom.h: We don't need closefrom()
7185           under __WIN32__ currently, so disable it there as it doesn't
7186           compile under mingw.
7188 Mon May 09 20:13:17 GMT 2011  Olly Betts <olly@survex.com>
7190         * examples/delve.cc: Report has_positions().
7192 Thu Apr 07 05:38:36 GMT 2011  Dan Colish <dcolish@gmail.com>
7194         * matcher/phrasepostlist.cc, matcher/queryoptimiser.cc,
7195           matcher/exactphrasepostlist.cc, matcher/exactphrasepostlist.h,
7196           matcher/phrasepostlist.h: Remove temporary vector in queryoptimiser
7197           and replace with iterators.
7199 Wed Apr 06 10:27:41 GMT 2011  Richard Boulton <richard@tartarus.org>
7201         * docs/admin_notes.rst: Remove the word "also", which makes sense
7202           when read in context of the previous section, but is confusing if
7203           the paragraph is read standalone, and isn't necessary.
7205 Mon Apr 04 14:41:33 GMT 2011  Olly Betts <olly@survex.com>
7207         * NEWS: Final update for 1.2.5.
7209 Mon Apr 04 14:06:56 GMT 2011  Olly Betts <olly@survex.com>
7211         * backends/brass/brass_version.cc: Remove ? from comment - the brass
7212           version change is definitely going to be in 1.2.5.
7214 Mon Apr 04 13:57:23 GMT 2011  Olly Betts <olly@survex.com>
7216         * NEWS: Bump release date.
7218 Sat Mar 26 14:49:41 GMT 2011  Olly Betts <olly@survex.com>
7220         * INSTALL: Fix typo in previous commit.
7222 Sat Mar 26 14:03:15 GMT 2011  Olly Betts <olly@survex.com>
7224         * INSTALL: Note how to build for a non-default arch on a multi-arch
7225           platform.
7227 Sat Mar 26 13:22:49 GMT 2011  Olly Betts <olly@survex.com>
7229         * NEWS,configure.ac: Update for 1.2.5.
7231 Sat Mar 26 12:28:38 GMT 2011  Olly Betts <olly@survex.com>
7233         * AUTHORS: Update.
7235 Sat Mar 26 10:33:19 GMT 2011  Olly Betts <olly@survex.com>
7237         * backends/brass/brass_postlist.cc,backends/brass/brass_postlist.h,
7238           backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h,
7239           backends/inmemory/inmemory_database.h: Address issues highlighted
7240           by clang++ warnings.
7242 Fri Mar 25 05:36:41 GMT 2011  Olly Betts <olly@survex.com>
7244         * docs/tests.html: Slight tweak to improve up-to-date-ness, but more
7245           work would be useful.
7247 Fri Mar 25 05:30:56 GMT 2011  Olly Betts <olly@survex.com>
7249         * docs/matcherdesign.html: Update - quite a bit has changed in the
7250           matcher since this was last updated!
7252 Thu Mar 24 23:31:57 GMT 2011  Olly Betts <olly@survex.com>
7254         * api/replication.cc,common/replication.h: Pass reader_close_time as
7255           double everywhere, rather than truncating it to int.  Include
7256           reader_close_time parameters in debug logging.  Document
7257           reader_close_time in doxygen comments.
7259 Tue Mar 22 15:36:25 GMT 2011  Dan Colish <dcolish@gmail.com>
7261         * backends/brass/brass_database.h:
7262           Remove left over copyright.
7264 Tue Mar 22 04:54:12 GMT 2011  Dan Colish <dcolish@gmail.com>
7266         * backends/brass/brass_btreebase.cc,backends/chert/chert_btreebase.cc,
7267           backends/flint/flint_btreebase.cc:
7268           Correct comments for which revision is packed when writing base files
7270 Tue Mar 22 03:18:19 GMT 2011  Dan Colish <dcolish@gmail.com>
7272         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7273           backends/flint/flint_database.cc,include/xapian/database.h:
7274           Remove FIXME and comments for DB_OVERWRITE.
7276 Tue Mar 22 01:18:38 GMT 2011  Dan Colish <dcolish@gmail.com>
7278         * backends/brass/,backends/chert/chert_database.cc,
7279           backends/flint/flint_database.cc,tests/api_replicate.cc:
7280           Clean up changesets when replicating. Add test coverage for this
7281           feature. Allow XAPIAN_MAX_CHANGESETS to be altered without reopening
7282           the database. Closes Ticket #278.
7284 Mon Mar 21 01:50:41 GMT 2011  Olly Betts <olly@survex.com>
7286         * docs/bm25.html: Add a link to the 1976 Robertson/Sparck Jones paper.
7288 Wed Mar 16 05:56:58 GMT 2011  Dan Colish <dcolish@gmail.com>
7290         * bin/xapian-check-flint.cc: Initialize did and current_wdf to prevent
7291           uninitalized usage and compiler warnings.
7293 Mon Mar 14 03:20:18 GMT 2011  Olly Betts <olly@survex.com>
7295         * common/debuglog.cc,common/debuglog.h: Rename indent member to
7296           indent_level so it doesn't clash with indent() method.
7298 Mon Mar 14 02:44:24 GMT 2011  Olly Betts <olly@survex.com>
7300         * common/debuglog.cc,common/debuglog.h: Use an integer counter for the
7301           indent rather than a std::string which we add/remove spaces to/from.
7302           This is cleaner, but also there seems to be an issue with having a
7303           std::string member in a global static object on OS X.
7305 Fri Mar 11 01:12:04 GMT 2011  Olly Betts <olly@survex.com>
7307         * HACKING: Document using '{ }' rather than ';' for empty loop bodies.
7309 Fri Mar 11 01:02:47 GMT 2011  Olly Betts <olly@survex.com>
7311         * HACKING: Remove bogus ; after method definition in code example.
7313 Fri Mar 11 00:07:22 GMT 2011  Olly Betts <olly@survex.com>
7315         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7316           backends/flint/flint_database.cc: Factor out literal constant as
7317           MAX_OPEN_RETRIES.
7319 Wed Mar 09 14:54:06 GMT 2011  Olly Betts <olly@survex.com>
7321         * tests/api_anydb.cc: Improve the new testcases a bit.
7323 Wed Mar 09 14:11:59 GMT 2011  Olly Betts <olly@survex.com>
7325         * api/omenquire.cc,common/esetinternal.h,common/omenquireinternal.h,
7326           expand/esetinternal.cc,expand/expandweight.cc,
7327           include/xapian/enquire.h,tests/api_anydb.cc: Enquire::get_eset() now
7328           accepts a min_wt argument to allow the minimum wanted weight to be
7329           specified.  Default is 0, which gives the previous behaviour.
7331 Wed Mar 09 00:00:25 GMT 2011  Olly Betts <olly@survex.com>
7333         * include/xapian/termiterator.h: Fix misspelling in doc comment.
7335 Tue Mar 08 06:58:14 GMT 2011  Olly Betts <olly@survex.com>
7337         * backends/brass/brass_table.cc,backends/brass/brass_table.h,
7338           backends/chert/chert_table.cc,backends/chert/chert_table.h,
7339           backends/flint/flint_table.cc,backends/flint/flint_table.h: Use
7340           defined constant BLOCK_CAPACITY instead of hardcoded 4 (ticket#536).
7342 Tue Mar 08 05:56:42 GMT 2011  Olly Betts <olly@survex.com>
7344         * backends/brass/brass_table.cc,backends/chert/chert_table.cc,
7345           backends/flint/flint_table.cc: If we try to delete an old base file
7346           and it isn't there, just continue rather than throwing an exception.
7347           We wanted to get rid of it anyway, and it may be NFS issues telling
7348           us the wrong thing.  In particular, DatabaseCoruptError was rather
7349           a pessimistic assessment.
7351 Tue Mar 08 05:55:48 GMT 2011  Olly Betts <olly@survex.com>
7353         * common/io_utils.h: Note that io_unlink() may return false when it
7354           should have returned true on NFS.
7356 Sun Mar 06 23:25:47 GMT 2011  Olly Betts <olly@survex.com>
7358         * common/io_utils.cc,common/io_utils.h: Add io_unlink().
7359         * backends/brass/brass_database.cc,backends/brass/brass_table.cc,
7360           backends/chert/chert_database.cc,backends/chert/chert_table.cc,
7361           backends/flint/flint_database.cc,backends/flint/flint_table.cc:
7362           Use io_unlink() instead of sys_unlink_if_exists().
7364 Sun Mar 06 22:26:36 GMT 2011  Olly Betts <olly@survex.com>
7366         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7367           backends/flint/flint_database.cc: If DANGEROUS mode is turned on,
7368           then actually set the flag for this in replication changes files
7369           (the reader will currently throw an exception, but that's better
7370           than quietly handling them incorrectly).
7372 Sat Mar 05 12:58:31 GMT 2011  Olly Betts <olly@survex.com>
7374         * NEWS: Update from ChangeLog.
7376 Sat Mar 05 12:49:16 GMT 2011  Olly Betts <olly@survex.com>
7378         * NEWS: Fix a few typos.
7380 Sat Mar 05 06:19:25 GMT 2011  Olly Betts <olly@survex.com>
7382         * NEWS: Fix typo in old entry.
7384 Sat Mar 05 06:16:41 GMT 2011  Olly Betts <olly@survex.com>
7386         * common/remoteconnection.h: Internal doc comment improvements: Fix
7387           typo, finish truncated sentence, wrap lines to 80 columns.
7389 Sat Mar 05 02:59:35 GMT 2011  Olly Betts <olly@survex.com>
7391         * bin/xapian-replicate.cc: Make sure port number is specified.  Add
7392           "(required)" after --host and --port in help.
7394 Sat Mar 05 02:50:04 GMT 2011  Olly Betts <olly@survex.com>
7396         * docs/replication.rst: Mention new defaulting of -m.
7398 Sat Mar 05 02:44:37 GMT 2011  Olly Betts <olly@survex.com>
7400         * bin/xapian-replicate.cc: If --master isn't specified, default to
7401           DATABASE.
7403 Sat Mar 05 00:14:21 GMT 2011  Olly Betts <olly@survex.com>
7405         * bin/xapian-replicate.cc: Give an error if the host isn't set, rather
7406           than trying to connect to an empty hostname, which gives the error
7407           "Couldn't resolve host  (Unknown server error)", which might confuse
7408           if you fail to notice the double space and realise what it means.
7410 Fri Mar 04 17:20:13 GMT 2011  Richard Boulton <richard@tartarus.org>
7412         * docs/replication.rst: Update documentation to make it clear that
7413           users shouldn't try to create the destination directory for
7414           replication themselves.
7416 Thu Mar 03 11:10:10 GMT 2011  Olly Betts <olly@survex.com>
7418         * docs/intro_ir.html: Fix typo in author's name.
7420 Thu Mar 03 11:06:30 GMT 2011  Olly Betts <olly@survex.com>
7422         * docs/intro_ir.html: Update link to a paper.  Update text about book
7423           "to be published in 2008".
7425 Tue Mar 01 11:39:40 GMT 2011  Olly Betts <olly@survex.com>
7427         * NEWS: Update from ChangeLog.
7429 Mon Feb 28 12:40:24 GMT 2011  Olly Betts <olly@survex.com>
7431         * matcher/multimatch.cc: Avoid leaking postlist tree if an exception
7432           is thrown during the match.
7434 Wed Feb 23 15:26:56 GMT 2011  Olly Betts <olly@survex.com>
7436         * docs/Makefile.am,docs/index.html: Process collapsing.rst and link
7437           it into the documentation.
7439 Wed Feb 23 15:22:06 GMT 2011  Olly Betts <olly@survex.com>
7441         * docs/collapsing.rst: Add missing document (for some reason this file
7442           was empty in SVN, but present in my tree under a different name, and
7443           not checked in).
7445 Mon Feb 21 14:49:06 GMT 2011  Olly Betts <olly@survex.com>
7447         * docs/deprecation.rst: Deprecate MSet.items and ESet.items.
7449 Mon Feb 21 14:06:21 GMT 2011  Olly Betts <olly@survex.com>
7451         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7452           backends/flint/flint_database.cc,common/remoteconnection.h,
7453           net/remoteconnection.cc: Pass a file descriptor to
7454           RemoteConnection::send_file() to avoid a race between the caller
7455           checking if a file exists and send_file() trying to open it to send
7456           it.
7458 Mon Feb 21 13:50:06 GMT 2011  Olly Betts <olly@survex.com>
7460         * queryparser/lemon.c: Fix issues detected by DACA cppcheck run on the
7461           Debian archive.
7463 Mon Feb 21 13:30:55 GMT 2011  Olly Betts <olly@survex.com>
7465         * tests/api_anydb.cc: Fix spaceterms1 which was never running one part
7466           of the testcase (and had been that way for years).  Fix an
7467           off-by-one error in the enabled code.
7469 Mon Feb 21 13:05:36 GMT 2011  Olly Betts <olly@survex.com>
7471         * tests/api_backend.cc: Add some test coverage for
7472           DatabaseModifiedError in get_mset().
7474 Mon Feb 21 12:03:35 GMT 2011  Olly Betts <olly@survex.com>
7476         * NEWS: Fix typo in old entry.
7478 Mon Feb 21 11:36:07 GMT 2011  Olly Betts <olly@survex.com>
7480         * examples/quest.cc: Report any spelling correction (requires the
7481           database contains spelling data of course).
7483 Wed Feb 16 13:11:03 GMT 2011  Olly Betts <olly@survex.com>
7485         * include/xapian/enquire.h: Add doxygen markup so alternative
7486           overloaded forms of Enquire::get_mset() appear in the API
7487           documentation.
7489 Wed Feb 09 14:24:57 GMT 2011  Olly Betts <olly@survex.com>
7491         * docs/admin_notes.rst: Up to darte for 1.2.5.  Minor wording
7492           improvements.  Mention copydatabase --no-renumber.
7494 Wed Feb 09 14:06:55 GMT 2011  Olly Betts <olly@survex.com>
7496         * examples/copydatabase.cc: Add --no-renumber option.
7498 Tue Feb 01 11:17:58 GMT 2011  Olly Betts <olly@survex.com>
7500         * configure.ac: -Wstrict-null-sentinel was added in GCC 4.0.1 so
7501           doesn't work with GCC 4.0.0.  For simplicity, only enable it for
7502           GCC >= 4.1.
7504 Tue Feb  1 08:22:52 GMT 2011  Olly Betts <olly@survex.com>
7506         * docs/deprecation.rst: Add $set{spelling,true}.
7508 Thu Jan 20 14:52:53 GMT 2011  Olly Betts <olly@survex.com>
7510         * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h,
7511           backends/flint/flint_table.cc: Don't read the bitmaps from the base
7512           files when opening a database for reading (cross-port of equivalent
7513           change to chert).
7515 Thu Jan 20 14:37:10 GMT 2011  Olly Betts <olly@survex.com>
7517         * backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h,
7518           backends/brass/brass_table.cc: Don't read the bitmaps from the base
7519           files when opening a database for reading (cross-port of equivalent
7520           change to chert).
7522 Thu Jan 20 14:21:10 GMT 2011  Olly Betts <olly@survex.com>
7524         * backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h,
7525           backends/chert/chert_table.cc: Don't read the bitmaps from the base
7526           files when opening a database for reading.
7528 Thu Jan 20 01:57:02 GMT 2011  Olly Betts <olly@survex.com>
7530         * backends/brass/brass_database.cc: Optimise not to update doclength
7531           when it hasn't changed (cross-port of equivalent change to chert).
7533 Thu Jan 20 01:36:51 GMT 2011  Olly Betts <olly@survex.com>
7535         * backends/chert/chert_database.cc: Optimise not to update doclength
7536           when it hasn't changed.
7538 Wed Jan 19 03:50:18 GMT 2011  Olly Betts <olly@survex.com>
7540         * tests/api_compact.cc: Close ofstream objects used to write out stub
7541           files for testing before we run the actual compaction, to avoid
7542           issues on Microsoft Windows (ticket#525).
7544 Wed Jan 19 01:01:38 GMT 2011  Olly Betts <olly@survex.com>
7546         * HACKING: Snapshots and releases are now bootstrapped with autoconf
7547           2.68 and libtool 2.4.  Prune information about reasons for needing
7548           really old autotools versions when there's a reason to need a newer
7549           version anyway.
7551 Sat Jan 15 11:10:26 GMT 2011  Olly Betts <olly@survex.com>
7553         * NEWS: Update from ChangeLog and 1.0.23.
7555 Sat Jan 15 10:28:10 GMT 2011  Olly Betts <olly@survex.com>
7557         * bin/xapian-chert-update.cc: Fix to handle value slot entries in the
7558           termlist table.
7560 Wed Jan 12 23:49:21 GMT 2011  Olly Betts <olly@survex.com>
7562         * bin/xapian-chert-update.cc: Adjust keys for doclength chunks too.
7564 Wed Jan 12 13:37:30 GMT 2011  Olly Betts <olly@survex.com>
7566         * AUTHORS,bin/xapian-chert-update.cc: Fix to also rewrite docids in
7567           value chunk keys (reported by Luca Barbieri on xapian-discuss).
7569 Tue Jan 11 08:41:02 GMT 2011  Olly Betts <olly@survex.com>
7571         * docs/deprecation.rst: Note removal of if idx in mset.
7573 Tue Jan 11 08:30:29 GMT 2011  Olly Betts <olly@survex.com>
7575         * docs/deprecation.rst: PostingSource now offers a replacement for
7576           Enquire::set_bias().
7578 Mon Jan 10 09:40:24 GMT 2011  Olly Betts <olly@survex.com>
7580         * api/compactor.cc: Add missing header <ctime> for time() (ticket#530).
7582 Sun Jan 09 23:14:02 GMT 2011  Olly Betts <olly@survex.com>
7584         * api/compactor.cc: Use msvc_posix_rename() under __WIN32__ to
7585           atomically update stub file after compaction (ticket#525).
7587 Thu Dec 23 13:00:43 GMT 2010  Olly Betts <olly@survex.com>
7589         * queryparser/queryparser.lemony: Whitespace consistency tweak.
7591 Thu Dec 23 11:01:26 GMT 2010  Olly Betts <olly@survex.com>
7593         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Handle
7594           NEAR/<offset> and ADJ/<offset> where offset isn't an integer the same
7595           way at the end of the query as in the middle.
7597 Tue Dec 21 10:28:08 GMT 2010  Olly Betts <olly@survex.com>
7599         * net/tcpserver.cc: If we can't bind to the specified port because it
7600           is a privileged one, exit with code 77 (EX_NOPERM) to make it easier
7601           to automatically handle failure when starting the server from a
7602           script.
7604 Tue Dec 21 07:43:52 GMT 2010  Olly Betts <olly@survex.com>
7606         * docs/index.html: Add link to main website.
7608 Tue Dec 21 07:40:57 GMT 2010  Olly Betts <olly@survex.com>
7610         * docs/index.html,docs/overview.html: Update links to wiki.xapian.org
7611           to point to trac.xapian.org/wiki instead.
7613 Mon Dec 20 10:02:06 GMT 2010  Richard Boulton <richard@tartarus.org>
7615         * docs/deprecation.rst: Add note about botched removal of python's
7616           Enquire.get_matching_terms (now fully removed).
7618 Sun Dec 19 12:40:12 GMT 2010  Olly Betts <olly@survex.com>
7620         * NEWS: Update release date.
7622 Sat Dec 18 13:17:52 GMT 2010  Olly Betts <olly@survex.com>
7624         * NEWS,configure.ac: Update for 1.2.4.
7626 Wed Dec 15 11:56:22 GMT 2010  Olly Betts <olly@survex.com>
7628         * NEWS: Update.
7630 Tue Dec 14 12:46:36 GMT 2010  Olly Betts <olly@survex.com>
7632         * HACKING,tests/runtest.in: Add XAPIAN_TESTSUITE_LD_PRELOAD hook to
7633           allow libeatmydata to easily be used when running the testsuite.
7635 Mon Dec 13 14:28:19 GMT 2010  Olly Betts <olly@survex.com>
7637         * include/xapian/: Make it more explicitly clear that PostingIterator,
7638           PositionIterator, and TermIterator's skip_to methods advance (and
7639           hence shouldn't be expected to allow you to "rewind" the stream).
7641 Mon Dec 13 14:18:18 GMT 2010  Olly Betts <olly@survex.com>
7643         * include/xapian/database.h: "network databases" -> "remote databases".
7645 Mon Dec 13 14:10:08 GMT 2010  Olly Betts <olly@survex.com>
7647         * net/remoteserver.cc: If the message parameter only contains a
7648           string then we can just use it as is.
7650 Mon Dec 13 13:34:30 GMT 2010  Olly Betts <olly@survex.com>
7652         * backends/remote/remote-database.cc,common/remote-database.h,
7653           common/remoteprotocol.h,common/remoteserver.h,
7654           docs/remote_protocol.html,net/remoteserver.cc,tests/api_metadata.cc:
7655           Add support for iterating metadata keys with the remote backend.
7656           This change necessitated a minor version bump in the remote protocol.
7658 Sun Dec 12 12:24:48 GMT 2010  Olly Betts <olly@survex.com>
7660         * weight/tradweight.cc: Fix calculation order to avoid inconsistent
7661           weights due to rounding for TradWeight(0).
7662         * tests/api_backend.cc: Add regression test tradweight2.
7664 Sat Dec 11 11:38:32 GMT 2010  Olly Betts <olly@survex.com>
7666         * AUTHORS: Update thanks list with bug reporters and patch submitters.
7668 Thu Dec 09 03:59:42 GMT 2010  Olly Betts <olly@survex.com>
7670         * NEWS: Update from ChangeLog.
7672 Thu Dec 09 03:58:20 GMT 2010  Olly Betts <olly@survex.com>
7674         * net/remoteconnection.cc: Add FIXME note about using sendfile() or
7675           similar.
7677 Tue Dec 07 10:16:31 GMT 2010  Olly Betts <olly@survex.com>
7679         * tests/queryparsertest.cc: Note 1.0.x version #515 was fixed in.
7681 Mon Dec 06 05:26:01 GMT 2010  Olly Betts <olly@survex.com>
7683         * net/replicatetcpclient.cc: Rearrange loop to avoid duplicating code.
7685 Mon Dec 06 01:39:23 GMT 2010  Olly Betts <olly@survex.com>
7687         * queryparser/queryparser.lemony: Fix typo so we test for OP_NEAR or
7688           OP_PHRASE, not twice for OP_NEAR, which fixes a bug with not setting
7689           the correct window size for default_op of OP_PHRASE in some cases.
7690           Factor out the "is_positional(op)" test into an inlined function to
7691           help avoid repeating this error.
7692         * tests/queryparsertest.cc: Add regression test coverage.
7694 Mon Dec 06 01:01:03 GMT 2010  Olly Betts <olly@survex.com>
7696         * tests/queryparsertest.cc: Add coverage for OP_PHRASE as default_op.
7698 Sun Dec 05 12:35:32 GMT 2010  Olly Betts <olly@survex.com>
7700         * weight/bm25weight.cc: Fix calculation order to avoid inconsistent
7701           weights due to rounding when BM25Weight is used with certain
7702           non-default parameter combinations.
7703         * tests/api_backend.cc: Add regression test bm25weight2.
7705 Sun Dec 05 12:10:36 GMT 2010  Olly Betts <olly@survex.com>
7707         * backends/chert/chert_compact.cc: Add FIXME comment regarding
7708           resolve_duplicate_metadata() getting called multiple times for the
7709           same key in multipass mode.
7711 Sun Dec 05 12:09:32 GMT 2010  Olly Betts <olly@survex.com>
7713         * include/xapian/compactor.h: Add documentation comments.
7715 Sun Dec 05 04:54:03 GMT 2010  Olly Betts <olly@survex.com>
7717         * HACKING: Omega now wants libmagic-dev (though it's optional
7718           currently).
7720 Wed Nov 17 10:56:10 GMT 2010  Olly Betts <olly@survex.com>
7722         * examples/quest.cc: Add command line options to allow prefixes to
7723           be specified for the QueryParser.
7725 Tue Nov 09 23:18:36 GMT 2010  Olly Betts <olly@survex.com>
7727         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc,
7728           backends/flint/flint_compact.cc: Fix access to empty priority_queue
7729           while merging synonyms (found with _GLIBCXX_DEBUG).
7731 Tue Nov 09 03:23:49 GMT 2010  Olly Betts <olly@survex.com>
7733         * HACKING: Drop list of platforms valgrind supports, as it takes
7734           effort to keep up to date.  People can check valgrind.org for an
7735           accurate list of currently supported platforms.
7737 Sun Nov 07 14:13:44 GMT 2010  Olly Betts <olly@survex.com>
7739         * api/compactor.cc,backends/brass/brass_compact.cc,
7740           backends/chert/chert_compact.cc,backends/flint/flint_compact.cc,
7741           bin/xapian-compact.cc,include/xapian/compactor.h:
7742           Compactor::resolve_duplicate_metadata() callback method is now passed
7743           an array of std::string plus the array length, which allows for more
7744           efficient merging that the series of pairwise merges which was
7745           required before.
7747 Mon Nov 01 14:47:37 GMT 2010  Richard Boulton <richard@tartarus.org>
7749         * matcher/multimatch.cc,matcher/multixorpostlist.cc,
7750           matcher/multixorpostlist.h: Add debugging to print out the
7751           postlist description after recalculation of maxweight, and to
7752           MultiXorPostList methods.  Fix problem shown by soaktest where
7753           the matcher was not told to recalculate the maxweight after a
7754           MultiXorPostList child reached end, which was causing an
7755           assertion failure in debug builds.  (This could also have been
7756           causing some performance problems, but I have not measurements.)
7758 Mon Nov 01 10:34:30 GMT 2010  Richard Boulton <richard@tartarus.org>
7760         * tests/soaktest/soaktest_queries.cc: Fix compilation: call c_str()
7761           on argument to atoi, now that util.h no longer defines a string
7762           wrapper.
7764 Sun Oct 31 10:51:12 GMT 2010  Olly Betts <olly@survex.com>
7766         * queryparser/queryparser.lemony: Don't delete this in TermGroup, etc
7767           until after we have successfully constructed the Query object to
7768           return to avoid a double free in the Query construction throws an
7769           exception.  Fixes ticket#515.
7771 Fri Oct 29 12:46:15 GMT 2010  Olly Betts <olly@survex.com>
7773         * tests/api_backend.cc: Fix comment typo in previous commit.
7775 Fri Oct 29 12:32:47 GMT 2010  Olly Betts <olly@survex.com>
7777         * matcher/multimatch.cc: Empty query now return MSet with firstitem
7778           set correctly.
7779         * tests/api_backend.cc: Extend msetfirst2 to be a regression test for
7780           this issue too.
7782 Fri Oct 29 12:13:51 GMT 2010  Olly Betts <olly@survex.com>
7784         * api/omenquire.cc: If first is larger than get_doccount() then clamp
7785           it to avid pointlessly trying to allocate far too much memory.
7786         * tests/api_backend.cc: Regression test msetfirst2.
7788 Thu Oct 21 09:38:44 GMT 2010  Richard Boulton <richard@tartarus.org>
7790         * tests/Makefile.am: Add zlib-vg.c to distribution tarballs.
7792 Wed Oct 20 11:38:13 GMT 2010  Olly Betts <olly@survex.com>
7794         * examples/delve.cc: Add '-z' option to count zero-length documents.
7796 Mon Oct 18 10:35:46 GMT 2010  Olly Betts <olly@survex.com>
7798         * bin/xapian-compact.cc: Add --quiet/-q option to suppress progress
7799           output.
7801 Thu Oct 14 03:51:02 GMT 2010  Olly Betts <olly@survex.com>
7803         * tests/api_unicode.cc: Fix typo in previous change.
7805 Thu Oct 14 01:16:31 GMT 2010  Olly Betts <olly@survex.com>
7807         * tests/api_unicode.cc: Expand tested cases to (hopefully) cover all
7808           conditional combinations in unicode/utf8itor.cc.
7810 Mon Oct 11 11:46:30 GMT 2010  Olly Betts <olly@survex.com>
7812         * Makefile.am: Remove xapian-config on "make distclean" rather than
7813           "make clean", since configure builds it.  Never remove man pages
7814           under "make clean".
7816 Mon Oct 11 11:41:32 GMT 2010  Olly Betts <olly@survex.com>
7818         * tests/Makefile.am: Fix typo - CLEAN_FILES should be CLEANFILES.
7819           This means that where zlib-vg.so is used, it now gets cleaned up.
7821 Sun Oct 10 11:00:31 GMT 2010  Olly Betts <olly@survex.com>
7823         * Makefile.am: Fix so coverage-reconfigure-maintainer-mode adds
7824           --enable-maintainer-mode rather than coverage-reconfigure!
7826 Sun Oct 10 10:45:38 GMT 2010  Olly Betts <olly@survex.com>
7828         * Makefile.am: Factor out COVERAGE_CONFIGURE to make future changes
7829           easier.
7831 Sun Oct 10 09:59:01 GMT 2010  Olly Betts <olly@survex.com>
7833         * Makefile.am: Add coverage-reconfigure-maintainer-mode target which
7834           is just like coverage-reconfigure except it also passes
7835           --enable-maintainer-mode.
7837 Sun Oct 10 07:29:23 GMT 2010  Olly Betts <olly@survex.com>
7839         * tests/api_nodb.cc: Check Stem("none") too.  Check
7840           Stem("").get_description().  No need to check a bogus language name
7841           here as stemlangs2 now does that.
7843 Sun Oct 10 07:22:41 GMT 2010  Olly Betts <olly@survex.com>
7845         * tests/api_stem.cc: Test an invalid languages name with each possible
7846           byte value at the start to improve coverage of the switch in
7847           api/stem.cc.
7849 Sun Oct 10 06:14:42 GMT 2010  Olly Betts <olly@survex.com>
7851         * unicode/utf8itor.cc: Correct comments and use bad_cont() in another
7852           place (no change to code once inlining is taken into account).
7854 Sun Oct 10 06:11:05 GMT 2010  Olly Betts <olly@survex.com>
7856         * tests/api_unicode.cc: Improve test coverage for
7857           Utf8Iterator::calculate_sequence_length().
7859 Sun Oct 10 00:33:49 GMT 2010  Olly Betts <olly@survex.com>
7861         * tests/api_unicode.cc: Tweak testcase utf8iterator2 to add coverage
7862           for Utf8Iterator(const char *).
7864 Fri Oct 08 13:10:08 GMT 2010  Olly Betts <olly@survex.com>
7866         * matcher/selectpostlist.cc,matcher/selectpostlist.h: Implement
7867           SelectPostList::check() so that check() on OP_NEAR and OP_PHRASE
7868           subqueries won't end up checking potentially huge numbers of
7869           documents.
7871 Fri Oct 08 12:29:50 GMT 2010  Olly Betts <olly@survex.com>
7873         * tests/api_backend.cc: Add testcase phrase3 to provide coverage for
7874           SelectPostList::skip_to().
7876 Fri Oct 08 10:36:18 GMT 2010  Olly Betts <olly@survex.com>
7878         * matcher/orpostlist.cc,matcher/orpostlist.h: Fix performance
7879           regression in some cases caused by the introduction of
7880           OrPostList::check().
7882 Thu Oct 07 03:53:11 GMT 2010  Olly Betts <olly@survex.com>
7884         * tests/api_anydb.cc: Clear tout before each iteration in scaleweight1.
7886 Wed Oct 06 14:30:34 GMT 2010  Olly Betts <olly@survex.com>
7888         * NEWS: Update from 1.0.22 and ChangeLog.
7890 Wed Oct 06 12:39:36 GMT 2010  Olly Betts <olly@survex.com>
7892         * tests/queryparsertest.cc: Add two more testcases for having a phrase
7893           generator between prefix and term.
7895 Wed Oct 06 12:37:32 GMT 2010  Olly Betts <olly@survex.com>
7897         * include/xapian/matchspy.h,include/xapian/postingsource.h: Remove
7898           "experimental" marker from PostingSource and ValueCountMatchSpy.
7900 Wed Oct 06 12:31:01 GMT 2010  Olly Betts <olly@survex.com>
7902         * docs/index.html: Add links to replication and facets documents, and
7903           fix typo in serialistion document link.
7905 Wed Oct 06 12:12:51 GMT 2010  Olly Betts <olly@survex.com>
7907         * docs/Makefile.am,docs/categorisation.rst,docs/facets.rst: Change the
7908           categorisation document to talk about facets, since that's the
7909           terminology that seems to be most widely used these days, and
7910           "categorisation" can also mean automatically assigning categories to
7911           documents.  Fix up references to features which were removed or
7912           changed during development.
7914 Wed Oct 06 12:11:21 GMT 2010  Olly Betts <olly@survex.com>
7916         * docs/internals.html: Add link to replication protocol.
7918 Wed Oct 06 08:36:50 GMT 2010  Olly Betts <olly@survex.com>
7920         * examples/simplesearch.cc: Fix cut and paste error in usage message.
7922 Wed Oct 06 00:12:40 GMT 2010  Olly Betts <olly@survex.com>
7924         * api/emptypostlist.cc,matcher/queryoptimiser.cc: In the query
7925           optimiser, use value range bounds to check for value ranges which
7926           must be empty.
7927         * tests/api_opvalue.cc: Add testcase valuerange5 to check this
7928           optimisation actually fires.
7930 Tue Oct 05 03:43:02 GMT 2010  Olly Betts <olly@survex.com>
7932         * examples/simplesearch.cc: Fix cut-and-paste error - --version now
7933           reports simplesearch not simpleexpand.
7935 Tue Oct 05 03:41:48 GMT 2010  Olly Betts <olly@survex.com>
7937         * docs/categorisation.rst: Update to use the current ValueCountMatchSpy
7938           API.
7940 Fri Oct 01 09:53:50 GMT 2010  Olly Betts <olly@survex.com>
7942         * configure.ac: Simplify defaulting enable_documentation a little.
7944 Fri Oct 01 09:29:03 GMT 2010  Olly Betts <olly@survex.com>
7946         * configure.ac: Default enable_sse to yes to fix build on x86.
7948 Fri Oct 01 09:10:34 GMT 2010  Olly Betts <olly@survex.com>
7950         * configure.ac: Fix typo in SSE handling code which stopped it
7951           defaulting as intended.
7953 Fri Oct 01 02:00:49 GMT 2010  Olly Betts <olly@survex.com>
7955         * NEWS: Update from ChangeLog.
7957 Fri Oct 01 01:54:41 GMT 2010  Olly Betts <olly@survex.com>
7959         * backends/Makefile.mk,backends/brass/brass_compact.cc,
7960           backends/byte_length_strings.h,backends/chert/chert_compact.cc,
7961           backends/flint/flint_compact.cc: Factor out 3 copies of
7962           ByteLengthPrefixedStringItor and ByteLengthPrefixedStringItorGt into
7963           their own file.
7965 Fri Oct 01 01:28:57 GMT 2010  Olly Betts <olly@survex.com>
7967         * backends/Makefile.mk,backends/brass/brass_compact.cc,
7968           backends/brass/brass_spelling.cc,backends/chert/chert_compact.cc,
7969           backends/chert/chert_spelling.cc,backends/flint/flint_compact.cc,
7970           backends/flint/flint_spelling.cc,
7971           backends/prefix_compressed_strings.h: Factor out 6 copies of
7972           PrefixCompressedStringItor and PrefixCompressedStringWriter and 3
7973           copies of PrefixCompressedStringItorGt into their own file.
7975 Thu Sep 30 15:28:49 GMT 2010  Olly Betts <olly@survex.com>
7977         * NEWS: Update from ChangeLog.
7979 Thu Sep 30 15:26:52 GMT 2010  Olly Betts <olly@survex.com>
7981         * api/compactor.cc: Need utils.h for stat with a std::string argument.
7983 Thu Sep 30 15:23:50 GMT 2010  Olly Betts <olly@survex.com>
7985         * tests/api_compact.cc: Remove unwanted check left over from cut and
7986           pasting code from a previous testcase.
7988 Thu Sep 30 15:21:02 GMT 2010  Olly Betts <olly@survex.com>
7990         * tests/api_compact.cc: Convert compaction tests to use the new API.
7992 Thu Sep 30 14:54:27 GMT 2010  Olly Betts <olly@survex.com>
7994         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc,
7995           backends/flint/flint_compact.cc: Correct filenames in @file doxygen
7996           comments.
7998 Thu Sep 30 14:46:02 GMT 2010  Olly Betts <olly@survex.com>
8000         * api/compactor.cc: Use the ChertVersion, etc classes to make sure that
8001           the new database has a new UUID rather than creating a "donor"
8002           database and then stealing its version/uuid file.
8004 Thu Sep 30 14:33:46 GMT 2010  Olly Betts <olly@survex.com>
8006         * api/Makefile.mk,api/compactor.cc,backends/brass/Makefile.mk,
8007           backends/brass/brass_compact.cc,backends/brass/brass_compact.h,
8008           backends/chert/Makefile.mk,backends/chert/chert_compact.cc,
8009           backends/chert/chert_compact.h,backends/flint/Makefile.mk,
8010           backends/flint/flint_compact.cc,backends/flint/flint_compact.h,bin/,
8011           include/Makefile.mk,include/xapian.h,include/xapian/compactor.h:
8012           Convert compaction code into a Xapian::Compactor class, and make
8013           xapian-compact a simple wrapper around this new class.  (ticket#175)
8015 Thu Sep 30 06:16:11 GMT 2010  Olly Betts <olly@survex.com>
8017         * bin/: Eliminate uses of <iostream> in bin/xapian-compact-*.cc.
8019 Thu Sep 30 05:44:06 GMT 2010  Olly Betts <olly@survex.com>
8021         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc,
8022           bin/xapian-compact-flint.cc: Fix indentation of table data
8023           arrays.
8025 Thu Sep 30 05:32:44 GMT 2010  Olly Betts <olly@survex.com>
8027         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Only
8028           skip producing an output table when there are only some inputs
8029           for the termlist - for spellings and synonyms, we want to produce
8030           an output in this case.
8031         * tests/api_compact.cc: Add regression test compactmissingtables1.
8033 Wed Sep 29 11:13:18 GMT 2010  Olly Betts <olly@survex.com>
8035         * common/document.h: Initialise docid to 0 when creating a document
8036           from scratch, as documented.
8037         * tests/api_none.cc: Add regression test document2.
8038         * include/xapian/document.h: Document that return value is unreliable
8039           in this case prior to the next 1.0 and 1.2 releases.
8041 Wed Sep 29 07:06:10 GMT 2010  Olly Betts <olly@survex.com>
8043         * configure.ac: FreeBSD and OpenBSD don't need explicit dependency
8044           libraries, so set link_all_deplibs_CXX=no there.
8046 Wed Sep 29 07:04:20 GMT 2010  Olly Betts <olly@survex.com>
8048         * xapian-config.in: Just check @link_all_deplibs_CXX@ which we adjust
8049           in configure rather than duplicating configure's list of platforms
8050           where explicit dependencies aren't required.
8052 Mon Sep 27 04:28:46 GMT 2010  Olly Betts <olly@survex.com>
8054         * bin/xapian-compact.cc: Convert error messages to stdout/stderr to
8055           exceptions, in preparation for turning this into an API class.
8057 Mon Sep 27 03:50:54 GMT 2010  Olly Betts <olly@survex.com>
8059         * bin/xapian-compact.cc: Add support for compacting to a stub database,
8060           which can be one of the inputs (for atomic update).
8061         * tests/api_compact.cc: Add testcases compactstub3 and compactstub4 as
8062           feature tests for this.
8064 Mon Sep 27 03:50:00 GMT 2010  Olly Betts <olly@survex.com>
8066         * tests/api_compact.cc: Suppress output from xapian-compact in
8067           compactstub2 (which I'd disabled for debugging).
8069 Sun Sep 26 13:59:20 GMT 2010  Olly Betts <olly@survex.com>
8071         * bin/xapian-compact.cc: Extend to work on stub database files too.
8072         * tests/api_compact.cc: Add feature test compactstub2.
8074 Sun Sep 26 13:28:45 GMT 2010  Olly Betts <olly@survex.com>
8076         * bin/xapian-compact.cc: Inputs can now be stub database directories,
8077           in which case the databases in the stub are used as inputs.
8078         * tests/api_compact.cc: Add feature test compactstub1.
8080 Sun Sep 26 11:11:49 GMT 2010  Olly Betts <olly@survex.com>
8082         * xapian-config.in: Add --static option which makes other options
8083           report values for static linking.
8085 Tue Sep 21 10:43:17 GMT 2010  Olly Betts <olly@survex.com>
8087         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow phrase
8088           generators between a probabilistic prefix and the term itself.
8090 Thu Sep 09 11:18:47 GMT 2010  Olly Betts <olly@survex.com>
8092         * INSTALL: Raise recommended GCC version from 3.3 to 4.1, since that's
8093           the oldest we regularly test with.
8095 Thu Sep 09 11:14:03 GMT 2010  Olly Betts <olly@survex.com>
8097         * HACKING: Debian etch was discontinued 6 months ago, so it's no longer
8098           useful to document packages for developing Xapian on it.
8100 Thu Sep 09 03:15:00 GMT 2010  Olly Betts <olly@survex.com>
8102         * docs/deprecation.rst: Actually write down our guidelines for
8103           supporting other software.
8105 Thu Sep 09 00:20:16 GMT 2010  Olly Betts <olly@survex.com>
8107         * docs/replication.rst: Adjust text to reflect conclusions about the
8108           issues in ticket#434.
8110 Thu Sep 09 00:10:03 GMT 2010  Olly Betts <olly@survex.com>
8112         * docs/replication.rst: Don't suggest using a symlink to switch between
8113           databases - a stub database is much better.
8115 Thu Sep 09 00:07:02 GMT 2010  Olly Betts <olly@survex.com>
8117         * docs/replication.rst: Assume xapian tools are installed on PATH not
8118           in the current directory for example commands.
8120 Thu Sep 09 00:05:22 GMT 2010  Olly Betts <olly@survex.com>
8122         * docs/replication.rst: Fix a typo.
8124 Mon Sep 06 07:10:02 GMT 2010  Olly Betts <olly@survex.com>
8126         * configure.ac: Add support for --enable-sse=sse and --enable-sse=sse2
8127           to allow control of which SSE instructions to use.
8129 Fri Sep 03 13:08:53 GMT 2010  Richard Boulton <richard@tartarus.org>
8131         * bin/xapian-replicate.cc: If a fullcopy was attempted, but was not
8132           put live, display an explanatory message (if verbose is true).
8134 Fri Sep 03 05:54:09 GMT 2010  Olly Betts <olly@survex.com>
8136         * backends/chert/chert_modifiedpostlist.h,
8137           backends/flint/flint_modifiedpostlist.h,tests/: Fixes required to
8138           build on OpenBSD 4.5 with GCC 3.3.5.
8140 Tue Aug 31 14:37:44 GMT 2010  Olly Betts <olly@survex.com>
8142         * include/xapian/queryparser.h: Document cases where FLAG_WILDCARD and
8143           FLAG_PARTIAL aren't currently supported.
8145 Mon Aug 30 06:27:46 GMT 2010  Olly Betts <olly@survex.com>
8147         * configure.ac: Actaully make autoconf 2.64 a hard minimum requirement
8148           (as HACKING already documented).
8149         * HACKING,NEWS,configure.ac: autoconf 2.67 is now used to bootstrap.
8151 Mon Aug 30 06:26:03 GMT 2010  Olly Betts <olly@survex.com>
8153         * NEWS: Update from ChangeLog.
8155 Mon Aug 30 06:04:13 GMT 2010  Olly Betts <olly@survex.com>
8157         * configure.ac: Enable use of SSE maths on x86 by default with Sun's
8158           compiler.
8160 Sat Aug 28 16:04:45 GMT 2010  Olly Betts <olly@survex.com>
8162         * api/omdatabase.cc,include/xapian/queryparser.h,
8163           tests/harness/backendmanager.h: None of the workarounds we have
8164           which are conditional on __SUNPRO_CC are needed with Sun C++
8165           version 5.8, so only enable them for older versions (which will
8166           mean we can drop these workarounds with confidence once older
8167           versions are dropped by Sun/Oracle, or once we can find out that
8168           they have been - currently all I've managed to discover is that
8169           version 5.0 reached "end of service life" in 6/2006).
8171 Sat Aug 28 15:33:14 GMT 2010  Olly Betts <olly@survex.com>
8173         * configure.ac,tests/api_replicate.cc: Solaris < 10 doesn't have
8174           setenv() so we have to use putenv() there.  And the value we set
8175           XAPIAN_MAX_CHANGESETS to is always constant currently, so set it
8176           using constant strings generated by a macro.
8178 Sat Aug 28 12:35:25 GMT 2010  Olly Betts <olly@survex.com>
8180         * configure.ac: Beef up the test for whether -lm is required and add
8181           a special case to force it to be for Sun's C++ compiler - there's
8182           some interaction with libtool and/or shared objects which means
8183           that the configure test doesn't think -lm is needed here when it
8184           is.
8186 Sat Aug 28 10:59:11 GMT 2010  Olly Betts <olly@survex.com>
8188         * api/matchspy.cc,common/const_database_wrapper.cc,net/tcpclient.cc,
8189           tests/api_replicate.cc,tests/harness/backendmanager_remotetcp.cc,
8190           tests/harness/testsuite.cc,tests/perftest/runprocess.cc,
8191           unicode/utf8itor.cc: Fix to compile with Sun C++.
8193 Sat Aug 28 10:30:08 GMT 2010  Olly Betts <olly@survex.com>
8195         * HACKING,PLATFORMS: Move PLATFORMS information to the wiki and replace
8196           with a pointer.
8198 Sat Aug 28 03:15:47 GMT 2010  Olly Betts <olly@survex.com>
8200         * matcher/queryoptimiser.cc: Need to avoid excess precision on m68k
8201           when targeting models 68010, 68020, 68030 as well as 68000.
8203 Tue Aug 24 05:54:27 GMT 2010  Olly Betts <olly@survex.com>
8205         * configure.ac: Update for 1.2.3.
8207 Tue Aug 24 05:52:47 GMT 2010  Olly Betts <olly@survex.com>
8209         * NEWS: Update from ChangeLog.
8211 Mon Aug 16 16:46:19 GMT 2010  Olly Betts <olly@survex.com>
8213         * common/closefrom.cc: Use /dev/fd on Mac OS X.
8215 Mon Aug 16 16:18:26 GMT 2010  Olly Betts <olly@survex.com>
8217         * common/closefrom.cc: Need safeerrno.h and safeunistd.h on non-Linux
8218           platforms too.
8220 Mon Aug 16 15:47:48 GMT 2010  Olly Betts <olly@survex.com>
8222         * backends/flint_lock.cc,common/Makefile.mk,common/closefrom.cc,
8223           common/closefrom.h,configure.ac,net/progclient.cc: Use closefrom()
8224           if available, otherwise provide our own implementation (optimised
8225           to some extent for many platforms).
8227 Sun Aug 15 12:43:04 GMT 2010  Olly Betts <olly@survex.com>
8229         * AUTHORS: Update.
8231 Sun Aug 15 12:11:26 GMT 2010  Olly Betts <olly@survex.com>
8233         * xapian-core.spec.in: Update BuildRequires to specify libuuid-devel
8234           instead of e2fsprogs-devel.
8236 Sun Aug 15 11:30:05 GMT 2010  Olly Betts <olly@survex.com>
8238         * HACKING,INSTALL,common/safeuuid.h,common/win32_uuid.cc,
8239           common/win32_uuid.h,configure.ac: libuuid moved from e2fsprogs to
8240           util-linux-ng about a year ago, so update documentation, comments,
8241           and configure error messages to reflect this.  Issue reported by
8242           David Jeske on xapian-devel list.
8244 Sun Aug 15 07:58:51 GMT 2010  Olly Betts <olly@survex.com>
8246         * tests/harness/backendmanager_remotetcp.cc: Under __WIN32__, we need
8247           <io.h> for _open_osfhandle() (ticket#495).
8249 Sun Aug 15 07:10:25 GMT 2010  Olly Betts <olly@survex.com>
8251         * common/realtime.h: MSVC doesn't cope with a prototype at function
8252           scope with a global namespace qualification (ticket#495).
8254 Wed Aug 04 10:44:08 GMT 2010  Olly Betts <olly@survex.com>
8256         * backends/flint_lock.cc,backends/multi/multi_alltermslist.cc,
8257           bin/xapian-chert-update.cc,queryparser/termgenerator.cc,
8258           queryparser/termgenerator_internal.cc: Fix more incorrect @file
8259           directives.
8261 Wed Aug 04 09:19:10 GMT 2010  Olly Betts <olly@survex.com>
8263         * matcher/localsubmatch.h,queryparser/termgenerator_internal.h: Fix
8264           incorrect @file doxygen directives.
8266 Tue Aug 03 14:42:56 GMT 2010  Olly Betts <olly@survex.com>
8268         * tests/harness/fdtracker.h: Fix filename in @file.
8270 Tue Aug 03 14:32:45 GMT 2010  Olly Betts <olly@survex.com>
8272         * common/contiguousalldocspostlist.h,common/unaligned.h: Fix include
8273           guards to match header filename (cosmetic issues only).
8275 Mon Aug 02 12:38:59 GMT 2010  Olly Betts <olly@survex.com>
8277         * backends/brass/brass_table.cc,backends/brass/brass_values.cc,
8278           backends/chert/chert_table.cc,backends/chert/chert_values.cc,
8279           backends/flint/flint_alldocspostlist.cc,
8280           backends/remote/remote-document.cc,matcher/multimatch.cc,
8281           matcher/remotesubmatch.cc,net/progclient.cc: Use new Literal()
8282           feature in debug logging of function calls.
8284 Mon Aug 02 12:08:42 GMT 2010  Olly Betts <olly@survex.com>
8286         * common/pretty.h: Add Literal() class to allow bypassing the pretty
8287           printer for interspersing literal strings.
8289 Sun Aug 01 10:19:38 GMT 2010  Olly Betts <olly@survex.com>
8291         * api/omdatabase.cc: Database::get_spelling_suggestion() will now
8292           suggest a correction even if the passed word is in the dictionary,
8293           provided the correction has at least the same frequency.  Partly
8294           addresses #225.
8295         * queryparser/queryparser.lemony: Check spelling even if term is in
8296           the database.
8297         * docs/spelling.rst: Update to reflect these changes.
8298         * tests/api_spelling.cc,tests/queryparsertest.cc: Add test coverage for
8299           these changes.
8301 Tue Jul 27 15:24:56 GMT 2010  Tim Brody <tdb2@ecs.soton.ac.uk>
8303         * xapian-core.spec.in: Add xapian-metadata and cmake related files to
8304           RPM packaging.
8306 Thu Jul 22 07:13:12 GMT 2010  Olly Betts <olly@survex.com>
8308         * net/remoteconnection.cc: Wrap line.
8310 Thu Jul 22 07:11:23 GMT 2010  Olly Betts <olly@survex.com>
8312         * common/remoteserver.h,net/remoteserver.cc: Pass 1.0 for the end time
8313           when relaying a NetworkTimeoutError, not RealTime::now() - any time
8314           in the past will do, we just want the operation to time out if it
8315           would block.  Removed related FIXME which is already resolved.
8317 Wed Jul 21 18:00:08 GMT 2010  Olly Betts <olly@survex.com>
8319         * unicode/tclUniData.cc: Fix comment - this is Unicode 5.2 data, not
8320           5.1.
8322 Thu Jul 15 13:45:05 GMT 2010  Olly Betts <olly@survex.com>
8324         * common/realtime.h:Explicitly specify global namespace for
8325           xapian_sleep_milliseconds prototype as MSVC seems to need this.
8327 Thu Jul 15 13:03:13 GMT 2010  Olly Betts <olly@survex.com>
8329         * queryparser/queryparser.lemony: Fix handling of groups of terms which
8330           are all stopwords - in situations where this causes a problem we now
8331           disable stopword checks for such groups.  (ticket#245)
8332         * tests/queryparsertest.cc: Add regression testcases.
8334 Thu Jul 15 08:13:03 GMT 2010  Olly Betts <olly@survex.com>
8336         * common/fileutils.cc: Fix reversed memcmp() test.
8338 Sun Jul 11 14:59:06 GMT 2010  Olly Betts <olly@survex.com>
8340         * common/fileutils.cc: Factor out UNCW path check into a helper
8341           function.
8343 Sun Jul 11 14:56:27 GMT 2010  Olly Betts <olly@survex.com>
8345         * common/fileutils.cc,tests/Makefile.am,tests/unittest.cc: Move the
8346           tests of resolve_relative_path() into a new "unittest" program so
8347           they actually are run by "make check".  (ticket#243)
8349 Sun Jul 11 13:14:24 GMT 2010  Olly Betts <olly@survex.com>
8351         * common/fileutils.cc: Support the \\?\ path syntax.
8353 Sat Jul 10 15:49:08 GMT 2010  Olly Betts <olly@survex.com>
8355         * common/fileutils.cc,common/fileutils.h: Fix resolve_relative_path()
8356           to handle UNC paths.
8358 Sat Jul 10 15:27:48 GMT 2010  Olly Betts <olly@survex.com>
8360         * common/fileutils.cc: -D__WIN32__ on the g++ command line works for
8361           testing on Linux, so no need to have that in the code.  Add a couple
8362           of UNC path test cases which pass, and a commented-out one which
8363           fails.
8365 Sat Jul 10 14:58:35 GMT 2010  Olly Betts <olly@survex.com>
8367         * common/fileutils.cc,common/fileutils.h: We use these routines to
8368           resolve a relative path (in a stub database file) in terms of a
8369           second path (the filename of that file), so just instead a
8370           routine to do exactly that, which is easier to code and more
8371           efficient.  The new implementation fixes several bugs with
8372           Microsoft Windows paths.  Some testcases (currently not used)
8373           are now present in fileutils.cc (ticket#243).
8374         * backends/dbfactory.cc: Use the new API.
8376 Fri Jul 09 07:42:31 GMT 2010  Olly Betts <olly@survex.com>
8378         * tests/perftest/perftest.cc: I missed a use of atoi() on std::string
8379           but just call .cstr() on the string instead of dragging in utils.h.
8381 Fri Jul 09 04:39:40 GMT 2010  Olly Betts <olly@survex.com>
8383         * common/utils.cc,common/utils.h: Remove unused std::string to const
8384           char * wrappers for standard functions, and remove the only use of
8385           rmdir()'s wrapper.
8387 Thu Jul 08 15:18:04 GMT 2010  Olly Betts <olly@survex.com>
8389         * api/omenquire.cc: Xapian::ESet is a reference counted handle, so it
8390           is efficient to return by value - remove FIXME which suggests we
8391           should avoid doing so.
8393 Thu Jul 08 15:17:20 GMT 2010  Olly Betts <olly@survex.com>
8395         * api/omqueryinternal.cc: Update FIXMEs - it's too late to fix stuff
8396           in 1.1.x!
8398 Thu Jul 08 15:13:47 GMT 2010  Olly Betts <olly@survex.com>
8400         * api/omenquire.cc: Remove FIXMEs about debug logging which have been
8401           addressed by the fairly recent debug logging improvements.
8403 Thu Jul 08 15:07:07 GMT 2010  Olly Betts <olly@survex.com>
8405         * api/keymaker.cc: Fix comment typos.
8407 Thu Jul 08 14:50:59 GMT 2010  Olly Betts <olly@survex.com>
8409         * api/replication.cc,backends/brass/,backends/chert/,
8410           backends/dbfactory_remote.cc,backends/flint/,
8411           backends/remote/remote-database.cc,bin/xapian-progsrv.cc,
8412           bin/xapian-tcpsrv.cc,common/,net/,tests/perftest/perftest.cc,
8413           tests/perftest/perftest.h: Replace use of OmTime with a double
8414           holding a count in seconds since the epoch.
8416 Thu Jul 08 12:35:40 GMT 2010  Olly Betts <olly@survex.com>
8418         * net/tcpclient.cc: Retry select() if it fails with EINTR while waiting
8419           for connect(), and discriminate cases with same failure message to
8420           aid debugging.
8422 Thu Jul 08 05:09:18 GMT 2010  Olly Betts <olly@survex.com>
8424         * queryparser/queryparser.lemony: Remove comment left over from the
8425           "boolean exclusive" work.
8427 Wed Jul 07 13:18:17 GMT 2010  Olly Betts <olly@survex.com>
8429         * include/xapian/types.h: Fix documentation comment for Xapian::timeout
8430           type - it holds a time interval in milliseconds not microseconds
8431           (the API docs for the methods which use it explicitly document this
8432           correctly).
8434 Tue Jul 06 15:17:09 GMT 2010  Olly Betts <olly@survex.com>
8436         * tests/queryparsertest.cc: Fix formatting.
8438 Tue Jul 06 14:13:03 GMT 2010  Olly Betts <olly@survex.com>
8440         * tests/perftest/perftest.cc: Use str(OmTime::as_double()) rather than
8441           trying to assemble a string of a floating point number from strings
8442           of the sec and usec values.
8444 Tue Jul 06 14:03:30 GMT 2010  Olly Betts <olly@survex.com>
8446         * common/debuglog.h,common/remote-database.h: Remove unused '#include
8447           "omtime.h"'.
8448         * backends/remote/remote-database.cc: Add explicit '#include
8449           "omtime.h"'.
8451 Mon Jul 05 11:40:42 GMT 2010  Olly Betts <olly@survex.com>
8453         * queryparser/queryparser.lemony: Restore iterator to start of
8454           where we tried to parse a range if we decide it might be a filter
8455           term instead.  Clear the error if we decide it is a filter.
8456         * tests/queryparsertest.cc: Fix expected test output from
8457           qp_value_range4 testcase.
8459 Mon Jul 05 06:46:16 GMT 2010  Olly Betts <olly@survex.com>
8461         * queryparser/queryparser.lemony: Fix to be smarter about handling a
8462           boolean filter term containing ".." in the presence of
8463           valuerangeprocessors.
8464         * tests/queryparsertest.cc: Add regression test qp_value_range4.
8466 Mon Jul 05 04:10:08 GMT 2010  Olly Betts <olly@survex.com>
8468         * queryparser/queryparser.lemony,queryparser/queryparser.lt: Clean up
8469           how value ranges are handled to do the checking of the range in the
8470           lexer, which then passes a single token (RANGE) to the parser
8471           (instead of a RANGE_START token which is always followed by a
8472           RANGE_END token).
8474 Fri Jul 02 12:32:37 GMT 2010  Olly Betts <olly@survex.com>
8476         * configure.ac: Don't pass -mtune=generic unless GCC >= 4.2 is in use
8477           (ticket#492).
8479 Wed Jun 30 10:54:15 GMT 2010  Olly Betts <olly@survex.com>
8481         * backends/brass/brass_postlist.cc: Remove unnecessary NULL check.
8482           Identified by Coverity's Scan.
8483         * backends/chert/chert_postlist.cc: Same change for chert.
8485 Tue Jun 29 12:17:16 GMT 2010  Olly Betts <olly@survex.com>
8487         * backends/brass/brass_chunkedlisttable.h,
8488           backends/chert/chert_chunkedlisttable.h: Remove unused files.
8490 Sun Jun 27 04:31:06 GMT 2010  Olly Betts <olly@survex.com>
8492         * NEWS: Update for 1.2.2.
8494 Sun Jun 27 04:22:28 GMT 2010  Olly Betts <olly@survex.com>
8496         * examples/delve.cc: Show the database's UUID.
8498 Sun Jun 27 03:30:16 GMT 2010  Olly Betts <olly@survex.com>
8500         * NEWS.SKELETON: Add "tools" section.
8502 Sun Jun 27 03:03:57 GMT 2010  Olly Betts <olly@survex.com>
8504         * configure.ac: Update for 1.2.2.
8506 Sat Jun 26 15:55:45 GMT 2010  Olly Betts <olly@survex.com>
8508         * NEWS: Create from ChangeLog.
8510 Sat Jun 26 15:36:37 GMT 2010  Olly Betts <olly@survex.com>
8512         * NEWS.SKELETON: Add template for NEWS entry.
8514 Sat Jun 26 11:09:03 GMT 2010  Olly Betts <olly@survex.com>
8516         * backends/brass/brass_table.cc: Sync the table right after the base
8517           file, which allows more time for the table changes to be written,
8518           and doing the sync together may be more efficient with some Linux
8519           kernel versions.
8520         * backends/chert/chert_table.cc: Same change for chert.
8522 Sat Jun 26 06:46:39 GMT 2010  Olly Betts <olly@survex.com>
8524         * HACKING: Reorder the release checklist.
8526 Thu Jun 24 08:03:18 GMT 2010  Olly Betts <olly@survex.com>
8528           bin/xapian-check.cc: Don't try to check doclengths are consistent
8529           between the postlist and termlist tables if it would use more than
8530           1GB of memory, and handle std::bad_alloc or std::length_error.  This
8531           issue affects sup users, as sup allocates docids such that they are
8532           sparse and large docids can easily occur.
8534 Wed Jun 23 15:38:25 GMT 2010  Olly Betts <olly@survex.com>
8536         * include/xapian/weight.h: Revert Xapian::Weight's copy ctor back
8537           to protected as GCC 4.1 fails to compile subclasses when it is
8538           private (this appears to be a compiler bug).
8540 Wed Jun 23 07:31:19 GMT 2010  Olly Betts <olly@survex.com>
8542         * AUTHORS: Thank people who reported bugs fixed in 1.2.1.
8544 Wed Jun 23 06:52:54 GMT 2010  Olly Betts <olly@survex.com>
8546         * xapian-core.spec.in: Update for 1.2.x - add e2fsprogs-devel to
8547           BuildRequires and add new files.
8549 Wed Jun 23 05:00:34 GMT 2010  Olly Betts <olly@survex.com>
8551         * HACKING: Wording tweak.
8553 Wed Jun 23 04:11:30 GMT 2010  Olly Betts <olly@survex.com>
8555         * tests/harness/testsuite.cc: Need <cstdio> for sprintf().  Fixes
8556           compilation error for some platforms and/or compilers (my guess would
8557           be GCC 4.5 - it builds OK with GCC 4.4).  (ticket#489)
8559 Tue Jun 22 14:45:37 GMT 2010  Olly Betts <olly@survex.com>
8561         * NEWS,configure.ac: Update for 1.2.1.
8563 Mon Jun 21 16:00:22 GMT 2010  Olly Betts <olly@survex.com>
8565         * NEWS: Sync with 1.0.21 and update from ChangeLog.
8567 Mon Jun 21 15:15:50 GMT 2010  Olly Betts <olly@survex.com>
8569         * tests/api_replicate.cc: Unix putenv() requires the buffer passed to
8570           remain valid, as it stores it directly in the environment.  It's
8571           unclear from MSDN if _putenv() does the same, but _putenv_s() must
8572           allocate a copy since it needs to have an '=' in, so use that
8573           instead.  It also has an interface much like setenv(), so the code
8574           looks more similar.
8576 Mon Jun 21 06:07:42 GMT 2010  Olly Betts <olly@survex.com>
8578         * queryparser/queryparser.cc: Add missing const.
8580 Mon Jun 21 05:21:32 GMT 2010  Olly Betts <olly@survex.com>
8582         * queryparser/queryparser.cc: Update to match header ABI fix.
8584 Mon Jun 21 03:52:41 GMT 2010  Olly Betts <olly@survex.com>
8586         * include/xapian/queryparser.h: QueryParser::add_boolean_prefix() now
8587           uses two overloaded forms instead of a default parameter so that we
8588           don't break the ABI.
8590 Fri Jun 18 16:56:59 GMT 2010  Olly Betts <olly@survex.com>
8592         * AUTHORS: Add 1.0.21 bug reporters.
8594 Fri Jun 18 05:52:00 GMT 2010  Olly Betts <olly@survex.com>
8596         * include/xapian/queryparser.h,queryparser/queryparser.cc,
8597           queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
8598           Add new optional parameter to QueryParser::add_boolean_prefix() to
8599           allow the user to indicate a prefix isn't "exclusive" and that
8600           OP_AND should be used to combine multiple instances.  Fixes
8601           ticket#402.  This change should also improve efficiency as it
8602           avoids copying the lists of prefixes and compares them more
8603           efficiently.
8605 Fri Jun 18 02:51:11 GMT 2010  Olly Betts <olly@survex.com>
8607         * include/xapian/queryparser.h: Fix doccomment typo.
8609 Thu Jun 17 14:04:35 GMT 2010  Olly Betts <olly@survex.com>
8611         * include/xapian/weight.h: Xapian::Weight's copy ctor is now
8612           private rather than protected.  This is an API and ABI compatible
8613           change since there's no definition so a subclass which tried to
8614           access it before would fail to link.
8616 Thu Jun 17 13:00:47 GMT 2010  Olly Betts <olly@survex.com>
8618         * queryparser/queryparser.lemony: Missing changes from previous commit.
8620 Thu Jun 17 11:37:30 GMT 2010  Olly Betts <olly@survex.com>
8622         * api/valuerangeproc.cc: Add support for open-ended ranges
8623           (ticket#480).
8624         * docs/queryparser.html,docs/valueranges.rst: Document.
8625         * tests/queryparsertest.cc: Add feature tests.
8627 Thu Jun 17 06:15:24 GMT 2010  Olly Betts <olly@survex.com>
8629         * queryparser/queryparser.lemony: Switch out of IN_GROUP mode when we
8630           emit a WILDCARD.  Fixeds bug#484.
8631         * tests/queryparsertest.cc: Add regression testcase to wildcard1.
8633 Thu Jun 17 02:42:16 GMT 2010  Olly Betts <olly@survex.com>
8635         * tests/api_backend.cc: Rename failedadd1 to failedreplace1 as it's the
8636           replace which fails really.  Add failedreplace2 which adds explicit
8637           coverage for the case of a failed replace when the database isn't
8638           empty to start with.
8640 Tue Jun 15 12:45:36 GMT 2010  Olly Betts <olly@survex.com>
8642         * include/xapian/queryparser.h: Note in the description of
8643           set_database() what the database is used for.
8645 Tue Jun 15 12:26:12 GMT 2010  Olly Betts <olly@survex.com>
8647         * include/xapian/queryparser.h: Fix formatting of bullet list.
8649 Mon Jun 14 17:02:10 GMT 2010  Olly Betts <olly@survex.com>
8651         * backends/brass/brass_table.cc,backends/chert/chert_table.cc,
8652           backends/flint/flint_table.cc: cancel() now marks the Btree as
8653           unmodified.
8654         * tests/api_backend.cc: Add regression test failedadd1.
8656 Sun Jun 13 16:07:49 GMT 2010  Olly Betts <olly@survex.com>
8658         * common/Makefile.mk,common/safeuuid.h,configure.ac: Fix mingw build to
8659           use __WIN32__ UUID API.
8661 Sun Jun 13 12:25:24 GMT 2010  Olly Betts <olly@survex.com>
8663         * tests/perftest/freemem.cc: Fix whitespace to match Omega's version.
8665 Sun Jun 13 11:52:24 GMT 2010  Olly Betts <olly@survex.com>
8667         * tests/perftest/freemem.cc: Merge in changes from omega's version.
8668           Clean up whitespace issues.  Put the __WIN32__ case last, as we
8669           tend to elsewhere (since most people reading the code probably
8670           want to see the other version).
8672 Sun Jun 13 11:32:30 GMT 2010  Olly Betts <olly@survex.com>
8674         * tests/perftest/perftest.cc: "MSWin32" isn't the OS name.  Also,
8675           prefer += to build up a string.
8677 Sat Jun 12 09:31:28 GMT 2010  Olly Betts <olly@survex.com>
8679         * tests/api_percentages.cc: Note that 1.0.x returned 4% for the top hit
8680           in topercent5, so checking it gets at least 50% is a regression test
8681           for that issue.
8683 Fri Jun 11 15:38:26 GMT 2010  Olly Betts <olly@survex.com>
8685         * configure.ac: -march=pentium4 doesn't seem to give a measurable
8686           speed-up or size reduction (from Richard's tests) and it carries a
8687           small risk of introducing instructions which don't work on some
8688           obscure CPU which implements SSE2, so drop it.
8690 Fri Jun 11 15:25:16 GMT 2010  Olly Betts <olly@survex.com>
8692         * weight/bm25weight.cc: Stop forcing the wdf_max value to be at least
8693           one in BM25Weight::get_maxpart() - this is no longer needed now we
8694           calculate percentages based on the number of matching subqueries, and
8695           it is more natural for a non-existent term to get zero weight (ditto
8696           for a term which always has wdf = 0.
8697         * tests/api_anydb.cc: Change qterminfo1 to check that a non-existent
8698           term gets zero weight (previously we checked that it got a non-zero
8699           weight, but really we want to ensure that it contributes to
8700           percentage calculations, which new test topercent5 now does).
8702 Fri Jun 11 15:19:29 GMT 2010  Olly Betts <olly@survex.com>
8704         * tests/api_percentages.cc: Add topercent5 testcase which checks that
8705           an OR search including an non-existent term doesn't get 100%, and
8706           that the non-existent term doesn't score more than terms which do
8707           exist.
8709 Fri Jun 11 14:15:07 GMT 2010  Olly Betts <olly@survex.com>
8711         * matcher/queryoptimiser.cc: When using SSE FP instructions on x86 we
8712           can disable the use of volatile since there are no excess precision
8713           issues to work around.
8715 Fri Jun 11 08:21:04 GMT 2010  Olly Betts <olly@survex.com>
8717         * configure.ac: Put SSE flags in AM_CXXFLAGS not CXXFLAGS.
8719 Fri Jun 11 07:08:01 GMT 2010  Olly Betts <olly@survex.com>
8721         * configure.ac: Default to building with SSE FP instructions for x86.
8722           This avoids issues with excess precision and it a bit faster too.
8723           Should fix ticket#487.
8725 Thu Jun 10 15:15:33 GMT 2010  Olly Betts <olly@survex.com>
8727         * NEWS: Update from ChangeLog.
8729 Thu Jun 10 15:00:12 GMT 2010  Olly Betts <olly@survex.com>
8731         * HACKING: Capitalise "Fedora".
8733 Thu Jun 10 11:27:18 GMT 2010  Olly Betts <olly@survex.com>
8735         * INSTALL: Reword UUID section - list platforms where we make use of
8736           built-in APIs first, give the URL for e2fsprogs home page, and
8737           give the package name for Debian and Ubuntu.
8739 Thu Jun 10 01:08:21 GMT 2010  Olly Betts <olly@survex.com>
8741         * HACKING: libtool 2.2.10 used for snapshots and releases now.
8743 Thu Jun 10 00:21:49 GMT 2010  Olly Betts <olly@survex.com>
8745         * configure.ac,include/xapian/version_h.cc,
8746           include/xapian/visibility.h: We do need to have the visibility
8747           annotations on for code compiling against the library, so substitute
8748           the probed value of XAPIAN_ENABLE_VISIBILITY into <xapian/version.h>
8749           so it is available.
8751 Wed Jun 09 11:31:14 GMT 2010  Olly Betts <olly@survex.com>
8753         * INSTALL,configure.ac,include/xapian/visibility.h: Control use of
8754           GCC's visibility support with defined(XAPIAN_ENABLE_VISIBILITY)
8755           instead of !defined(XAPIAN_DISABLE_VISIBILITY), so it is only used
8756           when building the library, not when building code which uses it.
8757           Add check to configure that GCC actually supports visibility for
8758           the platform being built for, which fixes compiler warnings with
8759           platforms which don't (such as Mac OS X and mingw).
8761 Wed Jun 09 11:17:58 GMT 2010  Olly Betts <olly@survex.com>
8763         * HACKING: "private", etc as "access specifiers", not "visibility
8764           specifiers".
8766 Wed Jun 09 11:04:55 GMT 2010  Olly Betts <olly@survex.com>
8768         * HACKING: Note flex and bison needed to build doxygen.
8770 Wed Jun 09 05:25:10 GMT 2010  Olly Betts <olly@survex.com>
8772         * common/win32_uuid.cc: Fix signed/unsigned comparison warning on
8773           mingw.
8775 Tue Jun 08 16:56:26 GMT 2010  Olly Betts <olly@survex.com>
8777         * common/safewinsock2.h: Reword #error to avoid single quote which
8778           gives compilation warning with some GCC 4.2.1 on mingw.
8780 Tue Jun 08 14:32:28 GMT 2010  Olly Betts <olly@survex.com>
8782         * backends/brass/brass_check.h,backends/chert/chert_check.h,
8783           backends/flint/flint_check.h: Remove mutable from std::ostream &
8784           member - mutable doesn't make sense for a reference.
8786 Tue Jun 08 13:03:56 GMT 2010  Olly Betts <olly@survex.com>
8788         * common/,matcher/,weight/weightinternal.cc: Replace the still rather
8789           contorted mechanism for accumulating rel termfreqs for local
8790           databases with a simpler mechanism which is more efficient in both
8791           space and time.
8793 Mon Jun 07 16:31:24 GMT 2010  Olly Betts <olly@survex.com>
8795         * api/maptermlist.h,api/matchspy.cc,api/termlist.cc,backends/brass/,
8796           backends/chert/,backends/flint/,
8797           backends/inmemory/inmemory_database.cc,
8798           backends/inmemory/inmemory_database.h,
8799           backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
8800           backends/remote/net_termlist.cc,backends/remote/net_termlist.h,
8801           common/ortermlist.h,common/termlist.h,expand/ortermlist.cc: Remove
8802           default OrTermList::skip_to() implementation and implement skip_to()
8803           in each class instead, as this allows a slightly more efficient
8804           implementation, and also avoids problems with calling skip_to() as
8805           the first operation for the many subclasses which have a "started"
8806           flag, which OrTermList::skip_to() won't set.
8808 Mon Jun 07 06:08:53 GMT 2010  Olly Betts <olly@survex.com>
8810         * queryparser/queryparser.lemony: Rename TermList class to Terms to
8811           avoid confusion with the TermList typedef used elsewhere.  Add
8812           documentation comments for Terms and TermGroup classes.
8814 Mon Jun 07 02:18:05 GMT 2010  Olly Betts <olly@survex.com>
8816         * backends/brass/: Switch to using io_utils instead of brass_io.
8818 Mon Jun 07 02:16:30 GMT 2010  Olly Betts <olly@survex.com>
8820         * AUTHORS: Add Arvid Ephraim Picciani for help fixing bootstrap for
8821           BusyBox sha1sum.
8823 Mon Jun 07 01:16:57 GMT 2010  Olly Betts <olly@survex.com>
8825         * common/io_utils.cc: Whitespace tweak.
8827 Mon Jun 07 00:58:26 GMT 2010  Olly Betts <olly@survex.com>
8829         * common/io_utils.h: Fix header guard macro name to follow convention.
8831 Sun Jun 06 15:07:55 GMT 2010  Olly Betts <olly@survex.com>
8833         * HACKING,configure.ac: Upgrade to using libtool 2.2.8.
8835 Sun Jun 06 04:34:13 GMT 2010  Olly Betts <olly@survex.com>
8837         * bin/Makefile.mk,configure.ac: Fix build failures with some
8838           combinations of backends disabled (partially addresses ticket#361).
8840 Sat Jun 05 16:30:57 GMT 2010  Olly Betts <olly@survex.com>
8842         * matcher/remotesubmatch.cc: Add missing parameter of
8843           RemoteSubMatch::start_match() to debug logging.
8845 Sat Jun 05 15:03:56 GMT 2010  Olly Betts <olly@survex.com>
8847         * matcher/queryoptimiser.h: Make QueryOptimiser::optimise_query()'s
8848           argument const pointer, since we only pass it to do_subquery() which
8849           takes a const pointer.
8851 Fri Jun 04 16:05:01 GMT 2010  Olly Betts <olly@survex.com>
8853         * common/rset.h: Just keep a reference to the set<docid> from the
8854           Xapian::RSet object rather than copying it (since we now only
8855           create the RSetI object transiently, so the Xapian::RSet object
8856           is definitely valid for its whole lifetime).
8858 Fri Jun 04 15:57:50 GMT 2010  Olly Betts <olly@survex.com>
8860         * api/omenquire.cc,matcher/localmatch.cc,matcher/localmatch.h: Keep
8861           a Xapian::RSet handle in the LocalSubMatch object and only create
8862           an RSetI object briefly in LocalSubMatch::prepare_match().
8864 Fri Jun 04 15:36:45 GMT 2010  Olly Betts <olly@survex.com>
8866         * common/pretty.h: RSetI objects are no longer passed as parameters
8867           or return values, so we no longer need to handle them.
8869 Fri Jun 04 15:28:21 GMT 2010  Olly Betts <olly@survex.com>
8871         * api/omenquire.cc,common/esetinternal.h,common/omenquireinternal.h,
8872           common/rset.h,expand/esetinternal.cc,matcher/rset.cc: RSetI is used
8873           when collating statistics prior to performing the match, and when
8874           generating an ESet.  The second use is entirely unnecessary and just
8875           ends up with us copying the std::set<Xapian::docid> from inside the
8876           Xapian::RSet object, so eliminate it and just use the Xapian::RSet
8877           object directly.  This allows RSetI to be simplified somewhat too.
8879 Fri Jun 04 14:22:38 GMT 2010  Olly Betts <olly@survex.com>
8881         * tests/api_backend.cc: Make arrays static const.
8883 Fri Jun 04 13:25:20 GMT 2010  Olly Betts <olly@survex.com>
8885         * backends/Makefile.mk: Note need to update include/xapian/version_h.cc
8886           when adding a new backend.
8887         * AUTHORS: Thanks to Conrad Hoffmann for pointing this omission out.
8889 Thu Jun 03 15:01:44 GMT 2010  Richard Boulton <richard@tartarus.org>
8891         * tests/soaktest/soaktest_queries.cc: Add missing include of str.h
8893 Thu Jun 03 12:09:35 GMT 2010  Richard Boulton <richard@tartarus.org>
8895         * tests/Makefile.am: Fix building of zlib-vg.so in VPATH builds.
8897 Thu Jun 03 11:49:31 GMT 2010  Richard Boulton <richard@tartarus.org>
8899         * matcher/orpostlist.cc,tests/api_backend.cc: Fix several bugs in
8900           OrPostList::check() (introduced since 1.2.0).  Fixes ticket #485.
8901           Specifically, we have to check a sub-postlist even if head=did,
8902           because we need to know if that sub-postlist is valid.  Also, if
8903           a sub-postlist is not valid, set its head to did+1, since we know
8904           that we're no longer interested in matches before did, and this
8905           allows the OrPostList to assume that the minimum docid of its
8906           children is the current docid.
8908 Thu Jun 03 07:15:24 GMT 2010  Olly Betts <olly@survex.com>
8910         * matcher/: Implement MultiXorPostList which returns correct weights
8911           for XOR of more than 2 subqueries, and drop XorPostList completely.
8912           (ticket#475)
8913         * tests/api_anydb.cc: Add regression test xor2.
8915 Thu Jun 03 04:38:56 GMT 2010  Olly Betts <olly@survex.com>
8917         * tests/api_replicate.cc: Tweak loop end test to be a normal while.
8919 Thu Jun 03 01:22:20 GMT 2010  Olly Betts <olly@survex.com>
8921         * tests/api_stem.cc: Note stem2's feature was backported to 1.0.21.
8923 Tue Jun 01 13:49:44 GMT 2010  Olly Betts <olly@survex.com>
8925         * backends/brass/brass_database.cc,backends/brass/brass_termlist.cc,
8926           backends/chert/chert_database.cc,backends/chert/chert_termlist.cc,
8927           backends/flint/flint_database.cc,backends/flint/flint_document.cc,
8928           backends/flint/flint_termlist.cc,matcher/: Fix LOGCALL_VOID uses
8929           for ctors and dtors to be LOGCALL_CTOR and LOGCALL_DTOR respectively.
8931 Tue Jun 01 13:33:07 GMT 2010  Olly Betts <olly@survex.com>
8933         * api/omdocument.cc: Use LOGCALL_VOID instead of LOGCALL with a void
8934           return type.
8936 Tue Jun 01 13:08:02 GMT 2010  Olly Betts <olly@survex.com>
8938         * matcher/multimatch.cc: The debug logging now copes with being passed
8939           RSet* so remove special casing with ?:.
8941 Tue Jun 01 10:17:27 GMT 2010  Olly Betts <olly@survex.com>
8943         * HACKING,configure.ac: Drop support for --enable-log=profile -
8944           dedicated profiling tools are likely to return more useful results.
8945         * common/debuglog.cc,common/debuglog.h: Rename xapian_debuglogger__
8946           global to xapian_debuglogger_ to avoid reserved __ in the name.
8947         * common/omdebug.cc,common/omdebug.h: Remove in favour of debuglog.h.
8948         * common/pretty.h: New PrettyOStream<> template class for pretty
8949           printing types in debug logs (and eventually the testsuite).
8950         * api/,backends/brass/,backends/chert/,
8951           backends/dbfactory_remote.cc,backends/flint/,
8952           backends/inmemory/inmemory_database.cc,
8953           backends/inmemory/inmemory_document.cc,
8954           backends/inmemory/inmemory_positionlist.cc,
8955           backends/multi/multi_postlist.cc,backends/multi/multi_termlist.cc,
8956           common/,expand/esetinternal.cc,expand/expandweight.cc,
8957           expand/ortermlist.cc,matcher/,net/progclient.cc,
8958           net/remoteconnection.cc: Migrate all remaining uses of omdebug.h to
8959           debuglog.h.  Write more parameters to the debug log.  Retire the
8960           barely used APICALL category and use API instead (reflecting actual
8961           current use).  Add new REPLICA category.  Fix names logged for ctors
8962           and dtors which have "::" in the class name.
8964 Sun May 30 13:45:12 GMT 2010  Olly Betts <olly@survex.com>
8966         * api/omenquire.cc: Remove bogus "Data::" from debug logging for two
8967           methods.
8969 Sun May 30 08:49:22 GMT 2010  Olly Betts <olly@survex.com>
8971         * include/xapian/stem.h,languages/stem.cc: Xapian::Stem now recognises
8972           "nb" and "nn" as codes for the Norwegian stemmer.
8973         * tests/api_stem.cc: Add feature test stem2 to check that these new
8974           codes work.
8976 Sat May 29 10:12:40 GMT 2010  Olly Betts <olly@survex.com>
8978         * common/debuglog.h: Add overload of operator| which writes ", " and
8979           then a value to std::ostream.
8980         * api/omdatabase.cc,api/replication.cc,
8981           backends/brass/brass_alldocspostlist.cc,
8982           backends/brass/brass_metadata.cc,backends/brass/brass_table.cc,
8983           backends/chert/,backends/dbfactory.cc,
8984           backends/flint/flint_alldocspostlist.cc,expand/esetinternal.cc,
8985           expand/expandweight.cc,matcher/,net/remoteconnection.cc,
8986           weight/bm25weight.cc,weight/weight.cc: Use this in LOGCALL uses to
8987           make them shorter and more readable.
8989 Fri May 28 06:47:57 GMT 2010  Olly Betts <olly@survex.com>
8991         * api/leafpostlist.cc,api/omdatabase.cc,backends/brass/brass_table.cc,
8992           backends/chert/chert_table.cc,backends/dbfactory.cc,
8993           backends/flint/flint_alldocspostlist.cc: Put LOGCALL macro use all on
8994           one line so we can more easily mechanise use and update.
8996 Fri May 28 04:22:35 GMT 2010  Olly Betts <olly@survex.com>
8998         * api/replication.cc,api/valueiterator.cc,
8999           backends/brass/brass_alltermslist.cc,
9000           backends/chert/chert_alltermslist.cc,backends/dbfactory.cc,
9001           backends/inmemory/inmemory_document.cc,
9002           backends/remote/remote-document.cc,matcher/synonympostlist.cc,
9003           net/remoteconnection.cc,weight/bm25weight.cc: Use NO_ARGS instead of
9004           "" and LOGCALL_VOID instead of LOGCALL with void return type.
9006 Fri May 28 04:12:35 GMT 2010  Olly Betts <olly@survex.com>
9008         * matcher/valuerangepostlist.cc: Add missing inclusions of
9009           "debuglog.h".
9010         * backends/brass/brass_metadata.h,backends/brass/brass_postlist.h,
9011           backends/brass/brass_synonym.h,backends/chert/chert_metadata.h,
9012           backends/chert/chert_postlist.h,backends/chert/chert_synonym.h,
9013           backends/dbfactory_remote.cc,backends/flint/flint_metadata.h,
9014           backends/flint/flint_synonym.h,common/database.h,common/rset.h:
9015           Remove unused inclusions of "omassert.h" and "omdebug.h".
9016         * common/rset.h: Remove unused inclusion of "weightinternal.h".
9017         * api/omdatabase.cc,api/registry.cc,api/replication.cc,backends/brass/,
9018           backends/chert/,backends/dbfactory.cc,backends/flint/: Add missing
9019           explicit inclusions of "debuglog.h". Fix LOGCALL markup of ctors and
9020           dtors.  Use LOGCALL instead of DEBUGCALL.
9022 Fri May 28 04:06:08 GMT 2010  Olly Betts <olly@survex.com>
9024         * backends/flint/flint_alldocspostlist.h: Add missing explicit
9025           inclusions of "autoptr.h", "flint_database.h", and forward
9026           declaration of class FlintCursor.
9028 Fri May 28 03:52:40 GMT 2010  Olly Betts <olly@survex.com>
9030         * common/const_database_wrapper.h,common/databasereplicator.h,
9031           common/gnu_getopt.h: Add "(C)" to copyright statements for
9032           consistency with other files.
9034 Fri May 28 03:45:26 GMT 2010  Olly Betts <olly@survex.com>
9036         * queryparser/queryparser.lt: Include "debuglog.h" instead of
9037           "omdebug.h".
9039 Fri May 28 03:45:03 GMT 2010  Olly Betts <olly@survex.com>
9041         * queryparser/queryparser.cc: Remove unused inclusion of "omdebug.h".
9043 Fri May 28 03:40:50 GMT 2010  Olly Betts <olly@survex.com>
9045         * expand/esetinternal.cc,matcher/localmatch.cc,matcher/multimatch.cc,
9046           matcher/rset.cc: Add missing explicit inclusions of "omassert.h".
9048 Thu May 27 23:39:57 GMT 2010  Olly Betts <olly@survex.com>
9050         * common/Makefile.mk,common/expand.h: Remove unused header.
9052 Thu May 27 06:45:27 GMT 2010  Olly Betts <olly@survex.com>
9054         * include/xapian/stem.h: Update the list of languages that the
9055           Xapian::Stem constructor recognises.
9057 Thu May 27 05:20:42 GMT 2010  Olly Betts <olly@survex.com>
9059         * include/xapian/stem.h,languages/Makefile.mk,
9060           languages/compiler/generator.c,languages/stem.cc,
9061           languages/steminternal.cc,languages/steminternal.h,tests/Makefile.am,
9062           tests/api_stem.cc: Add the ability to specify your own stemming
9063           algorithm by subclassing Xapian::StemImplementation, mostly based on
9064           patch from Evgeny Sizikov in ticket#448.
9066 Thu May 27 04:50:31 GMT 2010  Olly Betts <olly@survex.com>
9068         * tests/api_opvalue.cc: Use TEST_REL() instead of tout and TEST() with
9069           an inequality.
9071 Thu May 27 04:28:07 GMT 2010  Olly Betts <olly@survex.com>
9073         * api/replication.cc,backends/databasereplicator.cc,common/debuglog.h,
9074           common/omdebug.h,expand/esetinternal.cc,expand/ortermlist.cc,
9075           matcher/,net/remoteconnection.cc: Partial mass conversion of files
9076           from omdebug.h to debuglog.h (this takes care off all the files
9077           without BSN copyright).
9079 Thu May 27 04:24:36 GMT 2010  Olly Betts <olly@survex.com>
9081         * common/output.h: Use <ostream> not <fstream>.
9083 Thu May 27 04:09:25 GMT 2010  Olly Betts <olly@survex.com>
9085         * matcher/orpostlist.cc: Prefer ++x to x += 1 for consistency.
9087 Wed May 26 13:32:20 GMT 2010  Olly Betts <olly@survex.com>
9089         * matcher/exactphrasepostlist.cc: Separate (C) notice from @file
9090           doccomment.
9092 Wed May 26 13:11:57 GMT 2010  Olly Betts <olly@survex.com>
9094         * backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h:
9095           Move virtual method FlintPostList::get_doclength() definition out
9096           of header, which also means the header no longer needs omdebug.h.
9098 Wed May 26 13:03:22 GMT 2010  Olly Betts <olly@survex.com>
9100         * common/debuglog.h: Strip out commented out RETURN_VOID machinery.
9101           This case is automatically handled provided LOGCALL_VOID is used.
9103 Wed May 26 12:33:04 GMT 2010  Olly Betts <olly@survex.com>
9105         * common/debuglog.h: Don't check the category more than once in ctors
9106           and dtors.  Don't convert the return value to a string in RETURN()
9107           unless we want to log it.
9109 Wed May 26 02:33:00 GMT 2010  Olly Betts <olly@survex.com>
9111         * tests/api_opvalue.cc: Convert file description to doccomment.
9112           Remove unused headers and reorder remainder more standardly.
9114 Tue May 25 10:17:42 GMT 2010  Olly Betts <olly@survex.com>
9116         * tests/api_backend.cc: Note ordecay1 and ordecay2 fixes now also in
9117           1.0.21.  Whitespace tweak.
9119 Tue May 25 04:11:53 GMT 2010  Olly Betts <olly@survex.com>
9121         * tests/api_backend.cc: make_ordecay1_db and make_ordecay2_db end up
9122           looping over at least 4 billion values (or possibly infinitely) on
9123           platforms where sizeof(long) == 8.  The two databases are very
9124           similar and the latter one works for the former test, so use the
9125           same db for both tests, and rewrite the generator to work
9126           portably.
9128 Sun May 23 07:30:58 GMT 2010  Olly Betts <olly@survex.com>
9130         * tests/api_backend.cc: Note XOR decay bug also fixed in 1.0.21.
9132 Sat May 22 13:31:38 GMT 2010  Olly Betts <olly@survex.com>
9134         * configure.ac,tests/Makefile.am: Only try to build zlib-vg.so if we
9135           are found a suitable valgrind installed (otherwise it's a waste of
9136           effort to build it, and the build will fail without the valgrind
9137           headers).
9139 Sat May 22 13:18:33 GMT 2010  Olly Betts <olly@survex.com>
9141         * configure.ac,tests/Makefile.am,tests/runtest.in,tests/zlib-vg.c: zlib
9142           can produce "uninitialised" output from "initialised" input - the
9143           output does decode to the input, so this is presumably just some
9144           unused bits in the output, so we use an LD_PRELOAD hack to get
9145           valgrind to check the input is initialised and then tell it that the
9146           output is initialised.
9148 Wed May 19 14:34:52 GMT 2010  Richard Boulton <richard@tartarus.org>
9150         * matcher/andmaybepostlist.cc,matcher/andmaybepostlist.h,
9151           matcher/orpostlist.cc: Fix a bug causing documents to be skipped
9152           when OR decayed to AND_MAYBE, if the new RHS was behind the LHS
9153           at the time of the decay.  Fixes #476.
9154         * tests/api_backend.cc: Add test case ordecay2 as a regression test
9155           of this.  Also, remove some debug output in ordecay1, to speed it
9156           up quite a bit.
9158 Wed May 19 11:48:07 GMT 2010  Richard Boulton <richard@tartarus.org>
9160         * matcher/orpostlist.cc,tests/api_backend.cc: Fix a bug in the
9161           decay from OR to AND: if the decay happened when the two
9162           sub-postlists were on different docids, but the higher of those
9163           docids actually occurred in both postlists, the higher docid
9164           would be incorrectly skipped.  Add regression test ordecay1 to
9165           test this.
9167 Wed May 19 10:36:55 GMT 2010  Richard Boulton <richard@tartarus.org>
9169         * tests/api_backend.cc,tests/api_compact.cc,
9170           tests/harness/testrunner.cc,tests/harness/testrunner.h: Add new
9171           test backend selection flag "generated", to select only backends
9172           which support generated test databases.
9174 Wed May 19 03:14:15 GMT 2010  Olly Betts <olly@survex.com>
9176         * api/,backends/brass/,backends/chert/,
9177           backends/contiguousalldocspostlist.cc,backends/flint/,
9178           backends/inmemory/inmemory_database.cc,
9179           backends/remote/remote-database.cc,backends/slowvaluelist.cc,
9180           common/utils.h,expand/esetinternal.cc,matcher/phrasepostlist.cc,
9181           net/remoteserver.cc,net/remotetcpclient.cc,
9182           queryparser/termgenerator.cc,tests/,
9183           tests/harness/backendmanager_multi.cc,
9184           tests/harness/backendmanager_remote.cc,
9185           tests/harness/backendmanager_remotetcp.cc,tests/internaltest.cc,
9186           tests/perftest/perftest.cc,tests/perftest/perftest_matchdecider.cc,
9187           tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc,
9188           tests/termgentest.cc: Fully migrate from om_tostring() to str().
9190 Wed May 19 03:13:43 GMT 2010  Olly Betts <olly@survex.com>
9192         * cmake/xapian-config-version.cmake,cmake/xapian-config.cmake: Remove
9193           generated files from SVN.
9195 Wed May 19 02:59:47 GMT 2010  Olly Betts <olly@survex.com>
9197         * bin/xapian-inspect.cc: Add misisng explicit '#include <utils.h>'.
9199 Tue May 18 14:24:03 GMT 2010  Olly Betts <olly@survex.com>
9201         * bin/Makefile.mk,bin/xapian-check.cc,bin/xapian-compact.cc: Improve
9202           building with flint, chert and/or brass disabled (partially addresses
9203           ticket#361).
9205 Tue May 18 00:42:08 GMT 2010  Olly Betts <olly@survex.com>
9207         * matcher/multimatch.cc: Fix warnings with --disable-backend-remote
9208           (partially addresses ticket#361).
9210 Sat May 15 06:56:26 GMT 2010  Olly Betts <olly@survex.com>
9212         * net/progclient.cc: Read the max fd with sysconf() instead of using
9213           a hardcoded value of 256.  Work even if stdin and stdout have been
9214           closed.
9216 Thu May 13 10:53:24 GMT 2010  Richard Boulton <richard@tartarus.org>
9218         * matcher/orpostlist.cc: Correct some debugging lines.
9220 Thu May 13 09:57:12 GMT 2010  Richard Boulton <richard@tartarus.org>
9222         * matcher/xorpostlist.cc,matcher/xorpostlist.h: Pass a minweight
9223           value of 0 to children of XOR postlists, because we need to know
9224           about all matching documents from the children even if they have
9225           a low weight.
9226         * tests/api_backend.cc: Regression test for this: xordecay1.
9228 Thu May 13 08:47:22 GMT 2010  Richard Boulton <richard@tartarus.org>
9230         * tests/soaktest/soaktest_queries.cc: Add more code comments,
9231           increase the number of repetitions from 100 to 10000, remove
9232           accidentally added semicolons after some braces, remove "return
9233           false" at end of test which was added for debugging purposes,
9234           clear tout before testing each query, and display the query
9235           number, the query, and the msets in the event of failure.
9237 Tue May 11 10:16:05 GMT 2010  Richard Boulton <richard@tartarus.org>
9239         * tests/soaktest/soaktest_queries.cc: Don't fail for empty result
9240           sets.
9242 Tue May 11 10:13:08 GMT 2010  Richard Boulton <richard@tartarus.org>
9244         * tests/soaktest/: Add a "soaktest" testsuite, intended to contain
9245           long-running tests with random data.  Currently contains a single
9246           test which builds and runs random queries, checking that the
9247           results returned are consistent when asking for different result
9248           ranges.
9250 Mon May 10 16:57:29 GMT 2010  Richard Boulton <richard@tartarus.org>
9252         * tests/api_opvalue.cc: Add tests for OP_VALUE_RANGE to get
9253           coverage of the skip_to() and check() methods of
9254           ValueRangePostList.
9256 Mon May 10 16:51:14 GMT 2010  Richard Boulton <richard@tartarus.org>
9258         * tests/api_opvalue.cc: Add a test to get coverage of
9259           ValueGePostList::skip_to().
9261 Sun May 09 21:22:50 GMT 2010  Richard Boulton <richard@tartarus.org>
9263         * tests/api_nodb.cc,tests/api_opvalue.cc: Move test "opvaluege1"
9264           from api_nodb.cc to api_opvalue.cc, and rename to valuege3 for
9265           consistency with other tests of OP_VALUE_GE.
9267 Sun May 09 21:19:43 GMT 2010  Richard Boulton <richard@tartarus.org>
9269         * tests/Makefile.am,tests/api_anydb.cc,tests/api_opvalue.cc: Move
9270           the tests for OP_VALUE_* query operators from api_anydb.cc to
9271           api_opvalue.cc.  Remove copyright statements earlier than 2007,
9272           since OP_VALUE_* wasn't added until 2007.
9274 Sun May 09 21:04:06 GMT 2010  Richard Boulton <richard@tartarus.org>
9276         * matcher/valuegepostlist.cc: Initialise valuelist in check() if
9277           necessary.
9278         * tests/api_anydb.cc: Add regression test for this.
9280 Thu May 06 15:03:43 GMT 2010  Richard Boulton <richard@tartarus.org>
9282         * tests/api_replicate.cc: Add some extra debugging, to help
9283           identify the problem with ticket #472.
9285 Thu May 06 13:38:25 GMT 2010  Olly Betts <olly@survex.com>
9287         * common/safeuuid.h,configure.ac,INSTALL: Make use of built-in UUID API
9288           on FreeBSD and NetBSD.  (ticket#470)
9290 Thu May 06 13:10:30 GMT 2010  Olly Betts <olly@survex.com>
9292         * AUTHORS,Makefile.am,cmake/,configure.ac: Install files to make Xapian
9293           easier to use with cmake.  Thanks to Sune Vuorela for providing the
9294           desired output.
9296 Thu May 06 11:42:16 GMT 2010  Olly Betts <olly@survex.com>
9298         * tests/harness/fdtracker.cc: Don't pass NULL to closedir().
9300 Thu May 06 11:19:41 GMT 2010  Olly Betts <olly@survex.com
9302         * tests/api_anydb.cc: Test UUID is 36 characters long.
9304 Thu May 06 10:41:21 GMT 2010  Olly Betts <olly@survex.com>
9306         * matcher/valuegepostlist.cc: Use "str.h" and str().
9308 Thu May 06 10:01:48 GMT 2010  Olly Betts <olly@survex.com>
9310         * matcher/valuegepostlist.cc: Remove unused headers.
9312 Thu May 06 09:55:27 GMT 2010  Richard Boulton <richard@tartarus.org>
9314         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc:
9315           Keep return value from valuelist->get_value() as a const string &
9316           rather than a string - could be more efficient on some compilers,
9317           though testing with gcc 4.1 revealed no difference.
9319 Thu May 06 09:49:12 GMT 2010  Richard Boulton <richard@tartarus.org>
9321         * matcher/valuegepostlist.cc: "while(" -> "while (" in recent patch.
9323 Thu May 06 09:30:27 GMT 2010  Olly Betts <olly@survex.com>
9325         * docs/replication.rst: Remove experimental warning.
9327 Thu May 06 05:05:57 GMT 2010  Olly Betts <olly@survex.com>
9329         * matcher/valuerangepostlist.cc: Use "str.h" and str().
9331 Thu May 06 05:03:22 GMT 2010  Olly Betts <olly@survex.com>
9333         * matcher/valuerangepostlist.cc: Remove '#include "leafpostlist.h"'
9334           and '#include "document.h"' which are no longer used.
9336 Thu May 06 04:53:07 GMT 2010  Olly Betts <olly@survex.com>
9338         * matcher/valuerangepostlist.cc: Remove '#include "autoptr.h"' which is
9339           no longer required.
9341 Thu May 06 04:18:25 GMT 2010  Olly Betts <olly@survex.com>
9343         * matcher/valuerangepostlist.cc: "while(" -> "while (" in recent patch.
9345 Wed May 05 16:44:17 GMT 2010  Richard Boulton <richard@tartarus.org>
9347         * matcher/orpostlist.cc,matcher/orpostlist.h: Add
9348           OrPostList::check() method, which calls check() on the
9349           sub-postlists, rather than falling back to skip_to().  This is
9350           particularly helpful when a sub-postlist is one for which
9351           skip_to() can be significantly more expensive than check(), such
9352           as a ValueRangePostList.  I've observed a speedup of 10 times for
9353           such a subquery with this change.
9355 Wed May 05 16:34:30 GMT 2010  Richard Boulton <richard@tartarus.org>
9357         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc,
9358           matcher/valuerangepostlist.h: Implement ValueRangePostList and
9359           ValueGePostList using a ValueList streaming values for the value
9360           slot of interest, rather than using an AllDocsPostList to get all
9361           documents, using that to open temporary documents for each
9362           document being considered, and then using that to get the value.
9363           I've observed a speedup of more than 70 times for range queries
9364           in a real-world situation with this change (a 29 second search
9365           became a 0.4 second search). (ticket#432)
9367 Wed May 05 06:44:31 GMT 2010  Olly Betts <olly@survex.com>
9369         * NEWS: Update from ChangeLog.
9371 Wed May 05 05:42:56 GMT 2010  Olly Betts <olly@survex.com>
9373         * backends/brass/brass_cursor.cc,backends/chert/chert_cursor.cc,
9374           backends/flint/flint_cursor.cc: If we have to rebuild the cursor
9375           on next() because the table changed underneath us, we need to
9376           advance it because find_entry() will put the cursor on the entry
9377           we were already on, or the one before if the entry we were on
9378           has been removed.  Bug uncovered by notmuch testsuite, but I'm
9379           unable to reduce it to a sane testcase for our testsuite.
9380           (Debian#579951)
9382 Tue May 04 19:38:31 GMT 2010  Richard Boulton <richard@tartarus.org>
9384         * api/replication.cc,bin/xapian-replicate.cc,
9385           common/replicatetcpclient.h,common/replication.h,
9386           net/replicatetcpclient.cc,tests/api_replicate.cc: Fix a bug in
9387           replication, which triggered when multiple modifications were
9388           made to a database while a full copy of the database was in
9389           progress.  In this situation, the client would fail to apply more
9390           than one changeset before trying (and failing) to make the
9391           database live, due to an incorrect assignment of the new revision
9392           number to "offline_needed_revision" instead of
9393           "offline_revision".  Also, replication now only sleeps for a
9394           period (to allow reader to catch up) after a changeset has been
9395           applied to a live database - previously, it would sleep
9396           unnecessarily after a changeset had been applied to an offline
9397           database.  Also, make the period for which replication sleeps in
9398           this situation configurable with the "-r" command line option to
9399           xapian-replicate.
9400           A test for these changes will be committed to xapian-bindings
9401           shortly.
9403 Sat May 01 15:25:48 GMT 2010  Olly Betts <olly@survex.com>
9405         * Merge change accidentally committed to brass-btree branch:
9406         * tests/perftest/runprocess.cc: Use safesyswait.h, fixing build failure
9407           on "make check" on FreeBSD.
9409 Fri Apr 30 12:33:25 GMT 2010  Richard Boulton <richard@tartarus.org>
9411         * backends/brass/brass_databasereplicator.cc,
9412           backends/chert/chert_databasereplicator.cc,
9413           backends/flint/flint_databasereplicator.cc,tests/api_replicate.cc:
9414           If a DB file doesn't exist when applying a changeset, try
9415           creating it - this happens with lazy tables which aren't created
9416           in the initial revision copied.  Add replicate4 test to check
9417           that this works correctly with a lazily created position table.
9418           Fixes ticket #468.
9420 Fri Apr 30 07:09:31 GMT 2010  Olly Betts <olly@survex.com>
9422         * docs/deprecation.rst: Replication and PostingSource aren't
9423           experimental in 1.2.x.
9425 Fri Apr 30 00:52:22 GMT 2010  Olly Betts <olly@survex.com>
9427         * tests/harness/testsuite.cc: Fix typo in previous commit.
9429 Thu Apr 29 23:46:09 GMT 2010  Olly Betts <olly@survex.com>
9431         * tests/harness/testsuite.cc: Check is SA_SIGINFO is defined before
9432           using it as it isn't available everywhere.  Fixes FTBFS on GNU Hurd.
9434 Thu Apr 29 12:11:48 GMT 2010  Olly Betts <olly@survex.com>
9436         * configure.ac: Install headers under PREFIX/include not
9437           PREFIX/include/xapian.  This broke compiling code which didn't use
9438           XO_LIB_XAPIAN or xapian-config.
9440 Wed Apr 28 12:05:23 GMT 2010  Olly Betts <olly@survex.com>
9442         * Makefile.am,m4-macros/xapian-1.1.m4: Remove -1.1 suffix from
9443           xapian-1.1.m4 and libxapian-1.1.la.
9445 Wed Apr 28 06:15:45 GMT 2010  Olly Betts <olly@survex.com>
9447         * NEWS: Sync with 1.0.20.
9448         * NEWS,configure.ac: 1.2.0!
9450 Tue Apr 27 12:45:29 GMT 2010  Olly Betts <olly@survex.com>
9452         * AUTHORS: Add bug reporter.
9454 Mon Apr 26 08:26:26 GMT 2010  Olly Betts <olly@survex.com>
9456         * common/getopt.cc,common/gnu_getopt.h: On Cygwin, #include <getopt.h>
9457           for declarations of optind, etc rather than providing our own
9458           declarations.  Should fix warnings in Cygwin build reported by Reini
9459           Urban on xapian-devel list.
9461 Mon Apr 26 06:27:07 GMT 2010  Olly Betts <olly@survex.com>
9463         * common/getopt.cc,common/gnu_getopt.h: Revert previous 2
9464           getopt-related patches.  The latest state was breaking on Solaris
9465           which (contrary to what its man pages say) prototypes getopt() stuff
9466           in stdlib.h.  This seems to be a rabbit hole we don't want to head
9467           further down.
9469 Sat Apr 24 02:12:53 GMT 2010  Olly Betts <olly@survex.com>
9471         * examples/delve.cc: Update --help output for -v to cover all terms
9472           case.
9474 Sat Apr 24 01:58:00 GMT 2010  Olly Betts <olly@survex.com>
9476         * examples/delve.cc: Add -a option to list all terms in a database.
9478 Sat Apr 24 01:51:01 GMT 2010  Olly Betts <olly@survex.com>
9480         * examples/copydatabase.cc: Prefer string() to "" converted to string.
9482 Thu Apr 22 14:21:30 GMT 2010  Olly Betts <olly@survex.com>
9484         * matcher/multimatch.cc: Fix bug related to ticket#464 (the previous
9485           fix doesn't fix some similar cases).
9486         * tests/api_backend.cc: Add regression test msize2.
9488 Thu Apr 22 11:02:11 GMT 2010  Olly Betts <olly@survex.com>
9490         * tests/: Hook up --abort-on-error fix for termgentest, stemtest,
9491           queryparsertest, and internaltest.
9493 Thu Apr 22 06:06:53 GMT 2010  Olly Betts <olly@survex.com>
9495         * HACKING: Add a hyphen.
9497 Wed Apr 21 11:16:50 GMT 2010  Olly Betts <olly@survex.com>
9499         * tests/harness/testrunner.cc: Exit with status 1 not 0 if we caught an
9500           exception from the harness itself.
9502 Wed Apr 21 11:11:10 GMT 2010  Olly Betts <olly@survex.com>
9504         * tests/harness/testrunner.cc,tests/harness/testsuite.cc: Fix
9505           --abort-on-error to actually work.
9507 Tue Apr 20 12:53:29 GMT 2010  Olly Betts <olly@survex.com>
9509         * docs/deprecation.rst: Note how to disable deprecation warnings.
9511 Tue Apr 20 07:27:23 GMT 2010  Olly Betts <olly@survex.com>
9513         * api/omenquire.cc,matcher/multimatch.cc: Fix incorrect estimate and
9514           bounds on matches when sorting and collapsing in a particular case
9515           (ticket#464).
9516         * tests/api_backend.cc: Add regression test msize1.
9518 Mon Apr 19 01:59:59 GMT 2010  Olly Betts <olly@survex.com>
9520         * examples/delve.cc: Use strtoul() instead of atoi() to decode document
9521           id and value slot numbers passed on the command line.  Report out of
9522           range and invalid values.
9524 Sat Apr 17 09:17:25 GMT 2010  Olly Betts <olly@survex.com>
9526         * common/getopt.cc,common/gnu_getopt.h: Fix getopt code to work on
9527           platforms without GNU getopt but with getopt().
9529 Fri Apr 16 14:23:49 GMT 2010  Olly Betts <olly@survex.com>
9531         * NEWS,configure.ac: Update for 1.1.5.
9532         * NEWS: Sync changes from 1.0.19.
9534 Fri Apr 16 12:29:14 GMT 2010  Olly Betts <olly@survex.com>
9536         * tests/harness/testsuite.cc: Handle NULL in the const char * catch.
9538 Fri Apr 16 05:47:43 GMT 2010  Olly Betts <olly@survex.com>
9540         * api/postingsource.cc: Fix wrapping.
9542 Thu Apr 15 09:07:40 GMT 2010  Richard Boulton <richard@tartarus.org>
9544         * tests/api_replicate.cc: Use a fixed size buffer for copying a
9545           file, rather than a dynamically sized buffer; avoids using the
9546           GCC extension allowing dynamically sized arrays.
9548 Thu Apr 15 04:02:34 GMT 2010  Olly Betts <olly@survex.com>
9550         * AUTHORS: Update with bug reporters.
9552 Thu Apr 15 00:30:45 GMT 2010  Olly Betts <olly@survex.com>
9554         * include/xapian/termgenerator.h: Note how TermGenerator handles
9555           stopwords.
9557 Wed Apr 14 23:41:55 GMT 2010  Olly Betts <olly@survex.com>
9559         * common/getopt.cc,common/gnu_getopt.h: Put our optarg, etc in a
9560           namespace and then pull them in to avoid linking to versions in the C
9561           library.  Fixes warnings on Cygwin.
9563 Wed Apr 14 15:33:39 GMT 2010  Olly Betts <olly@survex.com>
9565         * tests/api_backend.cc: Remove already fixed FIXME comment.
9567 Wed Apr 14 14:13:10 GMT 2010  Olly Betts <olly@survex.com>
9569         * queryparser/queryparser.lemony: Use const reference to avoid a
9570           needless handle copy.
9572 Wed Apr 14 14:00:21 GMT 2010  Olly Betts <olly@survex.com>
9574         * backends/brass/brass_alltermslist.cc,
9575           backends/brass/brass_alltermslist.h,
9576           backends/chert/chert_alltermslist.cc,
9577           backends/chert/chert_alltermslist.h,
9578           backends/flint/flint_alltermslist.cc,
9579           backends/flint/flint_alltermslist.h: Fix memory leak if Database
9580           throws an exception in XXXAllTermsList constructor.  Fixes bug#462.
9581         * tests/api_backend.cc: Enable qpmemoryleak1 for non-remote backends as
9582           a regression test for this fix.
9584 Tue Apr 13 12:38:08 GMT 2010  Olly Betts <olly@survex.com>
9586         * backends/flint/flint_table.cc: Don't memcpy() a block to itself -
9587           it's a waste of effort, and (probably) undefined behaviour (as a
9588           block overlaps itself).
9590 Tue Apr 13 12:36:53 GMT 2010  Olly Betts <olly@survex.com>
9592         * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Don't
9593           memcpy() a block to itself - it's a waste of effort, and (probably)
9594           undefined behaviour (as a block overlaps itself).
9596 Tue Apr 13 08:38:40 GMT 2010  Olly Betts <olly@survex.com>
9598         * queryparser/queryparser.lemony: Add a ParserHandler class to take
9599           care of releasing the yyParser object.
9601 Tue Apr 13 07:49:33 GMT 2010  Olly Betts <olly@survex.com>
9603         * common/autoptr.h: Fix comment typo.
9605 Tue Apr 13 07:47:40 GMT 2010  Olly Betts <olly@survex.com>
9607         * api/replication.cc: "autoptr.h" not <autoptr.h> (it's an in-tree
9608           header).
9610 Tue Apr 13 07:25:11 GMT 2010  Olly Betts <olly@survex.com>
9612         * queryparser/queryparser.lemony: Fix leak of yyParser if an exception
9613           is thrown during parsing.   Partly fixes ticket#462.
9614         * tests/api_backend.cc: Add regression test qpmemoryleak1.
9616 Tue Apr 13 01:37:08 GMT 2010  Olly Betts <olly@survex.com>
9618         * common/utils.cc,common/utils.h: Revert change to make removedir()
9619           recurse into subdirectories - it doesn't fix a bug, so isn't
9620           appropriate when we're trying to get 1.2.0 out (backends don't
9621           currently put files in subdirectories, which was the justification
9622           in the commit message).
9624 Mon Apr 12 11:50:37 GMT 2010  Olly Betts <olly@survex.com>
9626         * Backport change from brass:
9627         * backends/flint/: Fix to rebuild cursors if the table gains or loses a
9628           level.  Fixes ticket#455.
9630 Mon Apr 12 09:29:39 GMT 2010  Olly Betts <olly@survex.com>
9632         * Backport change from brass:
9633         * backends/chert/: Fix to rebuild cursors if the table gains or loses a
9634           level.  Fixes ticket#455.
9636 Mon Apr 12 09:26:53 GMT 2010  Olly Betts <olly@survex.com>
9638         * backends/brass/: Fix to rebuild cursors if the table gains or loses a
9639           level.  Fixes ticket#455.
9641 Mon Apr 12 08:27:29 GMT 2010  Olly Betts <olly@survex.com>
9643         * tests/api_none.cc: Work around compilation failure on OpenBSD.  Fixes
9644           ticket#458.
9646 Fri Apr 02 04:03:04 GMT 2010  Olly Betts <olly@survex.com>
9648         * m4-macros/xapian-1.1.m4: Give a more specific error message for the
9649           cases where XAPIAN_CONFIG isn't found, is a directory, or isn't
9650           executable.
9652 Thu Mar 25 14:43:57 GMT 2010  Olly Betts <olly@survex.com>
9654         * tests/api_backend.cc: Add databasemodified1 testcase to provide some
9655           test coverage for DatabaseModifiedError.
9657 Thu Mar 25 06:32:44 GMT 2010  Olly Betts <olly@survex.com>
9659         * bin/xapian-check-flint.cc: Report docid for doclength mismatch.
9661 Thu Mar 25 06:23:26 GMT 2010  Olly Betts <olly@survex.com>
9663         * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Report docid for
9664           doclength mismatch.
9666 Sat Mar 20 15:04:18 GMT 2010  Olly Betts <olly@survex.com>
9668         * docs/spelling.rst: Add a note about removing automatically added
9669           spelling dictionary entries.
9671 Sat Mar 20 09:30:44 GMT 2010  Olly Betts <olly@survex.com>
9673         * docs/spelling.rst: Add section on indexing.  Move the "algorithm"
9674           section to the end, as it is really just background information for
9675           the curious.
9677 Wed Mar 17 01:33:39 GMT 2010  Olly Betts <olly@survex.com>
9679         * INSTALL: Add a hyphen.
9681 Wed Mar 17 01:30:34 GMT 2010  Olly Betts <olly@survex.com>
9683         * INSTALL: Correct description of --enable-assertions.  It does NOT
9684           enable debugging symbols, and shouldn't control checks on bad data
9685           passed to API calls (if it does anywhere, that's a bug).  Note that
9686           Xapian will run more slowly with assertions on.
9688 Wed Mar 17 01:10:13 GMT 2010  Olly Betts <olly@survex.com>
9690         * backends/brass/brass_values.cc: Put ValueUpdater in Brass namespace
9691           to avoid cross-linking issues with ValueUpdater class in chert
9692           (change taken from brass-btree branch).
9694 Sun Mar 14 10:05:36 GMT 2010  Olly Betts <olly@survex.com>
9696         * Backport change from chert:
9697         * backends/flint/flint_database.cc,
9698           backends/flint/flint_positionlist.cc,
9699           backends/flint/flint_positionlist.h: When updating a document, rather
9700           than decoding the old positions, comparing with the new, and then
9701           encoding the new if different, we now just encode the new and then
9702           compare the encoded forms.  (ticket#428)  This change also avoids
9703           calling FlintPositionListTable::del() when we know the entry doesn't
9704           already exist.
9705         * backends/flint/flint_positionlist.cc: Minor refactor to improve
9706           code clarity and to only create std::string variable when it
9707           is needed.
9709 Sun Mar 14 09:45:34 GMT 2010  Olly Betts <olly@survex.com>
9711         * Backport change from brass:
9712         * backends/chert/chert_positionlist.cc: Minor refactor to improve
9713           code clarity and to only create std::string variable when it
9714           is needed.
9716 Sun Mar 14 09:29:54 GMT 2010  Olly Betts <olly@survex.com>
9718         * backends/brass/brass_positionlist.cc: Minor refactor to improve
9719           code clarity and to only create std::string variable when it
9720           is needed.
9722 Sun Mar 14 07:37:03 GMT 2010  Olly Betts <olly@survex.com>
9724         * api/replication.cc,tests/api_closedb.cc,tests/api_metadata.cc,
9725           tests/internaltest.cc: Catch by const reference rather than just
9726           reference, unless we actually need to modify the caught object.
9728 Sun Mar 14 06:45:11 GMT 2010  Olly Betts <olly@survex.com>
9730         * api/replication.cc: Check live_db only has a single sub-database even
9731           if we just lazily opened it.
9733 Sun Mar 14 05:00:21 GMT 2010  Olly Betts <olly@survex.com>
9735         * backends/flint/flint_database.cc,
9736           backends/flint/flint_databasereplicator.cc: Add missing explicit
9737           '#include "str.h"'.
9739 Sat Mar 13 09:22:24 GMT 2010  Richard Boulton <richard@tartarus.org>
9741         * tests/api_replicate.cc: Always use off_t to refer to the size of a
9742           file: fixes warnings about comparting a signed value to an unsigned
9743           value.
9745 Thu Mar 11 16:07:10 GMT 2010  Richard Boulton <richard@tartarus.org>
9747         * api/replication.cc: Open the livedb lazily if it gets left in a
9748           closed state (due to an exception when applying a changeset),
9749           rather than reopening it straight away in an exception handler.
9750           This requires the livedb to become a mutable member, but is safer
9751           in the event that an exception is thrown by the WritableDatabase
9752           constructor.
9754 Thu Mar 11 15:17:12 GMT 2010  Richard Boulton <richard@tartarus.org>
9756         * tests/api_replicate.cc: Uncomment the rmtmpdir() at the end of
9757           replicate3; it was accidentally committed debugging code.
9759 Thu Mar 11 13:03:57 GMT 2010  Richard Boulton <richard@tartarus.org>
9761         * api/replication.cc: If an exception is thrown, mark that the
9762           offline revision needed is unknown (represented by being empty);
9763           ensures that a database isn't put live incorrectly in this case.
9764           Also, actually read the message for REPL_REPLY_END_OF_CHANGES, so
9765           that we get an error if the message is truncated.  Also, if an
9766           attempt to apply a changeset to the live database fails with an
9767           exception while the live database is closed, reopen the live
9768           database before allowing the exception to propagate.
9769         * tests/api_replicate.cc: Split replicate() helper function into
9770           two parts, to separate getting the changeset messages, and
9771           applying them. Add replicate3 test, which checks that
9772           replications which are provided with truncated messages raise
9773           appropriate errors.
9775 Thu Mar 11 00:46:39 GMT 2010  Olly Betts <olly@survex.com>
9777         * common/replicate_utils.cc: Avoid creating temporary string objects
9778           to reduce bloat in compiled code.  Remove explicit std:: qualifiers.
9780 Thu Mar 11 00:38:00 GMT 2010  Olly Betts <olly@survex.com>
9782         * common/replicate_utils.cc: The directory we're writing changesets
9783           to will always exist, so no need to ensure it does.
9785 Thu Mar 11 00:10:19 GMT 2010  Olly Betts <olly@survex.com>
9787         * backends/chert/chert_databasereplicator.cc,
9788           backends/flint/flint_databasereplicator.cc: Fix calculation of end
9789           pointer for changes file.  Since the merge, it has been off by
9790           CONST_STRLEN(CHANGES_MAGIC_STRING).
9792 Wed Mar 10 23:59:38 GMT 2010  Olly Betts <olly@survex.com>
9794         * backends/chert/chert_database.cc,
9795           backends/chert/chert_databasereplicator.cc: Add missing explicit
9796           '#include "str.h"'.
9798 Wed Mar 10 13:07:41 GMT 2010  Richard Boulton <richard@tartarus.org>
9800         * common/Makefile.mk,common/replicate_utils.cc,
9801           common/replicate_utils.h: Add some utility functions for
9802           replication to create changeset files, and append content to
9803           them, to avoid duplicating the code in each backend.
9804         * backends/chert/chert_database.cc,
9805           backends/chert/chert_databasereplicator.cc,
9806           backends/chert/chert_databasereplicator.h,
9807           backends/flint/flint_database.cc,
9808           backends/flint/flint_databasereplicator.cc,
9809           backends/flint/flint_databasereplicator.h: Make the
9810           DatabaseReplicator subclasses respect the XAPIAN_MAX_CHANGESETS
9811           environment variable, such that they write the changesets they're
9812           applying to disk if the value is non-zero.  Enables replication
9813           from a replicated copy.
9814         * tests/api_replicate.cc: Refactor some common code, and add
9815           replicate2, which tests replication from a replicated copy.  Skip
9816           this test for brass, since brass doesn't support this.
9818 Wed Mar 10 12:11:41 GMT 2010  Richard Boulton <richard@tartarus.org>
9820         * common/utils.cc,common/utils.h: Make removedir() recurse into
9821           subdirectories; this ensures that replication works if backends
9822           put some files in subdirectories of their replicas (eg, if the
9823           replica is itself a replicated database).
9825 Wed Mar 10 12:07:40 GMT 2010  Richard Boulton <richard@tartarus.org>
9827         * backends/chert/,backends/flint/,common/Makefile.mk,
9828           common/io_utils.cc,common/io_utils.h: Refactor duplicated code
9829           from {flint,chert}_io.{cc,h} into common/io_utils.{cc,h}.  Rename
9830           flint_io_read() to io_read(); do similar for flint_io_write()
9831           and flint_io_sync(), and for the chert versions.  Leave brass
9832           alone to avoid conflicting with the new brass backend development
9833           branch.
9835 Mon Mar 08 02:32:35 GMT 2010  Olly Betts <olly@survex.com>
9837         * bin/xapian-check-chert.cc: Check that the doclen initial chunk
9838           exists.
9840 Tue Mar 02 13:28:50 GMT 2010  Olly Betts <olly@survex.com>
9842         * Backport change from brass:
9843         * backends/chert/chert_database.cc,
9844           backends/chert/chert_positionlist.cc,
9845           backends/chert/chert_positionlist.h: When updating a document, rather
9846           than decoding the old positions, comparing with the new, and then
9847           encoding the new if different, we now just encode the new and then
9848           compare the encoded forms.  (ticket#428)  This change also avoids
9849           calling ChertPositionListTable::del() when we know the entry doesn't
9850           already exist.
9852 Tue Mar 02 04:00:22 GMT 2010  Olly Betts <olly@survex.com>
9854         * tests/harness/testsuite.cc: Harness now catches const char *
9855           exceptions explicitly so it can show their contents.
9857 Tue Mar 02 03:59:27 GMT 2010  Olly Betts <olly@survex.com>
9859         * include/xapian/valueiterator.h: Comment tweak.
9861 Tue Mar 02 03:57:55 GMT 2010  Olly Betts <olly@survex.com>
9863         * include/xapian/queryparser.h: Add missing forward declaration of
9864           "class Database".
9866 Tue Mar 02 01:51:33 GMT 2010  Olly Betts <olly@survex.com>
9868         * NEWS: Update partially from ChangeLog.
9870 Mon Mar 01 05:38:41 GMT 2010  Olly Betts <olly@survex.com>
9872         * backends/brass/brass_database.cc,
9873           backends/brass/brass_positionlist.cc,
9874           backends/brass/brass_positionlist.h: When updating a document, rather
9875           than decoding the old positions, comparing with the new, and then
9876           encoding the new if different, we now just encode the new and then
9877           compare the encoded forms.  (ticket#428)  This change also avoids
9878           calling BrassPositionListTable::del() when we know the entry doesn't
9879           already exist.
9881 Mon Mar 01 02:09:40 GMT 2010  Olly Betts <olly@survex.com>
9883         * net/serialise.cc: Don't call Document::values_count() twice when we
9884           can trivially avoid doing so.  Ditto for termlist_count() and
9885           positionlist_count().
9887 Mon Mar 01 01:53:58 GMT 2010  Olly Betts <olly@survex.com>
9889         * bin/: Rename tot_off to last_docid when it is actually holding the
9890           last_docid value.
9892 Sun Feb 28 23:47:49 GMT 2010  Olly Betts <olly@survex.com>
9894         * backends/flint/flint_table.cc: Whitespace tweak.
9896 Sun Feb 28 23:44:58 GMT 2010  Olly Betts <olly@survex.com>
9898         * tests/dbcheck.cc: Tweak whitespace to match standard usage.  Catch
9899           exceptions by const reference.
9900         * HACKING: Discuss why exceptions should be caught by const reference.
9901           Tweak markup of blockquotes.
9903 Sun Feb 28 22:50:50 GMT 2010  Olly Betts <olly@survex.com>
9905         * HACKING: Add note about "new SomePODType()" not being the same as
9906           "new SomePODType".
9908 Sun Feb 28 22:29:31 GMT 2010  Olly Betts <olly@survex.com>
9910         * HACKING: Quote ``cat`` and ``more``.
9912 Sun Feb 28 14:00:39 GMT 2010  Richard Boulton <richard@tartarus.org>
9914         * tests/api_compact.cc: Clarify comment about regression test for
9915           1.1.4, and remove a test line which is implicit in the following
9916           dbcheck() line anyway.
9918 Sun Feb 28 11:07:33 GMT 2010  Olly Betts <olly@survex.com>
9920         * tests/harness/fdtracker.cc,tests/harness/fdtracker.h: Add GPL
9921           boilerplate and copyright notices which I failed to do before
9922           committing these new files.
9924 Thu Feb 25 10:34:15 GMT 2010  Olly Betts <olly@survex.com>
9926         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
9927           Initialise z_stream members zalloc, zfree, and opaque with Z_NUL
9928           rather than 0 cast to the appropriate type, as that's what the zlib
9929           documentation says to do.  Add missing initialisation of opaque for
9930           the inflate z_stream which the docs say is needed, though reading
9931           the zlib code, isn't actually for current versions.
9933 Wed Feb 24 14:24:05 GMT 2010  Olly Betts <olly@survex.com>
9935         * backends/remote/remote-database.cc: Fix indentation.
9937 Wed Feb 24 14:18:25 GMT 2010  Olly Betts <olly@survex.com>
9939         * backends/remote/remote-database.cc,common/remote-database.h,
9940           common/remoteprotocol.h,common/remoteserver.h,
9941           docs/remote_protocol.html,net/remoteserver.cc,tests/api_spelling.cc:
9942           Add remote backend support for WritableDatabase::add_spelling() and
9943           WritableDatabase::remove_spelling().  This bumps the remote protocol
9944           to version 35.0 (so both client and servers will need updating).
9945           Suggesting spelling corrections isn't yet supported.  (ticket#178)
9947 Wed Feb 24 09:09:27 GMT 2010  Olly Betts <olly@survex.com>
9949         * examples/delve.cc: "lastdocid" -> "highest document id ever used"
9950           in output so it's clearer what this number means.
9952 Tue Feb 23 14:03:47 GMT 2010  Olly Betts <olly@survex.com>
9954         * api/postingsource.cc: Fix incorrect classname in error message.
9956 Tue Feb 23 13:16:11 GMT 2010  Olly Betts <olly@survex.com>
9958         * configure.ac: For -fno-strict-aliasing for GCC 4.2 to avoid bad code
9959           being generated due to a bug in that compiler version.  Fixes
9960           ticket#449.
9962 Tue Feb 23 03:08:02 GMT 2010  Olly Betts <olly@survex.com>
9964         * configure.ac,tests/harness/testsuite.cc: Use sigsetjmp() and
9965           siglongjmp() where available so that the set of blocked signals
9966           get restored and the test harness can catch a second incidence
9967           of a particular signal in a run.  Use sigaction() instead of
9968           signal() where available, which allows us to report the address
9969           associated with SIGSEGV, SIGFPE, SIGILL, and SIGBUS.
9971 Mon Feb 22 14:29:50 GMT 2010  Olly Betts <olly@survex.com>
9973         * backends/brass/brass_databasereplicator.cc,
9974           backends/chert/chert_databasereplicator.cc,
9975           backends/flint/flint_databasereplicator.cc: Fix exception message
9976           if we get an unsupported changeset type.
9978 Mon Feb 22 01:49:03 GMT 2010  Richard Boulton <richard@tartarus.org>
9980         * tests/dbcheck.cc: Check the wdf, doclen, and value bounds
9981           reported by the database against correct (tight) bounds
9982           calculated by iterating through the database contents.
9984 Mon Feb 22 01:47:20 GMT 2010  Richard Boulton <richard@tartarus.org>
9986         * backends/brass/brass_database.cc,backends/chert/chert_database.cc:
9987           Ensure that wdfs are reported to the stats object correctly when
9988           replacing documents.  These checks were absent entirely in chert,
9989           and incorrectly skipped in some cases in brass.
9991 Mon Feb 22 00:59:57 GMT 2010  Olly Betts <olly@survex.com>
9993         * tests/api_valuestream.cc: Reset tout before testing each interval.
9994           Prefer string() to "".
9996 Mon Feb 22 00:57:59 GMT 2010  Olly Betts <olly@survex.com>
9998         * docs/deprecation.rst,examples/delve.cc: Remove delve's -k option,
9999           accepted as an undocumented alias for -V since 0.9.10 for
10000           compatibility with 0.9.9 and earlier.  Just use -V instead.
10002 Mon Feb 22 00:45:37 GMT 2010  Olly Betts <olly@survex.com>
10004         * examples/delve.cc: If documents are specified, change "-V<valueno>"
10005           to only show calues for those documents.
10007 Sun Feb 21 14:11:58 GMT 2010  Olly Betts <olly@survex.com>
10009         * common/stringutils.h: Factor out looking up a character in the table
10010           into a separate inlined function.  Add C_islcxdigit() to check for
10011           an lower case hex digit.
10013 Sun Feb 21 11:10:10 GMT 2010  Olly Betts <olly@survex.com>
10015         * examples/Makefile.mk,examples/xapian-metadata.cc: Add new example
10016           "xapian-metadata" which allows you to get and set individual user
10017           metadata entries.
10019 Sun Feb 21 10:31:56 GMT 2010  Olly Betts <olly@survex.com>
10021         * configure.ac: Belatedly update version number to 1.1.4.
10023 Sat Feb 20 01:09:45 GMT 2010  Olly Betts <olly@survex.com>
10025         * tests/runtest.in: Now we have fd leak checking in the test harness,
10026           remove the ulimit as it doesn't add anything, and has caused problems
10027           on some Debian buildds.
10029 Fri Feb 19 02:08:25 GMT 2010  Olly Betts <olly@survex.com>
10031         * tests/harness/backendmanager.h,tests/harness/testsuite.cc:
10032           Call backendmanager->clean_up() before checking for fd leaks
10033           to avoid finding the sockets/pipes as leaks.  This means that
10034           clean_up() needs to handle being called more than once for
10035           a test sometimes (which the current versions do) so document
10036           that.
10038 Thu Feb 18 02:31:17 GMT 2010  Olly Betts <olly@survex.com>
10040         * examples/simpleindex.cc: Explicitly call commit() on the database,
10041           as that is good practice (since you see any exceptions).
10043 Thu Feb 18 01:52:10 GMT 2010  Olly Betts <olly@survex.com>
10045         * tests/api_wrdb.cc: Clear tout on each pass of the loop to avoid a
10046           lot of irrelevant output under --verbose if the test fails.
10048 Thu Feb 18 01:33:53 GMT 2010  Olly Betts <olly@survex.com>
10050         * tests/harness/testsuite.cc: Fix fd tracking change to work when
10051           HAVE_VALGRIND isn't defined.
10053 Thu Feb 18 00:46:20 GMT 2010  Olly Betts <olly@survex.com>
10055         * include/xapian/queryparser.h: Document the possible exception
10056           messages from QueryParser::parse_query().
10058 Thu Feb 18 00:20:18 GMT 2010  Olly Betts <olly@survex.com>
10060         * tests/harness/backendmanager.cc: Also explicitly commit after
10061           indexing for flint and chert.
10063 Wed Feb 17 15:58:04 GMT 2010  Olly Betts <olly@survex.com>
10065         * tests/harness/: Add machinery to check for leaked FDs.  Currently
10066           requires /proc/self/fd to work (so it works on at least Linux), but
10067           should do nothing on platforms without this directory.
10069 Wed Feb 17 15:53:30 GMT 2010  Olly Betts <olly@survex.com>
10071         * tests/harness/backendmanager.cc: Explicitly commit after indexing
10072           for brass, so we see any exceptions from the commit (commit from
10073           the dtor swallows any exceptions).
10075 Tue Feb 16 16:23:30 GMT 2010  Richard Boulton <richard@tartarus.org>
10077         * bin/xapian-compact.cc: Fix failure to set lastdocid to an
10078           appropriate value when using --no-renumber.
10079         * tests/api_compact.cc: Add regression test for this.
10081 Tue Feb 16 16:10:49 GMT 2010  Richard Boulton <richard@tartarus.org>
10083         * examples/delve.cc: Display the lastdocid value when displaying
10084           general database statistics.
10086 Tue Feb 16 15:39:50 GMT 2010  Richard Boulton <richard@tartarus.org>
10088         * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Correct typo
10089           in error message.
10091 Mon Feb 15 13:59:45 GMT 2010  Olly Betts <olly@survex.com>
10093         * configure.ac: Update for 1.1.4.
10095 Mon Feb 15 13:58:44 GMT 2010  Olly Betts <olly@survex.com>
10097         * PLATFORMS: We don't support GCC < 3.1, so remove discussion of
10098           issues with GCC 2.95.
10100 Mon Feb 15 13:55:10 GMT 2010  Olly Betts <olly@survex.com>
10102         * PLATFORMS: Update from 1.0.18.
10104 Mon Feb 15 11:51:15 GMT 2010  Olly Betts <olly@survex.com>
10106         * NEWS: Update from ChangeLog.  Update from 1.0.18.
10108 Sun Feb 14 05:47:30 GMT 2010  Olly Betts <olly@survex.com>
10110         * queryparser/queryparser.lemony: Fix QueryParser to handle an explicit
10111           AND before a hated term (foo AND -bar).  (ticket#447)
10112         * tests/queryparsertest.cc: Add regression test cases.
10114 Fri Feb 12 01:27:32 GMT 2010  Olly Betts <olly@survex.com>
10116         * queryparser/termgenerator_internal.cc: Only include trailing '+' or
10117           '#' on a term if it isn't followed by a word character (makes more
10118           sense and matches QueryParser's behaviour).  (ticket#446)
10119         * tests/termgentest.cc: Add regression test.
10121 Thu Feb 11 04:30:56 GMT 2010  Olly Betts <olly@survex.com>
10123         * bin/xapian-inspect.cc: Add new "open" command to allow easy switching
10124           between tables.
10126 Wed Feb 10 02:40:36 GMT 2010  Olly Betts <olly@survex.com>
10128         * include/xapian/document.h: Rewrite the note about Document being a
10129           lazy handle to fix a few details and avoid nailing down the
10130           exact implementation.
10132 Wed Feb 10 00:37:54 GMT 2010  Olly Betts <olly@survex.com>
10134         * docs/admin_notes.rst: Update for chert and other recent changes.
10136 Wed Feb 10 00:37:04 GMT 2010  Olly Betts <olly@survex.com>
10138         * docs/replication_protocol.rst: Update.
10140 Mon Feb 08 12:05:05 GMT 2010  Olly Betts <olly@survex.com>
10142         * backends/brass/brass_version.cc: Fix comments about BRASS_VERSION
10143           which were previously just cut-and-pasted from those about
10144           CHERT_VERSION.
10146 Mon Feb 08 11:54:04 GMT 2010  Olly Betts <olly@survex.com>
10148         * backends/brass/brass_metadata.cc: Include missing headers.
10150 Mon Feb 08 09:23:00 GMT 2010  Olly Betts <olly@survex.com>
10152         * backends/brass/brass_document.h,backends/chert/chert_document.h:
10153           Fix typos in documentation comments.
10155 Mon Feb 08 08:27:09 GMT 2010  Olly Betts <olly@survex.com>
10157         * tests/harness/testsuite.cc: Remove unused headers <streambuf> and
10158           "omdebug.h".
10160 Mon Feb 08 01:28:48 GMT 2010  Olly Betts <olly@survex.com>
10162         * common/debuglog.h: Use std::boolalpha so bool is logged as "true"
10163           or "false" (instead of "1" or "0").
10165 Sat Feb 06 10:04:42 GMT 2010  Olly Betts <olly@survex.com>
10167         * AUTHORS: Sync with 1.0 branch.
10169 Sat Feb 06 08:20:31 GMT 2010  Olly Betts <olly@survex.com>
10171         * tests/api_closedb.cc: Avoid trying to create a database where
10172           an already open one exists (which fails on Microsoft Windows).
10173           (ticket#443).
10175 Fri Feb 05 13:28:08 GMT 2010  Olly Betts <olly@survex.com>
10177         * examples/simpleexpand.cc,examples/simpleindex.cc,
10178           examples/simplesearch.cc: Handle --help and --version.
10180 Fri Feb 05 13:25:37 GMT 2010  Olly Betts <olly@survex.com>
10182         * bin/xapian-compact.cc: Fix not to assign elements off the end of a
10183           vector (ticket#440).
10185 Fri Feb 05 11:41:05 GMT 2010  Richard Boulton <richard@tartarus.org>
10187         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
10188           Remove ValueCountMatchSpy::get_values().  values_begin() should
10189           be used instead to iterate over the values.
10191 Fri Feb 05 07:39:46 GMT 2010  Olly Betts <olly@survex.com>
10193         * configure.ac: Enable automake's std-options feature to check all
10194           installed programs support --help and --version.
10196 Fri Feb 05 01:45:49 GMT 2010  Olly Betts <olly@survex.com>
10198         * include/xapian/document.h: Add Document::add_boolean_term().
10199         * tests/api_none.cc: Add testcase document1 as a feature test.
10201 Fri Feb 05 00:27:52 GMT 2010  Olly Betts <olly@survex.com>
10203         * backends/chert/chert_btreebase.cc,backends/flint/flint_btreebase.cc:
10204           Add missing SEQUENTIAL entry to documentation of base file format.
10206 Thu Feb 04 03:06:26 GMT 2010  Olly Betts <olly@survex.com>
10208         * tests/api_compact.cc: Fix to work with MSVC makefiles (ticket#440).
10210 Thu Feb 04 03:04:43 GMT 2010  Olly Betts <olly@survex.com>
10212         * HACKING,common/Makefile.mk,common/safesyswait.h: Add wrapper
10213           for <sys/wait.h> which defines macros for WEXITSTATUS and
10214           WIFEXITED when required.
10216 Wed Feb 03 15:01:36 GMT 2010  Richard Boulton <richard@tartarus.org>
10218         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
10219           Add ValueCountMatchSpy::values_begin() and values_end() to allow
10220           iteration over all the values in a ValueCountMatchSpy without
10221           needing to handle the dict.  Move the contents of
10222           ValueCountMatchSpy into a reference counted internal object, so
10223           that the iterator can ensure that the contents aren't deleted
10224           before it finishes.
10226 Wed Feb 03 15:01:02 GMT 2010  Richard Boulton <richard@tartarus.org>
10228         * tests/generate-api_generated: Add ValueCountMatchSpy to the list
10229           of non-copyable API classes.
10231 Wed Feb 03 13:18:03 GMT 2010  Richard Boulton <richard@tartarus.org>
10233         * include/xapian/matchspy.h,tests/api_matchspy.cc: Provide an
10234           iterator for accessing the top values found by a matchspy, rather
10235           than using a method which takes a vector reference as a
10236           parameter.  Should be wrappable much more nicely (and get wrapped
10237           automatically), and be easier to use: the testcase for this is
10238           significantly shorter than for the old API.  Remove
10239           StringAndFrequency from API - it's now just an internal class.
10240         * api/matchspy.cc: Test new access method for top_values.
10242 Wed Feb 03 06:46:37 GMT 2010  Olly Betts <olly@survex.com>
10244         * AUTHORS: Add Emmanuel Engelhart for reporting problems indexing
10245           Burmese text.
10247 Wed Feb 03 06:32:03 GMT 2010  Olly Betts <olly@survex.com>
10249         * include/xapian/unicode.h,queryparser/queryparser.lemony,
10250           queryparser/termgenerator_internal.cc: Add ENCLOSING_MARK and
10251           COMBINING_SPACING_MARK categories to is_wordchar().  Make
10252           TermGenerator and QueryParser ignore several zero-width space
10253           characters.
10254         * tests/queryparsertest.cc,tests/termgentest.cc: Add test coverage for
10255           the changes.
10257 Wed Feb 03 03:14:30 GMT 2010  Olly Betts <olly@survex.com>
10259         * queryparser/queryparser.lemony: Fix apostrophe abuse in comment.
10261 Wed Feb 03 01:23:04 GMT 2010  Olly Betts <olly@survex.com>
10263         * queryparser/queryparser.lemony: Make TermList::as_opwindow_query()
10264           private.
10266 Wed Feb 03 01:19:19 GMT 2010  Olly Betts <olly@survex.com>
10268         * common/replication.h: Use "" not <> for including API headers.
10270 Wed Feb 03 01:08:58 GMT 2010  Olly Betts <olly@survex.com>
10272         * common/replication.h: Remove warnings about this being an
10273           experimental API, which no longer make sense now it is internal.
10275 Tue Feb 02 21:59:59 GMT 2010  Olly Betts <olly@survex.com>
10277         * tests/generate-api_generated: Remove DatabaseReplica.
10279 Tue Feb 02 17:01:23 GMT 2010  Richard Boulton <richard@tartarus.org>
10281         * include/xapian/document.h: Add a note to the API documentation
10282           for the Document class about the potential issues involved in
10283           lazy loading.  Fixes ticket #421.
10285 Tue Feb 02 16:21:39 GMT 2010  Richard Boulton <richard@tartarus.org>
10287         * docs/categorisation.rst: Remove documentation of NumericRanges
10288           stuff for now, since the NumericRanges is no longer on trunk.
10290 Tue Feb 02 15:59:14 GMT 2010  Richard Boulton <richard@tartarus.org>
10292         * common/replication.h: Put the ReplicationInfo, DatabaseMaster and
10293           DatabaseReplica symbols back into public visibility - they're
10294           needed for the tests, and for the command line scripts.
10296 Tue Feb 02 15:06:44 GMT 2010  Richard Boulton <richard@tartarus.org>
10298         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
10299           Remove NumericRanges from trunk - their API is still uncertain,
10300           so I want to do a bit more development work on them on the
10301           matchspy branch before committing to support them for several
10302           years.
10304 Tue Feb 02 13:45:24 GMT 2010  Richard Boulton <richard@tartarus.org>
10306         * api/replication.cc,backends/brass/brass_database.cc,
10307           backends/chert/chert_database.cc,backends/flint/flint_database.cc,
10308           common/,include/Makefile.mk,include/xapian/replication.h,
10309           net/replicatetcpclient.cc,net/replicatetcpserver.cc,
10310           tests/generate-api_generated: Move replication support out of the
10311           public API headers and public symbol visibility.  Access to
10312           replication, for now, is via the command-line scripts: this is
10313           similar to the access to running a remote database server, and
10314           the access to database compaction and checking.  See ticket #347
10315           for some commentary.
10317 Tue Feb 02 07:22:28 GMT 2010  Olly Betts <olly@survex.com>
10319         * Backport change from chert:
10320         * backends/flint/flint_alltermslist.h,backends/flint/flint_spelling.h,
10321           backends/flint/flint_spellingwordslist.h: Add missing std::
10322           qualifiers.
10324 Tue Feb 02 07:12:51 GMT 2010  Olly Betts <olly@survex.com>
10326         * docs/doxygen_api.conf.in: Add generated include/xapian/error.h so
10327           that Xapian::Error and subclass API docs are collated for a VPATH
10328           build.
10329         * docs/Makefile.am: Add regression test to make sure doxygen collated
10330           API docs for Xapian::RuntimeError.
10332 Tue Feb 02 06:52:55 GMT 2010  Olly Betts <olly@survex.com>
10334         * Backport change from brass:
10335         * backends/chert/chert_alltermslist.h,backends/chert/chert_spelling.h,
10336           backends/chert/chert_spellingwordslist.h: Add missing std::
10337           qualifiers.
10339 Tue Feb 02 01:34:52 GMT 2010  Richard Boulton <richard@tartarus.org>
10341         * docs/replication.rst: Add note about not using reopen() with
10342           databases being updated by the replication client.
10344 Tue Feb 02 01:17:34 GMT 2010  Richard Boulton <richard@tartarus.org>
10346         * api/matchspy.cc,docs/categorisation.rst,include/xapian/matchspy.h,
10347           tests/api_matchspy.cc: Remove score_evenness(), since it turned
10348           out to be of little or no use in practical situations.  See
10349           ticket #435 for more details.
10351 Mon Feb 01 21:53:41 GMT 2010  Olly Betts <olly@survex.com>
10353         * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Use
10354           LOGCALL_VOID for add() methods which now return void.
10356 Mon Feb 01 21:50:05 GMT 2010  Olly Betts <olly@survex.com>
10358         * Backport change from brass:
10359         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
10360           Fix documentation comments for FlintTable::add() and
10361           FlintTable::del() - errors actually cause exceptions, not a false
10362           return value, and del() returns true if it actually removed an entry.
10363           Fix FlintTable::add() to throw an exception for the (hopefully never
10364           hit) case when the tag value is too insanely large to handle.  With
10365           that FlintTable::add() always returns true, and we never check the
10366           return value anyway, so just make it return void.
10368 Mon Feb 01 21:37:33 GMT 2010  Olly Betts <olly@survex.com>
10370         * Backport change from brass:
10371         * backends/chert/chert_table.cc,backends/chert/chert_table.h:
10372           Fix documentation comments for ChertTable::add() and
10373           ChertTable::del() - errors actually cause exceptions, not a false
10374           return value, and del() returns true if it actually removed an entry.
10375           Fix ChertTable::add() to throw an exception for the (hopefully never
10376           hit) case when the tag value is too insanely large to handle.  With
10377           that ChertTable::add() always returns true, and we never check the
10378           return value anyway, so just make it return void.
10380 Mon Feb 01 16:02:27 GMT 2010  Richard Boulton <richard@tartarus.org>
10382         * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Fix checking
10383           of the METAINFO key in chert and brass.  For small databases, the
10384           statistics fit in few enough bytes that the trailing
10385           unpack_uint_last() moved to end, so errors weren't being
10386           reported, but for large databases the check was incorrectly
10387           reporting an error.
10389 Mon Feb 01 09:24:14 GMT 2010  Olly Betts <olly@survex.com>
10391         * backends/brass/brass_table.cc,backends/brass/brass_table.h:
10392           Fix documentation comments for BrassTable::add() and
10393           BrassTable::del() - errors actually cause exceptions, not a false
10394           return value, and del() returns true if it actually removed an entry.
10395           Fix BrassTable::add() to throw an exception for the (hopefully never
10396           hit) case when the tag value is too insanely large to handle.  With
10397           that BrassTable::add() always returns true, and we never check the
10398           return value anyway, so just make it return void.
10400 Mon Feb 01 01:45:09 GMT 2010  Olly Betts <olly@survex.com>
10402         * backends/brass/brass_alltermslist.h,backends/brass/brass_spelling.h,
10403           backends/brass/brass_spellingwordslist.h: Add missing std::
10404           qualifiers.
10406 Mon Feb 01 00:57:21 GMT 2010  Olly Betts <olly@survex.com>
10408         * backends/flint/flint_spelling.h: Add missing std:: qualifier.
10410 Mon Feb 01 00:52:27 GMT 2010  Olly Betts <olly@survex.com>
10412         * backends/brass/brass_spelling.h,backends/chert/chert_spelling.h:
10413           Add missing std:: qualifier.
10415 Sun Jan 31 23:35:52 GMT 2010  Olly Betts <olly@survex.com>
10417         * backends/chert/chert_termlisttable.cc,
10418           backends/chert/chert_termlisttable.h: Remove
10419           ChertTermListTable::get_doclength() as it is no longer used.
10421 Sun Jan 31 23:19:50 GMT 2010  Olly Betts <olly@survex.com>
10423         * backends/brass/brass_termlisttable.cc,
10424           backends/brass/brass_termlisttable.h: Remove
10425           BrassTermListTable::get_doclength() as it is no longer used.
10427 Sun Jan 31 09:19:39 GMT 2010  Olly Betts <olly@survex.com>
10429         * bin/xapian-inspect.cc: "until" improvements:
10430           + No longer reports the current key and tag.
10431           + If passed a key before the current one, no longer silently advances
10432             to the next key.
10433           + Explicitly says if the specified key doesn't exist, including where
10434             we ended up.
10436 Sun Jan 31 00:19:41 GMT 2010  Olly Betts <olly@survex.com>
10438         * tests/api_compact.cc: Use a single Document object rather than
10439           creating the same one 10000 times.
10441 Sun Jan 31 00:08:38 GMT 2010  Olly Betts <olly@survex.com>
10443         * tests/api_compact.cc: Move make_multichunk_db() before the testcase
10444           which uses it, rather than between two helper functions for another
10445           testcase.
10447 Sun Jan 31 00:07:03 GMT 2010  Olly Betts <olly@survex.com>
10449         * tests/api_compact.cc: Remove confusing comment, cut-and-pasted from
10450           elsewhere and not relevant here.
10452 Fri Jan 29 06:13:18 GMT 2010  Olly Betts <olly@survex.com>
10454         * backends/brass/brass_metadata.cc,backends/chert/chert_metadata.cc,
10455           backends/flint/flint_metadata.cc: Correct filenames in @file.
10457 Thu Jan 28 22:34:03 GMT 2010  Richard Boulton <richard@tartarus.org>
10459         * tests/api_compact.cc: Add check that xapian-compact works
10460           correctly on a database with multiple chunks for a single term;
10461           this is a regression test for ticket #427
10463 Thu Jan 28 22:33:16 GMT 2010  Richard Boulton <richard@tartarus.org>
10465         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Don't
10466           cut the extra byte of doclen chunk keys.
10468 Thu Jan 28 21:23:48 GMT 2010  Richard Boulton <richard@tartarus.org>
10470         * bin/xapian-compact-flint.cc: Revert previous patch for flint - it
10471           only applies to new key format used by chert and brass.
10473 Thu Jan 28 21:13:38 GMT 2010  Richard Boulton <richard@tartarus.org>
10475         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc,
10476           bin/xapian-compact-flint.cc: Partial fix for #427: truncate
10477           follow-on keys for postlist chunks fully (was leaving the
10478           trailing 0-byte, causing the code for chert and brass to
10479           incorrectly think a new chunk had started, resulting in a
10480           truncated posting list.
10482 Thu Jan 28 20:42:47 GMT 2010  Richard Boulton <richard@tartarus.org>
10484         * bin/xapian-inspect.cc: Add "until" command to display keys until
10485           a specified one.  Useful for seeing all keys for a particular
10486           posting list, etc.
10488 Thu Jan 28 01:31:54 GMT 2010  Olly Betts <olly@survex.com>
10490         * tests/dbcheck.cc: Whitespace tweak.
10492 Wed Jan 27 06:29:21 GMT 2010  Olly Betts <olly@survex.com>
10494         * tests/dbcheck.cc: <config.h> not "config.h".
10496 Wed Jan 27 04:20:42 GMT 2010  Olly Betts <olly@survex.com>
10498         * backends/brass/brass_inverter.h: Make two getters const.
10500 Wed Jan 27 04:01:17 GMT 2010  Olly Betts <olly@survex.com>
10502         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
10503           backends/flint/flint_database.cc,backends/flint/flint_database.h:
10504           Add ChertWritableDatabase::insert_mod_plist() to handle the simpler
10505           case where we know the document doesn't already exist, to avoid
10506           adding extra code to that common path over the code we had before
10507           the #250-related changes.
10509 Tue Jan 26 03:25:59 GMT 2010  Olly Betts <olly@survex.com>
10511         * tests/internaltest.cc: In testcase pack_uint_preserving_sort1, use
10512           data() not c_str(), calculate the end position just once, and use
10513           swap to copy the current packed to prev_packed.
10515 Fri Jan 15 12:51:38 GMT 2010  Olly Betts <olly@survex.com>
10517         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
10518           Fix to use 'M' as the flag character for modified entries in
10519           modplists (not 'U').  We never explicitly check for 'M' (we check for
10520           'A' vs 'D' vs something else), so this isn't a functional change,
10521           but rather making the values consistent (as they were before the
10522           fix for #250).
10524 Fri Jan 15 08:25:14 GMT 2010  Olly Betts <olly@survex.com>
10526         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
10527           backends/flint/flint_database.cc,backends/flint/flint_database.h:
10528           Use Xapian::termcount_diff instead of Xapian::termcount for
10529           parameters of add_freq_delta() which can be signed.  Fix parameter
10530           docs to say "change" instead of "increase".
10532 Fri Jan 15 06:05:28 GMT 2010  Olly Betts <olly@survex.com>
10534         * tests/api_replacedoc.cc: Just test that begin == end when we expect
10535           no positions rather than generating a string representation and
10536           then testing if it is empty.
10538 Thu Jan 14 11:17:36 GMT 2010  Olly Betts <olly@survex.com>
10540         * HACKING: Auto-enabling of -Werror is now done for GCC 4.1 or newer.
10542 Thu Jan 14 05:06:42 GMT 2010  Olly Betts <olly@survex.com>
10544         * HACKING: Include the MIT licence text in HACKING itself.
10545         * COPYING_MIT: Remove external copy of text - it could mislead users
10546           into thinking that this is the current licence of Xapian.
10548 Sun Jan 10 07:36:16 GMT 2010  Olly Betts <olly@survex.com>
10550         * configure.ac:With --enable-maintainer-mode, enable -Werror for GCC
10551           >= 4.1 rather than >= 4.0 as Apple's GCC 4.0 gives bogus
10552           uninitialised variable warnings for pack.h.
10554 Sat Jan 09 00:56:06 GMT 2010  Olly Betts <olly@survex.com>
10556         * queryparser/queryparser.lemony: Add support for quoting boolean terms
10557           so they can contain arbitrary characters (partly addresses
10558           ticket#128).
10559         * tests/queryparsertest.cc: Add test coverage.
10561 Fri Jan 08 13:25:25 GMT 2010  Richard Boulton <richard@tartarus.org>
10563         * tests/api_compact.cc: Add copyright note for my changes committed
10564           earlier today.
10566 Fri Jan 08 12:19:07 GMT 2010  Olly Betts <olly@survex.com>
10568         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Fix merging
10569           of databases by xapian-compact for brass and chert.
10570         * tests/api_compact.cc: Enable test compactmerge1 for brass and chert
10571           as a regression test.
10573 Fri Jan 08 11:26:41 GMT 2010  Olly Betts <olly@survex.com>
10575         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
10576           backends/flint/flint_database.cc: Rearrange comparison between old
10577           and new termlists to avoid double check of termlist.at_end().
10579 Fri Jan 08 11:22:30 GMT 2010  Richard Boulton <richard@tartarus.org>
10581         * tests/api_compact.cc: Add test of xapian-compact when merging
10582           databases.  Currently, the generated databases are broken for
10583           chert and brass, so skipping the test for those to avoid breaking
10584           the snapshotter.
10586 Fri Jan 08 11:13:13 GMT 2010  Richard Boulton <richard@tartarus.org>
10588         * tests/: Move routines for helping to check database contents and
10589           consistency into dbcheck.cc, with headers in dbcheck.h.
10591 Fri Jan 08 10:07:09 GMT 2010  Richard Boulton <richard@tartarus.org>
10593         * tests/internaltest.cc: Add test_pack_uint_preserving_sort1()
10594           which I wrote when suspicious of that function - passes fine, but
10595           probably worth keeping the test coverage.
10597 Fri Jan 08 00:23:06 GMT 2010  Olly Betts <olly@survex.com>
10599         * AUTHORS: Add Henry Combrinck for Search::Xapian patches.
10601 Thu Jan 07 15:51:57 GMT 2010  Richard Boulton <richard@tartarus.org>
10603         * api/postingsource.cc: For ValueWeightPostingSources for which
10604           there are no entries, the upper bound returned will be an empty
10605           string, which translated to -inf when passed to
10606           sortable_unserialise().  This was causing the matcher to get
10607           confused and return no results in some queries involving such a
10608           posting source.  This commit fixes this.
10609         * tests/api_postingsource.cc: Add emptyvalwtsource1 as a regression
10610           test for this, and a general test of this area of code.
10612 Thu Jan 07 09:17:58 GMT 2010  Olly Betts <olly@survex.com>
10614         * backends/brass/brass_inverter.h: Fix comment typo.
10616 Wed Dec 30 11:46:45 GMT 2009  Richard Boulton <richard@tartarus.org>
10618         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
10619           backends/flint/flint_database.cc: When updating documents, don't
10620           update posting entries which havn't changed.  Largely fixes
10621           ticket #250.
10622         * AUTHORS: Add Kan-Ru Chen, since his patch attached to ticket #250
10623           was the basis of this fix.
10625 Wed Dec 30 11:44:18 GMT 2009  Richard Boulton <richard@tartarus.org>
10627         * backends/brass/brass_inverter.h: Add methods for updating an
10628           existing posting, so we don't have to remove then re-add it.
10630 Wed Dec 30 11:41:57 GMT 2009  Richard Boulton <richard@tartarus.org>
10632         * backends/brass/brass_database.h: Remove old unused members:
10633           total_length and lastdocid.
10635 Wed Dec 30 01:07:04 GMT 2009  Richard Boulton <richard@tartarus.org>
10637         * backends/chert/chert_database.h: Remove old unused members:
10638           total_length and lastdocid.
10640 Wed Dec 30 00:21:03 GMT 2009  Richard Boulton <richard@tartarus.org>
10642         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
10643           backends/flint/flint_database.cc,backends/flint/flint_database.h:
10644           Move frequently repeated code for updating the freq_deltas and
10645           mod_plists items into separate functions.  Makes the code
10646           considerably clearer, and prepares the way for applying the patch
10647           to fix ticket #250.
10649 Wed Dec 30 00:07:33 GMT 2009  Richard Boulton <richard@tartarus.org>
10651         * tests/api_replacedoc.cc: Add a few more sequences of operations
10652           which look worth testing, after looking at the code implementing
10653           replace_document().
10655 Tue Dec 29 22:29:08 GMT 2009  Richard Boulton <richard@tartarus.org>
10657         * tests/api_replacedoc.cc: Check consistency of the posting lists
10658           with the termlists, and consistency of the statistics, at each
10659           step of modtermwdf1.  Also, add some other terms to the document,
10660           so we can check the stored doclength for terms which haven't been
10661           modified.
10663 Sun Dec 27 14:56:16 GMT 2009  Richard Boulton <richard@tartarus.org>
10665         * backends/chert/chert_modifiedpostlist.cc,
10666           backends/flint/flint_modifiedpostlist.cc: Report the wdf from the
10667           modifications, rather the sum of the wdf from the modifications
10668           and the old wdf.  The old behaviour was just wrong, but we had no
10669           test coverage for this until the last commit.
10671 Sun Dec 27 13:34:06 GMT 2009  Richard Boulton <richard@tartarus.org>
10673         * tests/api_replacedoc.cc: Add test of the contents of the
10674           postlist of a term which is being modified.  Also, tidy up the
10675           output of docterms_to_string() to skip any empty position lists.
10677 Sat Dec 26 19:21:19 GMT 2009  Richard Boulton <richard@tartarus.org>
10679         * tests/api_replacedoc.cc: Extend test to cover removing a term but
10680           not deleting it, and finally deleting the document.
10682 Thu Dec 24 19:18:41 GMT 2009  Richard Boulton <richard@tartarus.org>
10684         * tests/api_replacedoc.cc: Expand test to cover some modification
10685           to the positional information.
10687 Thu Dec 24 19:06:32 GMT 2009  Richard Boulton <richard@tartarus.org>
10689         * tests/api_replacedoc.cc: Add some more sets of modification
10690           operations to the tests.
10692 Thu Dec 24 18:55:37 GMT 2009  Richard Boulton <richard@tartarus.org>
10694         * tests/api_replacedoc.cc: Add test modtermwdf1, which tests a lot
10695           more cases where documents are modified.
10697 Thu Dec 24 14:36:38 GMT 2009  Olly Betts <olly@survex.com>
10699         * tests/: Canonicalise the conditions on testcases.
10701 Thu Dec 24 14:08:59 GMT 2009  Olly Betts <olly@survex.com>
10703         * tests/api_closedb.cc: Fix typo in last commit.
10705 Thu Dec 24 13:39:28 GMT 2009  Olly Betts <olly@survex.com>
10707         * tests/api_closedb.cc: Check WritableDatabase::close() during a
10708           transaction does *NOT* implicitly call commit().
10710 Thu Dec 24 13:07:09 GMT 2009  Olly Betts <olly@survex.com>
10712         * backends/brass/brass_database.cc,backends/brass/brass_database.h,
10713           backends/chert/chert_database.cc,backends/chert/chert_database.h,
10714           backends/flint/flint_database.cc,backends/flint/flint_database.h:
10715           Fix WritableDatabase::close() to commit() changes (unless a
10716           transaction is in progress).
10717         * tests/api_closedb.cc: Add regression test closedb4.
10719 Wed Dec 23 00:26:34 GMT 2009  Olly Betts <olly@survex.com>
10721         * backends/brass/brass_database.cc,backends/brass/brass_inverter.cc,
10722           backends/brass/brass_inverter.h: For allterms iteration of a
10723           WritableDatabase, if a prefix is specified only flush changes for
10724           terms with that prefix.  Also, don't flush document lengths for
10725           allterms iteration.
10727 Tue Dec 22 22:48:55 GMT 2009  Olly Betts <olly@survex.com>
10729         * bin/xapian-check.cc: Fixed reversed checks for chert and flint being
10730           enabled in r13781.
10732 Tue Dec 22 14:20:24 GMT 2009  Olly Betts <olly@survex.com>
10734         * tests/harness/testrunner.cc: Add brass variants of multi and remote
10735           backends.
10737 Tue Dec 22 14:15:43 GMT 2009  Olly Betts <olly@survex.com>
10739         * bin/: Implement xapian-check and xapian-compact support for brass.
10741 Tue Dec 22 13:41:08 GMT 2009  Olly Betts <olly@survex.com>
10743         * bin/: Split the chert-specific checking code into a separate file
10744           so xapian-check.cc is just the driver code.
10746 Tue Dec 22 12:47:59 GMT 2009  Olly Betts <olly@survex.com>
10748         * backends/brass/: Add new Inverter class to encapsulate the inversion
10749           data structures and associated code.  Instead of carefully iterating
10750           modified posting lists and document length lists, just flush the
10751           particular list needed to disk and iterate that.  This is much
10752           simpler and more obviously free of subtle bugs, and means we don't
10753           need to use data structures which allow such iteration.
10755 Tue Dec 22 12:25:04 GMT 2009  Olly Betts <olly@survex.com>
10757         * backends/brass/,backends/dbfactory.cc,include/xapian/dbfactory.h,
10758           include/xapian/valueiterator.h,include/xapian/version_h.cc,
10759           tests/harness/Makefile.mk: Fix to actually build brass.  Testsuite
10760           doesn't currently all pass.
10762 Tue Dec 22 04:26:17 GMT 2009  Olly Betts <olly@survex.com>
10764         * HACKING,INSTALL,backends/Makefile.mk,backends/brass/,
10765           backends/chert/dir_contents,backends/databasereplicator.cc,
10766           backends/dbfactory.cc,common/pack.h,configure.ac,docs/,tests/,
10767           tests/harness/: Add new development backend called "brass" and
10768           promote "chert" to being the stable backend.
10770 Mon Dec 21 09:41:57 GMT 2009  Olly Betts <olly@survex.com>
10772         * backends/chert/chert_database.cc: Update comment about
10773           MAX_SAFE_TERM_LENGTH to reflect the key format changes.
10775 Mon Dec 21 08:12:55 GMT 2009  Olly Betts <olly@survex.com>
10777         * backends/chert/chert_alldocsmodifiedpostlist.cc,
10778           backends/chert/chert_alldocsmodifiedpostlist.h: Change reference
10779           parameter to const reference.
10781 Mon Dec 21 03:19:09 GMT 2009  Olly Betts <olly@survex.com>
10783         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
10784           Replacing a document deleted since the last flush failed to update
10785           the collection frequency and wdf, and caused an assertion failure
10786           when assertions were enabled.
10787         * tests/api_backend.cc: Add regression test replacedoc8.
10789 Sun Dec 20 07:26:30 GMT 2009  Olly Betts <olly@survex.com>
10791         * configure.ac: Divert to AS_MESSAGE_LOG_FD rather than literal fd 5.
10792           Divert more output to AS_MESSAGE_LOG_FD rather than /dev/null.
10794 Thu Dec 17 13:53:31 GMT 2009  Olly Betts <olly@survex.com>
10796         * NEWS: Update from ChangeLog.
10798 Thu Dec 17 13:36:54 GMT 2009  Olly Betts <olly@survex.com>
10800         * Backport change from chert:
10801         * backends/flint/flint_alltermslist.cc: Tweak to not apply the
10802           prefix test in the "at end" case.
10803         * backends/flint/flint_alltermslist.cc: There's no point checking
10804           follow-on chunks match the prefix - the first chunk we'll hit
10805           which doesn't match has to be an initial chunk for a term.
10807 Thu Dec 17 11:57:31 GMT 2009  Olly Betts <olly@survex.com>
10809         * tests/api_replacedoc.cc: Fix to test the right variable.
10811 Thu Dec 17 11:16:51 GMT 2009  Olly Betts <olly@survex.com>
10813         * tests/api_wrdb.cc: The regression test replacedoc5 no longer actually
10814           checks for the situation it was written for, due to the shortcutting
10815           we now do in flint and chert when replacing a document with itself,
10816           so extend it with a check with that behaviour suppressed (fortunately
10817           it still passes).
10819 Wed Dec 16 12:03:13 GMT 2009  Olly Betts <olly@survex.com>
10821         * backends/chert/,bin/Makefile.mk,common/pack.h: Change the packing
10822           of uints and strings into sortable keys in chert databases, which
10823           reduces database size by 2.5% in tests.  This means an incompatible
10824           change in the chert format.
10825         * bin/xapian-chert-update.cc: Utility to update a chert database from
10826           the old format to the new format.  It works much like xapian-compact
10827           so should take a similar amount of time (and results in a compact
10828           database).
10829         * tests/api_wrdb.cc: Adjust the test which checks a string of zero
10830           bytes fails in the correct way - 126 zero bytes is now handled, so
10831           we need 127 to check the failure mode.
10833 Wed Dec 16 11:52:27 GMT 2009  Olly Betts <olly@survex.com>
10835         * bin/xapian-compact.cc: Ensure that the resultant database has a
10836           fresh UUID (previously chert copied the UUID from the first input,
10837           while flint didn't set a UUID so one was generated on demand when
10838           next requested, if the database is writable.
10839         * tests/api_compact.cc: Add tests that a UUID is set and that it is
10840           different from that of the input.
10842 Wed Dec 16 09:57:27 GMT 2009  Olly Betts <olly@survex.com>
10844         * examples/quest.cc: If no database is specified, still parse the query
10845           and report get_description() on it as this provides a useful way to
10846           see how a query parses.
10848 Wed Dec 16 00:40:51 GMT 2009  Olly Betts <olly@survex.com>
10850         * languages/german.sbl,languages/german2.sbl: Update the german and
10851           german2 stemming algorithms to the latest versions from Snowball.
10852           These add an extra rule for the "-nisse" ending.
10854 Tue Dec 15 13:08:33 GMT 2009  Olly Betts <olly@survex.com>
10856         * bin/: Split apart the flint and chert compaction code.  Should be
10857           no change in functionality.
10859 Tue Dec 15 10:11:10 GMT 2009  Olly Betts <olly@survex.com>
10861         * backends/chert/chert_alltermslist.cc: Tweak to not apply the
10862           prefix test in the "at end" case.
10864 Tue Dec 15 09:40:19 GMT 2009  Olly Betts <olly@survex.com>
10866         * backends/chert/chert_alltermslist.cc: There's no point checking
10867           follow-on chunks match the prefix - the first chunk we'll hit
10868           which doesn't match has to be an initial chunk for a term.
10870 Tue Dec 15 08:24:04 GMT 2009  Olly Betts <olly@survex.com>
10872         * include/xapian/: Convert DerefStringWrapper_ to a templated
10873           DerefWrapper_ and use it instead of DocIDWrapper and TermPosWrapper.
10875 Tue Dec 15 08:23:08 GMT 2009  Olly Betts <olly@survex.com>
10877         * include/xapian/query.h: Mark Query::Internal as @private for doxygen.
10879 Tue Dec 15 03:59:44 GMT 2009  Olly Betts <olly@survex.com>
10881         * common/pack.h: Return false not true if
10882           unpack_string_preserving_sort() fails.  Add assertions that the
10883           source pointer isn't NULL to all the functions.
10885 Tue Dec 15 02:30:24 GMT 2009  Olly Betts <olly@survex.com>
10887         * examples/delve.cc: Improve phrasing ("unique terms" -> "distinct
10888           terms").
10890 Sat Dec 12 13:07:51 GMT 2009  Richard Boulton <richard@tartarus.org>
10892         * tests/Makefile.am,tests/api_posdb.cc,tests/api_replacedoc.cc:
10893           Split my recently added replacedoc test out into a new file.
10895 Sat Dec 12 12:58:22 GMT 2009  Richard Boulton <richard@tartarus.org>
10897         * tests/api_posdb.cc: Extend test of document modification to cover
10898           removing the last term in the document, too.
10900 Sat Dec 12 12:57:43 GMT 2009  Richard Boulton <richard@tartarus.org>
10902         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
10903           Fix comparison of old term with new.
10905 Sat Dec 12 11:30:23 GMT 2009  Richard Boulton <richard@tartarus.org>
10907         * backends/chert/chert_database.cc,backends/flint/flint_database.cc,
10908           tests/api_posdb.cc: Delete old positionlist chunks in
10909           replace_document().  Uncomment part of test which tested this.
10911 Sat Dec 12 04:24:42 GMT 2009  Olly Betts <olly@survex.com>
10913         * backends/chert/chert_database.cc,backends/flint/flint_database.cc,
10914           common/document.h: If a document is replaced with itself unmodified,
10915           we no longer increase the automatic flush counter.
10916         * tests/api_backend.cc: Add regression test replacedoc7.
10918 Fri Dec 11 19:39:34 GMT 2009  Richard Boulton <richard@tartarus.org>
10920         * tests/api_posdb.cc: Add a basic test of adding a document, and
10921           modifying its positions.  Found one bug already, but the line
10922           which triggers this is commented out for now so that we don't
10923           break the snapshotters until it's fixed.
10925 Fri Dec 11 16:51:22 GMT 2009  Richard Boulton <richard@tartarus.org>
10927         * common/documentterm.h: Fix some documentation comments which were
10928           trivially incorrect or incomplete.
10930 Fri Dec 11 11:05:19 GMT 2009  Richard Boulton <richard@tartarus.org>
10932         * COPYING_MIT,HACKING: Add details of our policy for accepting
10933           patches.  This has informally been true for a while, but it
10934           probably helps to tell people about it!
10936 Tue Dec 08 13:15:28 GMT 2009  Olly Betts <olly@survex.com>
10938         * backends/chert/chert_cursor.h: Fix to build with --enable-assertions.
10940 Tue Dec 08 13:05:36 GMT 2009  Olly Betts <olly@survex.com>
10942         * backends/chert/chert_cursor.cc,backends/chert/chert_cursor.h,
10943           backends/chert/chert_postlist.cc: Add MutableChertCursor subclass of
10944           ChertCursor and implement del() there rather than in ChertCursor.
10945           This means we can use the C++ type system to track whether we got
10946           a const or non-const ChertTable * and so whether it is safe to
10947           cast away that const and delete the entry the cursor points to.
10949 Tue Dec 08 12:03:08 GMT 2009  Olly Betts <olly@survex.com>
10951         * backends/chert/chert_database.cc,backends/chert/chert_table.cc,
10952           backends/chert/chert_table.h,backends/flint/flint_database.cc,
10953           backends/flint/flint_table.cc,backends/flint/flint_table.h,
10954           bin/xapian-compact.cc,bin/xapian-inspect.cc: Add empty() method to
10955           FlintTable and ChertTable which works completely reliably even if
10956           the item count has wrapped.
10957         * tests/api_closedb.cc: Add closedb3 for coverage of get_doccount() and
10958           has_positions().
10960 Tue Dec 08 08:23:12 GMT 2009  Olly Betts <olly@survex.com>
10962         * backends/chert/chert_cursor.h: Tweak whitespace in comment.
10964 Mon Dec 07 04:56:42 GMT 2009  Olly Betts <olly@survex.com>
10966         * backends/flint/flint_database.cc,backends/flint/flint_synonym.h:
10967           Eliminate "size" private member of FlintSynonymTermList which is set
10968           but never used.
10970 Mon Dec 07 04:49:54 GMT 2009  Olly Betts <olly@survex.com>
10972         * backends/chert/chert_database.cc,backends/chert/chert_synonym.h:
10973           Eliminate "size" private member of ChertSynonymTermList which is set
10974           but never used.
10976 Mon Dec 07 04:32:46 GMT 2009  Olly Betts <olly@survex.com>
10978         * backends/chert/: Use > 32 bit type to keep count of items in a
10979           table.  This fixes misreporting by xapian-check, and in the very
10980           unlikely case where the counter has just wrapped to 0, makes
10981           xapian-compact not mistakenly think tables are empty and the
10982           matcher ignore positional information.
10984 Thu Dec 03 10:08:28 GMT 2009  Richard Boulton <richard@tartarus.org>
10986         * tests/api_compact.cc: Cast character value in string constructor
10987           to a char; without this we were getting a stack overflow and
10988           general nastiness on i386, which we hypothesise was due to the
10989           wrong overload for string() being picked.
10991 Wed Dec 02 23:10:50 GMT 2009  Olly Betts <olly@survex.com>
10993         * backends/flint_lock.cc: Add missing include of xapian/error.h.
10994           This was causing the snapshot builder to fail, but worked OK
10995           in my tree for reasons I don't understand.
10997 Wed Dec 02 14:30:40 GMT 2009  Olly Betts <olly@survex.com>
10999         * backends/chert/chert_database.cc,
11000           backends/chert/chert_databasereplicator.cc,
11001           backends/flint/flint_database.cc,
11002           backends/flint/flint_databasereplicator.cc,backends/flint_lock.cc,
11003           backends/flint_lock.h: Factor out 4 copies of the same code to
11004           report why Xapian failed to get a lock.
11006 Wed Dec 02 10:05:27 GMT 2009  Olly Betts <olly@survex.com>
11008         * backends/Makefile.mk,backends/chert/,backends/flint/,
11009           backends/flint_lock.cc,backends/flint_lock.h: Factor out a single
11010           version of the "flint-compatible locking code" and use it from both
11011           flint and chert.
11013 Wed Dec 02 02:49:14 GMT 2009  Olly Betts <olly@survex.com>
11015         * tests/api_compact.cc,tests/apitest.cc,tests/apitest.h,
11016           tests/harness/backendmanager.cc,tests/harness/backendmanager.h: Add
11017           get_database_path() variant which takes a generator function and use
11018           it so that the right database names are used in compactnorenumber1.
11020 Tue Dec 01 12:37:24 GMT 2009  Olly Betts <olly@survex.com>
11022         * tests/apitest.cc,tests/harness/backendmanager.cc,
11023           tests/harness/backendmanager.h: Move generator function variant of
11024           get_database() to BackendManager, and tweak it to build the database
11025           under a temporary path and rename it once built, to avoid leaving a
11026           partial database in place if interrupted.
11027         * tests/perftest/perftest_matchdecider.cc: Use this mechanism to lazily
11028           generate test databases.
11029         * tests/harness/: Remove the optional name parameter from various
11030           BackendManager methods as it was only used by perftest and is no
11031           longer needed.
11033 Tue Dec 01 11:00:35 GMT 2009  Olly Betts <olly@survex.com>
11035         * tests/apitest.cc,tests/apitest.h: Add mechanism for caching databases
11036           generated by a function.
11037         * tests/api_compact.cc: Use it for compactnorenumber1.
11039 Tue Dec 01 10:59:50 GMT 2009  Olly Betts <olly@survex.com>
11041         * tests/api_db.cc: Rename matchfunctor<n> to matchdecider<n> to match
11042           current terminology.
11044 Tue Dec 01 10:51:23 GMT 2009  Olly Betts <olly@survex.com>
11046         * tests/api_db.cc: Don't run matchfunctor3 under remote backends as
11047           MatchDecider isn't actually supported there (uncovered by recent
11048           change to throw UnimplementedError in this case).
11050 Tue Dec 01 09:35:53 GMT 2009  Richard Boulton <richard@tartarus.org>
11052         * include/xapian/matchspy.h: Remove out-of-date reference to
11053           add_slot(), which no longer exists: users are expected to use
11054           multiple ValueCountMatchSpies if they need to monitor more than
11055           one slot.
11057 Tue Dec 01 08:04:17 GMT 2009  Olly Betts <olly@survex.com>
11059         * tests/Makefile.am,tests/api_compact.cc: Add test coverage for
11060           xapian-compact --no-renumber with multiple databases.
11062 Tue Dec 01 06:25:47 GMT 2009  Olly Betts <olly@survex.com>
11064         * tests/api_backend.cc: Clean up matchdecider4.
11066 Tue Dec 01 06:12:29 GMT 2009  Olly Betts <olly@survex.com>
11068         * HACKING: A couple more std::string efficiency tips.
11070 Tue Dec 01 05:51:52 GMT 2009  Olly Betts <olly@survex.com>
11072         * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
11073           net/remoteserver.cc: Throw UnimplementedError if a matchdecider or
11074           "legacy" matchspy is used with the remote backend.
11075         * tests/api_backend.cc: Add regression test matchdecider4.
11077 Mon Nov 30 05:42:43 GMT 2009  Olly Betts <olly@survex.com>
11079         * backends/remote/remote-database.cc,common/remote-database.h,
11080           common/remoteprotocol.h,common/remoteserver.h,
11081           docs/remote_protocol.html,net/remoteserver.cc,tests/api_metadata.cc,
11082           tests/harness/testrunner.cc: Add support for
11083           WritableDatabase::set_metadata() and Database::get_metadata() to the
11084           remote backend (based largely on patch in #178).
11085         * AUTHORS: Thanks to Paul Rudin for patch.
11087 Thu Nov 26 07:25:15 GMT 2009  Olly Betts <olly@survex.com>
11089         * NEWS: Start to update from ChangeLog.
11091 Thu Nov 26 02:26:43 GMT 2009  Olly Betts <olly@survex.com>
11093         * common/str.cc: Tweak the length calculation for the buffer used by
11094           str() when converting integers to strings so that the buffer is
11095           exactly the minimum required size for integers of size 1, 2, 4,
11096           and 8 bytes, and only a byte extra for 16 byte integers.
11098 Wed Nov 25 05:59:13 GMT 2009  Olly Betts <olly@survex.com>
11100         * bin/xapian-compact.cc: In the --no-renumber case, just set offset[]
11101           entries to zero to start with rather than fixing them up later.
11103 Wed Nov 25 05:49:37 GMT 2009  Olly Betts <olly@survex.com>
11105         * bin/xapian-compact.cc: Extend --no-renumber to support merging
11106           databases, but only if they have disjoint ranges of used document
11107           ids.
11109 Wed Nov 25 04:37:38 GMT 2009  Olly Betts <olly@survex.com>
11111         * bin/xapian-compact.cc: Fix typos in --help output.
11113 Wed Nov 25 04:22:26 GMT 2009  Olly Betts <olly@survex.com>
11115         * bin/xapian-compact.cc: Prune unused docids off the end of database
11116           when merging multiple databases with renumbering.
11118 Wed Nov 25 03:12:24 GMT 2009  Olly Betts <olly@survex.com>
11120         * bin/xapian-compact.cc: Use string() instead of "" and string(1, '\0')
11121           instead of string("", 1).
11123 Wed Nov 25 02:34:10 GMT 2009  Olly Betts <olly@survex.com>
11125         * backends/chert/chert_lock.cc: Fix locking code to work if stdin
11126           and/or stdout have been closed.
11127         * backends/flint/flint_lock.cc: Backport fix to flint.
11128         * tests/api_backend.cc: Add regression test lockfilefd0or1.
11130 Wed Nov 25 00:59:05 GMT 2009  Olly Betts <olly@survex.com>
11132         * backends/chert/chert_database.cc,backends/chert/chert_lock.cc,
11133           backends/chert/chert_lock.h: Add "FDLIMIT" reason code for why
11134           locking failing.
11136 Tue Nov 24 12:44:56 GMT 2009  Olly Betts <olly@survex.com>
11138         * api/omdatabase.cc: Factor out throwing an exception for docid 0 not
11139           being valid.
11141 Tue Nov 24 12:39:10 GMT 2009  Olly Betts <olly@survex.com>
11143         * tests/api_none.cc: Note previous fix was ticket#415.
11145 Tue Nov 24 12:33:12 GMT 2009  Olly Betts <olly@survex.com>
11147         * api/omdatabase.cc: Fix many Xapian::Database methods to behave better
11148           on a database with no subdatabases, such as is constructed by
11149           Database().
11150         * tests/Makefile.am,tests/api_nodb.cc,tests/api_none.cc: Expand
11151           emptydb_metadata1 to also regression test these other cases, and
11152           rename to nosubdatabases1.
11154 Mon Nov 23 14:01:51 GMT 2009  Olly Betts <olly@survex.com>
11156         * common/debuglog.h: Add "NO_ARGS" which can be used for debug logging
11157           when a function or method takes no arguments.  The main advantage
11158           over "" is that no extra code is generated for it.
11159         * api/omdatabase.cc: Convert to use debuglog.h fully.
11160         * api/matchspy.cc,api/omdatabase.cc: Make use of NO_ARGS.
11162 Mon Nov 23 09:10:55 GMT 2009  Olly Betts <olly@survex.com>
11164         * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc,
11165           common/debuglog.cc,common/debuglog.h,common/omdebug.h,configure.ac,
11166           matcher/multimatch.cc,queryparser/queryparser.lt: Rename
11167           XAPIAN_DEBUG_VERBOSE macro to XAPIAN_DEBUG_LOG to better match the
11168           user-visible "--enable-log" configure option which controls it.
11170 Mon Nov 23 08:08:45 GMT 2009  Olly Betts <olly@survex.com>
11172         * backends/chert/chert_database.cc,backends/chert/chert_lock.cc,
11173           backends/chert/chert_table.cc,backends/flint/: Use string() or
11174           s.resize(0) instead of "".  Use string(1, '\0') instead of
11175           string("", 1).
11177 Sun Nov 22 14:20:51 GMT 2009  Olly Betts <olly@survex.com>
11179         * backends/chert/chert_postlist.cc: When skipping through a chunk of
11180           postings to find the one we want, don't bother to unpack the wdf
11181           values we're skipping over, which should save a significant amount
11182           of time in certain cases where the profile data shows we spend
11183           something like 1/3 of the time in the function where this happens.
11185 Sun Nov 22 13:12:39 GMT 2009  Olly Betts <olly@survex.com>
11187         * api/matchspy.cc,backends/chert/chert_values.cc,
11188           languages/steminternal.cc: Tweak whitespace after while to be
11189           consistent.
11191 Sat Nov 21 17:39:23 GMT 2009  Richard Boulton <richard@tartarus.org>
11193         * backends/chert/chert_values.cc,backends/chert/chert_values.h:
11194           Make ValueChunkReader::skip_to() assign the value to a string
11195           only when the target has been reached.  Saves a lot of
11196           unnecessary string copying - on a benchmark of mydeco data,
11197           improves time for 100 queries from 3.66s to 3.10s.
11199 Sat Nov 21 01:13:26 GMT 2009  Olly Betts <olly@survex.com>
11201         * tests/: Make arrays which don't need to be modified const.
11203 Sat Nov 21 00:01:04 GMT 2009  Olly Betts <olly@survex.com>
11205         * tests/api_matchspy.cc: The default parameter for
11206           get_writable_database() is string(), so don't explicitly pass "".
11208 Fri Nov 20 16:19:13 GMT 2009  Richard Boulton <richard@tartarus.org>
11210         * tests/api_matchspy.cc: Add regression test for underflow in
11211           numeric ranges (based on python version in ticket #321).
11213 Fri Nov 20 10:54:08 GMT 2009  Olly Betts <olly@survex.com>
11215         * matcher/valuestreamdocument.cc: Use check() instead of skip_to() in
11216           ValueStreamDocument.
11218 Fri Nov 20 09:57:12 GMT 2009  Olly Betts <olly@survex.com>
11220         * common/document.h,matcher/: Implement ValueStreamDocument subclass
11221           of Xapian::Document::Internal which provides a way to connect up
11222           valuestreams to uses of values during the match.  Other
11223           (non-recommended) uses of the Document passed to MatchDecider, etc
11224           are passed through to a lazily created backend Document::Internal
11225           subclass.  This should be a lot more efficient for chert.  It's
11226           unclear how it will affect performance for backends which don't store
11227           values in streams - profiling is required.
11229 Fri Nov 20 02:35:14 GMT 2009  Olly Betts <olly@survex.com>
11231         * backends/inmemory/inmemory_document.cc: Fix closedb1 on InMemory
11232           backend, broken by recent commit.
11234 Thu Nov 19 12:03:52 GMT 2009  Olly Betts <olly@survex.com>
11236         * backends/multi/multi_valuelist.cc: Fix to handle the case where all
11237           the sublists turn out to be empty when we first call next().
11239 Thu Nov 19 11:12:53 GMT 2009  Olly Betts <olly@survex.com>
11241         * backends/inmemory/: Set the document data and values lazily for the
11242           inmemory backend too.  They're much less costly to fetch than if
11243           a disk access may be needed, but it avoids a copy of the respective
11244           data if they aren't needed, and either could potentially be large.
11245           Consistency here also makes things easier to understand.
11247 Thu Nov 19 08:47:24 GMT 2009  Olly Betts <olly@survex.com>
11249         * api/omdocument.cc: Prefer string() to "".
11251 Thu Nov 19 07:38:29 GMT 2009  Olly Betts <olly@survex.com>
11253         * api/omdatabase.cc,backends/multi/Makefile.mk,
11254           backends/multi/multi_valuelist.cc,common/Makefile.mk,
11255           common/multivaluelist.h,tests/api_valuestream.cc: Implement support
11256           for iterating valuestreams for multidatabases.
11258 Thu Nov 19 06:19:05 GMT 2009  Olly Betts <olly@survex.com>
11260         * bin/xapian-check.cc: Rework the checking of postlist chunks into
11261           a cleaner approach which should report errors better, and
11262           eliminate the (probably) impossible "did might not be initialised"
11263           path which GCC 4.2 spotted.
11265 Thu Nov 19 01:15:03 GMT 2009  Olly Betts <olly@survex.com>
11267         * common/pack.h: Remove incorrect assertion and document what NULL
11268           parameter value means in this case.
11270 Wed Nov 18 16:33:01 GMT 2009  Richard Boulton <richard@tartarus.org>
11272         * bin/xapian-check.cc: Fix compiler warning (with gcc-4.2) that did
11273           could be used uninitialised: it couldn't be, but it's hard for a
11274           compiler to see that.
11276 Wed Nov 18 12:48:17 GMT 2009  Richard Boulton <richard@tartarus.org>
11278         * AUTHORS: Update my email address.
11280 Wed Nov 18 12:21:09 GMT 2009  Olly Betts <olly@survex.com>
11282         * common/valuelist.h: Fix internal documentation comment.
11284 Wed Nov 18 10:40:54 GMT 2009  Olly Betts <olly@survex.com>
11286         * configure.ac: Use <cstdlib>, <cmath>, <cstdio>, <cstring> for
11287           configure tests since we use these forms in the code and want
11288           consistency between what configure tests and what the code
11289           uses.
11290         * NEWS,configure.ac: Update for 1.1.3.
11292 Wed Nov 18 10:39:59 GMT 2009  Olly Betts <olly@survex.com>
11294         * PLATFORMS: Update from 1.0.17.
11296 Wed Nov 18 10:31:49 GMT 2009  Olly Betts <olly@survex.com>
11298         * INSTALL: Improve text about zlib dependency.
11300 Wed Nov 18 10:13:59 GMT 2009  Olly Betts <olly@survex.com>
11302         * INSTALL: Note the package to install for building against libuuid on
11303           Fedora, and note that libuuid isn't required on Microsoft Windows.
11305 Wed Nov 18 02:34:30 GMT 2009  Olly Betts <olly@survex.com>
11307         * NEWS: Update from 1.0.17 and ChangeLog.
11309 Mon Nov 16 08:35:52 GMT 2009  Olly Betts <olly@survex.com>
11311         * queryparser/queryparser.lemony: Fix interaction of FLAG_PARTIAL and
11312           FLAG_SYNONYM.  (ticket#407)
11313         * tests/Makefile.am,tests/api_qpbackend.cc: Add regression test
11314           qpsynonympartial1.
11316 Mon Nov 16 02:15:14 GMT 2009  Olly Betts <olly@survex.com>
11318         * backends/flint/flint_version.cc: Add "using namespace std;" and drop
11319           the explicit std:: qualifiers.
11321 Fri Nov 13 02:27:48 GMT 2009  Olly Betts <olly@survex.com>
11323         * backends/chert/chert_spelling.h,backends/chert/chert_table.h,
11324           backends/flint/flint_spelling.h,backends/flint/flint_table.h,
11325           common/getopt.cc,common/stringutils.h,languages/steminternal.h:
11326           Add missing std:: qualifiers for functions in <cstring>, <cstdlib>,
11327           etc.
11329 Fri Nov 13 02:25:50 GMT 2009  Olly Betts <olly@survex.com>
11331         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Add
11332           "using namespace std;" and drop the explicit std:: qualifiers.
11334 Fri Nov 13 02:11:18 GMT 2009  Olly Betts <olly@survex.com>
11336         * common/str.cc: Use assignment to initialise a size_t - the current
11337           code was turning a missing snprintf() prototype into a confusing
11338           error message with Sun's C++, and is less clear anyway.
11340 Fri Nov 13 02:03:28 GMT 2009  Olly Betts <olly@survex.com>
11342         * HACKING,backends/chert/chert_lock.cc,backends/flint/flint_lock.cc,
11343           backends/remote/remote-database.cc,net/remoteserver.cc,
11344           net/tcpserver.cc,tests/harness/backendmanager_remotetcp.cc,
11345           tests/harness/testsuite.cc: Sun C++'s <csignal> (not unreasonably)
11346           excludes non-ISO-C functions which are in <signal.h> - for example,
11347           kill() (which POSIX specifies).  So revert <csignal> to <signal.h>
11348           and document this as a global exception.
11350 Thu Nov 12 08:30:07 GMT 2009  Olly Betts <olly@survex.com>
11352         * matcher/collapser.h: Remove spurious comma after last entry in enum,
11353           which Sun's C++ compiler warns about.
11355 Thu Nov 12 00:24:55 GMT 2009  Olly Betts <olly@survex.com>
11357         * matcher/multimatch.cc: Sorter -> KeyMaker in an exception message.
11359 Thu Nov 12 00:01:55 GMT 2009  Olly Betts <olly@survex.com>
11361         * include/xapian/database.h: Tweak documentation comments about
11362           committing changes.
11364 Wed Nov 11 12:23:48 GMT 2009  Olly Betts <olly@survex.com>
11366         * queryparser/queryparser.lemony: Fix handling of a group of stopwords
11367           which notably caused issues when default_op was OP_AND, but could
11368           probably manifest in other cases too.  Fixes ticket#406.
11369         * tests/queryparsertest.cc: Add regression test qp_stopword_group1.
11371 Wed Nov 11 10:54:58 GMT 2009  Olly Betts <olly@survex.com>
11373         * backends/chert/chert_version.h,common/safeuuid.h: Fix workaround for
11374           uuid.h headers which lack const to actually work on Solaris.
11376 Wed Nov 11 10:53:50 GMT 2009  Olly Betts <olly@survex.com>
11378         * common/Makefile.mk: Need to ship new pack.h header.
11380 Tue Nov 10 22:27:47 GMT 2009  Olly Betts <olly@survex.com>
11382         * bin/xapian-check.cc: Fix compiler warning introduced by previous
11383           change.
11385 Tue Nov 10 12:24:34 GMT 2009  Olly Betts <olly@survex.com>
11387         * backends/chert/,bin/xapian-check.cc,common/pack.h: Rewrite the
11388           packing and unpacking functions more efficiently.  As well as being
11389           generally faster, the pack functions now take a reference to a string
11390           to append to, which avoids creating a lot of temporary string
11391           objects.  Indexing HTML files with omindex is 5-10% faster.
11392           Searching for "The" on gmane (which results in a lot of unpacking of
11393           postings and document lengths) is about 35% faster.  (ticket#326)
11395 Thu Nov 05 03:55:37 GMT 2009  Olly Betts <olly@survex.com>
11397         * common/safeuuid.h: Fix to work with uuid libraries which lack const
11398           qualifiers.  Fixes build failure on Solaris.
11400 Thu Nov 05 00:15:24 GMT 2009  Olly Betts <olly@survex.com>
11402         * HACKING: Update details of debian packaging.
11404 Wed Nov 04 04:11:38 GMT 2009  Olly Betts <olly@survex.com>
11406         * common/output.h: Use C++ syntax for NULL with a type in log output.
11408 Wed Nov 04 04:02:09 GMT 2009  Olly Betts <olly@survex.com>
11410         * queryparser/lemon.c: Avoid trivial memory leak.
11412 Wed Nov 04 00:13:00 GMT 2009  Olly Betts <olly@survex.com>
11414         * include/xapian/database.h: Reword to avoid somewhat ambiguous "this
11415           method".
11417 Tue Nov 03 12:12:09 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11419         * include/xapian/database.h: Make it more clear that you need to
11420           add the unique term to the document if you want to use
11421           replace_document() to use external unique IDs for documents.
11423 Tue Nov 03 06:08:43 GMT 2009  Olly Betts <olly@survex.com>
11425         * tests/generate-api_generated: Update MultiValueSorter to
11426           MultiValueKeyMaker.
11428 Tue Nov 03 05:51:23 GMT 2009  Olly Betts <olly@survex.com>
11430         * tests/api_sorting.cc,tests/api_sortingold.cc: Fix changesorter1 and
11431           oldchangesorter1 to not be run for the remote backend where they will
11432           now fail with UnimplementedError.
11434 Tue Nov 03 02:43:12 GMT 2009  Olly Betts <olly@survex.com>
11436         * matcher/multimatch.cc: Xapian::Sorter isn't supported with the remote
11437           backend so throw UnimplementedError rather than giving incorrect
11438           results.  (ticket#384)
11439         * tests/api_sorting.cc: Add sortfunctorremote1 test this exception is
11440           actually thrown.
11442 Tue Nov 03 01:26:57 GMT 2009  Olly Betts <olly@survex.com>
11444         * common/database.h: Fix vertical whitespace glitch.
11446 Mon Nov 02 08:10:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11448         * api/omdatabase.cc: Check that internal is not empty before
11449           referencing its first element, in get_metadata() and
11450           metadata_keys_begin(), to avoid a potential segfault.
11451         * tests/api_nodb.cc: Add emptydb_metadata1, a regression test for
11452           this bug.
11454 Sun Nov 01 22:10:54 GMT 2009  Olly Betts <olly@survex.com>
11456         * examples/delve.cc,examples/quest.cc: Extend exception handling to the
11457           whole of main.  Xapian::Stem("english") can't actually throw, but
11458           that's not obvious to static analysis tools, and it is more robust
11459           to wrap the whole of main, and reduces indentation.
11461 Sun Nov 01 21:27:05 GMT 2009  Olly Betts <olly@survex.com>
11463         * bin/xapian-compact.cc: Add missing exception catch for const char *.
11464           The only case which currently throws this is an "impossible"
11465           situation, but if we're going to check for it, the reporting of
11466           failure should actually work.  Identified by Coverity's Scan.
11468 Sun Nov 01 07:56:38 GMT 2009  Olly Betts <olly@survex.com>
11470         * examples/quest.cc: Tighten up the type of the error we catch to
11471           detect an unknown stemming language.
11473 Sat Oct 31 07:16:11 GMT 2009  Olly Betts <olly@survex.com>
11475         * NEWS: Update from ChangeLog.
11477 Sat Oct 31 06:59:19 GMT 2009  Olly Betts <olly@survex.com>
11479         * include/xapian/enquire.h: Fix deprecation warnings when building with
11480           recent GCC.
11482 Sat Oct 31 02:46:04 GMT 2009  Olly Betts <olly@survex.com>
11484         * tests/queryparsertest.cc: Add another test query string to cover a
11485           case we didn't previously check.
11487 Tue Oct 27 00:42:59 GMT 2009  Olly Betts <olly@survex.com>
11489         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Don't
11490           try to close the fd one more than the maximum allowable.
11491           (ticket#408)
11492         * AUTHORS: Add Carl Worth for the patch.
11494 Mon Oct 05 09:00:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11496         * configure.ac: Mention e2fsprogs-devel in the message thrown up by
11497           configure, too.
11499 Mon Oct 05 08:53:05 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11501         * HACKING: Note the command needed to get the uuid library
11502           installed on fedora, since it's rather non-obvious.
11504 Sat Oct 03 20:11:48 GMT 2009  Olly Betts <olly@survex.com>
11506         * unicode/tclUniData.cc: Update Unicode character database to Unicode
11507           5.2.  (ticket#351)
11508         * tests/api_unicode.cc: Add tests for some characters added in Unicode
11509           5.2.
11511 Thu Oct 01 21:19:34 GMT 2009  Olly Betts <olly@survex.com>
11513         * xapian-config.in: Need to quote ^ for Solaris /bin/sh.
11515 Fri Sep 18 13:23:00 GMT 2009  Olly Betts <olly@survex.com>
11517         * configure.ac: Actually use any flags we determine are needed to
11518           switch the compiler to proper ANSI C++ mode, when building
11519           xapian-core - this stopped working in 1.0.12, breaking support for
11520           HP's aCC, Compaq's cxx, Sun's CC, and SGI's CC.
11522 Fri Sep 18 12:40:37 GMT 2009  Olly Betts <olly@survex.com>
11524         * include/xapian/matchspy.h: Mark ValueCountMatchSpy, NumericRange,
11525           NumericRanges, and score_evenness() as experimental.
11527 Fri Sep 18 08:36:34 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11529         * include/xapian/weight.h,weight/weight.cc: Remove default
11530           implementation of Weight::clone() which returns NULL - we always
11531           need clone() to be implemented because it's called for every term
11532           in the query, not just used for the remote backend.
11534 Fri Sep 18 08:02:08 GMT 2009  Olly Betts <olly@survex.com>
11536         * api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h: Mark
11537           and document the matchspy parameter of Enquire::get_mset() as
11538           deprecated in favour of the new MatchSpy class and
11539           Enquire::add_matchspy().
11541 Fri Sep 18 07:58:11 GMT 2009  Olly Betts <olly@survex.com>
11543         * tests/perftest/perftest_matchdecider.cc: Don't pass default values
11544           for optional parameters to Enquire::get_mset().
11546 Fri Sep 18 02:36:43 GMT 2009  Olly Betts <olly@survex.com>
11548         * queryparser/queryparser.lemony: If FLAG_PARTIAL is specified, don't
11549           try to spell correct a term at the end of the query which we attempt
11550           to expand as partial.
11551         * tests/queryparsertest.cc: Add regression test qp_spellpartial1.
11553 Fri Sep 18 02:33:55 GMT 2009  Olly Betts <olly@survex.com>
11555         * tests/queryparsertest.cc: For testcase qp_spellwild1: Fix the dbdir
11556           to qp_spellwild1 to match the testname;  Fix the ordering of
11557           TESTCASE macros to match the order of the test functions;  Note that
11558           this is a regression test and the versions the bug will be fixed in.
11560 Fri Sep 18 01:25:37 GMT 2009  Olly Betts <olly@survex.com>
11562         * tests/queryparsertest.cc: Fix to work with the old scoping rules for
11563           variables declared in for().
11565 Thu Sep 17 19:17:30 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11567         * queryparser/queryparser.lemony: Don't apply spelling correction
11568           to wildcard terms if FLAG_WILDCARD and FLAG_SPELLING_CORRECTION
11569           are both specified.
11570         * tests/queryparsertest.cc: Add qp_spellwild1 as a test for this.
11572 Thu Sep 17 12:08:17 GMT 2009  Olly Betts <olly@survex.com>
11574         * NEWS: Update from ChangeLog.
11576 Thu Sep 17 10:20:35 GMT 2009  Olly Betts <olly@survex.com>
11578         * api/keymaker.cc: Implement Richard's idea of not encoding any
11579           trailing, forward sorted, empty values which is a generalisation
11580           of encoding all forward sorted, empty values as an empty string.
11581         * tests/api_sorting.cc: Add new testcase multivaluekeymaker1 to
11582           check encodings are as expected.
11584 Thu Sep 17 07:15:10 GMT 2009  Olly Betts <olly@survex.com>
11586         * api/,common/multimatch.h,common/omenquireinternal.h,
11587           docs/deprecation.rst,docs/sorting.rst,include/Makefile.mk,
11588           include/xapian.h,include/xapian/enquire.h,include/xapian/keymaker.h,
11589           include/xapian/sorter.h,matcher/multimatch.cc,tests/Makefile.am,
11590           tests/api_sorting.cc,tests/api_sortingold.cc: Rename Sorter to
11591           KeyMaker, paving the way for using it to build collapse keys too.
11592           Resolve the inconsistency in MultiValueSorter::add()'s "forward"
11593           parameter by replacing it with MultiKeyMaker::add_value() with a
11594           "reverse" parameter.  (ticket#359)
11596 Thu Sep 17 07:13:25 GMT 2009  Olly Betts <olly@survex.com>
11598         * api/valuesetmatchdecider.cc,include/xapian/valuesetmatchdecider.h:
11599           Inline trivial constructor from header.  Add explicit '#include
11600           "xapian/document.h"'.
11602 Thu Sep 17 05:22:50 GMT 2009  Olly Betts <olly@survex.com>
11604         * HACKING: Document how to use the XAPIAN_DEPRECATED() macro to
11605           mark a class as deprecated.
11607 Wed Sep 16 02:40:13 GMT 2009  Olly Betts <olly@survex.com>
11609         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
11610           Eliminate a couple of assertions which can never fire.
11612 Sat Sep 12 04:05:35 GMT 2009  Olly Betts <olly@survex.com>
11614         * matcher/msetpostlist.cc: Fix MSetPostList not to read off the end of
11615           the MSet if get_maxweight() is called when at_end().  This can
11616           happen but the testcase was too large to send so sadly no
11617           regression test I'm afraid.
11619 Sat Sep 12 03:41:04 GMT 2009  Olly Betts <olly@survex.com>
11621         * backends/chert/chert_values.cc: Fix code to find the first docid in
11622           the net chunk (ticket#399).
11623         * tests/api_backend.cc: Add regression test from Rich Lane.
11625 Fri Sep 11 11:14:49 GMT 2009  Olly Betts <olly@survex.com>
11627         * backends/chert/,bin/xapian-check.cc,bin/xapian-compact.cc: Add
11628           support for chert databases without a termlist table (ticket#181).
11629           Currently the only way to create such a database is to create a
11630           chert database and do "rm termlist.*".
11632 Fri Sep 11 10:07:35 GMT 2009  Olly Betts <olly@survex.com>
11634         * bin/xapian-compact.cc: Don't report an absent lazy input table as 0
11635           size.
11637 Fri Sep 11 03:17:17 GMT 2009  Olly Betts <olly@survex.com>
11639         * backends/chert/chert_table.h: Improve documentation of "handle"
11640           member.
11642 Thu Sep 10 13:24:29 GMT 2009  Olly Betts <olly@survex.com>
11644         * m4-macros/xapian-1.1.m4: Report the default xapian-config
11645           basename in configure's --help output.
11647 Thu Sep 10 12:55:48 GMT 2009  Olly Betts <olly@survex.com>
11649         * m4-macros/xapian-1.1.m4: Add optional third parameter to
11650           XO_LIB_XAPIAN which specifies the basename for the "xapian-config"
11651           script (defaults to "xapian-config" to give the current behaviour).
11653 Thu Sep 10 06:39:17 GMT 2009  Olly Betts <olly@survex.com>
11655         * NEWS: Update with changes in 1.0.16 and from ChangeLog.
11657 Thu Sep 10 02:17:56 GMT 2009  Olly Betts <olly@survex.com>
11659         * include/xapian/queryparser.h: Clarify the documentation comments for
11660           QueryParser::set_default_op() and QueryParser::get_default_op().
11662 Wed Sep 09 13:36:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11664         * matcher/andmaybepostlist.cc,tests/Makefile.am,tests/api_queryopt.cc:
11665           Back out patch from r13440 which introduced a new optimisation
11666           for AND_MAYBE when the maximum weight of the RHS becomes zero,
11667           due to various undesirable side effects.  I've put the patch into
11668           ticket #400 with an explanation.
11670 Wed Sep 09 01:54:05 GMT 2009  Olly Betts <olly@survex.com>
11672         * backends/chert/chert_postlist.cc,tests/api_backend.cc: Fix
11673           WritableDatabase::get_doclength() to work properly after a call to
11674           commit for the chert backend (ticket#397).
11676 Wed Sep 09 00:28:09 GMT 2009  Olly Betts <olly@survex.com>
11678         * AUTHORS: Add Dmitry Liakh for fix for #398.
11680 Wed Sep 09 00:02:47 GMT 2009  Olly Betts <olly@survex.com>
11682         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Fix a
11683           typo which stopped this fix in 1.0.12 from working (ticket #398):
11685           If we fail to get the lock after we spawn the child lock process
11686           (the common case is because the database is already open for
11687           writing) then we now clean up the child process properly.
11689 Fri Sep 04 11:24:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11691         * docs/categorisation.rst: Remove out-of-date call to get_mset()
11692           which passed a MatchSpy in - spies are now set with
11693           add_matchspy() before get_mset() is called.
11695 Thu Sep 03 00:29:27 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11697         * matcher/andmaybepostlist.cc: For AndMaybe, if the RHS has a
11698           maximum possible weight of 0, we now decay to just the LHS.
11699         * tests/Makefile.am,tests/api_queryopt.cc: Test coverage that this
11700           optimisation doesn't break anything.
11702 Tue Sep 01 12:04:13 GMT 2009  Olly Betts <olly@survex.com>
11704         * configure.ac: Send stderr output from ldconfig to config.log.
11706 Tue Sep 01 10:35:51 GMT 2009  Olly Betts <olly@survex.com>
11708         * AUTHORS,common/safeuuid.h: Fix uuid_unparse_lower() replacement for
11709           older libuuid to actually compile (really fixes ticket#368).
11711 Mon Aug 31 05:58:55 GMT 2009  Olly Betts <olly@survex.com>
11713         * NEWS: Sync with 1.0.15.
11715 Mon Aug 31 05:48:13 GMT 2009  Olly Betts <olly@survex.com>
11717         * NEWS: Start to format entries for 1.1.3.
11719 Mon Aug 31 04:14:58 GMT 2009  Olly Betts <olly@survex.com>
11721         * PLATFORMS: Sync with 1.0.15.
11723 Mon Aug 31 01:30:01 GMT 2009  Olly Betts <olly@survex.com>
11725         * common/getopt.cc: Use USE_GLIBC_GNUGETOPT from gnu_getopt.h rather
11726           than repeating the conditionals used to determine it here.  Rename
11727           __getopt_initialized to getopt_initialized and make it static.
11728           Rename _getopt_initialize() to getopt_initialize().
11730 Mon Aug 31 01:24:29 GMT 2009  Olly Betts <olly@survex.com>
11732         * common/gnu_getopt.h: Update (C) dates.  Markup file description for
11733           doxygen.  Fix comment reference to ctype.h as we now use <cctype>.
11735 Sun Aug 30 23:28:25 GMT 2009  Olly Betts <olly@survex.com>
11737         * common/gnu_getopt.h: Make optarg, optind, opterr, and optopt extern
11738           "C" to avoid linkage clash with these symbols on Mac OS X 10.6.
11740 Thu Aug 27 03:05:33 GMT 2009  Olly Betts <olly@survex.com>
11742         * HACKING: Add note to document the reason for any exceptions to the
11743           rule to use C++ forms of ISO C headers.
11745 Wed Aug 26 13:07:07 GMT 2009  Olly Betts <olly@survex.com>
11747         * AUTHORS,INSTALL,docs/install.html: Drop .php from xapian.org URLs.
11749 Wed Aug 26 12:58:51 GMT 2009  Olly Betts <olly@survex.com>
11751         * HACKING: Update URLs.  Remove duplicated text about updating RoadMap
11752           from the release checklist.
11754 Wed Aug 26 10:56:07 GMT 2009  Olly Betts <olly@survex.com>
11756         * configure.ac: Update various URLs.
11758 Tue Aug 25 01:52:51 GMT 2009  Olly Betts <olly@survex.com>
11760         * tests/harness/testsuite.cc: Fix not to report heaps of bogus errors
11761           under valgrind 3.5.0.
11763 Mon Aug 24 02:19:06 GMT 2009  Olly Betts <olly@survex.com>
11765         * include/xapian/enquire.h: Also update the documentation comment for
11766           set_sort_by_relevance_then_value() to mention sortable_serialise().
11768 Fri Aug 21 14:35:35 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11770         * Makefile.am: Add generate-exceptions to EXTRA_DIST - was missing
11771           from tarballs.
11773 Fri Aug 21 12:21:59 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11775         * AUTHORS: Add Michael Vogt, who suggested adding a comment about
11776           sortable_serialise to set_sort_by_value().
11778 Fri Aug 21 12:14:13 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11780         * include/xapian/enquire.h: Update documentation comments for
11781           set_sort_by_value() and set_sort_by_value_then_relevance() to
11782           mention sortable_serialise() as a good way to store values if you
11783           want to sort by them.
11785 Mon Aug 17 16:51:10 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11787         * matcher/multimatch.cc: When sorting by non-pure-relevance, ensure
11788           that the document is shown to the matchspy even if it couldn't
11789           get in the mset.
11790         * tests/api_matchspy.cc: Extend matchspy4 to include a regression
11791           test for this.
11793 Mon Aug 17 11:51:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11795         * api/matchspy.cc,include/xapian/matchspy.h: Add overload for
11796           score_evenness to allow a NumericRanges object to be passed to
11797           it.
11799 Mon Aug 17 07:36:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11801         * api/matchspy.cc,include/xapian/matchspy.h: Replace
11802           build_numeric_ranges() function with a NumericRanges object,
11803           whose constructor is passed the values and which exposes the
11804           calculated ranges via a getter.
11805         * tests/api_matchspy.cc: Update tests to use new NumericRanges
11806           object instead of build_numeric_ranges().
11808 Wed Aug 12 17:33:53 GMT 2009  Olly Betts <olly@survex.com>
11810         * Makefile.am: Fix generate-exceptions change to work in a VPATH
11811           build.
11813 Wed Aug 12 15:57:44 GMT 2009  Olly Betts <olly@survex.com>
11815         * exception_data.pm: Add new SerialisationError.
11816         * common/serialise-double.cc: Throw SerialisationError or InternalError
11817           instead of NetworkError.
11819 Wed Aug 12 15:19:05 GMT 2009  Olly Betts <olly@survex.com>
11821         * Makefile.am,configure.ac,generate-exceptions,generate-exceptions.in:
11822           It's not very useful to be able to run generate-exceptions outside
11823           the build system, and it only gets the #! line substituted, so just
11824           move those runes into Makefile.am and reduce the number of files that
11825           configure needs to generate by one.
11827 Mon Aug 10 13:25:22 GMT 2009  Olly Betts <olly@survex.com>
11829         * api/matchspy.cc: Use <cfloat> and <cmath> rather than <float.h> and
11830           <math.h> (regression from merging the matchspy branch).
11832 Mon Aug 10 13:01:57 GMT 2009  Olly Betts <olly@survex.com>
11834         * api/,bin/xapian-tcpsrv.cc,common/,docs/postingsource.rst,
11835           docs/serialisation.rst,include/Makefile.mk,include/xapian.h,
11836           include/xapian/,net/remoteserver.cc,tests/: Rename
11837           SerialisationContext to Registry.
11839 Mon Aug 10 11:23:23 GMT 2009  Olly Betts <olly@survex.com>
11841         * NEWS: Start to update from ChangeLog.
11843 Mon Aug 10 10:29:13 GMT 2009  Olly Betts <olly@survex.com>
11845         * api/omenquire.cc,include/xapian/weight.h,matcher/localmatch.cc:
11846           Make Weight::clone() public, and remove Weight::clone_() as it is
11847           no longer required.
11849 Mon Aug 10 07:55:04 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11851         * HACKING: Add section on ordering of include files, and fix a few
11852           formatting issues to make this file into valid restructured text
11853           again.
11855 Mon Aug 10 06:55:45 GMT 2009  Olly Betts <olly@survex.com>
11857         * api/serialisationcontext.cc,common/serialisationcontextinternal.h:
11858           Refactor to use a template function to implement the exception safe
11859           approach I implemented for PostingSource, and use it for MatchSpy
11860           and Weight too.
11861         * tests/api_serialise.cc: Add tests for exception safety of MatchSpy
11862           and Weight with SerialisationContext.
11864 Mon Aug 10 06:15:23 GMT 2009  Olly Betts <olly@survex.com>
11866         * include/xapian/weight.h,weight/weight.cc: Add default implementations
11867           of Weight methods name(), serialise(), unserialise(), and clone() for
11868           consistency with PostingSource and MatchSpy.
11870 Mon Aug 10 03:29:12 GMT 2009  Olly Betts <olly@survex.com>
11872         * tests/api_postingsource.cc: Tweak header include order.
11874 Tue Aug 04 15:49:54 GMT 2009  Olly Betts <olly@survex.com>
11876         * include/xapian/queryparser.h: Explicitly document that an empty
11877           prefix argument to QueryParser::add_prefix() means "no prefix".
11879 Tue Aug 04 13:11:26 GMT 2009  Olly Betts <olly@survex.com>
11881         * api/postingsource.cc: Throw UnimplementedError rather than
11882           InvalidOperationError from PostingSource::serialise() and
11883           PostingSource::unserialise() for consistency with MatchSpy.
11884         * include/xapian/postingsource.h: Document this behaviour (previously
11885           we didn't say what the default implementation actually did).
11886         * tests/api_serialise.cc: Add test coverage.
11888 Mon Aug 03 11:40:31 GMT 2009  Olly Betts <olly@survex.com>
11890         * api/serialisationcontext.cc: Fix to handle the clone() method or dtor
11891           of a PostingSource subclass throwing exceptions.
11892         * tests/api_serialise.cc: Add new testcase serialisationcontext1 as a
11893           regression test for this.
11895 Mon Aug 03 06:40:28 GMT 2009  Olly Betts <olly@survex.com>
11897         * tests/api_serialise.cc: Fix copy-and-pasted @brief.
11899 Sun Aug 02 16:21:54 GMT 2009  Olly Betts <olly@survex.com>
11901         * common/remoteprotocol.h: Correction: protocol version 33 will debut
11902           in 1.1.3 not 1.1.4.
11904 Sun Aug 02 16:20:28 GMT 2009  Olly Betts <olly@survex.com>
11906         * docs/remote_protocol.html: Update to document protocol version 33.
11908 Sun Aug 02 16:17:24 GMT 2009  Olly Betts <olly@survex.com>
11910         * backends/remote/remote-database.cc,net/remoteserver.cc: We were
11911           ignoring any trailing junk after the matchspies in MSG_GETMSET, so
11912           change to not send a count of them and just unpack until we run out
11913           of data.
11915 Sun Aug 02 15:47:30 GMT 2009  Olly Betts <olly@survex.com>
11917         * common/remoteprotocol.h: Note the versions in which recent protocol
11918           versions were introduced.
11920 Sun Aug 02 15:09:13 GMT 2009  Olly Betts <olly@survex.com>
11922         * backends/remote/remote-database.cc,common/serialise.h,
11923           net/remoteserver.cc,net/serialise.cc: Put the serialised MSet last in
11924           REPLY_RESULTS as then it doesn't need to know its own length (so the
11925           encoding is the same size it used to be in the non-matchspy case),
11926           and we avoid having to check for there being "junk" data left over
11927           after unserialising.
11929 Sun Aug 02 14:39:18 GMT 2009  Olly Betts <olly@survex.com>
11931         * matcher/remotesubmatch.h: Fix to build with GCC 4.4.1.
11933 Sun Aug 02 14:27:44 GMT 2009  Olly Betts <olly@survex.com>
11935         * backends/remote/remote-database.cc: Don't assign a temporary string
11936           object.
11938 Sun Aug 02 13:50:14 GMT 2009  Olly Betts <olly@survex.com>
11940         * include/xapian/matchspy.h: Add missing documentation comments.
11942 Sun Aug 02 12:15:43 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11944         Merge from matchspy branch.
11945         * api/,backends/remote/remote-database.cc,common/,docs/Makefile.am,
11946           docs/categorisation.rst,include/Makefile.mk,include/xapian.h,
11947           include/xapian/enquire.h,include/xapian/matchspy.h,
11948           include/xapian/serialisationcontext.h,matcher/multimatch.cc,
11949           matcher/remotesubmatch.cc,matcher/remotesubmatch.h,
11950           net/remoteserver.cc,net/serialise.cc,tests/Makefile.am,
11951           tests/api_matchspy.cc: Add new-style Xapian::MatchSpy class,
11952           which is a pure "spy" class, rather than being able to take a
11953           decision on whether a spy is applied before or after a result.
11954           This class is also designed to work with remote databases,
11955           passing the results back in serialised form.  Also, add
11956           ValueCountMatchSpy, which counts the occurrences of each value in
11957           a slot in the search results seen (useful for faceted or
11958           categorisation systems).
11960 Fri Jul 31 12:50:57 GMT 2009  Olly Betts <olly@survex.com>
11962         * tests/api_backend.cc,tests/api_wrdb.cc: Move new test
11963           modifiedpostlist1 from api_wrdb.cc to api_backend.cc - we're trying
11964           not to make api-wrdb.cc any larger.  Also note the ticket number and
11965           the release this will be fixed in.
11967 Thu Jul 30 16:30:06 GMT 2009  Olly Betts <olly@survex.com>
11969         * backends/chert/chert_modifiedpostlist.cc: Fix ChertModifiedPostList
11970           to skip added-but-then-deleted-before-flush documents.  (ticket#392)
11971           backends/flint/flint_modifiedpostlist.cc: Same fix for flint.
11972         * tests/api_wrdb.cc: Add regression test modifiedpostlist1.
11973         * AUTHORS: Add Rich Lane for patch.
11975 Wed Jul 29 09:44:15 GMT 2009  Olly Betts <olly@survex.com>
11977         * NEWS: Update from ChangeLog.
11979 Wed Jul 29 09:29:45 GMT 2009  Olly Betts <olly@survex.com>
11981         * include/xapian/valueiterator.h: Fix typos ("again" -> "and").
11983 Wed Jul 29 06:18:41 GMT 2009  Olly Betts <olly@survex.com>
11985         * tests/Makefile.am: Actually distribute testdata/apitest_declen.txt
11986           - new test data from the postingsources branch merge.
11988 Tue Jul 28 16:38:55 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11990         Merge from postingsources branch:
11991         * tests/generate-api_generated: Test get_description() methods of
11992           Xapian::PostingSource subclasses.
11994 Tue Jul 28 16:35:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11996         Merge from postingsources branch:
11997         * api/Makefile.mk,api/decvalwtsource.cc,api/serialisationcontext.cc,
11998           include/xapian/postingsource.h: Add
11999           DecreasingValueWeightPostingSource class, which reads weights
12000           from a value slot in which a significant range of the values are
12001           in decreasing order.  This functions similarly to
12002           ValueWeightPostingSource, but can be much more efficient.
12003         * tests/api_valuestream.cc,tests/testdata/apitest_declen.txt:
12004           Tests, and some associated constructed test data, for
12005           DecreasingValueWeightPostingSource.
12007 Mon Jul 27 04:50:45 GMT 2009  Olly Betts <olly@survex.com>
12009         * HACKING: Now using autoconf 2.64.
12011 Mon Jul 27 04:46:17 GMT 2009  Olly Betts <olly@survex.com>
12013         * HACKING: Add note about preferring std::string::assign(), and also
12014           one about building up strings using +=.
12016 Mon Jul 27 04:45:15 GMT 2009  Olly Betts <olly@survex.com>
12018         * backends/chert/chert_lock.cc,backends/chert/chert_utils.h,
12019           backends/flint/flint_lock.cc,backends/flint/flint_utils.h,
12020           backends/remote/remote-database.cc: Use std::string::assign() rather
12021           than constructing a temporary string object to assign.
12023 Sun Jul 26 16:08:10 GMT 2009  Olly Betts <olly@survex.com>
12025         * AUTHORS: Update for bugs fixed in 1.0.14.
12027 Sun Jul 26 16:03:54 GMT 2009  Olly Betts <olly@survex.com>
12029         * HACKING: Update the release checklist.
12031 Sun Jul 26 14:28:25 GMT 2009  Olly Betts <olly@survex.com>
12033         * docs/doxygen_source.conf.in: Update roughly in-line with apidoc
12034           changes.  I've not looked at the output much though.
12036 Sun Jul 26 14:00:14 GMT 2009  Olly Betts <olly@survex.com>
12038         * include/xapian/database.h: Remove documentation comment for namespace
12039           Xapian - this is now documented in xapian.h.
12041 Sun Jul 26 13:59:42 GMT 2009  Olly Betts <olly@survex.com>
12043         * include/xapian/unicode.h: Add documentation comment for namespace
12044           Unicode.
12046 Sun Jul 26 13:58:44 GMT 2009  Olly Betts <olly@survex.com>
12048         * include/xapian/dbfactory.h: Add documentation comments for the
12049           backend namespaces (InMemory, etc).
12051 Sun Jul 26 13:57:29 GMT 2009  Olly Betts <olly@survex.com>
12053         * include/xapian/version_h.cc: Add documentation comments for the
12054           generated version.h, and all the preprocessor defines it contains.
12056 Sun Jul 26 13:56:15 GMT 2009  Olly Betts <olly@survex.com>
12058         * include/xapian.h: Consistently say "linked with" rather than "linked
12059           to" in some cases.  Put documentation comment for namespace Xapian
12060           in this file.
12062 Sun Jul 26 13:06:45 GMT 2009  Olly Betts <olly@survex.com>
12064         * docs/doxygen_api.conf.in: More fettling to try to get better output:
12065           + Wrap long comments.
12066           + Quote arguments containing @...@ substitutions as they could
12067             conceivably contain spaces.
12068           + ALWAYS_DETAILED_SEC = NO: since a detailed section with no extra
12069             information is pointless.
12070           + STRIP_FROM_PATH, INCLUDE_PATH: Add "@top_builddir@/include" for
12071             VPATH builds.
12072           + HIDE_UNDOC_MEMBERS = YES: otherwise @internal members show up
12073             (with no documentation).
12074           + HIDE_FRIEND_COMPOUNDS = YES: as friend declarations in the API
12075             headers are implementation details.
12076           + SHOW_INCLUDE_FILES = NO: users should just include <xapian.h>
12077             for all their API needs.
12078           + GENERATE_TODOLIST, GENERATE_TESTLIST, GENERATE_BUGLIST: all set to
12079             NO as we don't want these in the API documentation.
12080           + SHOW_NAMESPACES = YES: We have several sub-namespaces so these are
12081             useful to document.
12082           + INPUT: Prepend "@top_builddir@/include/xapian/version.h" so that
12083             XAPIAN_HAS_FLINT_BACKEND, etc are defined before parsing other
12084             headers.
12085           + EXCLUDE: remove all entries and use EXCLUDE_PATTERNS instead.
12086           + EXCLUDE_PATTERNS: Include entries corresponding to those in EXCLUDE
12087             and add */derefwrapper.h and */.* (the latter avoids trying to look
12088             in .svn or any other hidden files or directories).
12089           + REFERENCES_LINK_SOURCE = NO: Improves output.
12090           + VERBATIM_HEADERS = NO: The verbatim headers aren't very
12091             interesting.
12092           + PREDEFINED: Define XAPIAN_VISIBILITY_DEFAULT and
12093             XAPIAN_DEPRECATED(D)=D as doxygen seem reluctant to parse included
12094             files.
12095           + EXPAND_AS_DEFINED: Remove XAPIAN_VISIBILITY_DEFAULT and
12096             XAPIAN_DEPRECATED as these are now handled by PREDEFINED.
12097           + EXTERNAL_GROUPS = NO, GROUP_GRAPHS = NO: We don't use groups so
12098             disable these.
12100 Sun Jul 26 10:14:32 GMT 2009  Olly Betts <olly@survex.com>
12102         * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Change
12103           @PACKAGE@ to @PACKAGE_NAME@ and @VERSION@ to @PACKAGE_VERSION@ to
12104           reflect modern autotools usage.
12106 Fri Jul 24 16:23:31 GMT 2009  Olly Betts <olly@survex.com>
12108         * configure.ac,docs/: Rename doxygen configuration files from "_conf"
12109           to ".conf".  Rename doxygen_full.conf to doxygen_source.conf, etc.
12111 Fri Jul 24 16:02:39 GMT 2009  Olly Betts <olly@survex.com>
12113         * HACKING: Update to note that doxygen is now installed in-tree, and
12114           that we now use 1.5.9 for 1.1.x snapshots and releases, and that
12115           graphviz ">1.8.10" is now required.
12117 Fri Jul 24 16:01:31 GMT 2009  Olly Betts <olly@survex.com>
12119         * include/xapian/: Documentation comment tweaks.
12121 Fri Jul 24 15:34:03 GMT 2009  Olly Betts <olly@survex.com>
12123         * include/xapian/unicode.h: Fix @param names to match parameter names.
12125 Fri Jul 24 15:33:12 GMT 2009  Olly Betts <olly@survex.com>
12127         * docs/doxygen_api_conf.in: Major doxygen config overhaul:
12128           + STRIP_FROM_PATH: Strip include from header names.
12129           + JAVADOC_AUTOBRIEF: Re-enable as we have lost most of our brief
12130             descriptions - we can fix up the few cases where this caused
12131             problems with an explicit @brief.
12132           + BUILTIN_STL_SUPPORT: Enable for slightly STL-related stuff.
12133           + DISTRIBUTE_GROUP_DOC: Enable so group members get the group's
12134             comments.
12135           + EXTRACT_STATIC, EXTRACT_LOCAL_CLASSES: Disable since we don't
12136             need these.
12137           + SHOW_NAMESPACES: Disable to hide the "Xapian" namespace.
12138           + QUIET: Enable for less doxygen chatter.
12139           + WARN_LOGFILE: Unset so warnings go to stderr to encourage us to
12140             actually fix them!
12141           + EXCLUDE: Hide base.h, deprecated.h, errordispatch.h, visibility.h.
12142           + HTML_DYNAMIC_SECTIONS: Enable so the class diagrams are hidden by
12143             default but can be "expanded" to be viewed.
12144           + COLLABORATION_GRAPH: Disable as these don't ever seem useful in
12145             the API docs.
12146           + TEMPLATE_RELATIONS: Disable as we don't want to see template
12147             instantiations in inheritance diagrams.
12148           + DOT_MULTI_TARGETS: Enable for faster dot processsing.  Needs
12149             graphviz ">1.8.10", but that's really old now.
12151 Fri Jul 24 13:00:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12153         * bin/xapian-compact.cc: Fix to work with the metainfo key stored
12154           in the latest format of chert databases.
12156 Fri Jul 24 10:32:32 GMT 2009  Olly Betts <olly@survex.com>
12158         * backends/chert/chert_values.cc: Avoid doing pointless work by trying
12159           to delete non-existent lists of values when we're just adding
12160           documents.
12162 Fri Jul 24 05:32:34 GMT 2009  Olly Betts <olly@survex.com>
12164         * docs/doxygen_api_conf.in: Update with "doxygen -u" using doxygen
12165           1.5.9 and then trim trailing whitespace.
12167 Thu Jul 23 04:10:49 GMT 2009  Olly Betts <olly@survex.com>
12169         * NEWS,configure.ac: Update for 1.1.2.
12171 Wed Jul 22 13:58:13 GMT 2009  Olly Betts <olly@survex.com>
12173         * backends/chert/chert_databasereplicator.cc,
12174           backends/flint/flint_databasereplicator.cc: Prefer += to + for
12175           building up strings.
12177 Wed Jul 22 09:01:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12179         * backends/chert/chert_databasereplicator.cc,
12180           backends/flint/flint_databasereplicator.cc: Check result of
12181           ::open() for -1, and throw an error immediately if this happens,
12182           rather than leaving it to a later call to fail with EBADF.
12183           Should make it easier to diagnose problems, since we'll now see
12184           the reason that the open() failed.
12186 Tue Jul 21 17:08:41 GMT 2009  Olly Betts <olly@survex.com>
12188         * NEWS: Update from ChangeLog and sync with 1.0.14.
12190 Mon Jul 20 04:48:32 GMT 2009  Olly Betts <olly@survex.com>
12192         * matcher/queryoptimiser.cc: Fix build with assertions enabled.
12194 Mon Jul 20 04:47:33 GMT 2009  Olly Betts <olly@survex.com>
12196         * include/xapian/query.h: Update doc comment - OP_SYNONYM can take any
12197           number of subqueries too.
12199 Sun Jul 19 17:26:53 GMT 2009  Olly Betts <olly@survex.com>
12201         * api/omqueryinternal.cc,include/xapian/query.h,matcher/localmatch.cc:
12202           Remove wqf member of Xapian::Query::Internal and store the wqf in
12203           the parameter member instead.  (ticket#280)
12205 Sun Jul 19 17:24:02 GMT 2009  Olly Betts <olly@survex.com>
12207         * api/omqueryinternal.cc,include/xapian/query.h: Remove unused
12208           method Xapian::Query::Internal::swap().
12210 Sun Jul 19 16:22:01 GMT 2009  Olly Betts <olly@survex.com>
12212         * api/valuerangeproc.cc,include/xapian/queryparser.h: Move support for
12213           a prefix/suffix from NumberValueRangeProcessor to
12214           StringValueRangeProcessor, and change NumberValueRangeProcessor and
12215           DateValueRangeProcessor to inherit from StringValueRangeProcessor so
12216           all three now support a prefix/suffix.  (ticket#220)
12217         * tests/queryparsertest.cc: Add test coverage for new features.
12219 Sun Jul 19 16:05:04 GMT 2009  Olly Betts <olly@survex.com>
12221         * tests/queryparsertest.cc: Reenable tests which require the inmemory
12222           backend to be enabled by fixing typo XAPIAN_HAS_BACKEND_INMEMORY ->
12223           XAPIAN_HAS_INMEMORY_BACKEND.
12225 Sun Jul 19 14:56:16 GMT 2009  Olly Betts <olly@survex.com>
12227         * api/documentvaluelist.cc: Use str() instead of om_tostring().
12229 Sun Jul 19 14:42:15 GMT 2009  Olly Betts <olly@survex.com>
12231         * matcher/msetcmp.cc: Eliminate two more relocations.
12233 Sun Jul 19 13:46:08 GMT 2009  Olly Betts <olly@survex.com>
12235         * api/omqueryinternal.cc: Factor out "is_distributable()" function.
12237 Sun Jul 19 11:11:06 GMT 2009  Olly Betts <olly@survex.com>
12239         * include/xapian/version_h.cc: Fix "dummy" -> "dummy[]" so the code
12240           here is valid C - we only preprocess it, but since the reason for
12241           having the dummy stuff at all is to avoid problems with "smart"
12242           preprocessors which moan if the code isn't valid, this seems worth
12243           fixing.
12245 Sun Jul 19 10:21:41 GMT 2009  Olly Betts <olly@survex.com>
12247         * backends/flint/flint_database.cc: Backport the previous change to
12248           flint.
12250 Sun Jul 19 08:04:48 GMT 2009  Olly Betts <olly@survex.com>
12252         * backends/chert/chert_database.cc: Instead of dynamically building a
12253           std::list of the leafnames we need to replicate, just list them in a
12254           compact format in the source file.  Results in smaller code and
12255           should be faster and smaller at runtime.
12257 Sat Jul 18 17:12:58 GMT 2009  Olly Betts <olly@survex.com>
12259         * languages/compiler/generator.c: Merge among table entries which are
12260           substrings of others in the same among.  We could be much cleverer
12261           and merge between amongs, and allow overlaps, etc, but this get us
12262           a nice size reduction for a small amount of effort, so it'll do for
12263           now.
12265 Sat Jul 18 15:42:48 GMT 2009  Olly Betts <olly@survex.com>
12267         * languages/compiler/generator.c,languages/steminternal.cc,
12268           languages/steminternal.h: Change how snowball generates the data used
12269           by among - instead of using pointers to the strings in struct among,
12270           store an offset into a constant pool, as this reduces the number of
12271           relocations from 5001 to 2706, which should decrease the time taken
12272           by the dynamic linker when loading the library.  This also results
12273           in slightly smaller code.
12275 Fri Jul 17 16:32:02 GMT 2009  Olly Betts <olly@survex.com>
12277         * tests/api_nodb.cc: Check output of Stem::get_description() for each
12278           supported language.
12280 Thu Jul 16 04:34:57 GMT 2009  Olly Betts <olly@survex.com>
12282         * common/fileutils.h: Remove unnecessary XAPIAN_VISIBILITY_DEFAULT
12283           (ticket#63).
12284         * common/fileutils.cc,common/fileutils.h: Make isabspath() static
12285           since it is only used by other functions in the same file.
12287 Thu Jul 16 04:13:48 GMT 2009  Olly Betts <olly@survex.com>
12289         * queryparser/queryparser.lemony: Fix comment typo.
12291 Thu Jul 16 03:59:49 GMT 2009  Olly Betts <olly@survex.com>
12293         * api/sorter.cc,include/xapian/sorter.h: MultiValueSorter doesn't
12294           need an explicit dtor - it's enough that Sorter has a virtual dtor.
12296 Thu Jul 16 03:29:41 GMT 2009  Olly Betts <olly@survex.com>
12298         * AUTHORS: Add Andreas Flöter for the Solaris package howto.
12300 Wed Jul 15 14:37:19 GMT 2009  Olly Betts <olly@survex.com>
12302         * matcher/rset.cc: Just pass pointer as AutoPtr constructor parameter
12303           rather constructing a temporary AutoPtr and invoking the assignment
12304           operator.
12306 Wed Jul 15 03:43:35 GMT 2009  Olly Betts <olly@survex.com>
12308         * common/omenquireinternal.h: "class" -> "object" in doc comment.
12310 Wed Jul 15 03:38:55 GMT 2009  Olly Betts <olly@survex.com>
12312         * tests/runtest.in: Raise the fd limit from 32 to 64 - multi_flint
12313           tests need more than 32 fds.
12315 Tue Jul 14 20:32:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12317         * api/omenquire.cc,common/omenquireinternal.h: Revert r13052, which
12318           changed Enquire::Internal::weight not to be mutable.  Expand the
12319           comment explaining why it's mutable.
12321 Tue Jul 14 18:40:43 GMT 2009  Olly Betts <olly@survex.com>
12323         * tests/runtest.in: Use "ulimit -n" where available to limit the
12324           number of available file descriptors to 32 so we catch file
12325           descriptor leaks sooner.
12327 Tue Jul 14 16:53:48 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12329         * api/omenquire.cc,common/omenquireinternal.h: Tidy up mutable
12330           Weight member on Enquire::Internal class; make it non-mutable,
12331           and just make a temporary BM25Weight object if the weight member
12332           was NULL.
12334 Tue Jul 14 12:36:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12336         * common/output.h: Display a "<NULL $CLASSNAME>" message in debug
12337           output when a pointer being output is NULL.  Previously, NULL
12338           Query::Internal pointers were causing segfaults with debug
12339           logging for many tests (eg, emptyquery1).
12341 Sun Jul 12 14:56:18 GMT 2009  Olly Betts <olly@survex.com>
12343         * backends/chert/chert_database.cc: We no longer have a "value" table
12344           (values are now stored in the postlist and termlist tables) so fix
12345           comments not to refer to it.
12347 Sun Jul 12 14:47:17 GMT 2009  Olly Betts <olly@survex.com>
12349         * backends/chert/: Add new ChertLazyTable class and subclass lazy
12350           tables from it so that we only need to implement the common
12351           differences once.
12353 Sun Jul 12 13:41:27 GMT 2009  Olly Betts <olly@survex.com>
12355         * api/replication.cc: No point using join_paths() to append a literal
12356           leaf name, especially as we already don't elsewhere.
12358 Sun Jul 12 12:01:25 GMT 2009  Olly Betts <olly@survex.com>
12360         * queryparser/queryparser.lemony: Fix memory leak accidentally
12361           introduced in r13005.
12363 Sun Jul 12 11:40:26 GMT 2009  Olly Betts <olly@survex.com>
12365         * tests/api_opsynonym.cc: Remove debug "cout" calls.
12367 Sun Jul 12 09:43:06 GMT 2009  Olly Betts <olly@survex.com>
12369         * matcher/queryoptimiser.cc: Don't just skip counting subqueries which
12370           are the RHS of OP_AND_NOT - skip based on factor == 0.0, which means
12371           we get the RHS of OP_FILTER too.
12372         * tests/api_percentages.cc: Add topercent4 as a regression test for
12373           this.
12375 Sun Jul 12 09:32:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12377         * matcher/andmaybepostlist.cc: Add DEBUGCALL macro to
12378           count_matching_subqs() to fix build with assertions.
12380 Sun Jul 12 08:17:02 GMT 2009  Olly Betts <olly@survex.com>
12382         * matcher/remotesubmatch.cc: Percentage scaling for remote results is
12383           handled in a different way, so replace FIXME with comment noting
12384           this.
12386 Sun Jul 12 05:48:17 GMT 2009  Olly Betts <olly@survex.com>
12388         * matcher/multimatch.cc: Fix handling of percentage weights in various
12389           cases when we're searching multiple remote databases or a mix of
12390           local and remote databases.
12391         * tests/api_percentages.cc: Add regression test topercent3.
12393 Sat Jul 11 13:35:02 GMT 2009  Olly Betts <olly@survex.com>
12395         * matcher/mergepostlist.cc: Fix file description - MergePostList can
12396           merge any number of posting lists, not just two.
12398 Sat Jul 11 13:09:40 GMT 2009  Olly Betts <olly@survex.com>
12400         * matcher/extraweightpostlist.h:
12401           ExtraWeightPostList::read_position_list() and
12402           ExtraWeightPostList::open_position_list() aren't used, so remove
12403           them.
12405 Sat Jul 11 12:54:30 GMT 2009  Olly Betts <olly@survex.com>
12407         * api/leafpostlist.cc,api/postlist.cc,common/leafpostlist.h,
12408           common/postlist.h,common/submatch.h,matcher/,tests/api_anydb.cc,
12409           tests/api_opsynonym.cc: Count how many leaf subqueries match for the
12410           document with the highest weight when calculating the percentage
12411           weights, instead of using the termlist of that document (ticket#363).
12412           Also fixes XOR with a SYNONYM subquery which could achieve 100%
12413           weight before.
12415 Fri Jul 10 08:02:18 GMT 2009  Olly Betts <olly@survex.com>
12417         * api/omdatabase.cc,backends/chert/chert_spelling.cc,
12418           backends/flint/flint_spelling.cc,common/database.h: Deal with the
12419           case of get_spelling_suggestion() with an empty or single character
12420           word up front.
12422 Thu Jul 09 16:20:47 GMT 2009  Olly Betts <olly@survex.com>
12424         * tests/harness/backendmanager_remotetcp.cc: In clean_up(), only scan
12425           through the pid_to_fd array once, and disable the signal handler
12426           and call waitpid() for any remaining pids ourselves, rather than
12427           calling sleep(1) and rechecking.  This should avoid pointless delays
12428           when the child hasn't exited when we first check.
12430 Thu Jul 09 12:40:52 GMT 2009  Olly Betts <olly@survex.com>
12432         * tests/harness/: BackendManager has a virtual dtor, so we don't need
12433           empty virtual dtors in its subclasses.
12435 Thu Jul 09 11:40:20 GMT 2009  Olly Betts <olly@survex.com>
12437         * tests/harness/backendmanager_remotetcp.cc,
12438           tests/harness/backendmanager_remotetcp.h: Move the
12439           BackendManagerRemoteTcp ctor back into the header now it is trivial
12440           again.
12442 Wed Jul 08 16:56:53 GMT 2009  Olly Betts <olly@survex.com>
12444         * backends/flint/flint_io.h: Backport change to use F_FULLSYNC from
12445           chert.
12447 Wed Jul 08 15:30:22 GMT 2009  Olly Betts <olly@survex.com>
12449         * configure.ac: Check that we can find the valgrind/memcheck.h header
12450           as well as the valgrind binary.
12452 Wed Jul 08 14:30:53 GMT 2009  Olly Betts <olly@survex.com>
12454         * tests/harness/backendmanager_remotetcp.cc: Sort out the clash
12455           between two different patches to fix leaking file descriptors.
12456           Also, call clean_up() from the destructor to correctly handle the
12457           case when a BackendManagerRemoteTcp is created by a test case
12458           directly.
12460 Wed Jul 08 14:17:43 GMT 2009  Olly Betts <olly@survex.com>
12462         * tests/harness/: Rename "posttest()" method to "clean_up()" - I keep
12463           thinking "power-on self-test".
12465 Wed Jul 08 05:08:09 GMT 2009  Olly Betts <olly@survex.com>
12467         * backends/chert/chert_io.h: Use F_FULLFSYNC where available (Mac OS X
12468           currently).  (ticket#288)
12470 Tue Jul 07 09:31:35 GMT 2009  Olly Betts <olly@survex.com>
12472         * queryparser/queryparser.lemony: If default_op is OP_NEAR or OP_PHRASE
12473           then make the default window size (9 + no_of_terms), like it would be
12474           for an explicit NEAR or PHRASE without an explicit window size.
12475           (ticket#254)
12476         * tests/queryparsertest.cc: Add feature tests for this.
12478 Tue Jul 07 07:18:15 GMT 2009  Olly Betts <olly@survex.com>
12480         * HACKING,api/,backends/chert/,backends/flint/,
12481           backends/remote/remote-database.cc,common/,languages/steminternal.h,
12482           net/,queryparser/queryparser.cc,tests/harness/,tests/internaltest.cc,
12483           tests/perftest/freemem.cc,tests/perftest/perftest_randomidx.cc,
12484           tests/stemtest.cc,unicode/utf8itor.cc: Update to use C++ forms for
12485           ISO C standard headers (ticket#330).
12487 Tue Jul 07 05:30:58 GMT 2009  Olly Betts <olly@survex.com>
12489         * backends/inmemory/inmemory_database.h: Use "omassert.h" not
12490           <omassert.h>.
12492 Mon Jul 06 04:30:59 GMT 2009  Olly Betts <olly@survex.com>
12494         * AUTHORS: Add Rolf Köhling for fixes for Omega on MS Windows.
12496 Sun Jul 05 16:28:54 GMT 2009  Olly Betts <olly@survex.com>
12498         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
12499           Backport the lazyupdate changes from chert to flint.
12501 Sun Jul 05 13:12:53 GMT 2009  Olly Betts <olly@survex.com>
12503         * tests/harness/backendmanager.cc,tests/harness/backendmanager.h: Move
12504           virtual destructor definition out of the header.
12506 Sun Jul 05 04:09:04 GMT 2009  Olly Betts <olly@survex.com>
12508         * common/documentterm.h: Add const to OmDocumentTerm::get_wdf() method
12509           (ticket#139).
12511 Sat Jul 04 16:45:43 GMT 2009  Olly Betts <olly@survex.com>
12513         * queryparser/lemon.c: Merge upstream "Check-in Number: 6757" - no
12514           functional changes in generated code for our parser.
12516 Sat Jul 04 16:39:41 GMT 2009  Olly Betts <olly@survex.com>
12518         * queryparser/lemon.c: Merge upstream "Check-in Number: 6756" - no
12519           functional changes in generated code for our parser.
12521 Sat Jul 04 16:36:59 GMT 2009  Olly Betts <olly@survex.com>
12523         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
12524           "Check-in Number: 6755" - no functional changes in generated code for
12525           our parser.
12527 Sat Jul 04 16:29:24 GMT 2009  Olly Betts <olly@survex.com>
12529         * queryparser/lemon.c: Merge upstream "Check-in Number: 6754" - no
12530           changes in generated code for our parser.
12532 Sat Jul 04 16:24:45 GMT 2009  Olly Betts <olly@survex.com>
12534         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6749" -
12535           only changes are in code which isn't compiled due to preprocessor
12536           conditionals.
12538 Sat Jul 04 16:02:08 GMT 2009  Olly Betts <olly@survex.com>
12540         * api/editdistance.cc: Add const to is_transposed() method
12541           (ticket#139).
12543 Sat Jul 04 15:19:55 GMT 2009  Olly Betts <olly@survex.com>
12545         * backends/chert/chert_lock.h,backends/flint/flint_lock.h: Make
12546           ChertLock::operator bool() and FlintLock::operator bool() const
12547           (ticket#139).
12549 Sat Jul 04 14:56:42 GMT 2009  Olly Betts <olly@survex.com>
12551         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
12552           backends/flint/flint_database.cc,backends/flint/flint_database.h:
12553           Make ChertDatabase::get_changeset_revisions() and
12554           FlintDatabase::get_changeset_revisions() const (ticket#139).
12556 Sat Jul 04 14:10:55 GMT 2009  Olly Betts <olly@survex.com>
12558         * backends/chert/chert_changesetapplier.h,
12559           backends/flint/flint_changesetapplier.h: "the the" -> "the" in
12560           comments.
12562 Sat Jul 04 14:06:39 GMT 2009  Olly Betts <olly@survex.com>
12564         * backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h:
12565           Make ChertTable_base::do_unpack_uint() just a static non-class
12566           function.  Use string::+= to build up the error string in it, and
12567           mark the error case as rare.
12569 Wed Jul 01 04:12:22 GMT 2009  Olly Betts <olly@survex.com>
12571         * docs/spelling.rst: Omega now supports spelling correction.
12573 Mon Jun 29 08:16:13 GMT 2009  Olly Betts <olly@survex.com>
12575         * queryparser/queryparser.lemony: Reset the begin and end strings
12576           before trying the next ValueRangeProcessor in case they've been
12577           modified.
12578         * tests/queryparsertest.cc: Add regression tests and general coverage
12579           for this area.
12581 Mon Jun 29 06:33:45 GMT 2009  Olly Betts <olly@survex.com>
12583         * backends/remote/net_postlist.cc: Remove unused '#include
12584           "serialise-double.h"'.
12586 Mon Jun 29 06:32:52 GMT 2009  Olly Betts <olly@survex.com>
12588         * backends/remote/net_postlist.cc: Build up description string using
12589           +=.
12591 Sun Jun 28 14:50:56 GMT 2009  Olly Betts <olly@survex.com>
12593         * backends/remote/net_postlist.h: Fix internal doc comment.
12595 Sat Jun 27 13:35:45 GMT 2009  Olly Betts <olly@survex.com>
12597         * configure.ac: -Wshadow produces false positives with GCC 4.0, so
12598           only enable  it for >= 4.1 since we enable -Werror for
12599           maintainer-mode builds for GCC >= 4.0.
12601 Sat Jun 27 13:30:22 GMT 2009  Olly Betts <olly@survex.com>
12603         * backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h:
12604           Fix return type of MultiTermList::positionlist_count() to be
12605           Xapian::termcount rather than Xapian::termpos.
12607 Sat Jun 27 12:50:17 GMT 2009  Olly Betts <olly@survex.com>
12609         * backends/flint/flint_alltermslist.h,backends/flint/flint_postlist.cc,
12610           backends/flint/flint_postlist.h: Fix to use Xapian::doccount for
12611           termfreq in flint too.
12613 Sat Jun 27 12:28:47 GMT 2009  Olly Betts <olly@survex.com>
12615         * backends/chert/chert_alltermslist.cc: Prefer 'str.resize(0)' to
12616           'str = ""'.
12618 Sat Jun 27 12:16:17 GMT 2009  Olly Betts <olly@survex.com>
12620         * backends/chert/chert_alltermslist.h,backends/chert/chert_postlist.h:
12621           Fix to use Xapian::doccount for termfreq in more places.
12623 Sat Jun 27 11:51:25 GMT 2009  Olly Betts <olly@survex.com>
12625         * backends/chert/chert_table.cc: Change so add_item_to_block() can
12626           always assume there is another contiguous space in the block
12627           (previously it could assume that there was enough space, but not
12628           that it was necessarily contiguous).
12630 Sat Jun 27 09:55:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12632         * include/xapian/postingsource.h,include/xapian/weight.h: Add note
12633           that PostingSource and Weight objects returned by clone() and
12634           unserialise() methods will be deallocated with "delete".
12636 Sat Jun 27 07:26:41 GMT 2009  Olly Betts <olly@survex.com>
12638         * backends/chert/chert_postlist.cc: Adjust use of Xapian::doccount vs
12639           Xapian::termcount for consistency so things work better when these
12640           types aren't identical.
12642 Sat Jun 27 01:48:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12644         * api/matchspy.cc: Remove unused matchspy.cc - there is an updated
12645           version of this on the matchspy branch; having an old copy here
12646           is just likely to lead to confusion.
12648 Fri Jun 26 05:42:26 GMT 2009  Olly Betts <olly@survex.com>
12650         * api/documentvaluelist.cc,api/documentvaluelist.h: Change
12651           DocumentValueList::skip_to()'s parameter type from Xapian::valueno
12652           to Xapian::docid to agree with the type in ValueList::skip_to().
12653           This is a latent bug - it doesn't matter provided the types are
12654           actually the same (ticket#385).
12656 Thu Jun 25 11:20:07 GMT 2009  Olly Betts <olly@survex.com>
12658         * matcher/phrasepostlist.cc: Use Xapian::termcount(1) instead of 1u
12659           so that the code doesn't assume Xapian::termcount is unsigned int.
12661 Sun Jun 21 12:09:55 GMT 2009  Olly Betts <olly@survex.com>
12663         * backends/chert/chert_check.cc,backends/chert/chert_table.cc,
12664           backends/chert/chert_table.h: Replace duplicated macros with
12665           a single version in chert_table.h, and use DIR_START instead of
12666           a literal 11 in that header.
12667         * backends/chert/chert_table.h: Add more assertions.  Use
12668           BYTES_PER_BLOCK_NUMBER instead of a literal 4 in more places.
12670 Sat Jun 20 07:38:56 GMT 2009  Olly Betts <olly@survex.com>
12672         * backends/chert/chert_table.cc,backends/flint/flint_table.cc: Fix
12673           misspelling in comment (neccessary -> necessary).
12675 Sat Jun 20 07:38:06 GMT 2009  Olly Betts <olly@survex.com>
12677         * backends/chert/chert_table.cc: Don't reconstruct Item(p, c) when we
12678           already have it as a local variable.
12680 Wed Jun 17 01:23:16 GMT 2009  Olly Betts <olly@survex.com>
12682         * common/str.cc: Fix potential warning in signed version of str().
12684 Tue Jun 16 11:20:43 GMT 2009  Olly Betts <olly@survex.com>
12686         * tests/harness/testsuite.cc,tests/harness/testsuite.h: Factor out
12687           writing out what was sent to tout and clearing it into a new
12688           method test_driver::write_and_clear_tout().
12689         * tests/harness/testsuite.cc: Prefer string() to "".  When sending a
12690           colour change code, do it before the preceding space when that allows
12691           string literals to be merged.  Always give the full exception message
12692           (was conditional on --verbose).  Tidy up output for reporting the
12693           various different exception types and other failures to give more
12694           consistent output.
12696 Tue Jun 16 11:01:14 GMT 2009  Olly Betts <olly@survex.com>
12698         * tests/harness/scalability.cc: Increase the number of tests until the
12699           first sample takes more than 0.001 seconds to avoid trying to base
12700           calculations on a length of time we probably can't reliably measure
12701           to start with.
12703 Tue Jun 16 10:58:34 GMT 2009  Olly Betts <olly@survex.com>
12705         * tests/harness/cputimer.cc: Don't bother trying to count CPU time
12706           for child processes, as it's hard to ensure that the child processes
12707           have finished with the current framework, and just counting time in
12708           the current process checks most things (the local backend tests cover
12709           much of the work done by the server part of the remote backend).
12711 Tue Jun 16 02:15:31 GMT 2009  Olly Betts <olly@survex.com>
12713         * tests/harness/cputimer.h: Don't need '#include <ctime>'.
12715 Tue Jun 16 02:10:29 GMT 2009  Olly Betts <olly@survex.com>
12717         * tests/harness/cputimer.h: Fix naming of header multiple-inclusion
12718           protection macro.
12720 Sun Jun 14 14:11:51 GMT 2009  Olly Betts <olly@survex.com>
12722         * tests/internaltest.cc: In testcase serialisequery1, use a helper
12723           function rather than wasting effort building a std::list with all the
12724           testcases in just so we can iterate over them.
12726 Sun Jun 14 13:52:22 GMT 2009  Olly Betts <olly@survex.com>
12728         * tests/harness/testsuite.cc: <iomanip> isn't used so remove it.
12730 Sun Jun 14 13:30:34 GMT 2009  Olly Betts <olly@survex.com>
12732         * tests/harness/testsuite.h: Fix comment typo.
12734 Sat Jun 13 06:30:57 GMT 2009  Olly Betts <olly@survex.com>
12736         * tests/api_anydb.cc: Fix reversed conditional in last but one change.
12738 Sat Jun 13 04:42:27 GMT 2009  Olly Betts <olly@survex.com>
12740         * tests/api_anydb.cc: Use TEST_EQUAL_DOUBLE() when comparing
12741           get_max_attained() to allow for rounding differences.
12743 Sat Jun 13 04:39:49 GMT 2009  Olly Betts <olly@survex.com>
12745         * tests/api_anydb.cc: Use "startswith()" rather than comparing an
12746           extracted substring.
12748 Fri Jun 12 12:45:37 GMT 2009  Olly Betts <olly@survex.com>
12750         * tests/harness/backendmanager_remotetcp.cc: Fix the mechanism for
12751           closing the file descriptors used by child xapian-tcpsrv processes
12752           once they exit, which has been broken ever since it was added nearly
12753           two years ago (sigh).  Fixes fd leaking which caused "apitest
12754           -bremotetcp" to fail on OpenBSD (ticket#382).
12756 Fri Jun 12 03:37:13 GMT 2009  Olly Betts <olly@survex.com>
12758         * tests/harness/backendmanager_remotetcp.cc: Fix comment typo.
12760 Wed Jun 10 04:29:43 GMT 2009  Olly Betts <olly@survex.com>
12762         * common/serialise-double.cc,common/serialise-double.h: Relicense as
12763           MIT/X rather than GPLv2+ as these are low level routines which other
12764           projects may find useful.
12766 Tue Jun 09 14:34:20 GMT 2009  Olly Betts <olly@survex.com>
12768         * NEWS: Update for 1.1.1.
12770 Tue May 26 14:55:05 GMT 2009  Olly Betts <olly@survex.com>
12772         * configure.ac: Update version to 1.1.1.
12774 Tue May 26 14:49:23 GMT 2009  Olly Betts <olly@survex.com>
12776         * NEWS: Lick into shape.
12778 Mon May 25 11:55:59 GMT 2009  Olly Betts <olly@survex.com>
12780         * PLATFORMS: Sync with changes in 1.0 version.
12782 Mon May 25 10:57:59 GMT 2009  Olly Betts <olly@survex.com>
12784         * common/weightinternal.h: Remove declarations of unimplemented
12785           constructors (ticket#379).
12787 Sat May 23 16:06:05 GMT 2009  Olly Betts <olly@survex.com>
12789         * NEWS: Update from 1.0.13 and ChangeLog.
12791 Sat May 23 15:35:39 GMT 2009  Olly Betts <olly@survex.com>
12793         * HACKING: ValueIterator is now a PIMPL class like TermIterator, etc.
12795 Sat May 23 05:24:33 GMT 2009  Olly Betts <olly@survex.com>
12797         * docs/postingsource.rst: Since we are sticking with an recursive
12798           maxweight recalculation for now, add back a warning about the
12799           potential overhead from calling set_maxweight() very frequently,
12800           with an informed estimate for the worst case overhead.
12802 Fri May 22 11:44:04 GMT 2009  Olly Betts <olly@survex.com>
12804         * backends/inmemory/inmemory_database.cc: We can trivially make
12805           Database::metadata_keys_begin() work for inmemory in the special
12806           case when there are no keys, so do so.
12807         * tests/api_metadata.cc: Add test coverage for this case.
12809 Fri May 22 09:31:07 GMT 2009  Olly Betts <olly@survex.com>
12811         * configure.ac: Only bother passing -Winit-self for GCC >= 4.3, as it
12812           doesn't do anything for GCC <= 4.4 anyway.
12814 Fri May 22 07:00:29 GMT 2009  Olly Betts <olly@survex.com>
12816         * backends/flint/flint_version.h: Initialise filename using + not +=.
12817           Fix odd whitespace in recent change.
12819 Fri May 22 05:27:56 GMT 2009  Olly Betts <olly@survex.com>
12821         * AUTHORS: Update.
12823 Fri May 22 05:24:19 GMT 2009  Olly Betts <olly@survex.com>
12825         * api/postingsource.cc,common/multimatch.h,matcher/multimatch.cc:
12826           Replace MultiMatch::reduce_maxweight_by() with a call to
12827           MultiMatch::recalc_maxweight() and inline the later from the header.
12829 Fri May 22 05:16:03 GMT 2009  Olly Betts <olly@survex.com>
12831         * configure.ac: Enable more GCC warnings - "-Woverloaded-virtual" for
12832           all versions, "-Wstrict-null-sentinel" for 4.0+, "-Wlogical-op
12833           -Wmissing-declarations" for 4.3+.  Notably "-Wmissing-declarations"
12834           caught that consistency2 wasn't being run.
12836 Fri May 22 05:15:08 GMT 2009  Olly Betts <olly@survex.com>
12838         * languages/steminternal.cc,languages/steminternal.h: Inline simple
12839           Stem::Internal::Internal() constructor from header.
12841 Thu May 21 16:23:26 GMT 2009  Olly Betts <olly@survex.com>
12843         * tests/harness/backendmanager_remotetcp.cc: Make on_SIGCHLD() static.
12845 Thu May 21 16:22:56 GMT 2009  Olly Betts <olly@survex.com>
12847         * tests/api_wrdb.cc: Fix testcase consistency2 to actually be run.
12849 Thu May 21 16:22:30 GMT 2009  Olly Betts <olly@survex.com>
12851         * tests/api_transdb.cc: Add missing '#include "api_transdb.h"'.
12853 Thu May 21 12:58:22 GMT 2009  Olly Betts <olly@survex.com>
12855         * backends/databasereplicator.cc: Don't bother to check if the
12856           database path works in stat() and is a directory - the case we want
12857           to be fast is when the database does exist, and if path +
12858           "/iamflint" (or "iamchert") exists, then the check for path being a
12859           directory is redundant.  If the path isn't a flint or chert database
12860           then a generic message including the path seems sufficient.
12862 Thu May 21 09:17:15 GMT 2009  Olly Betts <olly@survex.com>
12864         * backends/databasereplicator.cc,common/databasereplicator.h: Inline
12865           empty DatabaseReplicator default ctor.
12867 Thu May 21 08:25:24 GMT 2009  Olly Betts <olly@survex.com>
12869         * api/replication.cc: Cache the result of get_replica_path() when we
12870           are going to need it again.
12872 Thu May 21 08:09:51 GMT 2009  Olly Betts <olly@survex.com>
12874         * backends/chert/chert_databasereplicator.h,
12875           backends/flint/flint_databasereplicator.h: Correct parent class name
12876           in doxygen comments.
12878 Thu May 21 08:08:06 GMT 2009  Olly Betts <olly@survex.com>
12880         * HACKING: Update list of Debian/Ubuntu packages needed to for a
12881           development environment.
12883 Thu May 21 06:28:00 GMT 2009  Olly Betts <olly@survex.com>
12885         * backends/databasereplicator.cc: Fix nested comment start introduced
12886           by the previous commit.
12888 Thu May 21 06:21:39 GMT 2009  Olly Betts <olly@survex.com>
12890         * api/replication.cc,backends/databasereplicator.cc,
12891           common/databasereplicator.h: We only keep one pointer to a
12892           DatabaseReplicator, so use AutoPtr not RefCntPtr.
12894 Thu May 21 05:00:17 GMT 2009  Olly Betts <olly@survex.com>
12896         * api/replication.cc: Fix SEGV when calling get_description() on a
12897           default constructed DatabaseReplica.
12898         * tests/generate-api_generated: Test DatabaseReplica (regression test
12899           for the above bug) and SerialisationContext.   Fix @file in the
12900           generated api_generated.cc.  Update (C) dates in generated
12901           api_generated.cc.
12903 Thu May 21 03:58:59 GMT 2009  Olly Betts <olly@survex.com>
12905         * tests/generate-api_generated: Call get_description() on the default
12906           constructed object to make sure that works (and doesn't try to
12907           dereference NULL, or fail some assertion, etc).  All currently
12908           checked classes are fine - this is to avoid future regressions or
12909           such problems with new classes.
12911 Wed May 20 14:19:54 GMT 2009  Olly Betts <olly@survex.com>
12913         * net/tcpclient.cc,net/tcpserver.cc: Fix xapian-tcpsrv --interface
12914           option to work on MacOS X (ticket#373).
12916 Wed May 20 13:58:09 GMT 2009  Olly Betts <olly@survex.com>
12918         * api/omdatabase.cc,api/sortable-serialise.cc,backends/chert/,
12919           backends/flint/,backends/remote/remote-database.cc,
12920           common/serialise-double.cc,common/str.cc,
12921           matcher/exactphrasepostlist.cc,net/remoteconnection.cc,
12922           net/remoteserver.cc: Replace C-style casts.  Add a few missing casts.
12923           Tweak types used in a few places.
12925 Wed May 20 13:55:41 GMT 2009  Olly Betts <olly@survex.com>
12927         * backends/chert/chert_databasereplicator.cc,
12928           backends/flint/flint_databasereplicator.cc: Need <cstdio> for
12929           rename().  Replace C-style cast to off_t.
12931 Wed May 20 13:53:25 GMT 2009  Olly Betts <olly@survex.com>
12933         * api/editdistance.cc: Make edist_state class uncopyable and
12934           unassignable.  Initialise maxdist in the initialiser list.
12936 Wed May 20 11:19:53 GMT 2009  Olly Betts <olly@survex.com>
12938         * languages/steminternal.cc,languages/steminternal.h: Change C-style
12939           casts to C++-style ones.
12941 Wed May 20 10:40:03 GMT 2009  Olly Betts <olly@survex.com>
12943         * common/str.h: Add static_cast<char>() to suppress bogus MSVC
12944           warning (ticket#377).
12946 Tue May 19 15:26:39 GMT 2009  Olly Betts <olly@survex.com>
12948         * backends/chert/,backends/flint/,common/rset.h,tests/api_anydb.cc:
12949           Pass std::string by const reference rather than value (except in
12950           a few cases where we need a modifiable copy anyway) as benchmarking
12951           shows this is better even with GCC's reference counted std::string
12952           implementation (ticket#140).
12953         * tests/api_anydb.cc: Use string() instead of "" for an empty string.
12955 Tue May 19 08:47:55 GMT 2009  Olly Betts <olly@survex.com>
12957         * api/omquery.cc,include/xapian/query.h: Make Xapian::Query::MatchAll
12958           and Xapian::Query::MatchNothing const since they're immutable.  All
12959           the public methods are const, so this should be completely API
12960           compatible.
12962 Tue May 19 06:25:26 GMT 2009  Olly Betts <olly@survex.com>
12964         * include/xapian/enquire.h: Document what passing maxitems=0 to
12965           get_mset() does.
12967 Mon May 18 13:32:49 GMT 2009  Olly Betts <olly@survex.com>
12969         * include/xapian/database.h: Correct doxygen comments for user
12970           metadata functions: get_metadata() can't throw UnimplementedError
12971           but set_metadata() can.
12972         * include/xapian/database.h,tests/api_metadata.cc: Document that
12973           metadata_keys_begin() returns an end iterator if the backend doesn't
12974           support metadata, and add test coverage for this case.
12975         * backends/inmemory/inmemory_database.cc,
12976           backends/inmemory/inmemory_database.h,include/xapian/database.h,
12977           tests/api_metadata.cc,tests/harness/testrunner.cc: The test harness
12978           didn't have the inmemory backend flagged as supporting
12979           user-specified metadata, and so it's perhaps not a great surprise to
12980           discover that inmemory doesn't support it fully - you can't iterate
12981           over metadata keys, but instead get an empty iteration.  Fix this
12982           to at least throw UnimplementedError and document that this is the
12983           situation.
12985 Mon May 18 11:29:10 GMT 2009  Olly Betts <olly@survex.com>
12987         * tests/Makefile.am,tests/api_metadata.cc,tests/api_wrdb.cc: Split out
12988           tests of user metadata into their own file.
12990 Sun May 17 12:52:41 GMT 2009  Olly Betts <olly@survex.com>
12992         * matcher/: Add a new constructor to MultiAndPostList for the "decay
12993           from OrPostList or AndMaybePostList" case which takes the already
12994           know max weights to avoid having to refetch them.  Also, we know
12995           that the subpostlists of OrPostList are ordered a particular way
12996           so can avoid needing to check the order in that case.
12998 Sat May 16 05:02:35 GMT 2009  Olly Betts <olly@survex.com>
13000         * backends/flint/flint_version.cc: Fix comment - this file doesn't
13001           use memcpy() now.
13003 Thu May 14 04:38:47 GMT 2009  Olly Betts <olly@survex.com>
13005         * tests/api_percentages.cc: Remove superfluous explicit std::
13006           qualifiers.
13008 Thu May 14 04:36:29 GMT 2009  Olly Betts <olly@survex.com>
13010         * tests/api_percentages.cc: Update for the PostingSource
13011           get_maxweight() API changes.
13013 Tue May 12 14:50:57 GMT 2009  Olly Betts <olly@survex.com>
13015         * matcher/multimatch.cc: Rename "max_weight" variable to "max_possible"
13016           since that is what it is referred to via the MSet API.
13018 Tue May 12 12:38:11 GMT 2009  Olly Betts <olly@survex.com>
13020         * common/safeuuid.h: Fix length of buffer to lower case - it's
13021           36, not sizeof(uuid_t).
13023 Tue May 12 02:49:34 GMT 2009  Olly Betts <olly@survex.com>
13025         * common/safeuuid.h,configure.ac: Older versions of libuuid don't have
13026           uuid_unparse_lower() so probe for it in configure, and if it isn't
13027           present provide an inline version in safeuuid.h (ticket#368).
13029 Mon May 11 13:07:47 GMT 2009  Olly Betts <olly@survex.com>
13031         * tests/api_postingsource.cc: In changemaxweightsource1, set
13032           descending docid order so that the matcher isn't able to terminate
13033           early after 4 documents just because weight == maxweight.
13035 Mon May 11 12:00:04 GMT 2009  Olly Betts <olly@survex.com>
13037         * net/serialise.cc: Build up string using +=.
13039 Mon May 11 11:39:49 GMT 2009  Olly Betts <olly@survex.com>
13041         * docs/postingsource.rst: Improve documentation for get_maxweight().
13043 Mon May 11 11:26:02 GMT 2009  Olly Betts <olly@survex.com>
13045         * include/xapian/postingsource.h: Initialise max_weight_ to 0 in the
13046           PostingSource constructor in case nobody else sets a value for it.
13048 Mon May 11 10:54:47 GMT 2009  Olly Betts <olly@survex.com>
13050         * tests/api_postingsource.cc: Fix class name in FAIL_TEST message.
13052 Mon May 11 10:41:31 GMT 2009  Olly Betts <olly@survex.com>
13054         * tests/api_postingsource.cc: Fix get_termfreq_min(), etc for
13055           ChangeMaxweightPostingSource to return 4 not 5.
13057 Mon May 11 09:03:14 GMT 2009  Olly Betts <olly@survex.com>
13059         * api/postingsource.cc: Remove assertion checking that set_maxweight()
13060           doesn't set a lower weight - it legitimately can when we call init()
13061           on a non-clone-able PostingSource for reuse.
13063 Mon May 11 03:12:00 GMT 2009  Olly Betts <olly@survex.com>
13065         * api/postingsource.cc,common/multimatch.h,docs/postingsource.rst,
13066           include/xapian/postingsource.h,matcher/externalpostlist.cc,
13067           matcher/externalpostlist.h,matcher/msetpostlist.cc,
13068           tests/api_postingsource.cc: Replace PostingSource's
13069           notify_new_maxweight() and virtual get_maxweight() mechanism with a
13070           non-virtual set_maxweight() and get_maxweight().  Currently the
13071           plumbing at the matcher end is much as before, but this API seems
13072           more obvious to the user and will allow the matcher to simply reduce
13073           its maximum weight value rather than having to recursively call
13074           recalc_maxweight() in response to this situation (ticket#340).
13076 Mon May 11 02:38:26 GMT 2009  Olly Betts <olly@survex.com>
13078         * docs/postingsource.rst: Fix a typo and reword to avoid "namespaced".
13080 Mon May 11 02:30:59 GMT 2009  Olly Betts <olly@survex.com>
13082         * matcher/msetpostlist.cc: Fix typo - MSetPostList::get_maxweight()
13083           with a sort ordered primarily by decreasing relevance was returning
13084           the docid for the maxweight!  This could have led to wrong results
13085           when searching multiple databases with the remote backend, but
13086           probably usually didn't matter as with BM25 the weights are usually
13087           small (often all < 1) while docids are inevitably >= 1.  No
13088           regression test for this (currently anyway).
13090 Sun May 10 07:49:11 GMT 2009  Olly Betts <olly@survex.com>
13092         * backends/dbfactory.cc: Fix comment typo.
13094 Sat May 09 14:15:38 GMT 2009  Olly Betts <olly@survex.com>
13096         * tests/api_collapse.cc,tests/perftest/runprocess.cc: Remove unused
13097           include of <iostream>.
13099 Sat May 09 14:03:34 GMT 2009  Olly Betts <olly@survex.com>
13101         * api/omquery.cc,matcher/andnotpostlist.cc,
13102           queryparser/termgenerator_internal.cc,tests/api_wrdb.cc: Remove
13103           unused inclusions of <algorithm>.
13105 Sat May 09 13:47:54 GMT 2009  Olly Betts <olly@survex.com>
13107         * matcher/multimatch.cc: Remove unused inclusion of <queue>.
13109 Sat May 09 13:38:02 GMT 2009  Olly Betts <olly@survex.com>
13111         * api/omquery.cc,api/omqueryinternal.cc,api/replication.cc,
13112           backends/alltermslist.cc,backends/chert/chert_table.cc,
13113           backends/flint/flint_table.cc,bin/xapian-compact.cc,
13114           common/bitstream.cc,common/inmemory_positionlist.h,
13115           common/positionlist.h,matcher/localmatch.h,matcher/queryoptimiser.cc,
13116           matcher/queryoptimiser.h,tests/api_wrdb.cc: Remove unused inclusions
13117           of <list>, <map>, <string>, and <vector>.
13119 Sat May 09 12:48:18 GMT 2009  Olly Betts <olly@survex.com>
13121         * api/documentvaluelist.cc,matcher/queryoptimiser.cc: Remove unused
13122           '#include "autoptr.h"'.
13124 Sat May 09 09:41:03 GMT 2009  Olly Betts <olly@survex.com>
13126         * queryparser/queryparser.lemony,queryparser/termgenerator.cc,
13127           weight/bm25weight.cc,weight/boolweight.cc,weight/tradweight.cc:
13128           Remove unneeded explicit "std::" qualifiers.
13130 Sat May 09 09:35:32 GMT 2009  Olly Betts <olly@survex.com>
13132         * weight/weight.cc: Doesn't use '#include "autoptr.h"'.
13134 Fri May 08 19:59:00 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13136         * configure.ac: Change source file which autoconf looks for, since
13137           I've just removed the old one that it looked for!
13139 Fri May 08 19:28:31 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13141         * matcher/andmaybepostlist.cc,matcher/branchpostlist.h: Call
13142           check() instead of skip_to() on the optional branch of AND_MAYBE.
13143           This can be much faster if that branch is a posting source.
13145 Fri May 08 18:31:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13147         * matcher/: Remove AndPostList, in favour of MultiAndPostList.
13148           AndPostList was only used as a decay product (by AndMaybePostList
13149           and OrPostList); for most queries, MultiAnd has pretty much
13150           indistinguishable performance as far as I can test; however, it
13151           uses check() when possible, which makes performance much better
13152           with searches involving external posting sources.  Removal also
13153           reduces the amount of code cluttering up the caches during a
13154           search, so may help speed things up in some other situations.
13156 Fri May 08 16:00:42 GMT 2009  Olly Betts <olly@survex.com>
13158         * api/postingsource.cc,backends/inmemory/inmemory_database.cc,
13159           examples/delve.cc,include/xapian/postingsource.h: Don't store an
13160           end iterator in a variable just to compare against it - it's now
13161           definitely more efficient to compare against the return value of
13162           the relevant _end() method.
13164 Fri May 08 15:44:07 GMT 2009  Olly Betts <olly@survex.com>
13166         * api/valueiterator.cc,include/xapian/database.h,
13167           include/xapian/document.h,include/xapian/valueiterator.h: Create a
13168           new proxy object class ValueIteratorEnd_ which is returned instead
13169           of ValueIterator(NULL) for end iterators.  This class will be
13170           converted to ValueIterator(NULL) if assigned to or passed as
13171           ValueIterator, but operator== and operator!= are overloaded to
13172           handle it directly which means that the compiler no longer calls
13173           ~ValueIterator for each call which returns ValueIterator(NULL).
13175 Fri May 08 15:42:12 GMT 2009  Olly Betts <olly@survex.com>
13177         * backends/chert/chert_values.cc: Swap two statements for cosmetic
13178           reasons.
13180 Fri May 08 14:42:49 GMT 2009  Olly Betts <olly@survex.com>
13182         * api/postingsource.cc,include/xapian/postingsource.h: It is actually
13183           better not to store the end iterator in a member variable - if we
13184           explicitly call db.postlist_end(string()) then that just gets
13185           optimised to PostingSource(NULL).
13187 Fri May 08 14:02:21 GMT 2009  Olly Betts <olly@survex.com>
13189         * tests/api_postingsource.cc: We've decided that "going back" with
13190           skip_to() or check() should have unspecified behaviour, so stop
13191           testing how this case behaves!
13193 Fri May 08 12:37:33 GMT 2009  Olly Betts <olly@survex.com>
13195         * common/Makefile.mk: Ship common/win32_uuid.cc and common/win32_uuid.h
13196           (ticket#367).
13198 Fri May 08 12:30:45 GMT 2009  Olly Betts <olly@survex.com>
13200         * tests/harness/cputimer.cc: Fix typo in the "ftime" case.
13202 Fri May 08 10:25:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13204         * matcher/andpostlist.cc: Fix a swap which was the wrong way round,
13205           so that we call next() on the subpostlist with the lower
13206           frequency, rather than the one with the higher frequency.  This
13207           should improve performance in many situations, and I don't think
13208           it's likely to slow anything down.  It also fixes some cases
13209           where optimisation of an AND_MAYBE to an AND results in a slower
13210           search, such that search times went down when more hits were
13211           requested.
13213 Fri May 08 08:48:14 GMT 2009  Olly Betts <olly@survex.com>
13215         * matcher/externalpostlist.cc: ExternalPostList::get_doclength()
13216           should never get called, so make it "Assert(false)".
13218 Fri May 08 05:16:50 GMT 2009  Olly Betts <olly@survex.com>
13220         * api/postingsource.cc: Another string concatention.
13222 Fri May 08 05:04:55 GMT 2009  Olly Betts <olly@survex.com>
13224         * api/postingsource.cc: Use str() instead of om_tostring() and build
13225           up strings using +=.
13227 Fri May 08 04:37:05 GMT 2009  Olly Betts <olly@survex.com>
13229         * api/postingsource.cc: "using namespace std;".
13231 Thu May 07 16:46:14 GMT 2009  Olly Betts <olly@survex.com>
13233         * matcher/: Check for collection_size == 0 up front so we don't need
13234           to repeatedly special case it when implementing
13235           get_termfreq_est_using_stats().
13237 Thu May 07 16:28:07 GMT 2009  Olly Betts <olly@survex.com>
13239         * matcher/xorpostlist.cc: Fix typo bug - collection_size should be
13240           rset_size.  This would have lead to a floating point division by
13241           zero when XOR was used under a synonym without an RSet, but that
13242           would just give infinity, and so just give a bogus value for the
13243           rel_termfreq rather than aborting instantly.
13245 Thu May 07 16:19:52 GMT 2009  Olly Betts <olly@survex.com>
13247         * HACKING: Update auto_ptr information.  Mention constructor syntax as
13248           an alternative replacement for some C-style casts.
13250 Thu May 07 15:25:00 GMT 2009  Olly Betts <olly@survex.com>
13252         * matcher/localmatch.cc,matcher/localmatch.h: Don't rebuild the
13253           termname -> termfreq and weight map for every subdatabase - just do
13254           it once for the first one.  Also eliminate a copy of this map.
13255           This should speed up searches a little, especially those over
13256           multiple databases.
13258 Thu May 07 15:01:24 GMT 2009  Olly Betts <olly@survex.com>
13260         * api/omdatabase.cc,api/omqueryinternal.cc,
13261           backends/remote/remote-database.cc,common/autoptr.h,
13262           expand/esetinternal.cc,matcher/localmatch.cc: Make our AutoPtr just
13263           a macro wrapper for std::auto_ptr.  Since std::auto_ptr doesn't
13264           allow assignment from a raw pointer, this requires changing such
13265           assignments into calls to auto_ptr::reset().
13267 Thu May 07 14:19:22 GMT 2009  Olly Betts <olly@survex.com>
13269         * api/leafpostlist.cc: Add an assertion that the term in the stats.
13270           Add "using namespace std;" so we can avoid explicit std:: qualifiers.
13272 Thu May 07 13:26:21 GMT 2009  Olly Betts <olly@survex.com>
13274         * matcher/: Eliminate EmptySubMatch - we can just store NULL for a
13275           submatch which has failed but which ErrorHandler told us to continue
13276           without.
13278 Thu May 07 12:52:24 GMT 2009  Olly Betts <olly@survex.com>
13280         * common/database.h: Update internal documentation comment -
13281           Database::Internal::open_post_list() can no longer return
13282           EmptyPostList as it is no longer a subclass of LeafPostList.
13284 Thu May 07 12:13:50 GMT 2009  Olly Betts <olly@survex.com>
13286         * api/leafpostlist.cc,backends/chert/chert_postlist.cc,
13287           backends/chert/chert_postlist.h,
13288           backends/flint/flint_alldocspostlist.h,
13289           backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h,
13290           backends/inmemory/inmemory_database.cc,
13291           backends/inmemory/inmemory_database.h,backends/remote/net_postlist.h,
13292           common/contiguousalldocspostlist.h,common/leafpostlist.h: Squash
13293           TermBasedLeafPostList into LeafPostList since there are no longer
13294           any other subclasses.
13296 Thu May 07 11:49:06 GMT 2009  Olly Betts <olly@survex.com>
13298         * api/Makefile.mk,api/emptypostlist.cc,common/emptypostlist.h:
13299           Reimplement EmptyPostList from scratch, and inherit from PostList
13300           not LeafPostList.
13302 Thu May 07 11:19:34 GMT 2009  Olly Betts <olly@survex.com>
13304         * matcher/mergepostlist.cc: Add explicit '#include "omassert.h"'.
13306 Thu May 07 10:28:33 GMT 2009  Olly Betts <olly@survex.com>
13308         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
13309           Subclass MultiPostList directly from PostList instead of from
13310           LeafPostList.  This gets rid of two unused data members per
13311           MultiPostList in exchange for having to define 5 extra "never
13312           called" methods, but 4 of these just tailcall.
13314 Thu May 07 10:26:39 GMT 2009  Olly Betts <olly@survex.com>
13316         * backends/inmemory/inmemory_alltermslist.cc,
13317           backends/inmemory/inmemory_database.cc: Fix assertion failures and
13318           a SEGV in an assertion test.
13320 Thu May 07 09:27:35 GMT 2009  Olly Betts <olly@survex.com>
13322         * backends/inmemory/inmemory_alltermslist.cc,
13323           backends/inmemory/inmemory_alltermslist.h,
13324           backends/inmemory/inmemory_database.cc:
13325           Keep a dummy entry in InMemoryDatabase::postlists so that the
13326           implementation of InMemoryAllTermsList doesn't need a "started"
13327           flag, and we can use an InMemoryPostList on the dummy item for
13328           the "term not in database" case.
13330 Thu May 07 05:45:48 GMT 2009  Olly Betts <olly@survex.com>
13332         * tests/api_backend.cc: Add tset coverage for alldocs iterator on an
13333           empty database.
13334         * backends/inmemory/inmemory_database.cc: No need to special case an
13335           empty database as InMemoryAllDocsPostList handles this case
13336           correctly.
13338 Thu May 07 05:08:07 GMT 2009  Olly Betts <olly@survex.com>
13340         * weight/weightinternal.cc: Use str() instead of om_tostring(), += to
13341           build up strings, and fix a cut-and-paste comment error.
13343 Wed May 06 13:03:40 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13345         * net/serialise.cc: Better serialisation - don't include the
13346           reltermfreqs if the rset_size is 0, since they'll all be 0 too.
13348 Wed May 06 12:13:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13350         * common/remoteprotocol.h,net/serialise.cc: When serialising stats,
13351           serialise the termfreq and reltermfreq together, rather than in
13352           separate lists.  Results in a smaller serialised form, and
13353           matches the in-memory structure now used better. Fixes ticket
13354           #362.  This is an incompatible remote protocol change, however,
13355           so bump the major version to 32.
13357 Wed May 06 04:02:43 GMT 2009  Olly Betts <olly@survex.com>
13359         * matcher/multimatch.cc: Check termfreqandwts for MatchAll queries
13360           before we check terms from the document so that the "terminate
13361           early once we've seen all the query terms" test when checking the
13362           document terms can fire in this case.
13364 Wed May 06 03:26:05 GMT 2009  Olly Betts <olly@survex.com>
13366         * matcher/multimatch.cc: Remove incorrect comment accidentally
13367           committed in r12623.
13369 Wed May 06 03:18:42 GMT 2009  Olly Betts <olly@survex.com>
13371         * tests/api_opsynonym.cc: Fix comment typo.
13373 Wed May 06 01:35:14 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13375         * tests/api_postingsource.cc: changemaxweightsource1 uses
13376           ChangeMaxweightPostingSource, which doesn't work with multi or
13377           remote, so mark the test accordingly.
13379 Wed May 06 01:11:25 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13381         * include/xapian/postingsource.h,api/postingsource.cc: Add
13382           notify_new_maxweight() method to be called by subclasses when they
13383           want to notify the matcher that their maxweight has changed
13384           significantly.  Add ExternalPostList as a friend and add
13385           register_externalpl() to be used to associate the ExternalPostList
13386           with the PostingSource.
13387         * matcher/externalpostlist.cc,matcher/externalpostlist.h,
13388           matcher/queryoptimiser.cc: Register the externalpostlist with the
13389           PostingSource it's iterating through.  Add
13390           ExternalPostList::notify_new_maxweight() method for
13391           PostingSource::notify_new_maxweight() to call.
13392         * docs/postingsource.rst: Document notify_new_maxweight() and the
13393           reasons for calling it.
13394         * tests/api_postingsource.cc: Test the handling of maxweight.
13396 Tue May 05 19:37:56 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13398         * tests/Makefile.am,tests/api_db.cc,tests/api_postingsource.cc:
13399           Split the tests of PostingSource subclasses out of api_db.cc; I'm
13400           about to add some more, and bloating api_db.cc further is
13401           unworkable.
13403 Tue May 05 18:23:02 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13405         * docs/postingsource.rst,include/xapian/postingsource.h:
13406           Documentation updates to describe way that init() is called
13407           again if a PostingSource is reused.  Fixes #352.
13409 Tue May 05 16:05:48 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13411         * tests/api_opsynonym.cc: Test that the top document has a weight
13412           of 100%, which is should do for all the current examples here.
13414 Tue May 05 16:03:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13416         * matcher/multimatch.cc: Add logging to keep track of the weights
13417           being added to percent_scale.  If the percent_scale total is 0.0,
13418           which can happen if the top document only matches synonym terms,
13419           force percent_scale to 1.0, to avoid an assertion failure.
13421 Tue May 05 13:41:57 GMT 2009  Olly Betts <olly@survex.com>
13423         * common/str.h: Fix swapped parameters in string ctor in code for
13424           str(bool) overload which lead to us returning 48 or 49 \x01
13425           characters instead of "0" or "1".
13426         * tests/internaltest.cc: Add regression test strbool1.
13427         * AUTHORS: Thank Peter Kelm for helping us spot this.
13429 Tue May 05 12:54:36 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13431         Merge from opsynonym branch:
13432         * queryparser/queryparser.lemony: Use OP_SYNONYM instead of OP_OR
13433           for synonyms, wildcards, and partial queries.
13434         * tests/queryparsertest.cc: Test use of OP_SYNONYM by query parser.
13436 Tue May 05 12:18:06 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13438         Merge from opsynonym branch:
13439         * api/omqueryinternal.cc,include/xapian/query.h,matcher/,
13440           weight/weight.cc: Implement a new OP_SYNONYM query operator,
13441           which behaves similarly to OP_OR, but produces weights for the
13442           combined set of terms as if they were a single term (by merging
13443           their wdfs).
13444         * tests/Makefile.am,tests/api_opsynonym.cc: Add tests for the
13445           OP_SYNONYM operator.
13446         * include/xapian/weight.h: Add a Weight::init_() method for
13447           synonym, since there isn't a single term involved.  Also,
13448           requires a method get_sumpart_needs_wdf_() to check if wdfs are
13449           needed, since the synonym weight calculation requires fetching
13450           the doclength, which is potentially expensive, in order that the
13451           wdf returned can be clamped to a sane range.  Mark the weighting
13452           methods which require WDF with need_stat(WDF).
13454 Tue May 05 12:04:33 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13456         * common/remoteprotocol.h: Add comment to remind use to do the
13457           FIXME in serialise_stats() when next breaking remote protocol
13458           compatibility.
13460 Tue May 05 10:53:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13462         * common/output.h: Add output function for TermFreqs.
13464 Tue May 05 08:23:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13466         * api/leafpostlist.cc,api/postlist.cc,common/emptypostlist.h,
13467           common/leafpostlist.h,common/postlist.h,matcher/: Add
13468           PostList::get_termfreq_est_using_stats() method, with default
13469           implementation which raises an InvalidOperationError.  Implement
13470           this for those postlists which it makes sense for.  Also,
13471           implement get_wdf() for postlists used by the matcher for
13472           implementing various query operators.  This isn't currently used
13473           or tested on trunk, but is used for the opsynonym branch.
13475 Tue May 05 07:37:04 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13477         * common/rset.h,common/weightinternal.h,matcher/rset.cc,
13478           net/serialise.cc,weight/weightinternal.cc: Store termfreqs and
13479           reltermfreqs in a Weight::Internal in a single map; introduce a
13480           new struct (TermFreqs) for the values stored here.
13481           Remove now unused Xapian::TermFreqMap typedef.
13483 Tue May 05 07:19:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13485         * backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h,
13486           backends/flint/flint_alldocspostlist.h,
13487           backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h,
13488           backends/inmemory/inmemory_database.cc,
13489           backends/inmemory/inmemory_database.h,backends/remote/net_postlist.h,
13490           common/contiguousalldocspostlist.h,common/leafpostlist.h:
13491           Introduce TermBasedLeafPostList, as a new common base class for
13492           postlists which are derived from a term in the query (including
13493           alldocs postlists which are derived from the empty term).
13495 Tue May 05 06:47:11 GMT 2009  Olly Betts <olly@survex.com>
13497         * backends/chert/,backends/flint/flint_modifiedpostlist.cc,
13498           backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h:
13499           Rename "tname" parameters to LeafPostList subclasses to "term".
13500         * backends/inmemory/inmemory_database.cc,
13501           backends/inmemory/inmemory_database.h: Rename term parameter of
13502           type InMemoryTerm to imterm ready for opsynonym branch changes.
13504 Tue May 05 04:51:28 GMT 2009  Olly Betts <olly@survex.com>
13506         * backends/chert/chert_alldocspostlist.h,matcher/multimatch.cc:
13507           Remove unused '#include "leafpostlist.h"'.
13509 Tue May 05 02:15:35 GMT 2009  Olly Betts <olly@survex.com>
13511         * common/contiguousalldocspostlist.h: Wrap comment.
13513 Tue May 05 02:04:02 GMT 2009  Olly Betts <olly@survex.com>
13515         * common/Makefile.mk: Move str.h into alphabetical order.
13517 Mon May 04 12:04:16 GMT 2009  Olly Betts <olly@survex.com>
13519         * tests/queryparsertest.cc: Rename qp_stem_scale1 to qp_scale1 as it
13520           has no connection with stemming.  Factor out a helper function to
13521           do the timing comparison, and update time_query_parse() to use
13522           CPUTimer rather than OmTime.  Tweak the "fudge factor" up from
13523           2 to 2.15 to allow for non-equal ticks due to rounding of an
13524           interval which isn't an exact multiple of 1/CLK_TCK (ticket#308).
13526 Mon May 04 12:02:32 GMT 2009  Olly Betts <olly@survex.com>
13528         * tests/harness/cputimer.cc: If we don't have rusage() or times(), but
13529           do have ftime(), use that instead of time() so we at least get
13530           subsecond resolution (as we do currently with OmTime).
13532 Mon May 04 03:31:51 GMT 2009  Olly Betts <olly@survex.com>
13534         * docs/queryparser.html: Add examples of using a prefix on a phrase
13535           or subexpression.
13537 Sun May 03 14:58:42 GMT 2009  Olly Betts <olly@survex.com>
13539         * tests/api_valuestats.cc: Testcase valuestats4 requires transactions,
13540           so indicate that and remove the explicit SKIP for inmemory.
13542 Sun May 03 12:34:30 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13544         * common/rset.h,common/weightinternal.h,matcher/rset.cc,
13545           weight/weightinternal.cc: Typedef std::map<string, Xapian::doccount>
13546           as TermFreqMap; tidies up code a little here, but mainly useful
13547           for keeping code tidy on branches/opsynonym.
13549 Sun May 03 11:49:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13551         * common/multimatch.h: Remove unused include of <map>
13553 Sun May 03 05:23:32 GMT 2009  Olly Betts <olly@survex.com>
13555         * tests/api_db.cc: Protect tests which assume Flint is enabled with
13556           #ifdef XAPIAN_HAS_FLINT_BACKEND.
13558 Sat May 02 15:49:46 GMT 2009  Olly Betts <olly@survex.com>
13560         * configure.ac,tests/Makefile.am,tests/api_scalability.cc,
13561           tests/api_wrdb.cc,tests/harness/: Add new "test_scalability()" helper
13562           function which checks that an operation scales in CPU time used in
13563           the desired way.  Use this to reimplement bigoaddvalue (and rename
13564           to bigoaddvalue1 for consistency).
13566 Fri May 01 04:58:41 GMT 2009  Olly Betts <olly@survex.com>
13568         * bin/xapian-check.cc: For chert, check value stats are the correct
13569           format and that the streamed values are consistent with their stats
13570           (ticket#277).
13572 Fri May 01 04:53:22 GMT 2009  Olly Betts <olly@survex.com>
13574         * api/omdocument.cc: Don't ever store empty values explicitly, which
13575           eliminates an inconsistently handled corner case which was causing
13576           the "value frequency" to be wrong from at least one point of view.
13577           This is consistent with how user metadata works too.
13578         * include/xapian/document.h: Explicitly document this behaviour.
13579         * tests/api_valuestats.cc: Add regression test for the above change.
13581 Fri May 01 03:11:25 GMT 2009  Olly Betts <olly@survex.com>
13583         * bin/xapian-check.cc: Chert doesn't store termlist entries for
13584           documents without terms, which resulted in us reporting an error when
13585           we found document ids in the doclength "postlist" which were greater
13586           than any with an entry in the termlist.  Instead compare these
13587           entries against db.get_last_docid() if we are checking a whole db
13588           and able to call it.  If not, suppress this check.
13590 Thu Apr 30 15:02:41 GMT 2009  Olly Betts <olly@survex.com>
13592         * common/valuestats.h: Fix comment typo.
13594 Tue Apr 28 14:01:41 GMT 2009  Olly Betts <olly@survex.com>
13596         * api/omdatabase.cc: Use <cstdlib> rather than <stdlib.h> which means
13597           that there's an overload for abs(long).
13599 Tue Apr 28 13:17:48 GMT 2009  Olly Betts <olly@survex.com>
13601         * HACKING,INSTALL,configure.ac,include/xapian/deprecated.h,
13602           include/xapian/version_h.cc,tests/harness/testsuite.cc: Actually,
13603           let's require GCC 3.1 as doing so eliminates some preprocessor
13604           conditionals which we aren't able to test regularly as we don't
13605           have easy access to such old GCC versions.  GCC 3.1 is nearly 7
13606           years old now, and GCC3 didn't get widespread use until later
13607           versions anyway.
13609 Tue Apr 28 12:47:11 GMT 2009  Olly Betts <olly@survex.com>
13611         * common/debuglog.h: Add missing initialisation of uncaught_exception
13612           in a couple of places.
13614 Tue Apr 28 11:24:02 GMT 2009  Olly Betts <olly@survex.com>
13616         * INSTALL: Note that Xapian 1.0.x should build with GCC 2.95.3.
13618 Tue Apr 28 11:20:51 GMT 2009  Olly Betts <olly@survex.com>
13620         * HACKING,INSTALL,backends/chert/chert_database.h,
13621           backends/flint/flint_database.h,
13622           backends/inmemory/inmemory_database.h,configure.ac,
13623           include/xapian/version_h.cc,tests/harness/testsuite.cc: Drop support
13624           for GCC 2.95.3 - we now require at least 3.0.
13626 Mon Apr 27 12:20:25 GMT 2009  Olly Betts <olly@survex.com>
13628         * include/xapian/weight.h: Add "need_stat(WDF);" for Weight subclasses
13629           which use wdf.  Currently this is never actually checked by trunk
13630           (so a regression test for this omission isn't really feasible), but
13631           the opsynonym branch uses it.
13633 Sun Apr 26 14:47:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13635         * weight/bm25weight.cc: Add call debugging.
13637 Sun Apr 26 10:57:48 GMT 2009  Olly Betts <olly@survex.com>
13639         * tests/api_db.cc: stubdb6 is "inmemory" not "flint || chert || multi".
13641 Sun Apr 26 10:51:50 GMT 2009  Olly Betts <olly@survex.com>
13643         * tests/queryparsertest.cc: Fix to build with the inmemory backend
13644           disabled.
13646 Sun Apr 26 07:28:47 GMT 2009  Olly Betts <olly@survex.com>
13648         * tests/generate-api_generated: Fix so generated api_generated.cc
13649           builds with the inmemory backend disabled.
13651 Sun Apr 26 06:30:57 GMT 2009  Olly Betts <olly@survex.com>
13653         * tests/api_anydb.cc: Fix to build with the inmemory backend disabled.
13655 Sat Apr 25 01:10:49 GMT 2009  Olly Betts <olly@survex.com>
13657         * bin/xapian-check.cc: Fix to build with the flint and/or chert
13658           backends disabled.
13660 Sat Apr 25 01:06:00 GMT 2009  Olly Betts <olly@survex.com>
13662         * matcher/multimatch.cc: Fix to build with the remote backend
13663           disabled.
13665 Sat Apr 25 00:57:41 GMT 2009  Olly Betts <olly@survex.com>
13667         * backends/dbfactory.cc: Fix to build with the inmemory backend
13668           disabled.
13670 Fri Apr 24 22:59:34 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13672         * weight/weight.cc: Add debug logging to Weight::init_() methods.
13673         * net/remoteserver.cc: Fix bounds returned by Weight::Internal
13674           object in get_mset() in remote submatches, by setting the
13675           database used to read the bounds.
13677 Fri Apr 24 13:14:50 GMT 2009  Olly Betts <olly@survex.com>
13679         * matcher/branchpostlist.cc,matcher/branchpostlist.h: Remove
13680           BranchPostList::get_wdf() which isn't currently used, and isn't
13681           wanted on branches/opsynonym.
13683 Fri Apr 24 12:46:18 GMT 2009  Olly Betts <olly@survex.com>
13685         * queryparser/queryparser.lemony: Apply doxygen comment improvement
13686           from branches/opsynonym.
13688 Fri Apr 24 12:31:15 GMT 2009  Olly Betts <olly@survex.com>
13690         * matcher/localmatch.cc: Apply assertion and debug logging
13691           improvements from branches/opsynonym.
13693 Thu Apr 23 06:16:05 GMT 2009  Olly Betts <olly@survex.com>
13695         * Makefile.am,configure.ac,docs/Makefile.am,tests/Makefile.am: Fix
13696           things up so that in a bootstrapped SVN tree, automatic regeneration
13697           of autotools-generated files uses the in-tree versions of the
13698           autotools.
13700 Thu Apr 23 04:37:31 GMT 2009  Olly Betts <olly@survex.com>
13702         * AUTHORS: Add another bug reporter.
13704 Thu Apr 23 04:26:25 GMT 2009  Olly Betts <olly@survex.com>
13706         * Makefile.am,languages/Makefile.mk,queryparser/Makefile.mk,
13707           tests/Makefile.am,tests/perftest/Makefile.mk: Don't remove any
13708           built sources in "make clean" even under --make-maintainer-mode
13709           as that breaks switching a tree away from maintainer-mode with:
13710           make distclean;./configure
13712 Thu Apr 23 03:51:03 GMT 2009  Olly Betts <olly@survex.com>
13714         * Makefile.am: Use "--coverage" instead of "-fprofile-arcs
13715           -ftest-coverage" in the test coverage build.
13717 Wed Apr 22 14:32:56 GMT 2009  Olly Betts <olly@survex.com>
13719         * PLATFORMS: Sync with 1.0.12; add entry for atreus for 1.1.0.
13721 Wed Apr 22 14:27:36 GMT 2009  Olly Betts <olly@survex.com>
13723         * AUTHORS: Add more bug reporters and patch contributors.  Remove a
13724           duplicate entry.
13726 Wed Apr 22 13:58:31 GMT 2009  Olly Betts <olly@survex.com>
13728         * NEWS: Set release date.
13730 Wed Apr 22 13:36:04 GMT 2009  Olly Betts <olly@survex.com>
13732         * NEWS: Update, perhaps even ready for release now.
13734 Wed Apr 22 11:00:50 GMT 2009  Olly Betts <olly@survex.com>
13736         * NEWS: More work.
13738 Tue Apr 21 17:59:13 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13740         * docs/queryparser.html: Add closing <code> tag.
13742 Tue Apr 21 11:05:17 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13744         * NEWS: A few minor corrections and adjustments.
13746 Tue Apr 21 07:49:49 GMT 2009  Olly Betts <olly@survex.com>
13748         * include/xapian/weight.h: Don't use the term "term" to talk about the
13749           extra weight component as it already has a strong meaning in Xapian.
13751 Tue Apr 21 07:16:18 GMT 2009  Olly Betts <olly@survex.com>
13753         * queryparser/lemon.c: Merge upstream "Check-in Number: 6451".
13755 Tue Apr 21 06:54:00 GMT 2009  Olly Betts <olly@survex.com>
13757         * matcher/queryoptimiser.h: '#include <map>' isn't required.
13759 Tue Apr 21 06:45:14 GMT 2009  Olly Betts <olly@survex.com>
13761         * matcher/queryoptimiser.cc,matcher/queryoptimiser.h: Eliminate
13762           QueryOptimiser::do_leaf() as it is only called from one place
13763           and if only two lines of code.
13765 Mon Apr 20 14:10:08 GMT 2009  Olly Betts <olly@survex.com>
13767         * NEWS: Update from ChangeLog and start to lick into shape for a
13768           release.
13770 Mon Apr 20 13:06:17 GMT 2009  Olly Betts <olly@survex.com>
13772         * HACKING: XAPIAN_DEBUG_LOG=- send output to stderr, not stdout.
13774 Mon Apr 20 11:53:07 GMT 2009  Olly Betts <olly@survex.com>
13776         * common/output.h: Add new macro XAPIAN_OUTPUT_FUNCTION_PTR and use it
13777           so that debug logging of Xapian::Query::Internal* doesn't just
13778           report the pointer value.
13780 Mon Apr 20 06:39:42 GMT 2009  Olly Betts <olly@survex.com>
13782         * matcher/multimatch.cc: Apply debug logging change lifted from
13783           branches/opsynonym.
13785 Mon Apr 20 05:22:24 GMT 2009  Olly Betts <olly@survex.com>
13787         * tests/harness/testutils.cc: Add FIXME comments about use of internal
13788           macro from a different header.
13790 Mon Apr 20 05:08:34 GMT 2009  Olly Betts <olly@survex.com>
13792         * HACKING: Update release checklist.
13794 Sun Apr 19 14:50:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13796         * tests/api_nodb.cc: Stick the reciprocal of "factor" into a
13797           volatile double temporary variable to stop compiler using
13798           extended precision calculation on x86, and coming up an answer of
13799           exactly 1.0 when multiplying by "factor" again.
13801 Sun Apr 19 14:26:09 GMT 2009  Olly Betts <olly@survex.com>
13803         * NEWS: Sync with 1.0.12 and update from ChangeLog.
13805 Sun Apr 19 12:12:19 GMT 2009  Olly Betts <olly@survex.com>
13807         * AUTHORS: Update for 1.0 branch.
13809 Thu Apr 16 12:08:24 GMT 2009  Olly Betts <olly@survex.com>
13811         * backends/chert/chert_values.cc: When copying the tail of a value
13812           chunk because did > last_allowed_did, we don't need to check if
13813           the docids being copied are < did, since they should all be <=
13814           last_allowed_did, so just assert the latter.
13816 Tue Apr 14 20:32:41 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13818         * tests/api_wrdb.cc: patch from james to move logging in
13819           modifyvalues1 so it reports the values it's rewriting correctly,
13820           rather than the empty string.  Also display the expected value in
13821           tout when checking the value.  Also, pull the setting of the random
13822           seed out to the start of the function, and set it to 7 (which
13823           exposed the bug fixed with the previous commit, which that the old
13824           value of 42 didn't, on my machine, at least).
13826 Tue Apr 14 18:12:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13828         * backends/chert/chert_values.cc: When we move the reader to a new
13829           chunk, write any trailing values left in it to the stream first.
13831 Thu Apr 09 05:01:04 GMT 2009  Olly Betts <olly@survex.com>
13833         * docs/admin_notes.rst: Document the child process used for locking
13834           which exec-s "cat" (ticket #258).
13836 Thu Apr 09 03:49:13 GMT 2009  Olly Betts <olly@survex.com>
13838         * bin/: Use C++ forms of C headers in bin (ticket#330).
13840 Thu Apr 09 03:47:42 GMT 2009  Olly Betts <olly@survex.com>
13842         * examples/: Use C++ forms of C headers in examples (ticket#330).
13844 Mon Apr 06 06:35:03 GMT 2009  Olly Betts <olly@survex.com>
13846         * include/xapian/unicode.h: Fix documentation comment typos.
13848 Mon Apr 06 06:03:45 GMT 2009  Olly Betts <olly@survex.com>
13850         * AUTHORS: Add Muayyad Alsadi for reporting #355.
13852 Mon Apr 06 05:59:38 GMT 2009  Olly Betts <olly@survex.com>
13854         * tests/api_unicode.cc: Note which characters in the new
13855           unicodepredicate1 testcase are new in Unicode 5.1.0.
13857 Sun Apr 05 14:24:47 GMT 2009  Olly Betts <olly@survex.com>
13859         * include/xapian/unicode.h: Add NON_SPACING_MARK to is_wordchar() for
13860           better tokenisation of Arabic, for example.  (ticket#355)
13861         * tests/queryparsertest.cc: Add test that this has the desired effect.
13862         * tests/api_unicode.cc: Add feature tests of Unicode::is_wordchar(),
13863           Unicode::is_currency(), and Unicode::is_whitespace().
13865 Sat Apr 04 05:41:47 GMT 2009  Olly Betts <olly@survex.com>
13867         * NEWS: Update from ChangeLog.
13869 Wed Apr 01 00:18:02 GMT 2009  Olly Betts <olly@survex.com>
13871         * bin/xapian-compact.cc: Fix totlen overflow test.  Refactor lightly
13872           to reduce indenting.
13874 Tue Mar 31 17:01:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13876         * bin/xapian-compact.cc: Handle databases which contain no
13877           documents (and hence have no METAINFO item), but do contain some
13878           metadata (so the postlist table is not empty).  Fixes ticket
13879           #356.
13881 Tue Mar 31 13:49:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13883         * api/postingsource.cc,include/xapian/postingsource.h: Change
13884           return types of clone() and unserialise() methods to be of the
13885           subclass returned; this is a bit more flexible, but the main
13886           reason is to be consistent: previously, the clone() methods
13887           returned the subclass, but the unserialise() methods returned
13888           PostingSource.
13890 Tue Mar 31 12:10:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13892         * include/xapian/postingsource.h: Add comment on PostingSource base
13893           class listing it as an experimental feature.
13894         * docs/deprecation.rst: Describe what "experimental" features are,
13895           and why replication and posting sources are currently
13896           experimental.
13898 Tue Mar 31 11:34:25 GMT 2009  Olly Betts <olly@survex.com>
13900         * include/xapian/matchspy.h: Removed currently unused header to stop
13901           doxygen from generating documentation for it.
13903 Tue Mar 31 11:27:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13905         * docs/replication.rst,include/xapian/replication.h: Note that
13906           replication is currently "experimental".
13908 Fri Mar 27 14:29:05 GMT 2009  Olly Betts <olly@survex.com>
13910         * backends/chert/chert_spelling.cc,backends/chert/chert_spelling.h,
13911           backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h:
13912           Fix WritableDatabase::remove_spelling() to not be very broken in
13913           several ways.
13914         * tests/api_spelling.cc: Add test coverage for it.
13916 Fri Mar 27 10:43:34 GMT 2009  Olly Betts <olly@survex.com>
13918         * xapian-config.in: Add @LIBRARY_VERSION_SUFFIX@ to -lxapian too.
13920 Fri Mar 27 08:22:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13922         * include/xapian/postingsource.h: Update documentation comments to
13923           refer to init() instead of the old name of reset().
13925 Fri Mar 27 08:10:48 GMT 2009  Olly Betts <olly@survex.com>
13927         * HACKING: Document the lcov make targets.
13929 Fri Mar 27 07:44:59 GMT 2009  Olly Betts <olly@survex.com>
13931         * Makefile.am: Add two new targets to assist generating test coverage
13932           reports with lcov: coverage-reconfigure which reruns configure in
13933           the source tree and coverage-check which runs "make check" and
13934           generates an HTML report in a directory called "lcov".
13936 Thu Mar 26 23:59:36 GMT 2009  Olly Betts <olly@survex.com>
13938         * Makefile.am,m4-macros/xapian.m4,xapian-core.spec.in: Rename
13939           xapian.m4 to xapian-1.1.m4 to avoid clash with Xapian 1.0.x.  Both
13940           xapian.m4 and xapian-1.1.m4 will contain XO_LIB_XAPIAN, but aclocal
13941           copes and only copies one of them.  We need to avoid incompatible
13942           changes to XO_LIB_XAPIAN though.
13944 Thu Mar 26 14:29:54 GMT 2009  Olly Betts <olly@survex.com>
13946         * configure.ac,include/Makefile.mk,xapian-config.in: Install headers
13947           in $prefix/include/xapian-1.1/ so they don't clash with 1.0.
13949 Thu Mar 26 13:46:06 GMT 2009  Olly Betts <olly@survex.com>
13951         * configure.ac: Default program suffix to -1.1 if not specified.  If
13952           you really want no suffix, "./configure --program-suffix=" will
13953           achieve that.
13955 Thu Mar 26 12:49:10 GMT 2009  Olly Betts <olly@survex.com>
13957         * Makefile.am,api/Makefile.mk,backends/Makefile.mk,
13958           backends/chert/Makefile.mk,backends/flint/Makefile.mk,
13959           backends/inmemory/Makefile.mk,backends/multi/Makefile.mk,
13960           backends/remote/Makefile.mk,bin/Makefile.mk,common/Makefile.mk,
13961           configure.ac,examples/Makefile.mk,expand/Makefile.mk,
13962           languages/Makefile.mk,matcher/Makefile.mk,net/Makefile.mk,
13963           queryparser/Makefile.mk,tests/Makefile.am,tests/perftest/Makefile.mk,
13964           unicode/Makefile.mk,weight/Makefile.mk,xapian-config.in,
13965           xapian-core.spec.in: Change library name to libxapian-1.1 as a first
13966           step towards allowing parallel installation with 1.0.x.
13968 Thu Mar 26 06:53:27 GMT 2009  Olly Betts <olly@survex.com>
13970         * NEWS: Update from ChangeLog.
13972 Thu Mar 26 06:50:44 GMT 2009  Olly Betts <olly@survex.com>
13974         * backends/chert/chert_values.h: Fix class name in file doc comment.
13976 Thu Mar 26 00:13:48 GMT 2009  Olly Betts <olly@survex.com>
13978         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
13979           Call ChertDatabase::close() rather than repeating its code.
13981 Wed Mar 25 17:39:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13983         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
13984           Release the lock when the database is closed (either due to a
13985           call to close() or due to a serious error during modifications).
13986           Should fix ticket #354.
13988 Wed Mar 25 16:42:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13990         * tests/harness/testutils.cc: Use TEST_EQUAL_DOUBLE_ for comparison
13991           of weights in mset, to fix test failures due to floating point
13992           differences.  (Currently only manifests in some tests in the
13993           matchspy branch, but it's a generally useful fix.)
13995 Wed Mar 25 11:44:36 GMT 2009  Olly Betts <olly@survex.com>
13997         * configure.ac: Only put ANSI_CXXFLAGS in CXXFLAGS for the duration of
13998           configure - put it in AM_CXXFLAGS for substituting so that the user
13999           can safely override CXXFLAGS at make-time: "make CXXFLAGS=-Os"
14001 Wed Mar 25 10:50:44 GMT 2009  Olly Betts <olly@survex.com>
14003         * configure.ac: Fix comment typo.
14005 Wed Mar 25 04:48:50 GMT 2009  Olly Betts <olly@survex.com>
14007         * api/omdatabase.cc,backends/chert/chert_database.h,
14008           backends/flint/flint_database.h,
14009           backends/inmemory/inmemory_database.h,
14010           backends/remote/remote-database.cc,common/const_database_wrapper.h,
14011           common/database.h: Drop the default value of the lazy parameter to
14012           Database::open_document() - it's better to force us to consider
14013           whether a new call should be lazy or not.
14014         * common/database.h: Better description of lazy parameter.
14015         * backends/remote/remote-database.cc: Update comment about when lazy
14016           is set to true.
14018 Wed Mar 25 04:20:34 GMT 2009  Olly Betts <olly@survex.com>
14020         * backends/inmemory/inmemory_database.cc: Don't "return false" when
14021           the return type is a pointer!
14023 Tue Mar 24 17:42:22 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14025         * backends/database.cc: Open documents lazily in
14026           collect_document().
14028 Tue Mar 24 11:10:57 GMT 2009  Olly Betts <olly@survex.com>
14030         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
14031           MultiPostList::read_position_list() is never used, so remove it.
14033 Tue Mar 24 10:04:03 GMT 2009  Olly Betts <olly@survex.com>
14035         * backends/multi/multi_postlist.cc: Remove "[" and "]" from the output
14036           of MultiPostList::get_description().  Remove excess "," from output
14037           of MultiPostList::get_description().
14038         * tests/api_db.cc: Add some test coverage of
14039           PostingIterator::get_wdf() and PostingIterator::get_description().
14041 Tue Mar 24 10:00:23 GMT 2009  Olly Betts <olly@survex.com>
14043         * api/ompostlistiterator.cc: Remove "[" and "]" from
14044           Xapian::PostingIterator::get_description() as they don't add
14045           anything useful.
14047 Tue Mar 24 09:57:39 GMT 2009  Olly Betts <olly@survex.com>
14049         * backends/inmemory/inmemory_database.cc: Add a space in the output
14050           of InMemoryPostList::get_description() and
14051           InMemoryAllDocsPostList::get_description().
14053 Tue Mar 24 08:52:46 GMT 2009  Olly Betts <olly@survex.com>
14055         * api/leafpostlist.cc,include/xapian/weight.h,tests/api_db.cc,weight/:
14056           Get rid of the virtual Weight::get_sumpart_needs_doclength() method
14057           - subclasses can call need_stat(DOC_LENGTH) in their constructor if
14058           they need doc lengths.
14060 Tue Mar 24 07:55:06 GMT 2009  Olly Betts <olly@survex.com>
14062         * weight/weight.cc: Check stats_needed for stats which aren't just a
14063           simple member variable lookup.
14065 Tue Mar 24 06:46:24 GMT 2009  Olly Betts <olly@survex.com>
14067         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
14068           MultiPostList::get_termfreq() is never used, so remove it.
14070 Mon Mar 23 14:09:33 GMT 2009  Olly Betts <olly@survex.com>
14072         * tests/api_unicode.cc: Add test coverage for
14073           Xapian::Unicode::append_utf8().
14075 Mon Mar 23 11:40:09 GMT 2009  Olly Betts <olly@survex.com>
14077         * api/postingsource.cc,docs/postingsource.rst,
14078           include/xapian/postingsource.h,matcher/externalpostlist.cc,
14079           tests/api_db.cc,tests/api_percentages.cc,tests/api_valuestream.cc:
14080           Rename PostingSource::reset() to PostingSource::init().
14082 Mon Mar 23 11:01:02 GMT 2009  Olly Betts <olly@survex.com>
14084         * tests/harness/testsuite.h: Fix documentation comment in line with
14085           the corrected --help output from "Sat Feb 21 08:18:21 GMT 2009".
14087 Mon Mar 23 02:24:44 GMT 2009  Olly Betts <olly@survex.com>
14089         * api/omqueryinternal.cc: Fix handling of empty and single subquery
14090           OP_NEAR and OP_PHRASE (was breaking queryparsertest).
14092 Sun Mar 22 10:23:37 GMT 2009  Olly Betts <olly@survex.com>
14094         * backends/chert/chert_database.cc,backends/flint/flint_database.cc,
14095           backends/inmemory/inmemory_database.cc,
14096           backends/inmemory/inmemory_positionlist.cc,
14097           common/inmemory_positionlist.h,docs/deprecation.rst,
14098           tests/api_posdb.cc: Change Database::positionlist_begin() not to
14099           throw exceptions if the term or document doesn't exist.
14101 Sun Mar 22 09:02:46 GMT 2009  Olly Betts <olly@survex.com>
14103         * docs/deprecation.rst: Fix typo.
14105 Sun Mar 22 07:54:30 GMT 2009  Olly Betts <olly@survex.com>
14107         * api/omqueryinternal.cc,include/xapian/query.h,tests/api_nodb.cc,
14108           tests/api_query.cc: Fix valgrind errors on nearsubqueries1
14109           (ticket#349) and enhance distribution of OP_NEAR/OP_PHRASE over
14110           non-leaf subqueries to work when there are multiple non-leaf
14111           subqueries (ticket#201).  Extend nearsubqueries1 to test that
14112           trying to distribute OP_NEAR/OP_PHRASE over OP_NEAR/OP_PHRASE
14113           throws UnimplementedError.
14115 Fri Mar 20 08:43:20 GMT 2009  Olly Betts <olly@survex.com>
14117         * tests/api_query.cc: Add coverage for OP_AND with MatchNothing
14118           subquery (new testcase matchnothing1).
14120 Fri Mar 20 05:16:18 GMT 2009  Olly Betts <olly@survex.com>
14122         * api/omqueryinternal.cc: Fix assertions in previous check-in to
14123           verify the right condition.  And return the simplified query in
14124           the case the assertion would have failed, as that means a small
14125           memory leak rather than unpredictable behaviour in a non-assertion
14126           build.
14128 Fri Mar 20 04:26:29 GMT 2009  Olly Betts <olly@survex.com>
14130         * api/omqueryinternal.cc: Check that end_construction() returns NULL
14131           when unserialising queries.
14133 Fri Mar 20 02:51:32 GMT 2009  Olly Betts <olly@survex.com>
14135         * api/omqueryinternal.cc: Fix return type of
14136           Xapian::Query::Internal::simplify_query() in a debug build.  Since
14137           RETURN() isn't used by this function, this is only a cosmetic issue
14138           in the log file.
14140 Wed Mar 18 09:26:02 GMT 2009  Olly Betts <olly@survex.com>
14142         * backends/chert/chert_database.cc,backends/flint/flint_database.cc,
14143           docs/deprecation.rst: Move just returning an empty PositionIterator
14144           from Database::positionlist_begin() when the docs or term isn't
14145           present from 1.2.0 to 1.1.0 (has to be 1.1.0 or 1.3.0 really).
14147 Wed Mar 18 09:24:27 GMT 2009  Olly Betts <olly@survex.com>
14149         * docs/glossary.rst: Chert as the default backend in 1.2.0 is pretty
14150           much definite.
14152 Wed Mar 18 06:42:09 GMT 2009  Olly Betts <olly@survex.com>
14154         * NEWS: Update from ChangeLog.
14156 Wed Mar 18 04:36:59 GMT 2009  Olly Betts <olly@survex.com>
14158         * xapian-core.spec.in: Tweak reference to "1.1.0 branch" to make more
14159           sense.
14161 Wed Mar 18 04:30:18 GMT 2009  Olly Betts <olly@survex.com>
14163         * api/postingsource.cc,include/xapian/postingsource.h: Remove the
14164           optional "max_weight_" parameter to ValuePostingSource's ctor.
14165         * include/xapian/postingsource.h: Correct a few errors in
14166           documentation comments.
14168 Wed Mar 18 04:29:22 GMT 2009  Olly Betts <olly@survex.com>
14170         * docs/postingsource.rst: "ctx" -> "context" in example code.
14172 Tue Mar 17 23:45:52 GMT 2009  Olly Betts <olly@survex.com>
14174         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: If the
14175           locking attempt fails after we spawn the child process, call
14176           waitpid() in the parent process to avoid creating a zombie process.
14177         * AUTHORS: Add Jim Spath for reporting this.
14179 Tue Mar 17 23:34:16 GMT 2009  Olly Betts <olly@survex.com>
14181         * common/Makefile.mk,common/str.cc,common/str.h: New family of
14182           overloaded str() functions for converting types to std::string.
14183           The integer conversion are much faster than the existing
14184           om_tostring().
14185         * common/omassert.h,common/omdebug.h: Use str() instead of
14186           om_tostring().
14187         * common/utils.cc,common/utils.h: Make om_tostring() a macro wrapping
14188           str() for now to avoid introducing a lot of conflicts with other
14189           branches and unapplied patches.
14191 Tue Mar 17 21:28:54 GMT 2009  Olly Betts <olly@survex.com>
14193         * configure.ac: Fix comment typo.
14195 Tue Mar 17 00:47:26 GMT 2009  Olly Betts <olly@survex.com>
14197         * common/utils.cc: Fix previous change to actually compile...
14199 Mon Mar 16 20:10:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14201         * common/utils.cc,common/utils.h: Add om_tostring() version of
14202           unsigned long long int, to fix debug build on i686.
14204 Mon Mar 16 14:01:02 GMT 2009  Olly Betts <olly@survex.com>
14206         * NEWS: Sync with 1.0.11.
14208 Fri Mar 13 06:59:29 GMT 2009  Olly Betts <olly@survex.com>
14210         * weight/weightinternal.cc: Need "utils.h" for om_tostring().
14212 Fri Mar 13 05:47:24 GMT 2009  Olly Betts <olly@survex.com>
14214         * include/xapian/queryparser.h: Note that QueryParser::FLAG_DEFAULT
14215           was new in 1.0.11.
14217 Fri Mar 13 04:36:19 GMT 2009  Olly Betts <olly@survex.com>
14219         * weight/weightinternal.cc: Implement
14220           Weight::Internal::get_description().
14222 Thu Mar 12 11:57:02 GMT 2009  Olly Betts <olly@survex.com>
14224         * common/output.h: Fix last commit.
14226 Thu Mar 12 11:29:58 GMT 2009  Olly Betts <olly@survex.com>
14228         * common/output.h: Define operator<< for Xapian::Weight::Internal.
14230 Thu Mar 12 11:21:09 GMT 2009  Olly Betts <olly@survex.com>
14232         * net/remoteserver.cc: Fix overlooked case which was still sending
14233           REPLY_DOCLENGTH as a double.
14235 Wed Mar 11 22:56:59 GMT 2009  Olly Betts <olly@survex.com>
14237         * backends/chert/chert_valuelist.cc: Fix comment typo.
14239 Wed Mar 11 22:50:49 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14241         * tests/api_valuestream.cc: Enable valuestream3 for chert.
14242         * backends/chert/chert_valuelist.cc: Fix return value of
14243           ChertValueList::check() when it needs to move to a new chunk.
14244           Fixes valuestream3 test.
14246 Wed Mar 11 13:17:58 GMT 2009  Olly Betts <olly@survex.com>
14248         * include/xapian/weight.h: Mark Weight::init_() methods as "@private
14249           @internal" for doxygen API docs.
14251 Wed Mar 11 13:13:32 GMT 2009  Olly Betts <olly@survex.com>
14253         * include/xapian/weight.h,tests/api_db.cc,tests/api_nodb.cc,
14254           weight/bm25weight.cc,weight/boolweight.cc,weight/tradweight.cc:
14255           Make Weight::name() return std::string to allow sane wrapping
14256           with SWIG directors.
14258 Wed Mar 11 05:46:40 GMT 2009  Olly Betts <olly@survex.com>
14260         * api/,backends/chert/,backends/contiguousalldocspostlist.cc,
14261           backends/flint/,backends/inmemory/inmemory_database.cc,
14262           backends/inmemory/inmemory_database.h,
14263           backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
14264           backends/remote/,common/,docs/remote_protocol.html,
14265           include/xapian/database.h,include/xapian/postingiterator.h,matcher/,
14266           net/remoteserver.cc: Internally, pass around non-normalised document
14267           lengths as Xapian::termcount (unsigned integer) not Xapian::doclength
14268           (double).
14270 Wed Mar 11 05:25:40 GMT 2009  Olly Betts <olly@survex.com>
14272         * tests/api_anydb.cc: Use TEST_REL; wrap long comment.
14274 Wed Mar 11 04:52:41 GMT 2009  Olly Betts <olly@survex.com>
14276         * Makefile.am,api/,backends/chert/,backends/database.cc,
14277           backends/flint/flint_database.cc,backends/flint/flint_database.h,
14278           backends/inmemory/inmemory_database.cc,
14279           backends/inmemory/inmemory_database.h,
14280           backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
14281           examples/delve.cc,include/Makefile.mk,include/xapian.h,
14282           include/xapian/database.h,include/xapian/enquire.h,
14283           include/xapian/weight.h,matcher/,net/remoteserver.cc,
14284           net/serialise.cc,tests/,weight/: Reimplementation of weighting
14285           schemes which allows user subclasses to access the same stats which
14286           built in schemes can (bug#213) and which also can use lower and
14287           upper bounds of doclength and upper bounds on wdf to give a tighter
14288           maxweight, which should allow the matcher weight-based optimisations
14289           to be more effective.  Chert now tracks doclength bounds and a
14290           global (rather than per term) bound on wdf.  Other backends
14291           return much less good bounds, but these still lead to better
14292           maxweight bounds.
14294 Wed Mar 11 00:13:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14296         * include/xapian/query.h: Rename parameter name from "ctx" to the
14297           more human-friendly "context".
14299 Tue Mar 10 14:03:33 GMT 2009  Olly Betts <olly@survex.com>
14301         * tests/harness/testutils.cc: If mset_range_is_same_percents() fails
14302           because the percentages differ, report what they were to tout.
14304 Mon Mar 09 12:27:28 GMT 2009  Olly Betts <olly@survex.com>
14306         * matcher/localmatch.cc: Remove special case handling for empty string
14307           being returned from the TermIterator returned by
14308           Query::Internal::get_terms() as this should no longer happen.
14310 Mon Mar 09 12:09:21 GMT 2009  Olly Betts <olly@survex.com>
14312         * api/omqueryinternal.cc: Don't return "" from a TermIterator from
14313           Query::get_terms_begin() (happened when Query contained or was
14314           Query::MatchAll).
14315         * tests/Makefile.am,tests/api_query.cc: Add regression testcase
14316           queryterms1.
14318 Sun Mar 08 06:16:24 GMT 2009  Olly Betts <olly@survex.com>
14320         * tests/api_backend.cc: Add check that backends don't truncate total
14321           document length to 32 bits.
14323 Sun Mar 08 06:02:43 GMT 2009  Olly Betts <olly@survex.com>
14325         * tests/api_backend.cc: Disable lockfileumask1 on Cygwin and on OS/2.
14327 Sun Mar 08 05:36:54 GMT 2009  Olly Betts <olly@survex.com>
14329         * matcher/extraweightpostlist.h: Add forward declaration of
14330           Xapian::Weight since we use "Xapian::Weight *".
14332 Sun Mar 08 04:39:22 GMT 2009  Olly Betts <olly@survex.com>
14334         * backends/chert/chert_types.h,backends/flint/flint_types.h,
14335           bin/xapian-check-flint.cc,bin/xapian-check.cc,bin/xapian-compact.cc,
14336           common/Makefile.mk,common/database.h,common/internaltypes.h:
14337           Move totlen_t to a new header (internaltypes.h) to avoid needing to
14338           pull in database.h in when we want to use it.  Also move int4 and
14339           uint4 there to avoid duplicated definitions and abstract out a
14340           new uint8 from defining totlen_t.
14342 Sun Mar 08 00:50:38 GMT 2009  Olly Betts <olly@survex.com>
14344         * backends/chert/chert_database.h,backends/chert/chert_types.h,
14345           backends/flint/flint_database.h,backends/flint/flint_types.h,
14346           bin/xapian-check-flint.cc,bin/xapian-check.cc,bin/xapian-compact.cc,
14347           common/database.h: Replace flint_totlen_t and chert_totlen_t with
14348           a common totlen_t.
14350 Sat Mar 07 08:35:27 GMT 2009  Olly Betts <olly@survex.com>
14352         * backends/chert/chert_database.cc: Wrap comment.
14354 Sat Mar 07 08:28:17 GMT 2009  Olly Betts <olly@survex.com>
14356         * backends/inmemory/inmemory_database.h: Fix file description
14357           ("multiple database" -> "inmemory database").
14359 Sat Mar 07 08:25:11 GMT 2009  Olly Betts <olly@survex.com>
14361         * backends/inmemory/inmemory_database.cc,
14362           backends/inmemory/inmemory_database.h: Store non-normalised document
14363           lengths as Xapian::termcount (unsigned int) rather than
14364           Xapian::doclength (double).
14366 Sat Mar 07 06:56:26 GMT 2009  Olly Betts <olly@survex.com>
14368         * common/database.h: Removed unused forward declarations of classes.
14370 Sat Mar 07 06:52:11 GMT 2009  Olly Betts <olly@survex.com>
14372         * common/database.h: Fix comment typo.
14374 Sat Mar 07 05:44:18 GMT 2009  Olly Betts <olly@survex.com>
14376         * net/serialise.cc: Fix top of file to actually be a doxygen comment.
14377           Tweak layout of definition of serialise_stats().
14379 Sat Mar 07 05:40:58 GMT 2009  Olly Betts <olly@survex.com>
14381         * net/serialise.cc: c_str() -> data() since we don't need the
14382           nul-termination.
14384 Thu Mar 05 11:49:45 GMT 2009  Olly Betts <olly@survex.com>
14386         * tests/api_db.cc,tests/api_nodb.cc: Back out accidentally committed
14387           changes 2 commits ago.
14389 Thu Mar 05 10:28:07 GMT 2009  Olly Betts <olly@survex.com>
14391         * AUTHORS: Add Frank J. Bruzzaniti for omindex patches.
14393 Thu Mar 05 10:20:38 GMT 2009  Olly Betts <olly@survex.com>
14395         * tests/Makefile.am: If both chert and flint are enabled, run
14396           remoteprog_chert and remotetcp_flint but not the other two
14397           combinations as they don't buy us any useful extra test
14398           coverage, but cost a lot of extra time per testrun.
14400 Thu Mar 05 07:51:52 GMT 2009  Olly Betts <olly@survex.com>
14402         * docs/deprecation.rst: Update to reflect that odd minor versions are
14403           now development series.
14405 Thu Mar 05 04:20:43 GMT 2009  Olly Betts <olly@survex.com>
14407         * common/serialisationcontextinternal.h: Fix forward declarations.
14409 Thu Mar 05 02:11:26 GMT 2009  Olly Betts <olly@survex.com>
14411         * api/omdatabase.cc: "new_uuid" -> "sub_uuid" - it's not really new.
14413 Wed Mar 04 22:53:13 GMT 2009  Olly Betts <olly@survex.com>
14415         * include/xapian/queryparser.h,include/xapian/termgenerator.h: Make
14416           default empty std::string parameters use std::string() rather than
14417           "".
14419 Wed Mar 04 16:06:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14421         * api/omdatabase.cc: If a sub-database of a multi-database has no
14422           uuid, we cannot return a uuid for the database, so return
14423           string() instead.
14424         * tests/api_anydb.cc: Test for this.
14426 Wed Mar 04 13:45:41 GMT 2009  Olly Betts <olly@survex.com>
14428         * HACKING: Conversion to C++ names for ISO C headers will happen in
14429           1.1.x, not 1.1.0.
14431 Wed Mar 04 13:37:47 GMT 2009  Olly Betts <olly@survex.com>
14433         * api/omdatabase.cc,backends/database.cc,
14434           backends/remote/remote-database.cc,common/database.h,
14435           include/xapian/database.h,net/remoteserver.cc,tests/api_anydb.cc:
14436           Return an empty string from Database::get_uuid() when then backend
14437           doesn't support UUIDs for consistency with flint when the database
14438           has no UUID.  For a multiple database, build a string from the UUIDs
14439           of each subdatabase and return this as the UUID.  If there are no
14440           subdatabases return the empty string.
14442 Wed Mar 04 11:34:04 GMT 2009  Olly Betts <olly@survex.com>
14444         * backends/remote/remote-database.cc,common/remoteprotocol.h,
14445           common/remoteserver.h,docs/remote_protocol.html,net/remoteserver.cc:
14446           Change the remote server to always default to opening a Database and
14447           having the client request write access explicitly.  This allows a
14448           single server to support multiple readers and one writer
14449           simultaneously.  (bug#145)
14450         * net/remoteserver.cc,backends/remote/remote-database.cc: For constant
14451           empty string parameters, pass string() rather than "".
14452         * common/remoteserver.h: Remove unused '#include <map>'.  Remove
14453           'using namespace std;' and explicitly qualify the few bare mentions
14454           of 'string'.
14456 Wed Mar 04 07:24:39 GMT 2009  Olly Betts <olly@survex.com>
14458         * queryparser/queryparser.lt: Sync with latest upstream lempar.c
14459           (only changes were in code which isn't in our version).
14461 Wed Mar 04 04:03:44 GMT 2009  Olly Betts <olly@survex.com>
14463         * tests/Makefile.am,tests/api_percentages.cc,
14464           tests/testdata/apitest_sortconsist.txt: Apply regression test patch
14465           from bug#216.
14467 Wed Mar 04 03:41:49 GMT 2009  Olly Betts <olly@survex.com>
14469         * include/xapian/enquire.h,matcher/multimatch.cc: Fix inconsistent
14470           percentage scores when sorting primarily by valuei, except when
14471           a MatchDecider is also being used; document this remaining problem
14472           case.  (bug#216)
14474 Wed Mar 04 01:58:07 GMT 2009  Olly Betts <olly@survex.com>
14476         * backends/chert/chert_table.cc,backends/flint/flint_table.cc: No need
14477           to initialise inflate_zstream->next_out and avail_out twice.
14479 Wed Mar 04 01:16:32 GMT 2009  Olly Betts <olly@survex.com>
14481         * backends/chert/chert_table.cc,backends/flint/flint_table.cc: If
14482           deflateReset() or inflateReset() fails, just delete the zstream
14483           take the initialisation codepath - that should mean we recover
14484           if the stream does somehow end up in a bad state and is less
14485           code than throwing an exception.  Annotate tests with rare()
14486           or usual() if they are for exceptional conditions.  Fix bug
14487           introduced by the laziness patch which was adding an int error
14488           code to a const char * message.  If deflateInit2() or inflateInit2()
14489           fails, delete and zero the stream so there's no risk of ending up
14490           wedged on a partly initialised stream.
14492 Tue Mar 03 15:32:53 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14494         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
14495           Check for errors from deflateReset() and inflateReset() - there
14496           shouldn't be any if we've given them a valid stream, so just
14497           raise InternalError if we get one.
14499 Tue Mar 03 09:43:34 GMT 2009  Olly Betts <olly@survex.com>
14501         * NEWS: Updated from ChangeLog.
14503 Tue Mar 03 05:52:16 GMT 2009  Olly Betts <olly@survex.com>
14505         * tests/api_closedb.cc: Fix testcase closedb2 not to create a test
14506           database named closedb3.
14508 Tue Mar 03 04:31:48 GMT 2009  Olly Betts <olly@survex.com>
14510         * include/xapian/queryparser.h: Add QueryParser::FLAG_DEFAULT to make
14511           it easier to add flags to those set by default.
14512         * tests/queryparsertest.cc: Use FLAG_DEFAULT in a few places to serve
14513           as a feature test.
14515 Tue Mar 03 03:45:53 GMT 2009  Olly Betts <olly@survex.com>
14517         * docs/index.html: Add link to new serialisation topic document.
14518         * docs/serialisation.rst: Reword to avoid pluralising class names.
14519           Add link to postingsource document where we reference it.
14521 Tue Mar 03 03:35:29 GMT 2009  Olly Betts <olly@survex.com>
14523         * tests/runsrv.in: Use @top_builddir@ rather than relying on it
14524           coming from the environment.
14526 Tue Mar 03 03:05:47 GMT 2009  Olly Betts <olly@survex.com>
14528         * tests/api_wrdb.cc: Clear tout regularly in modifyvalues1 as
14529           otherwise the output builds up.  Some string stream implementations
14530           get very inefficient with large strings, and also this seems to
14531           interact badly with valgrind's leak detection resulting in the
14532           test having to be rerun to check if it really leaks.  Prefer
14533           tout.str(string()) to tout.str("") in existing uses too.
14535 Tue Mar 03 01:41:07 GMT 2009  Olly Betts <olly@survex.com>
14537         * backends/flint/flint_table.cc: Update handling of shutting down
14538           the zstream objects in the dtor to match chert.
14540 Mon Mar 02 23:57:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14542         * backends/chert/chert_table.h,backends/flint/flint_table.h: Add
14543           documentation comments for the lazy allocation methods, and
14544           separate comments for the zstream members.
14546 Mon Mar 02 23:40:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14548         * AUTHORS,backends/chert/chert_table.cc,backends/chert/chert_table.h,
14549           backends/flint/flint_table.cc,backends/flint/flint_table.h:
14550           Reduce allocation of zstreams by allocating them lazily, keeping
14551           them in the table objects, and reuse them, rather than allocating
14552           a new one each time it's wanted.  Heavily based on a patch from
14553           Todd Lipcon.  Apparently improves performance significantly on
14554           some systems; on my tests it has no perceptible negative impact,
14555           but it makes sense that it could help in some situations, so
14556           let's apply it.  Fixes #325.
14558 Mon Mar 02 21:10:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14560         * docs/deprecation.rst: Deprecate Stem_get_available_languages()
14561           from the python bindings.
14563 Mon Mar 02 19:56:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14565         * common/Makefile.mk,common/const_database_wrapper.cc,
14566           common/const_database_wrapper.h,matcher/queryoptimiser.cc: Avoid
14567           const_cast() on Database::Internal, and exposing
14568           compiler-dependent behaviour if non-const methods are called, by
14569           adding a ConstDatabaseWrapper class, which is a subclass of
14570           Database::Internal, and also takes a Database::Internal as a
14571           parameter, to be wrapped.  This class proxies all const methods
14572           to the wrapped Database::Internal, and raises
14573           InvalidOperationError on non-const methods.  Fixes #332.
14575 Mon Mar 02 18:27:00 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14577         * include/xapian/postingsource.h: Documentation comment
14578           improvements.  Be explicit that Xapian will call reset() before
14579           various methods, and will call next, skip_to or check before
14580           at_end.
14581         * include/xapian/query.h: Wrap over-long line.
14583 Mon Mar 02 18:26:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14585         * docs/Makefile.am,docs/serialisation.rst: Add topic document about
14586           serialisation.
14588 Mon Mar 02 17:58:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14590         * docs/postingsource.rst: Update documentation with new design.
14592 Mon Mar 02 17:16:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14594         * api/omqueryinternal.cc: Change serialisation of queries to use
14595           encode_length() rather than om_tostring(), for a more compact and
14596           easier to parse representation.
14598 Mon Mar 02 14:48:08 GMT 2009  Olly Betts <olly@survex.com>
14600         * backends/multi/multi_alltermslist.cc: Fix memory leak which
14601           was causing allterms6 to fail.
14603 Mon Mar 02 14:15:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14605         * matcher/externalpostlist.cc: Fix memory leak in external source
14606           postlist (fixes fixedweightsource1).
14608 Mon Mar 02 13:41:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14610         * api/postingsource.cc: Don't set max_weight in
14611           ValueMapPostingSource::set_default_weight() - it's set in
14612           reset() before being used, and it's not been set here yet, so
14613           accessing it in std::max() was making valgrind complain.
14615 Mon Mar 02 12:23:01 GMT 2009  Olly Betts <olly@survex.com>
14617         * HACKING,configure.ac,tests/runtest.in: Don't use valgrind if it's
14618           < 3.3.0 as that's well over a year old and greatly simplifies the
14619           configure tests.  Fix options passed to valgrind so that the
14620           testsuite harness actually reports problems detected by newer
14621           valgrind versions.
14623 Mon Mar 02 10:08:25 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14625         * api/,bin/xapian-tcpsrv.cc,common/Makefile.mk,common/remoteserver.h,
14626           common/serialisationcontextinternal.h,include/Makefile.mk,
14627           include/xapian.h,include/xapian/enquire.h,include/xapian/query.h,
14628           include/xapian/serialisationcontext.h,net/remoteserver.cc,
14629           tests/api_serialise.cc,tests/internaltest.cc: Add
14630           SerialisationContext.  This object is used to register
14631           PostingSource or Weight subclasses, so that they can be
14632           serialised and unserialised, and therefore used in remote
14633           searches.  Add two-argument form for Query::unserialise() which
14634           takes a serialisation context.  Fixes #206.
14636 Mon Mar 02 07:13:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14638         * include/xapian/database.h: Further tweak to wording of
14639           documentation about close().
14641 Mon Mar 02 07:05:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14643         * backends/chert/chert_table.cc,backends/chert/chert_table.h,
14644           backends/flint/flint_table.cc,backends/flint/flint_table.h:
14645           Factor out more "throw Xapian::DatabaseError("Database has been
14646           closed")" bits into separate functions: knocks another 20KB off
14647           the shared library size.
14649 Mon Mar 02 05:46:15 GMT 2009  Olly Betts <olly@survex.com>
14651         * include/xapian/enquire.h: Document how to get all matches from
14652           Enquire::get_mset().
14654 Mon Mar 02 04:52:17 GMT 2009  Olly Betts <olly@survex.com>
14656         * backends/inmemory/inmemory_alltermslist.cc,
14657           backends/inmemory/inmemory_database.cc,
14658           backends/inmemory/inmemory_database.h: Factor out "throw
14659           Xapian::DatabaseError("Database has been closed") into a separate
14660           function which knocks over 100KB off the shared library size (just
14661           over 0.5%).
14663 Mon Mar 02 03:57:17 GMT 2009  Olly Betts <olly@survex.com>
14665         * matcher/phrasepostlist.h: Remove blank line from end of file.
14667 Mon Mar 02 03:52:10 GMT 2009  Olly Betts <olly@survex.com>
14669         * api/replication.cc,common/msvc_posix_wrapper.cc: Cuddle braces for
14670           "if" and "switch".
14672 Mon Mar 02 03:32:32 GMT 2009  Olly Betts <olly@survex.com>
14674         * tests/api_closedb.cc: Use more conventional uppercase macro parameter
14675           names.  Wrap long comments.  Remove another unused exception name.
14677 Mon Mar 02 03:21:39 GMT 2009  Olly Betts <olly@survex.com>
14679         * api/replication.cc,backends/chert/chert_databasereplicator.cc,
14680           backends/flint/flint_databasereplicator.cc,net/remoteserver.cc,
14681           tests/api_closedb.cc,tests/perftest/perftest_matchdecider.cc:
14682           Don't name the exception being caught if we don't look at it.  While
14683           GCC doesn't currently warn "unused variable" here, I'm fairly sure
14684           there are compilers which do.
14686 Mon Mar 02 03:20:52 GMT 2009  Olly Betts <olly@survex.com>
14688         * tests/perftest/perftest.cc: Wrap overlong comment.
14690 Mon Mar 02 03:17:48 GMT 2009  Olly Betts <olly@survex.com>
14692         * matcher/mergepostlist.cc: Change "do { ... } while (true);" to the
14693           more usual "while (true) { ... }".
14695 Sun Mar 01 19:41:16 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14697         * tests/api_closedb.cc: Merge closedb1 and closedb2 into a single
14698           test, and add lots more checking to it.  Rename closedb3 to
14699           closedb2, to avoid leaving an odd gap.  closedb1 needs more work,
14700           but is a useful start; committing now, rather than once I've done
14701           this work, since the old test is failing in buildbot, and I don't
14702           want to get in the way of snapshot tarballs.
14704 Sun Mar 01 19:27:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14706         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
14707           Add a few guards to throw DatabaseError when the database has
14708           been permanently closed, rather than behaving as if the table is
14709           empty in that situation.  Also, don't delete the resources in the
14710           table when Database::close() is called, because they may still be
14711           used to attempt to look up cached content.
14713 Sun Mar 01 18:22:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14715         * include/xapian/database.h: Update documentation comments for
14716           reopen() and close() to document the API we're aiming for (ie,
14717           that closed databases either return the right result from cache,
14718           or raise a DatabaseError).
14720 Sun Mar 01 18:20:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14722         * backends/inmemory/inmemory_alltermslist.cc,
14723           backends/inmemory/inmemory_database.cc,
14724           backends/inmemory/inmemory_database.h: Add a flag to mark whether
14725           the database is closed, and add guards before all methods which
14726           access content which goes away when the database is closed, to
14727           raise an exception if the database is closed.
14729 Sun Mar 01 18:20:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14731         * backends/inmemory/inmemory_document.h: Fix a typo in a comment.
14733 Sun Mar 01 17:49:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14735         * matcher/mergepostlist.cc: Fix ticket #336 by calling
14736           recalc_maxweight when a sub-posting list finishes (other than
14737           after the last one, where there is no point in calling
14738           recalc_maxweight).
14740 Sun Mar 01 15:34:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14742         * tests/api_db.cc: Fix MyDontAskWeightPostingSource to use the
14743           database passed to reset(), rather than one passed to its
14744           constructor.  This allows externalsource4 to be enabled for
14745           multidatabases.
14747 Sun Mar 01 13:07:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14749         * include/xapian/postingsource.h: Add comments as discussed in
14750           ticket #295 to make clear that in a multi-database search,
14751           PostingSources are passed a single sub-database.  Also mention
14752           that the returned value of clone() will be deallocated with
14753           delete.
14755 Sat Feb 28 08:21:33 GMT 2009  Olly Betts <olly@survex.com>
14757         * api/omdatabase.cc,backends/chert/chert_database.cc,
14758           backends/chert/chert_database.h,backends/database.cc,
14759           backends/flint/flint_database.cc,backends/flint/flint_database.h,
14760           backends/inmemory/inmemory_database.cc,
14761           backends/inmemory/inmemory_database.h,
14762           backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
14763           examples/copydatabase.cc,include/xapian/database.h,
14764           net/remoteserver.cc,tests/,tests/perftest/perftest_matchdecider.cc,
14765           tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc: Add
14766           WritableDatabase::commit() as a new, preferred alias for
14767           WritableDatabase::flush().  (bug#266)
14769 Fri Feb 27 01:59:31 GMT 2009  Olly Betts <olly@survex.com>
14771         * include/xapian/database.h: WritableDatabase::flush() can't throw
14772           DatabaseLockError.  WritableDatabase's ctor can throw at least
14773           DatabaseCorruptError or DatabaseLockError.
14775 Thu Feb 26 14:54:28 GMT 2009  Olly Betts <olly@survex.com>
14777         * tests/api_db.cc,tests/api_valuestream.cc: Update comments about why
14778           certain tests are disabled for certain backends.  Enable
14779           valueweightsource5 for multi and valuemapsource2 for remote.
14781 Thu Feb 26 14:53:19 GMT 2009  Olly Betts <olly@survex.com>
14783         * matcher/multiandpostlist.cc: Use AssertRelParanoid() instead
14784           of AssertParanoid() so the values get reported if the assertion
14785           fails.
14787 Thu Feb 26 14:18:21 GMT 2009  Olly Betts <olly@survex.com>
14789         * include/xapian/postingsource.h: Tweak word order.
14791 Thu Feb 26 12:48:16 GMT 2009  Olly Betts <olly@survex.com>
14793         * tests/api_db.cc: Make the PostingSource subclass ctors which are
14794           only called from clone() private to set a good example for users.
14796 Thu Feb 26 12:28:34 GMT 2009  Olly Betts <olly@survex.com>
14798         * include/xapian/postingsource.h: Fix doc comment typo.
14800 Thu Feb 26 12:08:40 GMT 2009  Olly Betts <olly@survex.com>
14802         * api/omqueryinternal.cc,include/xapian/query.h: Avoid copying
14803           Query::Internal objects needlessly when unserialising Query
14804           objects.
14806 Thu Feb 26 10:07:18 GMT 2009  Olly Betts <olly@survex.com>
14808         * tests/api_db.cc: A couple more uncollapsed tests.
14810 Thu Feb 26 08:28:42 GMT 2009  Olly Betts <olly@survex.com>
14812         * tests/api_anydb.cc,tests/api_wrdb.cc,tests/harness/testsuite.h,
14813           tests/perftest/perftest_matchdecider.cc,tests/queryparsertest.cc:
14814           Update to use new TEST_REL() macro.  Remove old TEST_LESSER(),
14815           etc.
14817 Thu Feb 26 07:51:43 GMT 2009  Olly Betts <olly@survex.com>
14819         * matcher/multimatch.cc: Fix the new
14820           Enquire::get_uncollapsed_matches_lower_bound(), etc methods for
14821           certain cases.
14822         * tests/api_anydb.cc,tests/api_db.cc: Extend existing tests to also
14823           check Enquire::get_uncollapsed_matches_lower_bound(), etc.
14825 Thu Feb 26 07:49:23 GMT 2009  Olly Betts <olly@survex.com>
14827         * tests/harness/Makefile.mk,tests/harness/testmacros.h,
14828           tests/harness/testsuite.h: Add new "TEST_REL" macro which can test
14829           for a condition using any relational operator and report a failure
14830           clearly yet concisely.
14832 Wed Feb 25 13:43:41 GMT 2009  Olly Betts <olly@survex.com>
14834         * matcher/multimatch.cc: Fix adjustment of the uncollapse bounds and
14835           estimate.
14837 Wed Feb 25 12:32:13 GMT 2009  Olly Betts <olly@survex.com>
14839         * configure.ac: GCC --version keeps changing format, and as a result
14840           we were currently getting "g++" as the version.  So change to the
14841           (hopefully) more robust technique of using g++ -E to pull out
14842           __GNUC__ and __GNUC_MINOR__.
14844 Wed Feb 25 03:14:08 GMT 2009  Olly Betts <olly@survex.com>
14846         * api/omdatabase.cc: Fix for compiling with Sun's compiler
14847           (untested as I no longer have access to it).
14849 Mon Feb 23 14:11:12 GMT 2009  Olly Betts <olly@survex.com>
14851         * docs/sorting.rst: Clarify meaning.
14853 Mon Feb 23 14:04:50 GMT 2009  Olly Betts <olly@survex.com>
14855         * docs/deprecation.rst,include/xapian/enquire.h,tests/: Rename the
14856           wrongly named "ascending" parameter of the set_sort_by*() methods
14857           of Enquire to "reverse" and deprecate the default value since
14858           defaulting to "reverse=true" is confusing.  (bug#311)
14860 Mon Feb 23 01:24:23 GMT 2009  Olly Betts <olly@survex.com>
14862         * api/omenquire.cc,backends/remote/remote-database.cc,
14863           common/multimatch.h,common/omenquireinternal.h,
14864           common/remote-database.h,docs/collapsing.rst,
14865           docs/remote_protocol.html,include/xapian/enquire.h,matcher/,
14866           net/remoteserver.cc,net/serialise.cc,tests/Makefile.am,
14867           tests/api_collapse.cc: Replace the collapsing code in the matcher
14868           with a separate Collapser class.  This new class can keep more than
14869           one document with each collapse key.  Also track bounds and an
14870           estimate of the total number of matches if collapsing wasn't in use.
14872 Mon Feb 23 00:52:16 GMT 2009  Olly Betts <olly@survex.com>
14874         * api/omdatabase.cc: Fix AssertionError from apitest testcases
14875           fixedweightsource2 and valueweightsource1.
14877 Sun Feb 22 11:02:24 GMT 2009  Olly Betts <olly@survex.com>
14879         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Check for
14880           fork failing *after* we check if we're now the child process.
14882 Sun Feb 22 10:06:13 GMT 2009  Olly Betts <olly@survex.com>
14884         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Note
14885           explicitly why we now have the strange empty if (not) checking the
14886           return value of chdir("/") (it's actually newer glibc and
14887           _FORTIFY_SOURCE rather than newer GCC).  Retry closing filehandle if
14888           it returns EINTR.  Whitespace tweaks.
14890 Sat Feb 21 11:04:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14892         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Fix
14893           warning about ignoring result of chdir (with GCC 4.2)
14895 Sat Feb 21 08:18:21 GMT 2009  Olly Betts <olly@survex.com>
14897         * tests/harness/testsuite.cc: Fix option usage in --help - "-x=foo"
14898           doesn't work - "-x foo" does.
14900 Sat Feb 21 07:37:01 GMT 2009  Olly Betts <olly@survex.com>
14902         * tests/perftest/perftest_randomidx.cc: Use two argument version of
14903           rand_int() where applicable.  Reserve length of result string in
14904           gen_word().  Fix truncated comment.
14906 Sat Feb 21 04:27:45 GMT 2009  Olly Betts <olly@survex.com>
14908         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: In the
14909           locking child process, before we exec /bin/cat change directory to
14910           / so that we don't block unmounting of any partitions and close
14911           any open file descriptors (apart from those we're using) so that if
14912           the files are closed by our parent and deleted the disk space gets
14913           released right away.
14915 Sat Feb 21 02:06:56 GMT 2009  Olly Betts <olly@survex.com>
14917         * api/postingsource.cc,include/xapian/postingsource.h: Pass string as
14918           const string &; drop trailing "_" from parameters which don't clash
14919           with member variables; fix brace formatting on a couple of for
14920           loops.
14922 Fri Feb 20 14:32:46 GMT 2009  Olly Betts <olly@survex.com>
14924         * tests/api_closedb.cc: Fix testcase closedb3 not to create a test
14925           database named closedb2.
14927 Fri Feb 20 01:38:32 GMT 2009  Olly Betts <olly@survex.com>
14929         * include/xapian/enquire.h: Documentation comment improvements.
14931 Wed Feb 18 06:48:43 GMT 2009  Olly Betts <olly@survex.com>
14933         * matcher/multimatch.cc: Use AssertRel rather than Assert with an
14934           inequality so that we see the arguments if the assertion fails.
14936 Wed Feb 18 06:39:33 GMT 2009  Olly Betts <olly@survex.com>
14938         * matcher/multimatch.cc: "items" -> "rsetitems" to distinguish from
14939           items used elsewhere for the MSet items.
14941 Wed Feb 18 06:20:38 GMT 2009  Olly Betts <olly@survex.com>
14943         * matcher/multimatch.cc: Drop superfluous "std::".
14945 Wed Feb 18 05:46:59 GMT 2009  Olly Betts <olly@survex.com>
14947         * NEWS: Update from ChangeLog.
14949 Tue Feb 17 23:53:54 GMT 2009  Olly Betts <olly@survex.com>
14951         * include/xapian/document.h,include/xapian/query.h: "xapian" ->
14952           "Xapian".
14954 Tue Feb 17 15:02:49 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14956         * include/xapian/document.h,include/xapian/query.h: Soften comment
14957           warning about changes in serialised format between xapian
14958           versions; note that the format won't change unless the remote
14959           database protocol has changed.
14961 Tue Feb 17 14:59:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14963         * api/omquery.cc: Return std::string() rather than "" to encourage
14964           compilers to use special empty string representation.
14966 Mon Feb 16 14:27:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14968         * api/postingsource.cc: Change the name() methods of the built-in
14969           posting sources to return a full name (starting with Xapian:: and
14970           ending with PostingSource), as documented in the API
14971           documentation comments.
14973 Mon Feb 16 13:32:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14975         * api/omqueryinternal.cc,common/remoteserver.h,
14976           matcher/externalpostlist.cc,matcher/externalpostlist.h,
14977           matcher/queryoptimiser.cc,net/remoteserver.cc,
14978           tests/api_percentages.cc,tests/api_valuestream.cc: Add some
14979           copyright lines missed in changeset [11838].
14981 Mon Feb 16 11:56:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14983         * matcher/queryoptimiser.cc: Add another reference from a FIXME to
14984           a ticket number.
14986 Mon Feb 16 11:47:21 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14988         * api/omqueryinternal.cc: Update two FIXMEs to reference the
14989           appropriate ticket.
14991 Mon Feb 16 10:11:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14993         * Add support for multi and remote backends with posting sources,
14994           from ticket #295:
14995         * include/xapian/postingsource.h: Add some clarifying comments
14996           about the interface of PostingSources, and add clone(), name(),
14997           serialise() and unserialise() methods to PostingSources, for
14998           remote and multidatabase support.
14999         * include/xapian/query.h: Add internal member to track ownership of
15000           external posting sources, and update some comments.
15001         * api/postingsource.cc: Add implementations of the new methods, so
15002           that all standard PostingSources support remote and multi
15003           database searches.
15004         * api/omquery.cc: Clone external PostingSources if possible.
15005         * api/omqueryinternal.cc: Add serialisation and unserialisation
15006           support for posting sources, and support for keeping track of
15007           whether an external posting source is owned by the query object
15008           or not (ie, whether it needs to be deleted by the destructor).
15009         * matcher/externalpostlist.cc,matcher/externalpostlist.h: (Attempt
15010           to) clone external posting sources at start, and call the reset()
15011           method with the database in use.  Delete the posting source
15012           afterwards, if the clone was successful.
15013         * matcher/queryoptimiser.cc: Pass the database to ExternalPostList.
15014           Sadly, this currently requires a const_cast.
15015         * tests/: Update tests of PostingSources to take the db parameter
15016           on the reset() method, and to test behaviour with multi and
15017           remote backends where appropriate.  Also, add regression test for
15018           segfault in FixedWeightPostingSource::skip_to() when database is
15019           empty.
15020         * net/remoteserver.cc,common/remoteserver.h: Add the built-in
15021           posting sources to the remote server, and add
15022           register_posting_source() to the remoteserver, for use in
15023           xapian-tcpsrv.cc for user posting sources, analogously to
15024           register_weighting_scheme().
15026 Fri Feb 13 20:09:10 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15028         * api/postingsource.cc: Fix segfaults which occur if an empty
15029           ValuePostingSource subclass has the skip_to() or check() methods
15030           called on it first.
15031         * tests/api_db.cc tests/api_valuestream.cc: Move valuemapsource1 to
15032           api_valuestream.cc, since that seems like a better place (and
15033           api_db.cc is already rather over-large).  Add regression test
15034           "valuemapsource2" to check the behaviour of ValuePostingSource
15035           subclasses on empty lists.
15037 Fri Feb 13 19:29:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15039         * api/postingsource.cc,include/xapian/postingsource.h: Add
15040           ValuePostingSource, which is a base class for implementing
15041           posting sources based on reading from a value slot.  Convert
15042           ValueWeightPostingSource to be a subclass of this, and add
15043           ValueMapPostingSource, which is a posting source which uses a map
15044           to convert values to weights.
15045         * tests/api_db.cc: Add valuemapsource1, testing the
15046           ValueMapPostingSource.
15048 Fri Feb 13 15:14:53 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15050         * tests/harness/index_utils.cc: Add value 13, containing the first
15051           3 letters of the paragraph - needed for some tests I'm going to
15052           commit shortly.
15054 Fri Feb 13 14:05:44 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15056         * tests/api_sorting.cc: Change slot number used to get an empty
15057           slot from 13 to 100 - we're getting close to using slot 13 now!
15059 Sat Feb 07 00:31:12 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15061         * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc:
15062           Return accidentally changed "XAPIAN_ASSERTIONS_VERBOSE" ifdefs to
15063           "XAPIAN_DEBUG_VERBOSE".
15065 Sat Feb 07 00:16:43 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15067         * api/omdocument.cc,api/omquery.cc,include/xapian/document.h,
15068           include/xapian/query.h: Add methods for serialising documents and
15069           queries into strings, and unserialising back from strings.  Fixes
15070           most of ticket #206 - missing part is that serialising queries
15071           containing PostingSources doesn't work.
15072         * tests/Makefile.am,tests/api_serialise.cc: Add tests of document
15073           and query serialisation.
15075 Fri Feb 06 16:06:50 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15077         * configure.ac: Set HAVE_PREAD and HAVE_PWRITE if pread and pwrite
15078           are found; turns use of pread and pwrite back on.  This improves
15079           the speed of a test case of 10,000 (fully cached) searches from
15080           1.84 seconds to 1.78 seconds for me (on ubuntu hardy) - ie, about
15081           3% speed increase.
15083 Tue Jan 20 06:22:20 GMT 2009  Olly Betts <olly@survex.com>
15085         * tests/api_db.cc: Prefer value.empty() to value == "".
15087 Mon Jan 19 05:08:48 GMT 2009  Olly Betts <olly@survex.com>
15089         * AUTHORS,queryparser/Makefile.mk: Fix "#line" directives in generated
15090           file queryparser/queryparser_internal.cc to give a relative path -
15091           previously they had a full path when generated by a VPATH build, and
15092           this confused GCC 2.95 and depcomp.
15094 Sun Jan 18 23:34:22 GMT 2009  Olly Betts <olly@survex.com>
15096         * api/omenquire.cc: Throw UnimplementedError from Enquire::get_mset()
15097           if we're asked for a percentage cutoff and to sort primarily by
15098           value - this has never been correctly supported and it's better to
15099           warn people than give incorrect results.
15100         * tests/api_percentages.cc: Add test that this error gets thrown.
15102 Tue Jan 13 08:20:36 GMT 2009  Olly Betts <olly@survex.com>
15104         * common/omenquireinternal.h: Swap the items vector into the
15105           MSet::Internal object rather than copying it to avoid the overhead
15106           of the copy.
15108 Thu Jan 08 05:14:47 GMT 2009  Olly Betts <olly@survex.com>
15110         * backends/chert/chert_cursor.cc,backends/chert/chert_postlist.cc,
15111           backends/flint/flint_cursor.cc,backends/flint/flint_postlist.cc,
15112           backends/multi/multi_postlist.cc,common/omassert.h,configure.ac,
15113           matcher/multimatch.cc: Change preprocessor defines controlling
15114           assertions from XAPIAN_DEBUG->XAPIAN_ASSERTIONS and
15115           XAPIAN_DEBUG_PARANOID->XAPIAN_ASSERTIONS_PARANOID so their purpose
15116           is clearer.
15118 Thu Jan 08 02:23:21 GMT 2009  Olly Betts <olly@survex.com>
15120         * NEWS: Update from ChangeLog.
15122 Wed Jan 07 03:43:07 GMT 2009  Olly Betts <olly@survex.com>
15124         * api/matchspy.cc: Fix FP rounding bug (bug#321).
15125         * AUTHORS: Add Shane Evans for bug report.
15127 Tue Jan 06 22:08:12 GMT 2009  Olly Betts <olly@survex.com>
15129         * backends/inmemory/inmemory_database.cc: Fix comment typo.
15131 Tue Jan 06 21:39:30 GMT 2009  Olly Betts <olly@survex.com>
15133         * api/matchspy.cc: Add assertions to try to track down what's causing
15134           bug#321.
15136 Tue Jan 06 03:20:27 GMT 2009  Olly Betts <olly@survex.com>
15138         * matcher/exactphrasepostlist.cc,matcher/phrasepostlist.cc: Fix
15139           comment typos.
15141 Mon Jan 05 04:42:04 GMT 2009  Olly Betts <olly@survex.com>
15143         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6016" -
15144           only change is to comment noting the synced version as the changed
15145           code has been deleted in our version.
15147 Fri Dec 26 15:05:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15149         * include/xapian/database.h: Add Database.close() method, used to
15150           close the resources (in particular, the filehandles) held by a
15151           database before the destructor is called.  Particularly useful
15152           for the bindings from other languages.
15153         * api/omdatabase.cc,backends/chert/chert_database.cc,
15154           backends/chert/chert_database.h,backends/flint/flint_database.cc,
15155           backends/flint/flint_database.h,
15156           backends/inmemory/inmemory_database.cc,
15157           backends/inmemory/inmemory_database.h,
15158           backends/remote/remote-database.cc,common/database.h,
15159           common/remote-database.h,net/remoteconnection.cc: Implementation
15160           of close() methods.
15161         * tests/Makefile.am,tests/api_closedb.cc: New test file, for
15162           testing the close method.  Could do with being expanded to test
15163           many more methods of databases in the closed state, and to test
15164           the behaviour after the close of objects created from databases
15165           before the database was closed.
15167 Fri Dec 26 13:42:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15169         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
15170           Raise error if database has been closed permanently when
15171           cursor_get() is called - a NULL return type isn't checked in
15172           various places (for tables which are never closed temporarily),
15173           so this is the easiest place to add a check to avoid a segfault
15174           without incurring extra overhead.
15176 Tue Dec 23 13:42:21 GMT 2008  Olly Betts <olly@survex.com>
15178         * languages/compiler/analyser.c: Fix GCC 4.3 warning.
15180 Tue Dec 23 06:35:11 GMT 2008  Olly Betts <olly@survex.com>
15182         * PLATFORMS: Sync with 1.0 branch.
15183         * PLATFORMS: Remove 0.9.x build reports; move 1.0.x build reports
15184           to the "old version" section.
15185         * INSTALL: Adapt old footnotes from PLATFORMS about HP's aCC and IRIX
15186           into new paragraphs here.
15188 Tue Dec 23 05:19:52 GMT 2008  Olly Betts <olly@survex.com>
15190         * HACKING,configure.ac: Make automake 1.10.2 a hard minimum
15191           requirement.
15193 Tue Dec 23 04:36:27 GMT 2008  Olly Betts <olly@survex.com>
15195         * NEWS: Update from ChangeLog.
15197 Mon Dec 22 16:02:58 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15199         * backends/chert/chert_databasereplicator.cc,
15200           backends/databasereplicator.cc,
15201           backends/flint/flint_databasereplicator.cc: Fix some missing bits
15202           for debug compilation.
15204 Mon Dec 22 13:30:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15206         * api/replication.cc,backends/Makefile.mk,backends/chert/,
15207           backends/database.cc,backends/databasereplicator.cc,backends/flint/,
15208           common/Makefile.mk,common/database.h,common/databasereplicator.h:
15209           Add DatabaseReplicator base class, and subclasses for flint and
15210           chert, to hold parts of database replication code which need to
15211           be applied to a partially replicated database which may not be a
15212           valid database.  Move the code for applying changesets and
15213           comparing revision numbers into here, and add code for getting
15214           uuids which simply returns "" if the database is too broken to
15215           have a uuid associated with it.  Update the replication code to
15216           use DatabaseReplicator subclasses instead of Database classes
15217           where necessary, to avoid failing if a partial database is
15218           transmitted.  Add additional checks to ensure that the UUID of a
15219           replicated databse is equal to that sent in the replication
15220           protocol message introducing a full database copy; if they
15221           differ, a retry of the copy is needed, so ensure that the next
15222           message sent is a new copy of the database.
15224 Mon Dec 22 11:24:43 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15226         * docs/replication.rst: Warning about a possible way to confuse the
15227           replication process.
15229 Sat Dec 20 14:00:34 GMT 2008  Olly Betts <olly@survex.com>
15231         * tests/api_percentages.cc: Update (C) too.
15233 Sat Dec 20 13:51:35 GMT 2008  Olly Betts <olly@survex.com>
15235         * matcher/multimatch.cc: If we're using values for sorting and for
15236           another purpose, cache the Document::Internal object from getting
15237           the value for sorting like we do between other uses.
15239 Sat Dec 20 13:09:13 GMT 2008  Olly Betts <olly@survex.com>
15241         * tests/api_percentages.cc: Make formatting of MyPostingSource code
15242           more self-consistent.  Remove a superfluous block scope.  Wrap a
15243           long comment.
15245 Sat Dec 20 12:25:40 GMT 2008  Olly Betts <olly@survex.com>
15247         * exception_data.pm: Build a hash mapping a class to a list of its
15248           subclasses and export this as %subclasses.
15250 Sat Dec 20 05:51:50 GMT 2008  Olly Betts <olly@survex.com>
15252         * HACKING: Wrap a long line.
15254 Sat Dec 20 05:28:57 GMT 2008  Olly Betts <olly@survex.com>
15256         * queryparser/lemon.c: Merge upstream "Check-in Number: 6016".
15258 Fri Dec 19 14:25:10 GMT 2008  Olly Betts <olly@survex.com>
15260         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6015".
15262 Fri Dec 19 14:07:52 GMT 2008  Olly Betts <olly@survex.com>
15264         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6006".
15266 Fri Dec 19 13:51:33 GMT 2008  Olly Betts <olly@survex.com>
15268         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5919"
15269           - code changes are in deleted code, so no actual code changes for
15270           us.
15272 Fri Dec 19 13:46:22 GMT 2008  Olly Betts <olly@survex.com>
15274         * queryparser/lemon.c: Merge upstream "Check-in Number: 6008".
15276 Fri Dec 19 11:15:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15278         * tests/api_replicate.cc: Fix comment describing test.
15280 Thu Dec 18 23:38:50 GMT 2008  Olly Betts <olly@survex.com>
15282         * backends/chert/chert_table.cc,backends/flint/flint_table.cc: Tidy up
15283           comment wrapping and indenting of code wrapped in try blocks by the
15284           previous commit.
15286 Thu Dec 18 14:26:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15288         * backends/chert/chert_database.cc,backends/chert/chert_table.cc,
15289           backends/chert/chert_table.h,backends/flint/flint_database.cc,
15290           backends/flint/flint_table.cc,backends/flint/flint_table.h:
15291           Improve resilience to unexpected errors during commit.  Firstly,
15292           fix FlintTable and ChertTable to close the table if an error
15293           occurs during commit - this avoids the table being left in an
15294           inconsistent state (instead, the table is reopened in a
15295           consistent state the next time it is used).  Secondly, add a
15296           "permanent" close state for tables (indicated by handle being set
15297           to -2), which will raise an error if anything tries to do an
15298           action which needs the table to be opened, and set the tables to
15299           this state if we fail to recover the database after error in
15300           commit().  This prevents further actions on the database if we
15301           couldn't recover the state (eg, because we're out of disk space),
15302           avoiding risk of corruption.
15304 Thu Dec 18 01:28:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15306         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
15307           backends/flint/flint_database.cc,backends/flint/flint_database.h:
15308           Improve the error reporting when modifications fail and we cannot
15309           set the revision numbers in the table to consistent values, to
15310           report the original error too.
15312 Wed Dec 17 17:27:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15314         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
15315           Fix construction of the error message when a base can't be
15316           re-read: used to do pointer arithmetic by mistake - now does the
15317           correct string concatenation.
15319 Wed Dec 17 15:18:10 GMT 2008  Olly Betts <olly@survex.com>
15321         * tests/api_valuestream.cc: Skip valuestream3 on chert for now so that
15322           snapshots and the tinderbox work again.
15324 Wed Dec 17 15:17:07 GMT 2008  Olly Betts <olly@survex.com>
15326         * tests/api_wrdb.cc: Need omassert.h for STATIC_ASSERT.
15328 Wed Dec 17 10:45:45 GMT 2008  Olly Betts <olly@survex.com>
15330         * api/omqueryinternal.cc,tests/api_nodb.cc: A NEAR of 2 OR subqueries
15331           shouldn't throw AssertionError - instead throw UnimplementedError.
15332           Addresses the worst aspect of bug#201, but this should really be
15333           implemented.
15335 Wed Dec 17 04:44:10 GMT 2008  Olly Betts <olly@survex.com>
15337         * backends/chert/chert_database.cc,backends/chert/chert_database.h:
15338           Implement ChertWritableDatabase::open_value_list().
15339         * tests/api_valuestream.cc: Add valueweightsource5 testcase which is a
15340           regression test for bug#299 and also exercises the above method.
15342 Tue Dec 16 13:30:47 GMT 2008  Olly Betts <olly@survex.com>
15344         * common/expandweight.h,expand/expandweight.cc: Overhaul ExpandWeight
15345           - now we use the "official" formula and don't return terms which it
15346           would give a negative weight to (since that means they are expected
15347           to be harmful not helfpul).
15348         * tests/api_anydb.cc,tests/api_db.cc: Fix unwarranted assumptions in
15349           existing testcases broken by this change.
15351 Thu Dec 11 01:02:41 GMT 2008  Olly Betts <olly@survex.com>
15353         * examples/delve.cc: Add missing "and" to --help output.  Report
15354           termfreq and collection freq for each term we're asked about.
15356 Mon Dec 08 00:52:51 GMT 2008  Olly Betts <olly@survex.com>
15358         * AUTHORS: Add Daniel Andersson for reporting the flintlock
15359           permissions issue.
15361 Sun Dec 07 22:50:32 GMT 2008  Olly Betts <olly@survex.com>
15363         * api/sorter.cc,tests/api_sorting.cc: Fix an empty MultiValueSorter
15364           not to SEGV/hang.
15366 Fri Dec 05 21:08:08 GMT 2008  Olly Betts <olly@survex.com>
15368         * backends/chert/chert_database.cc,tests/api_backend.cc: Use
15369           "flintlock" rather than "chertlock" for the lockfile in chert.
15370           The locking is compatible and this avoids the possibility of
15371           creating a chert and flint database in the same directory (which
15372           will result in one being corrupt since the Btree filenames overlap).
15374 Thu Dec 04 09:00:04 GMT 2008  Olly Betts <olly@survex.com>
15376         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Create
15377           the lockfile with permissions 0666 so that the umask is honoured
15378           just like we do for the other files (previously we used 0600).
15379         * tests/Makefile.am,tests/api_backend.cc: Add regression test
15380           lockfileumask1.
15382 Thu Dec 04 08:56:54 GMT 2008  Olly Betts <olly@survex.com>
15384         * tests/stemtest.cc: Use str.resize(0) instead of str = "".
15386 Thu Dec 04 04:56:55 GMT 2008  Olly Betts <olly@survex.com>
15388         * tests/queryparsertest.cc: No need to explicitly initialise a
15389           std::string to "".
15391 Thu Dec 04 04:55:47 GMT 2008  Olly Betts <olly@survex.com>
15393         * tests/api_db.cc: Prefer str.empty() to str == "".
15395 Thu Dec 04 01:50:10 GMT 2008  Olly Betts <olly@survex.com>
15397         * tests/api_wrdb.cc: Make helper function static.  Use STATIC_ASSERT
15398           to ensure a constant is coprime with 13.
15400 Wed Dec 03 22:56:19 GMT 2008  Olly Betts <olly@survex.com>
15402         * api/omdatabase.cc: Fix API logging.
15404 Wed Dec 03 03:11:45 GMT 2008  Olly Betts <olly@survex.com>
15406         * INSTALL: Note that libuuid is required for Xapian 1.1.0 and higher.
15408 Wed Dec 03 03:10:59 GMT 2008  Olly Betts <olly@survex.com>
15410         * INSTALL: Remove ':' from the end of headings.
15412 Mon Dec 01 08:59:04 GMT 2008  Olly Betts <olly@survex.com>
15414         * HACKING: Explicitly give the commands to install the required
15415           packages for developing on recent Debian or Ubuntu for added
15416           convenience.  Update the Debian/Ubuntu packages needed for
15417           documentation to reflect the change from tetex to texlive.  Fix
15418           unfinished paragraph about requiring a newline at the end of a
15419           source file and note that this is actually undefined behaviour in
15420           C++.
15422 Sun Nov 30 21:46:59 GMT 2008  Olly Betts <olly@survex.com>
15424         * bin/,examples/quest.cc,tests/harness/testsuite.cc: Pull out lists of
15425           short options next to list of long options to help make sure they
15426           are kept in step.  xapian-tcpsrv and xapian-progsrv now accept -w
15427           as a short form of --writable, as their long option table had, but
15428           their short option string didn't.
15430 Sun Nov 30 20:44:48 GMT 2008  Olly Betts <olly@survex.com>
15432         * docs/postingsource.rst: Wrap a long line.  Note that the remote
15433           backend isn't supported yet.
15435 Wed Nov 19 11:36:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15437         * docs/postingsource.rst: Make it clear that PostingSources must
15438           always return documents in increasing document ID order.
15440 Wed Nov 19 08:43:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15442         * bin/,examples/delve.cc,examples/quest.cc,tests/harness/testsuite.cc:
15443           Test return type of gnu_getopt_long for being != -1, rather than
15444           == 0, since there are a wide variety of return types other than 0
15445           which may be returned in the successful case (with the builtin
15446           implementation in common/getopt.cc, at least).
15448 Tue Nov 18 23:22:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15450         * api/omdatabase.cc: Change unknown "DATABASE" debug type to "DB".
15452 Mon Nov 17 13:00:12 GMT 2008  Olly Betts <olly@survex.com>
15454         * docs/queryparser.html: Add link to valueranges.html.
15456 Fri Nov 14 22:23:10 GMT 2008  Olly Betts <olly@survex.com>
15458         * NEWS: Update revision we're current to.
15460 Fri Nov 14 17:43:15 GMT 2008  Olly Betts <olly@survex.com>
15462         * backends/chert/chert_alldocsmodifiedpostlist.cc,
15463           backends/chert/chert_modifiedpostlist.cc,
15464           backends/flint/flint_modifiedpostlist.cc: Correct comments.
15466 Fri Nov 14 17:38:33 GMT 2008  Olly Betts <olly@survex.com>
15468         * tests/harness/testsuite.cc: Update comment about valgrind and C++
15469           STL allocators.
15471 Fri Nov 14 17:36:47 GMT 2008  Olly Betts <olly@survex.com>
15473         * bin/,examples/delve.cc,examples/quest.cc,tests/harness/testsuite.cc:
15474           Don't compare return value of gnu_getopt_long() with EOF - it's
15475           documented to simply return -1 or 0, and EOF requires inclusion of
15476           stdio.h.
15478 Fri Nov 14 17:30:39 GMT 2008  Olly Betts <olly@survex.com>
15480         * common/serialise-double.cc: Fix "#elif" with no argument to
15481           "#else" - the former surprisingly compiles with most compilers, but
15482           GCC 4.4 snapshots reject it.
15484 Fri Nov 14 16:54:15 GMT 2008  Olly Betts <olly@survex.com>
15486         * common/win32_uuid.cc: A few code clean-ups.
15488 Fri Nov 14 13:09:16 GMT 2008  Olly Betts <olly@survex.com>
15490         * common/Makefile.mk: Ship common/safeuuid.h to unbreak tarball
15491           snapshot building.
15493 Sun Nov 09 13:31:19 GMT 2008  Olly Betts <olly@survex.com>
15495         * api/omquery.cc,api/omqueryinternal.cc,bin/xapian-tcpsrv.cc,
15496           common/omenquireinternal.h,matcher/,net/remoteserver.cc:
15497           Prefer "" to <> for including Xapian API headers from within the
15498           library.  Remove so unused xapian/enquire.h inclusions.
15500 Fri Nov 07 12:50:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15502         * backends/chert/chert_version.cc,backends/chert/chert_version.h,
15503           backends/flint/flint_version.cc,backends/flint/flint_version.h,
15504           common/safeuuid.h,common/win32_uuid.cc,common/win32_uuid.h: Add
15505           implementation of UUID functions for windows (using the built-in
15506           UUID methods in the windows API). Fixes bug #303.
15508 Sat Nov 01 01:47:44 GMT 2008  Olly Betts <olly@survex.com>
15510         * NEWS: Sync with 1.0.9 release.
15512 Fri Oct 31 18:55:03 GMT 2008  Olly Betts <olly@survex.com>
15514         * include/xapian/database.h: Document XAPIAN_FLUSH_THRESHOLD
15515           (bug#306).
15517 Fri Oct 31 18:30:11 GMT 2008  Olly Betts <olly@survex.com>
15519         * configure.ac: Fix whitespace inconsistency with omega's
15520           configure.ac.
15522 Fri Oct 31 10:51:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15524         * api/postingsource.cc,include/xapian/postingsource.h: Add a new
15525           built-in posting source, FixedWeightSource, which returns every
15526           document in the database, but with a fixed weight.  In
15527           particular, this is useful to add a constant weight to every item
15528           in a subquery.  Also, in ValueWeightPostingSource, refactor the
15529           "last_docid" member to a bool "started", since this is all it's
15530           used for.
15531         * tests/api_db.cc: Add fixedweightsource1, to test FixedWeightSource.
15533 Mon Oct 27 17:05:39 GMT 2008  Olly Betts <olly@survex.com>
15535         * tests/queryparsertest.cc: Skip test if the timer granularity is too
15536           coarse in all cases.
15538 Mon Oct 27 08:12:16 GMT 2008  Olly Betts <olly@survex.com>
15540         * tests/api_valuestream.cc: Disable valuestream1 for multi backends.
15542 Sun Oct 26 00:30:54 GMT 2008  Olly Betts <olly@survex.com>
15544         * backends/chert/chert_valuelist.cc: Remove incorrect assertions.
15546 Sat Oct 25 06:18:37 GMT 2008  Olly Betts <olly@survex.com>
15548         * api/Makefile.mk: Fix typo so we once again ship editdistance.h and
15549           maptermlist.h.
15551 Thu Oct 23 17:34:13 GMT 2008  Olly Betts <olly@survex.com>
15553         * tests/queryparsertest.cc: Skip test if the timer granularity is too
15554           coarse.
15556 Tue Oct 21 05:00:59 GMT 2008  Olly Betts <olly@survex.com>
15558         * NEWS: Sync with branches/1.0.
15560 Tue Oct 21 02:09:18 GMT 2008  Olly Betts <olly@survex.com>
15562         * tests/api_valuestream.cc: Add feature test of ValueIterator::check().
15564 Tue Oct 21 01:36:45 GMT 2008  Olly Betts <olly@survex.com>
15566         * backends/inmemory/inmemory_database.cc,
15567           backends/inmemory/inmemory_database.h: Prefer string() to "", slot
15568           to valno, and not using else after return.
15570 Tue Oct 21 01:32:37 GMT 2008  Olly Betts <olly@survex.com>
15572         * tests/api_anydb.cc,tests/api_db.cc: Remove '#include <iomanip>'
15573           which aren't used.
15575 Mon Oct 20 13:30:37 GMT 2008  Olly Betts <olly@survex.com>
15577         * api/postingsource.cc,api/valueiterator.cc,
15578           include/xapian/postingsource.h,include/xapian/valueiterator.h: Add
15579           new API method ValueIterator::check() and use it in PostingIterator.
15581 Mon Oct 20 12:28:16 GMT 2008  Olly Betts <olly@survex.com>
15583         * tests/api_valuestream.cc: Add test for skip_to() on valuestream
15584           iterator.
15586 Mon Oct 20 11:19:12 GMT 2008  Olly Betts <olly@survex.com>
15588         * tests/Makefile.am,tests/api_valuestream.cc: Add a simple test of
15589           valuestream iteration.
15591 Mon Oct 20 11:01:26 GMT 2008  Olly Betts <olly@survex.com>
15593         * tests/Makefile.am,tests/collate-test,tests/perftest/Makefile.mk:
15594           Generate the header listing the collated tests so that we can avoid
15595           updating its timestamp when the contents are unchanged, such as in
15596           the common case where you modify tests but don't add, remove, or
15597           change the conditions on any tests.
15599 Mon Oct 20 10:01:56 GMT 2008  Olly Betts <olly@survex.com>
15601         * examples/delve.cc: Use valuestream iterator to implement "-V<slot>".
15603 Mon Oct 20 02:19:09 GMT 2008  Olly Betts <olly@survex.com>
15605         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
15606           Remove unused members of MultiPostList: tname, collfreq_initialised,
15607           collfreq, and termweight.
15609 Sun Oct 19 14:01:15 GMT 2008  Olly Betts <olly@survex.com>
15611         * api/postingsource.cc,include/xapian/postingsource.h: Update
15612           ValueWeightPostingSource to use a value stream iterator.
15614 Sun Oct 19 13:53:51 GMT 2008  Olly Betts <olly@survex.com>
15616         * backends/database.cc: Make use of SlowValueList by default.
15618 Sun Oct 19 13:47:10 GMT 2008  Olly Betts <olly@survex.com>
15620         * api/documentvaluelist.cc,api/documentvaluelist.h: Fix so that a
15621           DocumentValueList starts before the first value.
15623 Sun Oct 19 13:09:39 GMT 2008  Olly Betts <olly@survex.com>
15625         * api/omdatabase.cc,api/omdocument.cc: Use ValueIterator() instead of
15626           ValueIterator(NULL).
15628 Sun Oct 19 11:15:15 GMT 2008  Olly Betts <olly@survex.com>
15630         * NEWS: Update from ChangeLog.
15632 Sat Oct 18 01:31:25 GMT 2008  Olly Betts <olly@survex.com>
15634         * NEWS: Update from ChangeLog.
15636 Fri Oct 17 15:54:57 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15638         * bin/xapian-compact.cc: Check that pq is not empty before calling
15639           top() on it - if it's empty, we only have one database, so we can
15640           use the code path which doesn't worry about merging tags.  Fixes
15641           bug #305.
15643 Fri Oct 17 14:22:18 GMT 2008  Olly Betts <olly@survex.com>
15645         * backends/chert/chert_valuelist.cc: Fix ChertValueList to start on
15646           the right key.
15648 Fri Oct 17 14:14:14 GMT 2008  Olly Betts <olly@survex.com>
15650         * include/xapian/database.h,include/xapian/document.h: Inline
15651           ValueIterator end iterator as ValueIterator() rather than
15652           ValueIterator(NULL).
15653         * api/valueiterator.cc: Need to call next() on a ValueList to get it
15654           to the first position, so do this in ValueIterator's constructor.
15655         * api/valueiterator.cc,include/xapian/valueiterator.h: Add
15656           ValueIterator::get_docid() method.
15658 Fri Oct 17 13:53:26 GMT 2008  Olly Betts <olly@survex.com>
15660         * backends/slowvaluelist.cc,backends/slowvaluelist.h: Add missing
15661           SlowValueList::get_valueno() method.
15663 Fri Oct 17 13:16:01 GMT 2008  Olly Betts <olly@survex.com>
15665         * api/omdatabase.cc,include/xapian/database.h: Add
15666           Database::valuestream_begin() and Database::valuestream_end() to
15667           allow iterating over the values in a given slot for each document
15668           in the database (untested so far).
15670 Thu Oct 16 13:20:26 GMT 2008  Olly Betts <olly@survex.com>
15672         * backends/multi/multi_postlist.cc: Remove unused '#include <list>'
15673           and uninformative comment.
15675 Thu Oct 16 12:47:00 GMT 2008  Olly Betts <olly@survex.com>
15677         * api/omdocument.cc,include/xapian/document.h: Inline
15678           Xapian::Document::values_end() into user code.
15680 Thu Oct 16 12:26:29 GMT 2008  Olly Betts <olly@survex.com>
15682         * api/,backends/chert/chert_valuelist.cc,
15683           backends/chert/chert_valuelist.h,common/document.h,
15684           common/valuelist.h,include/Makefile.mk,include/xapian/derefwrapper.h,
15685           include/xapian/termiterator.h,include/xapian/valueiterator.h:
15686           Reimplement ValueIterator to have reference counted internals.  One
15687           benefit is that Document::Internal no longer need its value_nos map
15688           member.
15690 Thu Oct 16 11:22:13 GMT 2008  Olly Betts <olly@survex.com>
15692         * backends/inmemory/inmemory_database.cc: Fix incorrect method name in
15693           debug messages.
15695 Thu Oct 16 01:34:07 GMT 2008  Olly Betts <olly@survex.com>
15697         * HACKING: Note preference for @ rather than \ to introduce doxygen
15698           commands.
15700 Thu Oct 16 01:21:19 GMT 2008  Olly Betts <olly@survex.com>
15702         * HACKING: Expand section on public/protected/private a little.
15704 Wed Oct 15 11:34:15 GMT 2008  Olly Betts <olly@survex.com>
15706         * include/xapian/database.h: Use std::string() instead of "" as the
15707           default value for std::string method parameters.
15709 Wed Oct 15 03:20:01 GMT 2008  Olly Betts <olly@survex.com>
15711         * backends/Makefile.mk,backends/slowvaluelist.cc,
15712           backends/slowvaluelist.h: Support for (slowly) iterating along a
15713           value stream for backends which don't support streamed values
15714           internally (currently unused).
15716 Tue Oct 14 11:43:42 GMT 2008  Olly Betts <olly@survex.com>
15718         * api/postingsource.cc,backends/inmemory/inmemory_database.cc,
15719           matcher/multimatch.cc: Database::get_document_lazily() now returns
15720           NULL if the document isn't found for an inmemory database.
15721         * include/xapian/database.h: Document the return value better.
15723 Tue Oct 14 03:20:38 GMT 2008  Olly Betts <olly@survex.com>
15725         * api/omdatabase.cc,api/postingsource.cc,include/xapian/database.h,
15726           matcher/multimatch.cc: Add internal
15727           Xapian::Database::get_document_lazily() method and use it in the
15728           matcher and Xapian::PostingSource classes to avoid repeating the
15729           same code lots of times.
15731 Mon Oct 13 23:38:34 GMT 2008  Olly Betts <olly@survex.com>
15733         * HACKING: Rename "Miscellaneous Portability Issues" to "C++
15734           Portability Issues", and add a subsection of that for "Miscellaneous
15735           Portability Issues" with a new note about needing to terminate the
15736           last line of a source file, and a new subsection heading "Header
15737           Portability Issues" for all the header-related stuff.
15739 Sat Oct 11 12:19:38 GMT 2008  Olly Betts <olly@survex.com>
15741         * tests/api_wrdb.cc: If the timer for the first test for bigoaddvalue
15742           reports 0.0 seconds, skip the test as the timer doesn't have fine
15743           enough granularity for this test to be useful (bug#300).
15745 Fri Oct 10 20:40:14 GMT 2008  Olly Betts <olly@survex.com>
15747         * tests/api_wrdb.cc: Reuse XAPIAN_BIN_PATH to avoid hardcoding more
15748           paths, and so this works in a debug build too.
15750 Fri Oct 10 17:52:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15752         * tests/api_wrdb.cc: Patch to use a different path in win32 build
15753           to match the different place that the compiled xapian-check is
15754           placed in.  Should fix bug #301.
15756 Thu Oct 09 05:20:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15758         * configure.ac: Change -Wstrict-overflow level to 1 - even level 2
15759           causes a few warnings (notably in chert_table.cc) to appear with
15760           GCC 4.3 which are unreasonably difficult to avoid.
15762 Thu Oct 09 05:04:49 GMT 2008  Olly Betts <olly@survex.com>
15764         * HACKING,configure.ac: Raise autoconf requirement to 2.63.
15766 Wed Oct 08 14:52:03 GMT 2008  Olly Betts <olly@survex.com>
15768         * docs/valueranges.rst: Fix typos in example code.
15769         * docs/valueranges.rst,tests/queryparsertest.cc: Drop superfluous
15770           empty destructor from ValueRangeProcessor subclass.
15772 Wed Oct 08 14:00:04 GMT 2008  Olly Betts <olly@survex.com>
15774         * common/valuelist.h: Add missing get_docid() method.
15776 Wed Oct 08 12:11:57 GMT 2008  Olly Betts <olly@survex.com>
15778         * NEWS: Update from ChangeLog.
15780 Wed Oct 08 12:00:39 GMT 2008  Olly Betts <olly@survex.com>
15782         * backends/Makefile.mk,backends/chert/,backends/database.cc,
15783           backends/valuelist.cc,common/Makefile.mk,common/database.h,
15784           common/valuelist.h,include/xapian/valueiterator.h: The start of
15785           support for iterating along a value stream (currently unused).
15787 Tue Oct 07 10:19:48 GMT 2008  Olly Betts <olly@survex.com>
15789         * configure.ac: Disable -Wconversion for now - it's not useful for
15790           older GCC and is buggy in GCC 4.3.
15792 Tue Oct 07 04:53:41 GMT 2008  Olly Betts <olly@survex.com>
15794         * matcher/queryoptimiser.h: Query::MatchAll no longer gives match
15795           results ranked by increasing document length.
15796         * tests/api_db.cc: Extend matchall1 to be a regression test for this.
15798 Tue Oct 07 01:04:51 GMT 2008  Olly Betts <olly@survex.com>
15800         * matcher/queryoptimiser.cc: Rewrite comment explaining the excess
15801           precision fix.  Drop unnecessary brackets from return to minimise
15802           the diff.
15804 Mon Oct 06 07:24:40 GMT 2008  Olly Betts <olly@survex.com>
15806         * matcher/queryoptimiser.cc: Change the excess precision fix to pass
15807           both values through "volatile double" rather than "float" on
15808           platforms where this matters since the former gives better generated
15809           code as well as more consistent results with other platforms.
15811 Mon Oct 06 07:24:07 GMT 2008  Olly Betts <olly@survex.com>
15813         * tests/internaltest.cc: Fix comment typo.
15815 Mon Oct 06 02:46:39 GMT 2008  Olly Betts <olly@survex.com>
15817         * api/editdistance.cc,api/editdistance.h,api/omdatabase.cc: Pass the
15818           largest edit distance we currently care about into the edit distance
15819           algorithm so it can terminate early once it knows the edit distance
15820           exceeds this.  This shortcut is used quite a lot, but there's no
15821           measurable speed-up in tests on the real world data I have to hand.
15823 Sun Oct 05 12:34:09 GMT 2008  Olly Betts <olly@survex.com>
15825         * matcher/multimatch.cc: Adjust percent_factor instead of min_weight
15826           so that we don't miss some cases, and make the adjustment actually
15827           correspond with the adjustment in omenquire.cc.
15829 Wed Oct 01 14:11:49 GMT 2008  Olly Betts <olly@survex.com>
15831         * backends/alltermslist.cc,common/alltermslist.h: We don't need an
15832           explicit virtual dtor for AllTermsList as it is empty and
15833           AllTermsList inherits from TermList which has one.
15835 Wed Oct 01 13:21:22 GMT 2008  Olly Betts <olly@survex.com>
15837         * common/postlist.h,common/termlist.h: Fix comment typo.
15839 Wed Oct 01 00:12:02 GMT 2008  Olly Betts <olly@survex.com>
15841         * bin/xapian-compact.cc: Add a comment for the previous fix.
15843 Tue Sep 30 22:41:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15845         * bin/xapian-compact.cc: Fix bug: if there are both valuestats and
15846           metadata, don't overwrite the last metadata value with the first
15847           valuestats tag.
15849 Tue Sep 30 20:31:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15851         * configure.ac: Set -Wstrict-overflow to 2 instead of 5, to avoid
15852           unreasonable warnings under GCC 4.3.
15854 Tue Sep 30 09:45:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15856         * api/omdatabase.cc: Add missing include, to compile on GCC 4.3.0.
15858 Mon Sep 29 13:06:42 GMT 2008  Olly Betts <olly@survex.com>
15860         * NEWS: Update from ChangeLog.
15862 Mon Sep 29 05:04:57 GMT 2008  Olly Betts <olly@survex.com>
15864         * backends/chert/chert_version.cc: Add VERSIONFILE_SIZE_LITERAL and
15865           use CompileTimeAssert() to ensure it matches the expression in
15866           VERSIONFILE_SIZE.  It's very rare for the size to change (it's
15867           happened once ever) and allows us to build the error string
15868           literally at compile time.
15870 Sun Sep 28 15:13:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15872         * backends/chert/chert_values.cc: Fix bug in lazy update - ensure
15873           that the document has loaded its values before deleting the old
15874           one (previously, there was an assertion to this effect, but it
15875           didn't actually compile, and was also incorrect).
15876         * tests/api_wrdb.cc: Check that replacing a document with itself
15877           doesn't lose the values - regression test for the bug fixed by
15878           this commit.
15880 Sun Sep 28 14:04:01 GMT 2008  Olly Betts <olly@survex.com>
15882         * backends/chert/chert_values.cc: Fix bug in value updating -
15883           modifyvalues1 now passes for chert.
15885 Sun Sep 28 12:15:14 GMT 2008  Olly Betts <olly@survex.com>
15887         * tests/collate-test: Avoid perl warning when generating files which
15888           don't already exist.
15890 Sat Sep 27 10:36:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15892         * tests/api_wrdb.cc: Add test "modifyvalues1" - regression test for
15893           a bug in the streaming values implementation, and also a fairly
15894           thorough test of adding and modifying values in databases.
15896 Fri Sep 26 19:12:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15898         * api/omdatabase.cc: Fix warning with gcc 4.2 about possible signed
15899           overflow, by using an unsigned type for the total.
15901 Fri Sep 26 15:48:39 GMT 2008  Olly Betts <olly@survex.com>
15903         * api/omdatabase.cc: Fixed version of: Avoid the relatively expensive
15904           edit distance computation for a candidate spelling correction when
15905           we can reject the candidate as less good than one we've already seen
15906           by looking at the character frequency histograms.  In a test on
15907           real-world data, this gave an 15% speed-up in queryparsing time
15908           with FLAG_SPELLING_CORRECTION set.  The cheap check rejects 90%
15909           of the words it handles (without the cheap check, the edit distance
15910           check rejects 92%).
15912 Fri Sep 26 14:40:50 GMT 2008  Olly Betts <olly@survex.com>
15914         * bin/xapian-check.cc: Check the structure of the value stream chunks.
15916 Fri Sep 26 12:21:32 GMT 2008  Olly Betts <olly@survex.com>
15918         * tests/api_spelling.cc: Add a regression test for the bug my recently
15919           added and reverted spelling optimisation introduced.
15921 Fri Sep 26 11:55:18 GMT 2008  Olly Betts <olly@survex.com>
15923         * tests/Makefile.am,tests/api_spelling.cc,tests/api_wrdb.cc: Split the
15924           spelling tests out into a separate file.
15926 Fri Sep 26 11:53:45 GMT 2008  Olly Betts <olly@survex.com>
15928         * tests/api_unicode.cc: Capitalise brief file description.
15930 Fri Sep 26 11:31:46 GMT 2008  Olly Betts <olly@survex.com>
15932         * backends/inmemory/inmemory_document.cc,
15933           backends/inmemory/inmemory_document.h: New simpler InMemoryDocument
15934           class with slightly reduced memory footprint, based on
15935           RemoteDocument class.
15937 Fri Sep 26 10:36:02 GMT 2008  Olly Betts <olly@survex.com>
15939         * backends/remote/remote-document.cc,backends/remote/remote-document.h,
15940           common/document.h: Add new files for RemoteDocument class missed
15941           from recent commit.  Pass parameter to set_all_values() by non-const
15942           reference so we can just efficiently swap() the value maps rather
15943           than copying.
15945 Fri Sep 26 10:31:21 GMT 2008  Olly Betts <olly@survex.com>
15947         * api/omdocument.cc,common/document.h: Remove unused method
15948           Xapian::Document::Index::get_all_values().
15950 Fri Sep 26 10:03:17 GMT 2008  Olly Betts <olly@survex.com>
15952         * backends/remote/,common/document.h: Replace NetDocument with a new
15953           simpler RemoteDocument class which just sets the values and data in
15954           its Document::Internal base class.
15956 Fri Sep 26 06:21:08 GMT 2008  Olly Betts <olly@survex.com>
15958         * backends/chert/chert_database.cc,backends/chert/chert_document.cc,
15959           backends/chert/chert_document.h,common/document.h: Overhaul
15960           ChertDocument:  Avoid having a reference-counted pointer to the
15961           database in the subclass as well as the one now in the base class.
15962           Also check the lazy flag before we create a ChertDocument object to
15963           avoid a memory allocation in that code path.  And make the
15964           now-simple constructor inline-able.
15966 Thu Sep 25 17:38:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15968         * Merge lazyupdate branch:
15969         * api/omdocument.cc,backends/chert/chert_database.cc,
15970           backends/chert/chert_database.h,backends/chert/chert_values.cc,
15971           backends/database.cc,common/database.h,common/document.h: Add a
15972           shortcut for calling replace_document() with a document which was
15973           just read from the database.  If the document terms were never
15974           accessed, don't bother updating the termlist, postings and
15975           position lists.  If the data was never accessed, don't bother
15976           updating the data.  If the values were never accessed, don't
15977           bother updating them.  Only fires if we know that the document
15978           hasn't been modified (or deleted) since it was read from the
15979           database, to ensure that the lazy access of the data doesn't have
15980           a visible effect - we enforce this by keeping track of the last
15981           document read with open_document(), and only using the shortcut
15982           if this is the document passed to replace_document, and that
15983           document ID hasn't been passed to replace_document or
15984           delete_document since.
15986           Add a method Database::Internal::invalidate_doc_object() which is
15987           called from the destructor of a document, so that we can reset
15988           the pointer to modify_shortcut_document in ChertWritableDatabase
15989           when this happens.
15991           Document::Internal now keeps a ref-count pointer to the database,
15992           to ensure that the database is valid when invalidate_doc_object()
15993           is called on it.
15995 Thu Sep 25 17:35:07 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15997         * Forward-port from branches/lazyupdate:
15998         * tests/api_wrdb.cc: Extend deldoc5 slightly, to check that the
15999           DocNotFoundError for a deleted document is raised before the
16000           flush, as well as after.  Also, test a few more cases which are
16001           relevant in the lazyupdate scenario.
16003 Thu Sep 25 17:33:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16005         * Forward-port from branches/lazyupdate:
16006         * backends/chert/chert_document.cc,backends/chert/chert_document.h:
16007           Check for existence of a document when opening it by searching
16008           for the document length entry, rather than by reading the record
16009           for the document.  Probably slightly slower if the record is
16010           going to be accessed anyway, but much faster if it isn't (though
16011           benchmarking of this is needed).
16013 Thu Sep 25 14:27:07 GMT 2008  Olly Betts <olly@survex.com>
16015         * Merge valuestreams branch:
16016         * backends/chert/,bin/xapian-check.cc,bin/xapian-compact.cc,
16017           docs/admin_notes.rst: Change the chert backend to store values in a
16018           chunked stream for each value slot to make access more efficient.
16019           The chunked streams and value stats are now stored in the postlist
16020           table while the list of used value slots for each document is stored
16021           in the termlist table, so we no longer need a special table for
16022           values.
16023         * bin/xapian-check.cc,bin/xapian-check-flint.cc:  Don't stop checking
16024           a table after an error in certain cases - instead increment the
16025           error counter and try to continue checking from the next item.
16027 Thu Sep 25 13:50:15 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16029         * matcher/queryoptimiser.cc,tests/api_anydb.cc: Apply fix for
16030           platforms with excess precision - this fixes a potential segfault
16031           on x86 architecture when doing OP_ELITE_SET queries.  Also, add a
16032           regression test.
16034 Thu Sep 25 03:38:24 GMT 2008  Olly Betts <olly@survex.com>
16036         * examples/copydatabase.cc: Also copy user metadata.
16038 Wed Sep 24 17:27:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16040         * api/omdatabase.cc: Back out, for now, Olly's change from
16041           yesterday to avoid some edit distance checks; counting the
16042           frequency of letters doesn't take into account the number of
16043           substitutions, so spelling corrections which involve
16044           substitutions are missed.
16046 Wed Sep 24 12:48:39 GMT 2008  Olly Betts <olly@survex.com>
16048         * unicode/tclUniData.cc: Update to Unicode 5.1 (bug#265).
16049         * tests/api_unicode.cc: Add tests for some of the changes
16050           in Unicode 5.1.
16052 Tue Sep 23 14:58:54 GMT 2008  Olly Betts <olly@survex.com>
16054         * api/omdatabase.cc: Avoid the relatively expensive edit distance
16055           computation for a candidate spelling correction when we can reject
16056           the candidate as less good than one we've already seen by looking
16057           at the character frequency histograms.
16059 Mon Sep 22 09:21:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16061         * Forward-port from branches/lazyupdate:
16062         * backends/chert/chert_postlist.cc: Fix return value of jump_to()
16063           to be true only if the exact item specified was found in the
16064           doclen list (previously also returned true if an item following
16065           the item being searched for was found in the chunk).  Note that
16066           there is no test for this fix included in this forward-port, but
16067           an implicit test is included in the lazyupdate branch, and will
16068           be here when that branch is merged to trunk.
16070 Mon Sep 22 07:58:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16072         * HACKING: Mention that setting XAPIAN_DEBUG_LOG to '-' has a
16073           special effect.
16075 Mon Sep 22 06:27:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16077         * docs/remote_protocol.html: Update documentation of remote
16078           protocol to mention UUID being passed in REPLY_GREETING and
16079           REPLY_UPDATE (added in revision [11369]).
16081 Thu Sep 18 11:52:05 GMT 2008  Olly Betts <olly@survex.com>
16083         * tests/api_wrdb.cc: Fix cursordelbug1 to hopefully work on Microsoft
16084           Windows.
16086 Thu Sep 18 11:50:04 GMT 2008  Olly Betts <olly@survex.com>
16088         * backends/chert/chert_cursor.cc,backends/chert/chert_table.cc,
16089           backends/chert/chert_table.h: More assertions and improved debug
16090           logging coverage.  Use rare() to mark a couple of checks which
16091           almost always have the same result.  Make an assertion about the
16092           level of a Btree block into an always-compiled-in check which throws
16093           an exception, as this isn't a sanity check of internal state.
16095 Thu Sep 18 05:26:27 GMT 2008  Olly Betts <olly@survex.com>
16097         * backends/chert/chert_postlist.cc,backends/flint/flint_postlist.cc:
16098           Fix comment describing format of postlist chunk (collection freq
16099           was missing).
16101 Wed Sep 17 12:38:51 GMT 2008  Olly Betts <olly@survex.com>
16103         * HACKING: Fix typos in XAPIAN_DEBUG_FLAGS documentation.
16105 Sat Sep 13 11:14:02 GMT 2008  Olly Betts <olly@survex.com>
16107         * HACKING,configure.ac: Upgrade libtool requirement to 2.2.6a.
16109 Fri Sep 05 11:40:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16111         * tests/api_replicate.cc: Test that the UUID of a replica is equal
16112           to the UUID of the original database.
16114 Fri Sep 05 09:38:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16116         * include/xapian/database.h,api/omdatabase.cc: Add
16117           Database.get_uuid() which returns a unique identifier for the
16118           database.
16119         * tests/api_anydb.cc: Add test uuid1 to test basic get_uuid()
16120           behaviour.
16121         * common/database.h: Extend documentation comment for get_uuid() a
16122           bit.
16123         * backends/remote/remote-database.cc,common/remote-database.h,
16124           net/remoteserver.cc: Add support for get_uuid() to remote
16125           databases.
16127 Thu Sep 04 11:37:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16129         * tests/Makefile.am: Remove accidentally committed reference to
16130           apitest_sortconsist.txt, which only exists in my local checkout
16131           and in a patch in ticket #216.
16133 Thu Sep 04 04:39:32 GMT 2008  Olly Betts <olly@survex.com>
16135         * HACKING,configure.ac: We now hard require autoconf 2.62, so it's
16136           safe to use AC_TYPE_SSIZE_T.  (bug#135)
16138 Thu Sep 04 04:26:59 GMT 2008  Olly Betts <olly@survex.com>
16140         * configure.ac: Set version to 1.1.0.
16142 Thu Sep 04 03:32:06 GMT 2008  Olly Betts <olly@survex.com>
16144         * AUTHORS,NEWS,configure.ac: Sync with 1.0.8.
16146 Wed Sep 03 15:23:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16148         * tests/Makefile.am,tests/api_percentages.cc: Add new test file for
16149           tests related to percentage weights (there are a few around which
16150           could be moved here, and there's another one in the patch in
16151           ticket #216).  Add test in this file which uses a PostingSource
16152           with carefully constructed weights to check the rounding
16153           behaviour for percentage cutoffs.
16155 Wed Sep 03 07:58:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16157         * matcher/multimatch.cc: Adjust min_weight values calculated for
16158           percent_cutoff in the same manner as in omenquire.cc, to allow
16159           for excess precision in the same way.
16161 Wed Sep 03 07:15:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16163         * backends/chert/chert_version.cc: Display numerical value of
16164           correct size of chert version file in error message if size is
16165           incorrect, rather than a complicated expression giving the
16166           correct size.
16168 Tue Sep 02 10:41:46 GMT 2008  Olly Betts <olly@survex.com>
16170         * matcher/multimatch.cc: Remove FIXME for pushing check_at_least
16171           handling into the remote backend, which was done for 1.0.2.
16173 Tue Sep 02 06:48:50 GMT 2008  Olly Betts <olly@survex.com>
16175         * bin/xapian-inspect.cc: Show the help message on start-up.  Correct
16176           the alias for next from ' ' to ''.  Avoid reading outside of input
16177           string when it is empty.  Bug#286.
16179 Tue Sep 02 04:19:34 GMT 2008  Olly Betts <olly@survex.com>
16181         * tests/stemtest.cc: Handle the new supplemental stemming data.
16183 Tue Sep 02 03:05:10 GMT 2008  Olly Betts <olly@survex.com>
16185         * tests/stemtest.cc: Update for new xapian-data directory structure.
16187 Tue Aug 26 09:26:49 GMT 2008  Olly Betts <olly@survex.com>
16189         * common/debuglog.h: Handle logging from ctor, dtor, and
16190           void-returning functions/methods with a separate class
16191           (DebugLogFuncVoid).  Fix outdent handling for non-logged message
16192           types.  Fix detection of active exceptions to check if the exception
16193           was already active when we entered the current function.  This
16194           probably means that "RETURN_VOID" is no longer needed, so comment
16195           it out.
16197 Tue Aug 26 07:34:16 GMT 2008  Olly Betts <olly@survex.com>
16199         * HACKING: Document explicitly that XAPIAN_DEBUG_FLAGS=- gives you all
16200           debug messages.
16202 Tue Aug 26 00:57:32 GMT 2008  Olly Betts <olly@survex.com>
16204         * bin/xapian-check.cc: Fix reversed check for whether a table is in a
16205           flint or chert database.
16207 Mon Aug 25 12:03:36 GMT 2008  Olly Betts <olly@survex.com>
16209         * backends/flint/flint_termlisttable.cc: Remove FIXME about dropping
16210           something if we make an incompatible database version bump - that's
16211           not going to happen now for flint.  Avoid packing doclen for an
16212           empty termlist.  Add explicit cast for char for prev_term.size().
16214 Sun Aug 24 11:42:21 GMT 2008  Olly Betts <olly@survex.com>
16216         * common/Makefile.mk: Fix build with --enable-log=profile.
16218 Sun Aug 24 12:41:22 BST 2008  Olly Betts <olly@survex.com>
16220         * HACKING: Add a bit of discussion of --enable-log=profile.  Tweak
16221           formatting in one place and wording in another.
16223 Sat Aug 23 00:48:40 GMT 2008  Olly Betts <olly@survex.com>
16225         * tests/collate-test: Only update files which have changed to avoid
16226           rebuilding all apitest's source files when only one has changed.
16228 Fri Aug 22 01:02:57 GMT 2008  Olly Betts <olly@survex.com>
16230         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5571"
16231           (no code changes in our modified version).
16233 Fri Aug 22 01:00:15 GMT 2008  Olly Betts <olly@survex.com>
16235         * queryparser/lemon.c: Fix comment typo.
16237 Fri Aug 22 00:55:26 GMT 2008  Olly Betts <olly@survex.com>
16239         * queryparser/lemon.c: Merge upstream "Check-in Number: 5564".
16241 Fri Aug 22 00:44:14 GMT 2008  Olly Betts <olly@survex.com>
16243         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
16244           "Check-in Number: 5488" and "5563".
16245         * queryparser/queryparser.lt: Fix compilation for previous merge
16246           (I fixed it in the generated file before!)
16248 Fri Aug 22 00:07:22 GMT 2008  Olly Betts <olly@survex.com>
16250         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5472".
16252 Thu Aug 21 04:15:41 GMT 2008  Olly Betts <olly@survex.com>
16254         * configure.ac: Remove code which checks for --enable-debug and
16255           --enable-debug-verbose (deprecated since 1.0.0) and gives an error
16256           pointing to the replacements.
16257         * docs/deprecation.rst: Document the replacements here.
16259 Thu Aug 21 00:57:52 GMT 2008  Olly Betts <olly@survex.com>
16261         * common/omdebug.h: Remove DEBUGLINE completely.
16262         * backends/flint/flint_table.cc,backends/inmemory/inmemory_database.cc,
16263           queryparser/queryparser.lt: Replace remaining DEBUGLINE uses.
16264         * backends/inmemory/inmemory_database.cc: Don't need <list>.
16266 Thu Aug 21 00:37:08 GMT 2008  Olly Betts <olly@survex.com>
16268         * common/debuglog.h,common/omdebug.h: Define LOGLINE, etc to no-op
16269           versions when XAPIAN_DEBUG_VERBOSE isn't defined.
16270         * api/,backends/chert/,backends/flint/,
16271           backends/inmemory/inmemory_database.cc,
16272           backends/multi/multi_postlist.cc,backends/multi/multi_termlist.cc,
16273           expand/esetinternal.cc,expand/expandweight.cc,matcher/,
16274           net/remoteconnection.cc: Use LOGLINE or LOGVALUE instead of
16275           DEBUGLINE.
16277 Wed Aug 20 13:33:56 GMT 2008  Olly Betts <olly@survex.com>
16279         * common/debuglog.h: Don't need omtime.h.
16281 Wed Aug 20 06:11:31 GMT 2008  Olly Betts <olly@survex.com>
16283         * examples/quest.cc: Fix to catch QueryParserError instead of const
16284           char * which Xapian < 1.0.0 threw instead.
16286 Wed Aug 20 05:50:26 GMT 2008  Olly Betts <olly@survex.com>
16288         * docs/valueranges.rst: Expand on some sections.
16290 Wed Aug 20 04:43:07 GMT 2008  Olly Betts <olly@survex.com>
16292         * tests/api_nodb.cc: Clarify in comments that this affected 1.0.7.
16294 Wed Aug 20 04:33:22 GMT 2008  Olly Betts <olly@survex.com>
16296         * api/omenquire.cc: Simplify RSet::remove_document() and
16297           RSet::contains() a little.  Fix output of RSet::get_description().
16298         * tests/api_nodb.cc: Add regression test rset4 for
16299           RSet::get_description() fix.
16301 Wed Aug 20 02:45:04 GMT 2008  Olly Betts <olly@survex.com>
16303         * common/omdebug.h: Remove DebugMsg() macro which is no longer used.
16305 Tue Aug 12 05:03:34 GMT 2008  Olly Betts <olly@survex.com>
16307         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
16308           Backport elimination of find_tag() to flint.
16310 Tue Aug 12 04:10:41 GMT 2008  Olly Betts <olly@survex.com>
16312         * backends/chert/chert_table.cc,backends/chert/chert_table.h:
16313           ChertTable::find_tag() is only used by ChertTable::get_exact_entry()
16314           so remove the former folding its code into the latter.
16316 Mon Aug 11 03:06:10 GMT 2008  Olly Betts <olly@survex.com>
16318         * backends/chert/chert_spelling.h,backends/chert/chert_synonym.h:
16319           Remove random closing bracket from a couple of comments.
16321 Mon Aug 11 03:03:19 GMT 2008  Olly Betts <olly@survex.com>
16323         * api/postingsource.cc: Always initialise max_value in the constructor
16324           body for consistency.
16326 Sat Aug 09 09:56:06 GMT 2008  Olly Betts <olly@survex.com>
16328         * tests/api_valuestats.cc: Add valuestats4 as a regression test for
16329           the previous fix.
16331 Sat Aug 09 06:10:49 GMT 2008  Olly Betts <olly@survex.com>
16333         * backends/chert/chert_database.cc,backends/chert/chert_database.h:
16334           Write cached valuestats changes to disk when we automatically flush
16335           changes due to the number of documents indexed.
16337 Wed Aug 06 11:27:29 GMT 2008  Olly Betts <olly@survex.com>
16339         * api/omdocument.cc,backends/chert/chert_document.cc,
16340           backends/chert/chert_document.h,backends/flint/flint_document.cc,
16341           backends/flint/flint_document.h,
16342           backends/inmemory/inmemory_document.cc,
16343           backends/inmemory/inmemory_document.h,
16344           backends/remote/net_document.cc,backends/remote/net_document.h,
16345           common/document.h: Change do_get_all_values() to pass a reference
16346           to the std::map to return the result in rather than returning the
16347           std::map.
16349 Wed Aug 06 07:39:08 GMT 2008  Olly Betts <olly@survex.com>
16351         * docs/replication.rst: Adding missing (C) for new section addded
16352           recently.
16354 Wed Aug 06 06:27:59 GMT 2008  Olly Betts <olly@survex.com>
16356         * backends/alltermslist.cc,backends/chert/,backends/flint/,
16357           backends/inmemory/inmemory_alltermslist.cc,
16358           backends/inmemory/inmemory_alltermslist.h,
16359           backends/multi/multi_alltermslist.cc,common/alltermslist.h,
16360           common/multialltermslist.h: Add a default "not implemented"
16361           implementation of AllTermsList::get_approx_size() and remove the
16362           "not implemented" versions in all the subclasses.  Remove empty
16363           destructors for ChertSpellingTermList, and FlintSpellingTermList.
16364         * api/maptermlist.h,api/omdocument.cc: MapTermList::get_approx_size()
16365           should never be used, so make it "Assert(false); return 0;".
16367 Wed Aug 06 02:24:48 GMT 2008  Olly Betts <olly@survex.com>
16369         * api/omdatabase.cc,backends/multi/multi_alltermslist.cc,
16370           common/multialltermslist.h: Reimplement MultiAllTermsList to use a
16371           heap rather than linearly scanning - operations during iteration
16372           should now be O(log(n)) rather than O(n) where n is the number of
16373           databases.
16375 Tue Aug 05 23:50:19 GMT 2008  Olly Betts <olly@survex.com>
16377         * tests/Makefile.am: Fix "make clean" to remove cached databases again
16378           and "make check" to remove cached databases like the previous change
16379           aimed to do.
16381 Tue Aug 05 23:48:52 GMT 2008  Olly Betts <olly@survex.com>
16383         * tests/api_db.cc: Use TEST_EQUAL(a, b) rather than TEST(a == b).
16385 Tue Aug 05 12:44:58 GMT 2008  Olly Betts <olly@survex.com>
16387         * common/alltermslist.h: Fix parameter name in doxygen comment.
16389 Tue Aug 05 06:28:15 GMT 2008  Olly Betts <olly@survex.com>
16391         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
16392           Don't generate a changeset file for the first revision of a database
16393           (since we might as well just send the whole database) - addresses
16394           part of bug#278.  Clean up exceptions to pass errno in the errno
16395           parameter rather than incorporating strerror(errno) in the message
16396           parameter.
16398 Tue Aug 05 06:00:11 GMT 2008  Olly Betts <olly@survex.com>
16400         * tests/api_replicate.cc: Remove "sleep(1);" from testcase replicate1
16401           which is no longer required now we generate proper UUIDs.
16403 Tue Aug 05 03:07:11 GMT 2008  Olly Betts <olly@survex.com>
16405         * api/replication.cc,include/xapian/replication.h: Remove
16406           DatabaseReplica::get_parameter() and set_parameter() as they're no
16407           longer used for storing the database UUID, and Richard said the
16408           thinking behind wanting them was "flawed".
16410 Tue Aug 05 02:03:24 GMT 2008  Olly Betts <olly@survex.com>
16412         * backends/chert/chert_version.cc: Comment tweak.
16414 Tue Aug 05 02:02:29 GMT 2008  Olly Betts <olly@survex.com>
16416         * api/replication.cc,backends/flint/flint_database.cc,common/utils.cc,
16417           common/utils.h: Use the UUID stored by the backend rather than
16418           storing it ourselves as a database replica parameter.
16420 Mon Aug 04 14:58:21 GMT 2008  Olly Betts <olly@survex.com>
16422         * backends/flint/flint_database.cc,backends/flint/flint_version.cc,
16423           backends/flint/flint_version.h: Generate a UUID when a new flint
16424           database is created, and lazily generate one for existing flint
16425           databases which don't have one.  Store the UUID in a new "uuid"
16426           file in the database directory to avoid having to change the
16427           flint database format incompatibly.
16429 Mon Aug 04 14:13:53 GMT 2008  Olly Betts <olly@survex.com>
16431         * backends/chert/chert_database.cc,backends/chert/chert_version.cc,
16432           backends/chert/chert_version.h,configure.ac: Generate a UUID when
16433           a chert database is created, and store it in the version file.
16435 Mon Aug 04 12:16:54 GMT 2008  Olly Betts <olly@survex.com>
16437         * backends/chert/chert_version.cc: Make exception messages more
16438           consistent.
16440 Mon Aug 04 12:15:14 GMT 2008  Olly Betts <olly@survex.com>
16442         * backends/chert/chert_database.cc,backends/chert/chert_version.cc,
16443           backends/chert/chert_version.h: Remove the code to handle upgrading
16444           flint versions >= 200704230 and < 200709120 as it's just dead code
16445           for chert.
16447 Sun Aug 03 14:34:31 GMT 2008  Olly Betts <olly@survex.com>
16449         * api/replication.cc: Track the replica numbers using an int rather
16450           than two strings.  Eliminate two racey uses of file_exists().
16452 Sun Aug 03 11:37:06 GMT 2008  Olly Betts <olly@survex.com>
16454         * docs/replication.rst: Add section on backend support.  Make FIXME a
16455           comment.  Fix erroneous reference to '"-h" parameter'.
16457 Sun Aug 03 11:28:27 GMT 2008  Olly Betts <olly@survex.com>
16459         * api/replication.cc,tests/harness/testrunner.cc: Make replication
16460           work for the chert backend.
16462 Sat Aug 02 16:47:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16464         * include/xapian/enquire.h: Correct documentation comment (iterator
16465           doesn't return terms, it returns mset items).
16467 Sat Aug 02 14:16:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16469         * docs/admin_notes.rst: Fix a typo.
16471 Sat Aug 02 14:06:37 GMT 2008  Olly Betts <olly@survex.com>
16473         * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc:
16474           Fix comment typo in previous commit.
16476 Sat Aug 02 13:04:05 GMT 2008  Olly Betts <olly@survex.com>
16478         * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc: Fix
16479           FlintCursor::del() and ChertCursor::del() to leave the cursor on the
16480           next key when iterating over the unflushed revision (previously the
16481           cursor would end up an extra key along in this case).  (Bug#287)
16482         * tests/api_wrdb.cc: Add regression test cursordelbug1.
16484 Sat Aug 02 05:09:38 GMT 2008  Olly Betts <olly@survex.com>
16486         * api/replication.cc,common/utils.cc,common/utils.h: Change
16487           removedir() to just return if passed a non-existent path and
16488           document this.  Make use of this to avoid having to call
16489           dir_exists() before remove_dir().
16491 Sat Aug 02 04:43:45 GMT 2008  Olly Betts <olly@survex.com>
16493         * tests/api_db.cc,tests/apitest.cc: Make use of new
16494           BackendManager::get_database_path() to eliminate knowledge of
16495           BackendManagerFlint's implementation from test stubdb1.  Put the
16496           stubdb files in a .stub subdirectory and don't remove them after
16497           each test to aid debugging failing tests.  Also now run stubdb tests
16498           under chert and multi backends.  Add more stubdb tests for the
16499           recently added features.
16501 Sat Aug 02 04:39:08 GMT 2008  Olly Betts <olly@survex.com>
16503         * tests/harness/: Adjust the BackendManager interface to reduce code
16504           duplication in subclasses - for backends where the concept of a
16505           path to the database makes sense, we now support a
16506           get_database_path() method and use this in the default
16507           implementation of get_database() in the base class.
16509 Sat Aug 02 04:36:48 GMT 2008  Olly Betts <olly@survex.com>
16511         * tests/apitest.h: Use std::string() in preference to "".
16513 Sat Aug 02 04:35:13 GMT 2008  Olly Betts <olly@survex.com>
16515         * backends/dbfactory.cc: Fix handling of new "inmemory" type in stub
16516           databases.
16518 Sat Aug 02 01:49:35 GMT 2008  Olly Betts <olly@survex.com>
16520         * tests/Makefile.am: Remove the cached test databases in before
16521           running the testsuite by making check-local do the same as
16522           clean-local.
16524 Sat Aug 02 01:42:36 GMT 2008  Olly Betts <olly@survex.com>
16526         * backends/dbfactory.cc: Add support for "inmemory" to stub database
16527           files (it's useful now they can be writable).  Don't just ignore
16528           lines with no spaces in in stub database files.
16530 Thu Jul 31 13:13:30 GMT 2008  Olly Betts <olly@survex.com>
16532         * backends/Makefile.mk,backends/database.cc,backends/dbfactory.cc,
16533           common/database.h,include/xapian/dbfactory.h: Add new
16534           Auto::open_stub() overload which opens a stub database file
16535           containing a single entry as a WritableDatabase.  Move the
16536           non-remote database factory API functions from backends/database.cc
16537           to new file backends/dbfactory.cc, leaving the former solely for
16538           methods of Database::Internal.  A stub database file is now allowed
16539           to contain no database entries, which results in an empty Database
16540           object (this avoids user code having to special case to handle "0 or
16541           more" databases).
16542         * tests/api_nodb.cc: Tidy up #include directives.  Enhance nosuchdb1
16543           to check that we get a reasonable error message - previously we
16544           got "Couldn't detect type of database".
16545         * include/xapian/dbfactory.h: Improve doxygen comment for
16546           InMemory::open().
16548 Thu Jul 31 09:36:41 GMT 2008  Olly Betts <olly@survex.com>
16550         * tests/api_replicate.cc: This is a new file, so use <cstdlib> rather
16551           than <stdlib.h>.
16553 Wed Jul 30 23:10:19 GMT 2008  Olly Betts <olly@survex.com>
16555         * backends/database.cc: Bad lines in a stub file were being ignored
16556           after we'd seen a good entry.
16557         * tests/api_db.cc: Add regression test.
16559 Wed Jul 30 14:42:04 GMT 2008  Olly Betts <olly@survex.com>
16561         * generate-exceptions.in: Use std::string() in preference to "".
16563 Tue Jul 29 23:55:21 GMT 2008  Olly Betts <olly@survex.com>
16565         * AUTHORS: Add Henrik Brix Andersen.
16567 Tue Jul 22 06:01:44 GMT 2008  Olly Betts <olly@survex.com>
16569         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
16570           Eliminate other_base_letter member of FlintTable - its value can
16571           always be easily determined from base_letter.
16573 Mon Jul 21 12:33:54 GMT 2008  Olly Betts <olly@survex.com>
16575         * xapian-config.in: Add bug report URL to xapian-config --help output.
16577 Mon Jul 21 11:55:18 GMT 2008  Olly Betts <olly@survex.com>
16579         * configure.ac: Put the bug report URL as the third parameter to
16580           AC_INIT.  Add proper m4 quoting in a few places (nowhere that
16581           should actually change behaviour).
16583 Mon Jul 21 01:03:12 GMT 2008  Olly Betts <olly@survex.com>
16585         * tests/apitest.cc,tests/harness/testsuite.cc,
16586           tests/harness/testsuite.h: Report subtotals per backend, rather than
16587           per testgroup per backend to make the output much clearer to scan.
16589 Mon Jul 21 00:36:07 GMT 2008  Olly Betts <olly@survex.com>
16591         * tests/apitest.cc: Use startswith().
16593 Sun Jul 20 14:16:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16595         * tests/harness/testsuite.h: Add missing "iomanip" header needed
16596           for setprecision calls.
16598 Sun Jul 20 11:35:35 GMT 2008  Olly Betts <olly@survex.com>
16600         * include/xapian/enquire.h,include/xapian/matchspy.h,
16601           include/xapian/valueiterator.h: Remove explicit empty non-virtual
16602           destructors since the compiler will create them by default anyway.
16604 Sun Jul 20 10:18:52 GMT 2008  Olly Betts <olly@survex.com>
16606         * NEWS: Update from ChangeLog.
16608 Sun Jul 20 10:09:36 GMT 2008  Olly Betts <olly@survex.com>
16610         * Forward-port change from branches/1.0:
16611         * api/omenquire.cc: Fix percentage calculation to cope with excess
16612           precision on x86.  Fix method name for convert_to_percent_internal
16613           in debug logging.
16615 Sun Jul 20 09:13:32 GMT 2008  Olly Betts <olly@survex.com>
16617         * backends/flint/,bin/xapian-check-flint.cc,bin/xapian-check-flint.h,
16618           bin/xapian-compact.cc: Store the tablename in FlintTable as a const
16619           char * - it's a constant string and std::string adds a needless
16620           space overhead.
16622 Sun Jul 20 09:10:49 GMT 2008  Olly Betts <olly@survex.com>
16624         * bin/xapian-check.cc: Follow-on fix for last change - we need to use
16625           strcmp() to compare C strings.
16627 Sun Jul 20 07:09:38 GMT 2008  Olly Betts <olly@survex.com>
16629         * backends/chert/,bin/xapian-check.cc: Store the tablename in
16630           ChertTable as a const char * - it's a constant string and
16631           std::string adds a needless space overhead.
16633 Sat Jul 19 14:19:58 GMT 2008  Olly Betts <olly@survex.com>
16635         * backends/chert/chert_database.cc,backends/chert/chert_values.cc,
16636           backends/chert/chert_values.h: Fix WritableDatabase::add_document()
16637           and replace_document() not to be O(n*n) in the number of values in
16638           the new document.
16639         * backends/flint/flint_database.cc,backends/flint/flint_values.cc,
16640           backends/flint/flint_values.h: Backport fix to flint.
16641         * tests/api_wrdb.cc: Add testcase bigoaddvalue to make sure we don't
16642           regress to O(n*n) (or worse!)
16644 Fri Jul 18 13:24:43 GMT 2008  Olly Betts <olly@survex.com>
16646         * tests/api_wrdb.cc: Rewrite lazytablebug1 testcase to avoid having
16647           to run xapian-compact.
16649 Fri Jul 18 11:59:42 GMT 2008  Olly Betts <olly@survex.com>
16651         * backends/chert/chert_table.cc: Fix handling of a table created
16652           lazily after the database has had commits, and which is then
16653           cursored while still in sequential mode.
16654         * backends/flint/flint_table.cc: Backport fix to flint.
16655         * tests/api_wrdb.cc: Add testcase lazytablebug1.
16657 Fri Jul 18 02:52:55 GMT 2008  Olly Betts <olly@survex.com>
16659         * tests/api_wrdb.cc: Enable test crashrecovery1 for chert.  Finish off
16660           unfinished comment.
16662 Fri Jul 18 02:38:22 GMT 2008  Olly Betts <olly@survex.com>
16664         * tests/api_wrdb.cc,tests/harness/testrunner.cc,
16665           tests/harness/testrunner.h: Add "synonyms" test backend property
16666           and use it to decide where to run synonym tests so they get run on
16667           chert too.  Move virtual TestRunner destructor out of the header.
16668           Don't skip all the spelling tests on chert.
16670 Fri Jul 18 00:56:17 GMT 2008  Olly Betts <olly@survex.com>
16672         * tests/api_wrdb.cc: Eliminate literal top-bit-set characters.
16674 Fri Jul 18 00:40:06 GMT 2008  Olly Betts <olly@survex.com>
16676         * backends/chert/chert_values.cc: Kill superfluous else tokens.
16678 Thu Jul 17 13:00:55 GMT 2008  Olly Betts <olly@survex.com>
16680         * backends/chert/chert_table.cc,backends/chert/chert_table.h:
16681           Eliminate other_base_letter member of ChertTable - its value can
16682           always be easily determined from base_letter.
16684 Thu Jul 17 12:24:19 GMT 2008  Olly Betts <olly@survex.com>
16686         * backends/chert/chert_database.cc: Add space after catch for
16687           consistency.
16689 Thu Jul 17 11:51:57 GMT 2008  Olly Betts <olly@survex.com>
16691         * examples/copydatabase.cc: Use C++ forms of C headers.  Only treat
16692           '\' as a directory separator on platforms where it is.  Update
16693           counter every 13 counting up to the end so that the digits all
16694           "rotate" and the counter ends up on the exact total.
16696 Wed Jul 16 10:10:32 GMT 2008  Olly Betts <olly@survex.com>
16698         * tests/perftest/perftest.cc: Use uname() or gethostname() to get the
16699           hostname on Unix, rather than piping output from uname -n.  Use
16700           startswith() where appropriate.  Prefer resize() and erase() to
16701           assigning a string a substring of itself.  Make internal functions
16702           static.  Prefer string() to "".  Fold sed | sed and grep | sed into
16703           single sed invocations.
16705 Wed Jul 16 05:16:00 GMT 2008  Olly Betts <olly@survex.com>
16707         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
16708           "Check-in Number: 5404" and "5405".
16710 Wed Jul 16 04:48:45 GMT 2008  Olly Betts <olly@survex.com>
16712         * NEWS: Sync with 1.0.7 release.  Start to clean up ChangeLog entry
16713           pile.
16715 Mon Jul 14 05:13:55 GMT 2008  Olly Betts <olly@survex.com>
16717         * queryparser/lemon.c: Fix a typo, remove "\n" from the end of
16718           ErrorMsg() calls since it will get stripped anyway, and escape
16719           literal '%' in ErrorMsg() third arguments.
16721 Sun Jul 13 13:04:58 GMT 2008  Olly Betts <olly@survex.com>
16723         * queryparser/lemon.c: Update note of upstream version we're synced
16724           against.
16726 Sun Jul 13 12:56:58 GMT 2008  Olly Betts <olly@survex.com>
16728         * queryparser/lemon.c: Tweak previous merged patch so that we still
16729           get #line directives for code in %include directives.
16731 Sun Jul 13 12:54:03 GMT 2008  Olly Betts <olly@survex.com>
16733         * queryparser/lemon.c: Merge upstream "Check-in Number: 5335".
16734           Reduces the size of the stripped object file for
16735           queryparser_internal.cc by about 0.5%.
16737 Sun Jul 13 12:32:06 GMT 2008  Olly Betts <olly@survex.com>
16739         * queryparser/lemon.c: Fix typo in comment.
16741 Sun Jul 13 12:30:38 GMT 2008  Olly Betts <olly@survex.com>
16743         * queryparser/lemon.c: Merge upstream "Check-in Number: 5334".  No
16744           change to the generated code in our case.
16746 Sun Jul 13 12:24:13 GMT 2008  Olly Betts <olly@survex.com>
16748         * configure.ac: Add missing hard requirement for libtool 2.2.4.
16750 Sun Jul 13 12:09:40 GMT 2008  Olly Betts <olly@survex.com>
16752         * configure.ac,HACKING: Hard require autoconf 2.62 and automake 1.10.1.
16753           Move all information about particular autoconf and automake versions
16754           to HACKING.
16755         * configure.ac: Use LT_INIT in preference to AC_PROG_LIBTOOL.  On
16756           Linux and k*bsd-gnu, override libtool's link_all_deplibs_CXX to
16757           "no".  On Linux, override libtool's sys_lib_dlsearch_path_spec to a
16758           list generated in a more reliable way which includes *all* the
16759           default directories.  Remove workaround which sets docdir for
16760           autoconf < 2.60 since we now require 2.62.
16761         * xapian-core.spec.in: We no longer need to run autoreconf to work
16762           around libtool's incomplete sys_lib_dlsearch_path_spec or to pick
16763           up distro-specific patches for link_all_deplibs.
16765 Sun Jul 13 11:33:33 GMT 2008  Olly Betts <olly@survex.com>
16767         * Makefile.am: No need to explicitly list m4/*.m4 in EXTRA_DIST as
16768           automake will automatically ship any such files which are needed.
16770 Sun Jul 13 09:15:34 GMT 2008  Olly Betts <olly@survex.com>
16772         * api/omenquire.cc: Back out the rounding of percentages change (at
16773           least for now), as it makes percentage cut-offs work inconsistently.
16774         * tests/api_anydb.cc: Add test pctcutoff3 which demonstrates the issue.
16776 Sun Jul 13 07:01:02 GMT 2008  Olly Betts <olly@survex.com>
16778         * include/xapian/enquire.h: Fix documentation comment for
16779           MSet::get_rank() - the 'document judged "most relevant" will have
16780           rank of 0' only when ordering primarily by relevance.
16782 Sun Jul 13 06:17:13 GMT 2008  Olly Betts <olly@survex.com>
16784         * matcher/multimatch.cc: Tweak layout (makes the backport diff
16785           much smaller and clearer, and reduces indentation by a level for a
16786           chunk of code).
16788 Fri Jul 11 13:44:56 GMT 2008  Olly Betts <olly@survex.com>
16790         * tests/harness/testutils.cc: Fix typos in recent improved output.
16792 Fri Jul 11 13:04:41 GMT 2008  Olly Betts <olly@survex.com>
16794         * matcher/multimatch.cc: Collect up all the scaling factors we apply
16795           to the estimated number of matches and apply them in one go to avoid
16796           rounding the result more than once.
16798 Fri Jul 11 12:21:11 GMT 2008  Olly Betts <olly@survex.com>
16800         * tests/api_anydb.cc: Add testcase for percent cutoff plus collapsing
16801           which most likely would have failed before Richard's recent fix
16802           for the lower bound with collapsing and a matchdecider.
16804 Fri Jul 11 05:30:02 GMT 2008  Olly Betts <olly@survex.com>
16806         * backends/database.cc: Add support for XAPIAN_PREFER_CHERT
16807           environmental variable.
16809 Thu Jul 10 22:21:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16811         * api/postingsource.cc: Fix skip_to() so that it doesn't advance if
16812           it's already in a suitable position.
16813         * include/xapian/postingsource.h: Specify that skip_to() should
16814           stay in the same position if the current position is equal to
16815           the docid argument of skip_to().
16816         * tests/api_db.cc: Add valueweightsource3 to check that skip_to()
16817           stays in the same position in this case.
16819 Thu Jul 10 13:14:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16821         * api/postingsource.cc: Performance improvement - open documents
16822           lazily (using the internal interface) so that we don't access
16823           the record table for each one - we now just access the value
16824           table.  Leads to considerable speed up for me (of the order of 5
16825           times faster).
16827 Thu Jul 10 09:49:39 GMT 2008  Olly Betts <olly@survex.com>
16829         * HACKING: Overhaul the sections on building from SVN.  Remove ':'
16830           from the end of headings.
16832 Wed Jul 09 10:43:01 GMT 2008  Olly Betts <olly@survex.com>
16834         * configure.ac: The workaround to avoid probe code for F77, GCJ, and
16835           RC being added to configure is no longer required now that we're
16836           using libtool 2.2 so remove it.
16838 Wed Jul 09 09:40:43 GMT 2008  Olly Betts <olly@survex.com>
16840         * Makefile.am,acinclude.m4,autoconf/dir_contents,
16841           autoconf/rjb_find_stlport.m4,autoconf/type_socklen_t.m4,
16842           m4/dir_contents,m4/rjb_find_stlport.m4,m4/type_socklen_t.m4: Move
16843           the m4 macros which we ship for building configure from into the m4
16844           subdirectory and remove acinclude.m4 - now aclocal will pull in the
16845           required macros automatically.
16847 Wed Jul 09 09:14:31 GMT 2008  Olly Betts <olly@survex.com>
16849         * Makefile.am: Update for m4 -> m4-macros change.
16851 Wed Jul 09 09:11:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16853         * matcher/externalpostlist.cc: Fix segfault if get_maxweight() is
16854           called when the postlist has reached end.  This happens if the
16855           end is reached during decay of an AND_MAYBE postlist to an AND.
16856         * common/postlist.h,matcher/: Add comments documenting that
16857           recalc_maxweight() may be called after the postlist has reached
16858           the end, and noting why this is safe in various cases.
16860 Wed Jul 09 09:02:08 GMT 2008  Olly Betts <olly@survex.com>
16862         * m4-macros/dir_contents,m4-macros/xapian.m4,m4/dir_contents,
16863           m4/xapian.m4: Move xapain.m4 to a new subdirectory (m4-macros) since
16864           libtoolize now installs m4 files into subdirectory m4 which we don't
16865           really want picking up by applications building against an
16866           uninstalled xapian-core.
16868 Wed Jul 09 08:03:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16870         * Makefile.am,m4/dir_contents,xapian.m4: Move xapian.m4 back into
16871           the m4 subdirectory.  For uninstalled builds, we need xapian.m4
16872           to be in a directory without any other .m4 files, or we'll be
16873           likely to pull in the wrong versions of other macros.  The top
16874           level directory contains aclocal.m4 and acinclude.m4, so isn't
16875           suitable for this.  Also, the xapian-bindings and omega
16876           compilations hadn't been updated with the new xapian.m4 location,
16877           so this fixes the build for them.
16879 Wed Jul 09 07:17:38 GMT 2008  Olly Betts <olly@survex.com>
16881         * Makefile.am,configure.ac: Use AC_CONFIG_MACRO_DIR and
16882           ACLOCAL_AMFLAGS as libtoolize 2.2.4 recommends.
16884 Wed Jul 09 06:37:21 GMT 2008  Olly Betts <olly@survex.com>
16886         * acinclude.m4: Remove reference to definedir.m4.
16888 Wed Jul 09 05:32:24 GMT 2008  Olly Betts <olly@survex.com>
16890         * Makefile.am,m4/dir_contents,m4/xapian.m4,xapian.m4: Move xapian.m4
16891           to the top level rather than devoting a whole directory to a single
16892           file.
16894 Wed Jul 09 05:23:02 GMT 2008  Olly Betts <olly@survex.com>
16896         * Makefile.am,autoconf/definedir.m4,configure.ac: AC_DEFINE_DIR()
16897           hasn't been used for years so remove it.
16899 Wed Jul 09 02:32:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16901         * api/postingsource.cc,include/xapian/postingsource.h: Add an
16902           alternative constructor for ValueWeightPostingSource which allows
16903           the upper bound on the weights stored to be specified manually.
16904           This is useful for database formats like flint which don't have
16905           an upper bound available.  It could conceivably also be useful if
16906           you know that a query will only be accessing a subset of
16907           documents for which you know a more precise upper bound than the
16908           database-wide upper bound.
16910 Wed Jul 09 01:59:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16912         * matcher/externalpostlist.cc: Add DEBUGCALL macros to enable
16913           easier debugging.
16915 Mon Jul 07 12:40:20 GMT 2008  Olly Betts <olly@survex.com>
16917         * HACKING,NEWS: Update to reflect the autotools now being in the SVN
16918           tree, and the versions we are now bootstrapping with.
16919         * NEWS: Update from ChangeLog.
16921 Sun Jul 06 22:59:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16923         * matcher/multimatch.cc,matcher/remotesubmatch.cc,
16924           matcher/remotesubmatch.h: Apply patch from ticker #279 to improve
16925           performance of matches with multiple remote databases.  This adds
16926           a special case for the top match being from a remote database, to
16927           avoid accessing the termlist to calculate the percentage scaling
16928           factor.
16930 Sun Jul 06 22:55:17 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16932         * api/omenquire.cc: When calculating percentages, round to the
16933           nearest integer, rather than rounding down.  There was a FIXME
16934           about this, but no explanation of why it hadn't already been
16935           done, and I can see no bad side effects so far.  The most obvious
16936           positive effect is that queries which should get precisely 100%
16937           will no longer be assigned 99% due to rounding errors.
16939 Sun Jul 06 22:48:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16941         * tests/api_anydb.cc: Add new test, topercent2, checking the
16942           percentage values returned by standard searches, both against
16943           known current values for some of the hits, and against a search
16944           with a "local" backend.  Also, in rsetmultidb1, test the return
16945           value of mset_range_is_same_weights().
16946         * tests/api_db.cc: In rsetmultidb2, test the return value of
16947           mset_range_is_same_weights().
16949 Sun Jul 06 22:46:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16951         * tests/harness/testutils.cc,tests/harness/testutils.h: Add
16952           function to test if two mset ranges have the same percentages,
16953           and slightly improve the messages on failure of the mset range
16954           comparison tests.
16956 Fri Jul 04 23:31:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16958         * NEWS: Swap two words to make a sentence make sense.
16960 Fri Jul 04 11:40:13 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16962         * matcher/multimatch.cc: Fix calculation of lower bound when
16963           collapsing and match deciders are used.  (Only tended to manifest
16964           when the collapsing threw away a lot of documents, and when also
16965           using a custom sort order, but I don't think that was required.)
16966           Also, perform the adjustments due to percentage cutoffs after the
16967           other adjustments, to avoid the lower bound setting for
16968           collapsing overriding the lower bound from the percentage cutoff.
16969         * tests/harness/index_utils.cc: Add a value to value slot 12, which
16970           only has 5 different values, for testing this bug.
16971         * tests/api_db.cc: Add regression test for calculation of the lower
16972           bound.
16974 Fri Jul 04 10:24:16 GMT 2008  Olly Betts <olly@survex.com>
16976         * Makefile.am,bin/Makefile.mk,examples/Makefile.mk: Remove
16977           extra_cleandirs as automake 1.10.1 fixes the bug which it was working
16978           around.
16980 Fri Jul 04 04:36:59 GMT 2008  Olly Betts <olly@survex.com>
16982         * HACKING: Synchronise tiny change from branches/1.0 which isn't
16983           on trunk for some reason.
16985 Fri Jul 04 04:35:19 GMT 2008  Olly Betts <olly@survex.com>
16987         * HACKING: Bootstrap with newer versions of the autotools:
16988           + autoconf 2.61 -> 2.62: faster
16989           + automake 1.10 -> 1.10.1: "make clean" cleans all .libs
16990             directories.
16991           + libtool 1.5.24 -> 2.2.4: many improvements; faster.
16993 Thu Jul 03 03:17:42 GMT 2008  Olly Betts <olly@survex.com>
16995         * docs/glossary.rst,docs/intro_ir.html: Improve intro_ir a bit, and
16996           link to the definition of RSet in the glossary.
16998 Thu Jul 03 01:30:56 GMT 2008  Olly Betts <olly@survex.com>
17000         * examples/quest.cc: Output get_description() of the parsed query.
17002 Sun Jun 29 18:56:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17004         * matcher/multimatch.cc: Rename percent_factor variable, used here
17005           as part of the percent_cutoff mechanism, to make its purpose
17006           clearer, and to avoid confusing it with percent_scale in this
17007           file, and percent_factor used elsewhere in matcher/.
17009 Sat Jun 28 21:51:42 GMT 2008  Olly Betts <olly@survex.com>
17011         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Disable
17012           "JAVADOC_AUTOBRIEF" since we always try to write a brief
17013           description explicitly, and it causes problems in some cases.
17015 Sat Jun 28 21:32:21 GMT 2008  Olly Betts <olly@survex.com>
17017         * common/: Fix typos in doxygen comments.
17019 Sat Jun 28 10:33:06 GMT 2008  Olly Betts <olly@survex.com>
17021         * languages/stem.cc: Add "nl" for selecting the Dutch stemmer, which
17022           was accidentally missing from the list of language codes recognised.
17023           Reported by Joey Hess in Debian bug #484458.
17024         * tests/api_nodb.cc: Extend stemlangs1 to check that all the language
17025           codes work, and so does Stem("").
17027 Fri Jun 27 00:27:31 GMT 2008  Olly Betts <olly@survex.com>
17029         * NEWS: Update from ChangeLog and against 1.0 branch.
17031 Thu Jun 26 17:17:41 GMT 2008  Olly Betts <olly@survex.com>
17033         * net/remoteconnection.cc: The "already done" check in do_close() is
17034           no longer useful, so remove it.  Shrink the try block to only cover
17035           the call to send_message().
17037 Thu Jun 26 08:19:41 GMT 2008  Olly Betts <olly@survex.com>
17039         * net/remoteconnection.cc: Don't bother to send MSG_SHUTDOWN for a
17040           read-only Database - just closing the connection is enough.
17042 Thu Jun 26 04:49:06 GMT 2008  Olly Betts <olly@survex.com>
17044         * backends/chert/chert_btreebase.cc: Don't need <string.h> as well as
17045           <cstring>.
17046         * backends/flint/flint_btreebase.cc,bin/xapian-replicate-server.cc:
17047           Prefer <cXXX> to <XXX.h>.
17049 Tue Jun 24 04:31:10 GMT 2008  Olly Betts <olly@survex.com>
17051         * tests/harness/testsuite.cc: Use resize() to truncate a string.
17053 Tue Jun 24 04:23:59 GMT 2008  Olly Betts <olly@survex.com>
17055         * net/remoteconnection.cc: Fill in a guess at the __WIN32__ version of
17056           the code needed in RemoteConnection::do_close().
17058 Tue Jun 24 04:06:02 GMT 2008  Olly Betts <olly@survex.com>
17060         * net/progclient.cc: Fix debug logging for __WIN32__.
17062 Tue Jun 24 03:11:09 GMT 2008  Olly Betts <olly@survex.com>
17064         * net/remoteserver.cc: Just delete the Database * pointer db.  The
17065           Database dtor is virtual, so it's fine to delete a WritableDatabase
17066           via a Database * pointer.
17068 Tue Jun 24 01:29:12 GMT 2008  Olly Betts <olly@survex.com>
17070         * backends/remote/remote-database.cc,common/remoteconnection.h,
17071           net/remoteconnection.cc,net/replicatetcpclient.cc: Wait for the
17072           connection to close rather than using a different shutdown message
17073           which requires a reply.  Mostly this is more backport-friendly, but
17074           it also avoids a message reply (albeit it not in a performance
17075           sensitive situation).  Needs implementing for __WIN32__.
17077 Tue Jun 24 01:07:16 GMT 2008  Olly Betts <olly@survex.com>
17079         * net/remoteserver.cc: Unwrap comment.
17081 Tue Jun 24 00:52:02 GMT 2008  Olly Betts <olly@survex.com>
17083         * net/remoteserver.cc: Kill a blank line.
17085 Tue Jun 24 00:49:50 GMT 2008  Olly Betts <olly@survex.com>
17087         * backends/remote/remote-database.cc,common/remoteconnection.h,
17088           common/remoteprotocol.h,docs/remote_protocol.html,
17089           net/remoteconnection.cc,net/remoteserver.cc,
17090           net/replicatetcpclient.cc: Revert r10713 in preparation for applying
17091           an alternative fix.
17093 Mon Jun 23 21:51:42 GMT 2008  Olly Betts <olly@survex.com>
17095         * HACKING: Expand list of keywords for brace cuddling.  Add rationale.
17097 Mon Jun 23 01:53:03 GMT 2008  Olly Betts <olly@survex.com>
17099         * tests/queryparsertest.cc: Cuddle braces after for loops for
17100           consistency with the rest of the code.  Use string::resize() to
17101           shrink a string rather than assigning the result of substr(0, x).
17102         * HACKING: Explicitly document that braces should be cuddled after
17103           control flow structures.
17105 Mon Jun 23 01:34:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17107         * tests/perftest/perftest_matchdecider.cc: Reworked performance
17108           test to include a test of an alldocspostingiterator, and to only
17109           rebuild the database involved if it's not up-to-date.
17111 Mon Jun 23 01:20:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17113         * common/valuestats.h: Add missing #include.
17115 Mon Jun 23 01:10:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17117         * bin/xapian-compact.cc: Add support for the valuestats which are
17118           now held in the value table for chert.
17120 Sun Jun 22 23:44:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17122         * backends/chert/: Change ChertAllDocsPostList to inherit from
17123           ChertPostList and use the doclen list from the posting table
17124           rather than using the termlist table.  This helps towards making
17125           the termlist table optional, reduces the amount of data read in
17126           the process of iterating through an alldocs postlist, and can
17127           make a massive difference in performance: I've measured the time
17128           to iterate through all the documents in a 1000000 document
17129           database, and the patch speeds this operation up by a factor of
17130           6.
17132           Add `keep_reference` parameter to the ChertPostList constructor,
17133           instead of not keeping a reference if the term is empty.
17134           ChertAllDocsPostList uses this to keep a reference to the
17135           database while using an empty term.
17137           Add ChertAllDocsModifiedPostList class, inspired by
17138           ChertModifiedPostList, (with corresponding new source files) to
17139           handle alldocs postlist with modifications: this wasn't needed
17140           before since the termlist is updated immediately after changes.
17142 Sun Jun 22 21:37:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17144         * tests/harness/: Add "name" parameter to
17145           BackendManager::get_writable_database_as_database(), and
17146           BackendManager::get_writable_database_again(), (and subclasses)
17147           so that old databases can be revived.  Useful for the performance
17148           tests.
17150 Sun Jun 22 09:30:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17152         * tests/api_anydb.cc: Expand tests for alldocspostlist, covering
17153           iteration of modified databases.
17155 Fri Jun 20 08:28:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17157         * backends/remote/remote-database.cc,common/remoteconnection.h,
17158           common/remoteprotocol.h,docs/remote_protocol.html,
17159           net/remoteconnection.cc,net/remoteserver.cc,
17160           net/replicatetcpclient.cc: Add new message
17161           "MSG_SHUTDOWNANDCONFIRM" which causes a reply of
17162           "REPLY_SHUTDOWNCONFIRMATION" to be sent after the database has
17163           been closed.  Use this message when closing a writable database,
17164           to ensure that the destructor doesn't return until the lock on
17165           the database has been released.
17167 Tue Jun 17 14:28:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17169         * tests/perftest/freemem.cc,tests/perftest/perftest.cc: Patches
17170           from Charlie to allow perftest to compile on windows.
17172 Tue Jun 17 13:23:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17174         * backends/chert/chert_btreebase.cc,backends/chert/chert_lock.cc,
17175           backends/flint/flint_btreebase.cc,backends/flint/flint_lock.cc,
17176           bin/xapian-replicate-server.cc: Add some missing includes, needed
17177           for GCC 4.3.
17179 Tue Jun 17 11:00:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17181         * tests/perftest/get_machine_info.in: Updates to hopefully get
17182           useful version information on windows.
17184 Mon Jun 16 12:13:48 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17186         * tests/harness/testsuite.cc: Don't call backendmanager->posttest()
17187           if no backendmanager is in use.
17189 Sun Jun 15 02:19:03 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17191         * tests/harness/: Wait for subprocesses to finish at end of tests,
17192           with remotetcp backend, to avoid test failures due to final flush
17193           of a subprocess writing to the database used for the next test.
17195 Thu Jun 12 09:09:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17197         * common/unaligned.h: Add some casts to make GCC 4.3.0 happy.
17199 Thu Jun 12 09:06:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17201         * backends/chert/chert_btreebase.cc: Add missing #include (needed
17202           for compilation with GCC 4.3.0).
17204 Tue Jun 10 17:38:07 GMT 2008  Olly Betts <olly@survex.com>
17206         * tests/harness/testrunner.cc: Use startswith().  Fix memory leak.
17208 Fri Jun 06 11:02:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17210         * Makefile.am,tests/Makefile.am: Fix make check-* targets to match
17211           the current set of backends.  Add .multichert and .multiflint to
17212           the clean-local hook in tests/.  Leave .multi there for now, to
17213           clean up existing .multi directories in the automated build trees.
17215 Fri Jun 06 08:26:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17217         * common/Makefile.mk: Add valuestats.h to distribution.
17219 Thu Jun 05 23:37:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17221         * backends/chert/chert_values.cc: Fix compile error in assertion in
17222           recently added code for calculating value statistics.
17224 Thu Jun 05 21:38:01 GMT 2008  Olly Betts <olly@survex.com>
17226         * queryparser/queryparser.lemony: Use std::vector<Term *> rather than
17227           std::list<Term *> so that size() is O(1) with any (sane) compiler
17228           and because a list of pointers isn't space efficient (and we don't
17229           need to splice here).  Factor out common code in if branches in
17230           TermGroup::as_group().
17232 Thu Jun 05 17:04:23 GMT 2008  Olly Betts <olly@survex.com>
17234         * queryparser/queryparser.lemony: Use "startswith()" to avoid creating
17235           a new string object.
17237 Thu Jun 05 09:09:54 GMT 2008  Olly Betts <olly@survex.com>
17239         * queryparser/queryparser.lemony: Remove variable which is set but
17240           never otherwise used.
17242 Thu Jun 05 09:08:22 GMT 2008  Olly Betts <olly@survex.com>
17244         * api/omqueryinternal.cc: Don't call find() twice - reuse the result
17245           we just got.  Use AssertEq() rather than Assert() on an equality
17246           test.  Clarify a comment.
17248 Wed Jun 04 21:32:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17250         * queryparser/queryparser.lemony: Fix more O(N*N) scaling, this
17251           time in the way in which auto multiword synonyms are detected.
17252           Instead of trying all possible sub-sequences of terms for
17253           synonyms, use synonym_keys and the skip_to() method to check for
17254           synonyms which actually exist in the synonyms table.
17255         * tests/queryparsertest.cc: Extend the scaling test to check this
17256           case.
17258 Wed Jun 04 12:42:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17260         * queryparser/queryparser.lemony: Fix various cases where queries
17261           were constructed pair-wise within a loop, which leads to O(N*N)
17262           scaling behaviour (because each intermediate query construction
17263           is O(M) where M is the size of that query, and there are N of
17264           them).
17265         * tests/queryparsertest.cc: Add test to check that parsing of a
17266           query scales roughly linearly with query size.
17267         * common/omtime.h: Add method to get an OmTime as a double - used
17268           by the new query parser test.
17270 Wed Jun 04 12:18:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17272         * tests/harness/testsuite.h: Fix TEST_LESSER_OR_EQUAL and
17273           TEST_LESSER macros to compare in the right direction (these
17274           macros are, so far, unused).
17276 Mon Jun 02 18:19:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17278         * api/postingsource.cc: Make ValueWeightPostingSource use value
17279           statistics, if they're available, to return accurate term
17280           frequency statistics, and a better maxweight.
17281         * tests/api_db.cc: Add valueweightsource2, to test the bounds and
17282           maxweight returned by a ValueWeightPostingSource for backends
17283           with valuestats support.  Replace !multi condition in
17284           valueweightsource1 with a SKIP_TEST_FOR_BACKEND invocation, since
17285           this is a shortcoming we should fix at some point.
17287 Mon Jun 02 18:16:52 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17289         * tests/harness/testrunner.cc,tests/harness/testrunner.h: Replace
17290           DO_TESTS_FOR_BACKEND macro with a do_tests_for_backend method;
17291           the method version takes a BackendManager * and gets the backend
17292           name from that, rather than requiring it to be specified.
17293           Requires addition of a couple of extra private members to the
17294           TestRunner class.
17296 Mon Jun 02 10:27:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17298         * include/xapian/database.h: Add get_value_freq(),
17299           get_value_lower_bound() and get_value_upper_bound() methods to
17300           Database, to get statistics about the values stored in a slot.
17301         * api/omdatabase.cc,backends/chert/,backends/database.cc,
17302           backends/inmemory/inmemory_database.cc,
17303           backends/inmemory/inmemory_database.h,
17304           backends/remote/remote-database.cc,common/,
17305           net/remoteserver.cc: Add support for the value statistics methods
17306           to chert, inmemory, multi and remote databases.
17307         * tests/Makefile.am,tests/api_valuestats.cc,
17308           tests/harness/testrunner.cc,tests/harness/testrunner.h: Add test
17309           of the value statistics code, and a "valuestats" backend property
17310           to select only backends supporting this.
17312 Mon Jun 02 10:26:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17314         * tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
17315           Move implementation of get_dbtype() method out of header.
17317 Mon Jun 02 09:44:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17319         * rests/harness/: Make flint and chert subtypes for the remote and
17320           multi backend types.  These are specified (on the command line
17321           and elsewhere) by the main type (multi, remotetcp or remoteprog),
17322           followed by an underscore, followed by the subtype (flint or
17323           chert).  Change return type of BackendManager::get_dbtype() to a
17324           string instead of a const char *, to allow backend managers which
17325           have subtypes to generate the result dynamically.
17326         * tests/harness/backendmanager_remote.cc,
17327           tests/harness/backendmanager_remote.h,
17328           tests/harness/backendmanager_remoteprog.cc,
17329           tests/harness/backendmanager_remoteprog.h,
17330           tests/harness/backendmanager_remotetcp.cc,
17331           tests/harness/backendmanager_remotetcp.h: Add new
17332           BackendManagerRemote class as a common base for the two remote
17333           backend managers, and move duplicated code into it.  Add
17334           parameter to its constructor, and to the constructors of the
17335           remote backend manager subclasses, to control the type of
17336           database to use at the remote end.
17337         * tests/harness/backendmanager_multi.cc,
17338           tests/harness/backendmanager_multi.h: Add parameter to
17339           constructor of BackendManagerMulti, controlling the type of
17340           database to use for sub databases.  Put the generated database
17341           files in ".multiflint" and ".multichert" instead of ".multi".
17342         * tests/harness/testrunner.cc: Update list of backend properties to
17343           contain the new subtypes.  Modify use_backend() to allow either
17344           the full backend type, or just the main part of the backend type,
17345           to be specified, so that, for example "-b multi" will run both
17346           the multi_chert and multi_flint tests.  Add test runs for all the
17347           subtypes now supported.  Catch string exceptions thrown by the
17348           test runner - these can currently occur when neither flint or
17349           chert are compiled in.
17350         * tests/apitest.cc,tests/apitest.h: Adjust return type of
17351           get_dbtype(), implement skip_test_*_backend functions which just
17352           check the prefix of the type, and implement SKIP_TEST_*_BACKEND
17353           macros using these.
17354         * tests/api_anydb.cc: Modify check for running on a multi backend
17355           to copy with getting a string back from get_dbtype().
17357 Sat May 31 00:55:03 GMT 2008  Olly Betts <olly@survex.com>
17359         * tests/Makefile.am,tests/perftest/Makefile.mk: Remove unnecessary
17360           quotes.
17362 Thu May 29 16:04:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17364         * tests/perftest/: Update svn:ignore property for perftest changes.
17366 Thu May 29 14:33:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17368         * tests/perftest/perftest.cc: Include the xapian version string in
17369           the test output.  For runs from SVN, also include the subversion
17370           revision number and branch in the output.
17372 Wed May 28 21:47:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17374         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc,
17375           matcher/valuerangepostlist.h: Apply patch from ticket #270 to
17376           implement ValueRangePostList::next() by using an alldocs posting
17377           list, instead of trying docids in turn.  This is much more
17378           efficient if document IDs are sparse.  Since both methods require
17379           accessing the termlist table to check for the next document, and
17380           some cursory performance tests don't show a measurable difference
17381           in speed, I think this approach is at least safe, and probably
17382           superior.
17384 Wed May 28 21:28:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17386         * tests/perftest/perftest.cc: Log the flush threshold for indexing
17387           runs.
17388         * tests/perftest/perftest_randomidx.cc: Set the run size back to a
17389           reasonably large value.
17391 Wed May 28 20:48:10 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17393         * configure.ac,tests/,tests/perftest/,tests/perftest_matchdecider.cc,
17394           tests/perftest_randomidx.cc: Move performance test source files
17395           into a subdirectory.  Modify output of performance tests to
17396           include some basic system information, and also to include
17397           details of the parameters used to perform indexing tests.
17399 Wed May 28 20:42:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17401         * HACKING: Fix numbering in checklist for developers so that it
17402           doesn't repeat section 5.
17404 Sun May 25 14:21:40 GMT 2008  Olly Betts <olly@survex.com>
17406         * NEWS: Update to match 1.0 branch.
17408 Sun May 25 00:24:09 GMT 2008  Olly Betts <olly@survex.com>
17410         * NEWS: Start to update from ChangeLog, stripping out backported
17411           changes.
17413 Sat May 24 16:38:49 GMT 2008  Olly Betts <olly@survex.com>
17415         * NEWS,configure.ac: Update to match 1.0 branch.
17417 Sat May 24 16:33:19 GMT 2008  Olly Betts <olly@survex.com>
17419         * tests/termgentest.cc: Pass Xapian::Document by const reference.
17421 Sat May 24 14:30:59 GMT 2008  Olly Betts <olly@survex.com>
17423         * bin/xapian-compact.cc: Only warn about duplicate user metadata keys
17424           if the tags aren't the same.
17426 Sat May 24 12:14:55 GMT 2008  Olly Betts <olly@survex.com>
17428         * bin/Makefile.am: Put special -I options in foo_CPPFLAGS not
17429           foo_CXXFLAGS.  As well as being the more correct place, this also
17430           means that AM_CXXFLAGS is now used when compiling xapian-check and
17431           xapian-compact, which in particular enables compiler warnings.
17432         * bin/xapian-check.cc,bin/xapian-compact.cc,bin/xapian-check-flint.cc:
17433           Fix warnings (one unused variable and a few cases of a variable
17434           masking another with the same name - none problematic in practice).
17436 Fri May 23 09:22:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17438         * backends/inmemory/inmemory_database.cc: Fix bug in inmemory
17439           database, which resulted in the values not being stored correctly
17440           if document IDs were sparse.
17441         * matcher/valuerangepostlist.cc: Fix the next() method not to
17442           return document IDs which aren't present in the database - this
17443           used to happen if the document IDs were sparse.
17444         * tests/api_anydb.cc: Add "valuerange2", a regression test for
17445           OP_VALUE_LE returning document IDs which aren't present in the
17446           database, and "alldocspl1", which does a generic test of an
17447           alldocs postlist in a sparse database (this passed before the
17448           above changes, but might as well be added anyway).
17450 Wed May 21 19:33:12 GMT 2008  Olly Betts <olly@survex.com>
17452         * docs/Makefile.am: test == isn't portable - use test = instead.
17454 Wed May 21 13:22:23 GMT 2008  Olly Betts <olly@survex.com>
17456         * HACKING: Fix path for atreus.
17458 Wed May 21 13:21:08 GMT 2008  Olly Betts <olly@survex.com>
17460         * HACKING: Fix search&replace error - the CVS module is still called
17461           www.xapian.org.
17463 Wed May 21 13:16:39 GMT 2008  Olly Betts <olly@survex.com>
17465         * HACKING: Reword, since environmental variable PATH isn't "set by
17466           $PATH".
17468 Wed May 21 13:16:21 GMT 2008  Olly Betts <olly@survex.com>
17470         * HACKING: ixion -> atreus.
17472 Wed May 21 13:12:07 GMT 2008  Olly Betts <olly@survex.com>
17474         * include/xapian/database.h: Improve documentation comment.
17476 Sun May 18 05:20:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17478         * docs/remote_protocol.html: Remove spurious "i" at end of line.
17480 Sat May 17 11:53:54 GMT 2008  Olly Betts <olly@survex.com>
17482         * tests/harness/testutils.h: Layout and macro parameter name tweaks.
17484 Fri May 16 20:42:05 GMT 2008  Olly Betts <olly@survex.com>
17486         * bin/xapian-compact.cc: Check that all source databases are the same
17487           type (flint or chert).  Copy over "iamchert" for chert.  Update
17488           terminology - the "meta file" is now called the "version file".
17490 Fri May 16 17:33:22 GMT 2008  Olly Betts <olly@survex.com>
17492         * backends/chert/chert_database.cc,backends/chert/chert_version.cc:
17493           Need <cstdio> for rename().
17495 Fri May 16 17:27:56 GMT 2008  Olly Betts <olly@survex.com>
17497         * backends/chert/chert_database.cc: Correct FIXME comment and mark
17498           as "FIXME:1.2.0".
17500 Fri May 16 17:21:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17502         * tests/harness/testrunner.cc,tests/harness/testrunner.h: Add
17503           condition to test if the backend is "inmemory".
17504         * tests/perftest_randomidx.cc: Change the run size from 1000
17505           documents to 1000000.  Disable this test for the inmemory
17506           backend, because it will quickly use up all the memory on the
17507           machine.
17509 Fri May 16 16:56:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17511         * HACKING: Add note about some more PDF generation tools which are
17512           needed, and that doxygen requires them to be on PATH.
17514 Fri May 16 16:38:40 GMT 2008  Olly Betts <olly@survex.com>
17516         * HACKING: Ubuntu now needs tetex-extra too.
17518 Fri May 16 10:05:30 GMT 2008  Olly Betts <olly@survex.com>
17520         * bin/xapian-compact.cc: Fix to not reject chert databases during the
17521           "up front" check.
17523 Thu May 15 20:20:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17525         * net/progclient.cc: Set namespace for close methods (to avoid
17526           conflicting with the close method I'm working on adding to
17527           database internal).
17529 Wed May 14 17:14:53 GMT 2008  Olly Betts <olly@survex.com>
17531         * backends/database.cc: Default to flint not chert for a new database.
17533 Wed May 14 17:11:56 GMT 2008  Olly Betts <olly@survex.com>
17535         * api/postingsource.cc,docs/postingsource.rst,
17536           include/xapian/postingsource.h,matcher/externalpostlist.cc:
17537           PostingSource::check() now returns the valid flag rather than
17538           passing it in by reference to be set.  Change "should" to "must"
17539           for the get_termfreq_est() requirement at Richard's suggestion.
17540           Add parameter names to PostingSource method prototypes and update
17541           documentation comments to match.
17543 Wed May 14 15:34:38 GMT 2008  Olly Betts <olly@survex.com>
17545         * docs/Makefile.am,docs/index.html,docs/postingsource.rst: Add
17546           topic document for PostingSource.
17548 Mon May 12 17:27:13 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17550         * include/xapian/postingsource.h: Add documentation comments for
17551           ValueWeightPostingSource, and tweak
17552           PostingSource::get_maxweight() comment a bit more.
17554 Mon May 12 16:51:01 GMT 2008  Olly Betts <olly@survex.com>
17556         * include/xapian/postingsource.h: Clarify get_maxweight() if the
17557           maximum from now on.
17559 Mon May 12 06:51:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17561         * api/postingsource.cc,include/xapian/postingsource.h,tests/api_db.cc,
17562           tests/harness/index_utils.cc: Add ValueWeightPostingSource, which
17563           reads a value, applies sortable_unserialise() to it, and returns
17564           that as the weight for each document.
17566 Sun May 11 23:49:07 GMT 2008  Olly Betts <olly@survex.com>
17568         * queryparser/lemon.c,queryparser/queryparser.lt: Do a final sync by
17569           comparing our versions to the latest vanilla upstream.  Add a note
17570           to each file of the latest revision sync-ed against.
17571         * queryparser/lemon.c: Enable '#define PRIVATE static'.
17573 Sun May 11 22:48:27 GMT 2008  Olly Betts <olly@survex.com>
17575         * NEWS: Add a note of the speed-up that the recent QueryParser changes
17576           have given.
17578 Sun May 11 22:10:19 GMT 2008  Olly Betts <olly@survex.com>
17580         * queryparser/lemon.c: Merge upstream "Check-in Number: 5053".
17582 Sun May 11 22:01:48 GMT 2008  Olly Betts <olly@survex.com>
17584         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5052".
17586 Sun May 11 21:56:03 GMT 2008  Olly Betts <olly@survex.com>
17588         * queryparser/queryparser.lt: Fix a comment typo.
17590 Sun May 11 21:52:30 GMT 2008  Olly Betts <olly@survex.com>
17592         * queryparser/lemon.c: Merge upstream "Check-in Number: 4751".
17594 Sun May 11 21:51:18 GMT 2008  Olly Betts <olly@survex.com>
17596         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4745".
17598 Sun May 11 21:47:03 GMT 2008  Olly Betts <olly@survex.com>
17600         * queryparser/queryparser.lt: Comment out memset() call added by
17601           one of the earlier merged upstream changes - a later comment on
17602           the ticket referred to notes that this was actually a bug in the
17603           grammar of the people who reported it.
17605 Sun May 11 21:44:46 GMT 2008  Olly Betts <olly@survex.com>
17607         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4743".
17609 Sun May 11 21:41:55 GMT 2008  Olly Betts <olly@survex.com>
17611         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4738".
17613 Sun May 11 21:33:13 GMT 2008  Olly Betts <olly@survex.com>
17615         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17616           "Check-in Number: 4736".
17617         * queryparser/lemon.c: Add %syntax_error directive since lemon has
17618           changed it's error recovery strategy if you don't have one.
17620 Sun May 11 20:54:31 GMT 2008  Olly Betts <olly@survex.com>
17622         * queryparser/queryparser.lemony: If we hit a syntax error, don't
17623           bother feeding further tokens to the parser!
17625 Sat May 10 21:42:44 GMT 2008  Olly Betts <olly@survex.com>
17627         * queryparser/lemon.c: Merge upstream "Check-in Number: 4641".
17629 Sat May 10 21:33:10 GMT 2008  Olly Betts <olly@survex.com>
17631         * queryparser/lemon.c: Merge upstream "Check-in Number: 4473".
17633 Sat May 10 21:31:25 GMT 2008  Olly Betts <olly@survex.com>
17635         * queryparser/lemon.c: Merge upstream "Check-in Number: 4439".
17637 Sat May 10 21:28:27 GMT 2008  Olly Betts <olly@survex.com>
17639         * queryparser/lemon.c: Merge upstream "Check-in Number: 4274".
17641 Sat May 10 21:25:35 GMT 2008  Olly Betts <olly@survex.com>
17643         * queryparser/lemon.c: Merge upstream "Check-in Number: 4190".
17645 Sat May 10 21:20:16 GMT 2008  Olly Betts <olly@survex.com>
17647         * queryparser/lemon.c: Merge upstream "Check-in Number: 4160".
17649 Sat May 10 21:07:15 GMT 2008  Olly Betts <olly@survex.com>
17651         * queryparser/lemon.c: Merge upstream "Check-in Number: 3753".
17653 Sat May 10 21:03:19 GMT 2008  Olly Betts <olly@survex.com>
17655         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17656           "Check-in Number: 3738".
17658 Sat May 10 20:00:09 GMT 2008  Olly Betts <olly@survex.com>
17660         * queryparser/lemon.c: Merge upstream "Check-in Number: 3654".
17662 Sat May 10 19:55:32 GMT 2008  Olly Betts <olly@survex.com>
17664         * queryparser/lemon.c: Merge upstream "Check-in Number: 3594".
17666 Sat May 10 19:46:05 GMT 2008  Olly Betts <olly@survex.com>
17668         * queryparser/lemon.c: Merge upstream "Check-in Number: 3593".
17670 Sat May 10 19:44:15 GMT 2008  Olly Betts <olly@survex.com>
17672         * queryparser/lemon.c: Merge upstream "Check-in Number: 3591".
17674 Sat May 10 19:40:12 GMT 2008  Olly Betts <olly@survex.com>
17676         * queryparser/lemon.c: Merge upstream "Check-in Number: 3528".
17678 Sat May 10 19:38:36 GMT 2008  Olly Betts <olly@survex.com>
17680         * queryparser/lemon.c: Merge upstream "Check-in Number: 3476".
17682 Sat May 10 19:36:06 GMT 2008  Olly Betts <olly@survex.com>
17684         * queryparser/lemon.c: Merge upstream "Check-in Number: 3333".
17686 Sat May 10 19:33:33 GMT 2008  Olly Betts <olly@survex.com>
17688         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3244".
17690 Sat May 10 19:29:18 GMT 2008  Olly Betts <olly@survex.com>
17692         * queryparser/lemon.c: Merge upstream "Check-in Number: 3226".
17694 Sat May 10 19:19:48 GMT 2008  Olly Betts <olly@survex.com>
17696         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3224".
17698 Sat May 10 19:14:18 GMT 2008  Olly Betts <olly@survex.com>
17700         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17701           "Check-in Number: 3210".
17703 Sat May 10 18:56:50 GMT 2008  Olly Betts <olly@survex.com>
17705         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3181".
17707 Sat May 10 17:05:35 GMT 2008  Olly Betts <olly@survex.com>
17709         * queryparser/lemon.c: Merge upstream "Check-in Number: 3126".
17711 Sat May 10 16:51:31 GMT 2008  Olly Betts <olly@survex.com>
17713         * queryparser/lemon.c: Merge upstream "Check-in Number: 2764".
17715 Sat May 10 16:40:48 GMT 2008  Olly Betts <olly@survex.com>
17717         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17718           "Check-in Number: 2761".
17720 Sat May 10 16:32:45 GMT 2008  Olly Betts <olly@survex.com>
17722         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 2458".
17724 Sat May 10 16:29:55 GMT 2008  Olly Betts <olly@survex.com>
17726         * queryparser/lemon.c: Merge upstream "Check-in Number: 2345".
17728 Sat May 10 16:08:28 GMT 2008  Olly Betts <olly@survex.com>
17730         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 2302".
17732 Sat May 10 15:50:23 GMT 2008  Olly Betts <olly@survex.com>
17734         * queryparser/lemon.c: Merge upstream "Check-in Number: 2208".
17736 Sat May 10 15:03:59 GMT 2008  Olly Betts <olly@survex.com>
17738         * tests/harness/testsuite.cc: Prefer `str.assign(ptr)' to `str =
17739           string(ptr)'.
17741 Sat May 10 14:48:38 GMT 2008  Olly Betts <olly@survex.com>
17743         * api/matchspy.cc,api/replication.cc: Prefer `str.assign(ptr, len)' to
17744           `str = string(ptr, len)'.
17746 Fri May 09 16:53:19 GMT 2008  Olly Betts <olly@survex.com>
17748         * net/remoteserver.cc: No entries in dispatch[] are NULL, so there's
17749           no point testing for it.
17751 Fri May 09 16:51:10 GMT 2008  Olly Betts <olly@survex.com>
17753         * net/remoteconnection.cc: Remove pointless conversion to size_t which
17754           breaks GCC 2.95 build.
17756 Fri May 09 16:22:46 GMT 2008  Olly Betts <olly@survex.com>
17758         * api/replication.cc: Needs <cstdio> for rename().
17760 Fri May 09 15:41:08 GMT 2008  Olly Betts <olly@survex.com>
17762         * tests/harness/testutils.cc: No need for an explicit std::endl when
17763           calling TEST_AND_EXPLAIN().
17765 Fri May 09 15:38:22 GMT 2008  Olly Betts <olly@survex.com>
17767         * api/replication.cc: Use '\n' rather than endl in the middle of
17768           writing stuff, since endl forces a flush which just adds useless
17769           overhead.
17771 Fri May 09 15:24:42 GMT 2008  Olly Betts <olly@survex.com>
17773         * common/omdebug.h: Fix RETURN macro to work on GCC 2.95 for the case
17774           `RETURN(string())'.
17776 Fri May 09 08:33:35 GMT 2008  Olly Betts <olly@survex.com>
17778         * include/xapian/postingsource.h: Add a protected default ctor so that
17779           code subclassing PostingSource actually compiles!
17781 Thu May 08 16:41:59 GMT 2008  Olly Betts <olly@survex.com>
17783         * include/xapian/postingsource.h: Add doxygen comments for
17784           Xapian::PostingSource.  Add private assignment operator and
17785           copy constructor to prevent copying.
17787 Thu May 08 16:40:49 GMT 2008  Olly Betts <olly@survex.com>
17789         * common/postlist.h: Fix one doxygen comment and improve another.
17791 Mon May 05 15:22:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17793         * tests/Makefile.am: Clean up .chert in clean-local.
17795 Mon May 05 14:52:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17797         * docs/Makefile.am: Adapt the dist-check hook to work with a VPATH
17798           build in non-maintainer mode.
17800 Mon May 05 13:18:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17802         * docs/Makefile.am: Fix "make distcheck" by using dist-hook to
17803           install generated files, with the appropriate dependency, instead
17804           of wildcards in EXTRA_DIST which don't give the correct expansion
17805           unless the files happened to be generated already by another
17806           rule. Also, ensure that the documentation is generated before
17807           attempting to install it.
17809 Sun May 04 09:30:53 GMT 2008  Olly Betts <olly@survex.com>
17811         * backends/chert/chert_version.cc,backends/flint/flint_version.cc,
17812           common/stringutils.h: Move CONST_STRLEN() into stringutils.h.
17813         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
17814           Use CONST_STRLEN().
17816 Sat May 03 18:56:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17818         * api/omenquire.cc: Reset the internal sorter pointer to NULL when
17819           changing to a sort by value. Fixes #256.
17820         * tests/api_sorting.cc: Add regression test.
17822 Sat May 03 18:52:27 GMT 2008  Olly Betts <olly@survex.com>
17824         * include/xapian/unicode.h: Mark internal functions as @internal.
17826 Sat May 03 18:43:12 GMT 2008  Olly Betts <olly@survex.com>
17828         * docs/doxygen_api_conf.in: Disable header and directory relationship
17829           graphs in the API documentation as they aren't interesting to users.
17831 Sat May 03 18:12:30 GMT 2008  Olly Betts <olly@survex.com>
17833         * docs/gen_codestructure_doc.in: Link to trac instead of viewvc.
17835 Sat May 03 17:25:02 GMT 2008  Olly Betts <olly@survex.com>
17837         * docs/replication_protocol.rst: Fix a few typos.
17839 Sat May 03 15:53:24 GMT 2008  Olly Betts <olly@survex.com>
17841         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
17842           If Database::reopen() is called and the database revision on disk
17843           hasn't changed, then do as little work as possible.  Even if it
17844           has changed, don't bother to recheck the version file (bug#261).
17846 Sat May 03 10:28:30 GMT 2008  Olly Betts <olly@survex.com>
17848         * configure.ac: Improve code to prevent probing for f77, etc.
17850 Sat May 03 10:17:05 GMT 2008  Olly Betts <olly@survex.com>
17852         * matcher/rset.cc: Missing change from last commit.
17854 Sat May 03 09:25:29 GMT 2008  Olly Betts <olly@survex.com>
17856         * api/omenquire.cc,common/,expand/Makefile.mk,expand/esetinternal.cc,
17857           expand/expand.cc: Rewrite class ESet::Internal, incorporating the
17858           functionality which used to be in the internal OmExpand class.  The
17859           expand operation now uses a min heap rather than calling
17860           nth_element() repeatedly - this should reduce the complexity of the
17861           expand operation by a factor of n/log(n) where n is the requested
17862           ESet size.
17864 Fri May 02 15:51:29 GMT 2008  Olly Betts <olly@survex.com>
17866         * common/ortermlist.h,expand/ortermlist.cc: Kill FreqAdderOrTermList's
17867           explicit empty dtor.
17869 Thu May 01 16:38:40 GMT 2008  Olly Betts <olly@survex.com>
17871         * api/omqueryinternal.cc,api/replication.cc,backends/chert/,
17872           backends/flint/,backends/inmemory/inmemory_positionlist.cc,
17873           common/utils.cc,matcher/stats.cc,tests/perftest_matchdecider.cc,
17874           tests/perftest_randomidx.cc: Assorted formatting tweaks.
17876 Thu May 01 16:32:58 GMT 2008  Olly Betts <olly@survex.com>
17878         * common/unaligned.h: Fix ";;" to ";" after AssertRel calls.
17880 Thu May 01 16:12:05 GMT 2008  Olly Betts <olly@survex.com>
17882         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Tell doxygen to
17883           expand XAPIAN_VISIBILITY_DEFAULT so it doesn't appear in collated
17884           API documentation.
17886 Wed Apr 30 10:57:53 GMT 2008  Olly Betts <olly@survex.com>
17888         * HACKING: Update bugzilla references and URLs to reflect the move
17889           to trac.  Update the "fixing a bug" checklist to mention backporting
17890           and updating the release notes.
17892 Wed Apr 30 10:40:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17894         * backends/remote/remote-database.cc: Fix error message displayed
17895           when remote protocol version doesn't match to display the minor
17896           part of the version number supplied by the server correctly.
17898 Tue Apr 29 17:37:10 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17900         * AUTHORS: Add Alexandre Gauthier, for supplying a method for doing
17901           python packaging for Windows.
17903 Tue Apr 29 16:20:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17905         * common/fileutils.cc: Fix variable name for windows compilation.
17907 Tue Apr 29 06:50:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17909         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
17910           Remove some debugging code, left over from writing the
17911           replication code.
17913 Mon Apr 28 12:11:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17915         * backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc,
17916           backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc:
17917           Fix issue #259 - update the last_block value whenever allocating
17918           a new value, so that next_for_sequential doesn't give up too
17919           early.  Also, in both next_for_sequential and
17920           prev_for_sequential, for writable databases, check the built-in
17921           cursor at all levels for the new block rather than just reading
17922           from disk, since newly allocated blocks won't have been written
17923           to disk yet.  Also, test the return type of next() when reading
17924           subsequent parts of tags, and raise DatabaseCorruptError if it
17925           returns false; this prevents incorrect data being returned,
17926           leading to a zlib error.
17927         * tests/api_wrdb.cc: Add regression test.
17929 Fri Apr 25 08:39:28 GMT 2008  Olly Betts <olly@survex.com>
17931         * api/postingsource.cc: Missed change from last but one commit.
17933 Thu Apr 24 13:44:48 GMT 2008  Olly Betts <olly@survex.com>
17935         * matcher/queryoptimiser.cc: Reserve size of postlists vector.
17937 Thu Apr 24 13:38:51 GMT 2008  Olly Betts <olly@survex.com>
17939         * include/xapian/postingsource.h,matcher/externalpostlist.cc,
17940           matcher/externalpostlist.h,tests/api_db.cc: Add a default
17941           PostingSource::get_description() method so users who don't care
17942           aren't forced to define one.  Make PostingSource::reset() a standard
17943           method and call it automatically so that a PostingSource-using
17944           Query can be run more than once without extra work.
17946 Thu Apr 24 11:24:30 GMT 2008  Olly Betts <olly@survex.com>
17948         * matcher/queryoptimiser.cc: Don't need <queue>.
17950 Thu Apr 24 04:50:43 GMT 2008  Olly Betts <olly@survex.com>
17952         * tests/api_db.cc: Add test that boolean branches of matches don't
17953           cause Xapian::PostingSource to be asked for weights.
17955 Thu Apr 24 03:27:39 GMT 2008  Olly Betts <olly@survex.com>
17957         * matcher/externalpostlist.cc,matcher/externalpostlist.h,
17958           matcher/queryoptimiser.cc: ExternalPostList now takes the
17959           factor into account, so works with OP_SCALE_WEIGHT, and
17960           doesn't call get_weight()/get_maxweight() for a boolean
17961           branch.
17962         * tests/api_db.cc: Add tests for OP_SCALE_WEIGHT.
17964 Thu Apr 24 02:16:08 GMT 2008  Olly Betts <olly@survex.com>
17966         * xapian-config.in: Back out --swigheaders.
17968 Wed Apr 23 11:37:45 GMT 2008  Olly Betts <olly@survex.com>
17970         * matcher/externalpostlist.h: Need to initialise current.
17972 Wed Apr 23 07:57:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17974         * tests/termgentest.cc: Put the inclusion of "utils.h" back; needed
17975           for om_tostring().
17977 Wed Apr 23 04:20:55 GMT 2008  Olly Betts <olly@survex.com>
17979         * include/xapian/replication.h: Eliminate reference to FlintDatabase
17980           from doc comment since it's not user-visible, and chert supports
17981           replication too.  No need for '#include <xapian/database.h>' so
17982           remove.  Remove references to non-existent parameter 'remotename'.
17983           'DatabaseCorrupt error' -> 'DatabaseCorruptError'.
17985 Wed Apr 23 04:19:53 GMT 2008  Olly Betts <olly@survex.com>
17987         * include/xapian/query.h: Wrap Xapian::Query::Internal class
17988           definition in "#ifndef SWIG" ... "#endif" in preparation for getting
17989           SWIG to directly parse it.
17991 Wed Apr 23 02:16:53 GMT 2008  Olly Betts <olly@survex.com>
17993         * api/omquery.cc: Prefer string() to "".
17995 Wed Apr 23 02:16:10 GMT 2008  Olly Betts <olly@survex.com>
17997         * include/xapian/query.h: Fix doc comment typo (doesn't affect API
17998           docs).
18000 Wed Apr 23 00:59:40 GMT 2008  Olly Betts <olly@survex.com>
18002         * api/postingsource.cc: Another missing file.
18004 Wed Apr 23 00:34:34 GMT 2008  Olly Betts <olly@survex.com>
18006         * include/xapian/postingsource.h: New file missing from previous
18007           commit.
18009 Wed Apr 23 00:30:34 GMT 2008  Olly Betts <olly@survex.com>
18011         * api/Makefile.mk,api/omquery.cc,api/omqueryinternal.cc,
18012           include/Makefile.mk,include/xapian.h,include/xapian/query.h,matcher/,
18013           tests/api_db.cc: Add support for Xapian::PostingSource.
18015 Wed Apr 23 00:21:25 GMT 2008  Olly Betts <olly@survex.com>
18017         * include/xapian.h: Fix misplaced comment.  Tweak doxygen comments for
18018           version functions to be more consistent with others.
18020 Wed Apr 23 00:16:14 GMT 2008  Olly Betts <olly@survex.com>
18022         * matcher/queryoptimiser.cc: Remove bogus comment from cut-and-paste.
18024 Wed Apr 23 00:14:30 GMT 2008  Olly Betts <olly@survex.com>
18026         * common/omassert.h: Add AssertEqDoubleParanoid().
18027         * matcher/multimatch.cc: Use it instead of home-brewed version.
18029 Tue Apr 22 23:30:50 GMT 2008  Olly Betts <olly@survex.com>
18031         * common/utils.h: Stop exporting internal functions needlessly.
18033 Tue Apr 22 12:53:55 GMT 2008  Olly Betts <olly@survex.com>
18035         * bin/xapian-compact.cc: Fix to work again (broken by the splitting of
18036           FlintTable::commit() into flush_db() and commit() in the replication
18037           changes).  Don't bother passing tablename to functions where it
18038           always has the same value.  Tweak the user-metadata copying loop to
18039           make it clearer.  Reserve the right size for the vector used for
18040           merging spellings.
18042 Tue Apr 22 12:28:17 GMT 2008  Olly Betts <olly@survex.com>
18044         * backends/chert/chert_table.h,backends/flint/flint_table.h,
18045           bin/xapian-compact.cc: Default commit's changes_fd parameter to -1.
18047 Tue Apr 22 11:39:10 GMT 2008  Olly Betts <olly@survex.com>
18049         * common/omassert.h: Fix comment typo.
18051 Tue Apr 22 10:54:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18053         * tests/queryparsertest.cc: Add "utils.h" back - needed for
18054           om_tostring() and mkdir().
18056 Mon Apr 21 07:48:45 GMT 2008  Olly Betts <olly@survex.com>
18058         * tests/api_db.cc: Don't need <list>.  Wrap comment.
18060 Mon Apr 21 07:04:12 GMT 2008  Olly Betts <olly@survex.com>
18062         * api/omqueryinternal.cc,backends/chert/chert_check.cc,
18063           backends/flint/flint_check.cc,tests/: Remove various needless
18064           inclusions of headers (especially <iostream>).  Reorder headers.
18065           Wrap a couple of comments.  Append single characters to strings
18066           using character constants.
18068 Mon Apr 21 06:26:49 GMT 2008  Olly Betts <olly@survex.com>
18070         * api/Makefile.mk,api/valuerangeproccompat.cc,
18071           include/xapian/queryparser.h: Remove the
18072           v102::NumberValueRangeProcessor ABI-preserving machinery since it's
18073           OK to change the ABI for 1.1.0.
18075 Mon Apr 21 04:42:52 GMT 2008  Olly Betts <olly@survex.com>
18077         * api/,queryparser/queryparser.cc: Remove debug log tracing from
18078           get_description() methods since the debug log call tracing *calls*
18079           get_description() methods on parameters, so logging these calls just
18080           makes for more confusing debug logs.  A get_description() method
18081           should have no side-effects so it's not very interesting even when
18082           explicitly called by the user.
18083         * common/omdebug.h: Replace "OM_DEBUG_INTRO" class with dummy
18084           placeholder (to preserve numbering), to help prevent accidentally
18085           adding these back.
18087 Sun Apr 20 09:46:11 GMT 2008  Olly Betts <olly@survex.com>
18089         * api/omqueryinternal.cc,common/: Stop describing get_description() as
18090           an "Introspection method" internal (matching earlier change to stop
18091           doing so externally).  This doesn't help to explain what it does,
18092           and get_description() doesn't actually fall under any of the formal
18093           definitions of "introspection" I can find.
18095 Fri Apr 18 10:26:18 GMT 2008  Olly Betts <olly@survex.com>
18097         * backends/chert/chert_metadata.cc: Fix renamed parameter in debug
18098           logging.
18100 Fri Apr 18 10:18:35 GMT 2008  Olly Betts <olly@survex.com>
18102         * HACKING,INSTALL,Makefile.am,backends/Makefile.mk,backends/chert/,
18103           backends/database.cc,backends/flint/,backends/remote/net_postlist.cc,
18104           backends/remote/net_postlist.h,bin/,common/,configure.ac,docs/,
18105           include/xapian/dbfactory.h,include/xapian/version_h.cc,
18106           net/remoteserver.cc,tests/Makefile.am,tests/harness/: Start new
18107           development backend "chert".  Currently the change over flint is
18108           that in the postlist table, doclengths are stored once in a
18109           chunked postlist-like form, rather than once per posting.
18111 Tue Apr 15 23:24:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18113         * api/omenquire.cc,tests/api_nodb.cc: Fix segfault introduced by
18114           previous change when asking for the termfreq on an empty mset.
18115           Include a regression test.
18117 Tue Apr 15 06:02:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18119         * include/xapian/enquire.h: Change definition of MSet::get_termfreq
18120           such that it will fall back to looking the term frequency up in
18121           the database rather than raising an exception if the term is not
18122           present in the mset.
18123         * api/omenquire.cc,common/omenquireinternal.h: Implementation of
18124           the above.
18125         * tests/api_anydb.cc: Test the above.
18127 Mon Apr 14 21:29:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18129         * tests/: Use copies of freemem.cc and freemem.h from omega to report
18130           the free physical memory at each stage of indexing.  Also, add a
18131           get_total_physical_memory() function to this, and report it's
18132           value at the top of the results file (only tested on Linux so
18133           far).
18135 Mon Apr 14 19:17:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18137         * tests/api_wrdb.cc: Make skip_to() test a bit more comprehensive.
18139 Mon Apr 14 19:08:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18141         * backends/flint/flint_metadata.cc,backends/flint/flint_metadata.h:
18142           Fix a bug in the skip_to() implementation, and set the parameter
18143           name to "key" instead of "tname", since it's not a term.
18144         * tests/api_wrdb.cc: Add a test of the metadata iterators.
18146 Mon Apr 14 14:22:16 GMT 2008  Olly Betts <olly@survex.com>
18148         * backends/Makefile.mk,backends/flint/Makefile.mk,
18149           backends/flint/contiguousalldocspostlist.cc,
18150           backends/flint/contiguousalldocspostlist.h,common/Makefile.mk:
18151           The ContiguousAllDocsPostList class isn't flint-specific, so move
18152           it out of backends/flint.
18154 Mon Apr 14 13:56:51 GMT 2008  Olly Betts <olly@survex.com>
18156         * backends/flint/flint_database.cc: Removed duplicate
18157           '#include "flint_database.h"', ironically added by Richard's recent
18158           change.  Fix a couple of errors in alphabetical ordering, and
18159           move autoptr.h and the "safe" headers to where the standard headers
18160           they replace would go.
18162 Mon Apr 14 13:44:37 GMT 2008  Olly Betts <olly@survex.com>
18164         * Makefile.am,tests/Makefile.am: List check-perf in .PHONY.
18165         * HACKING: Document the need to list non-file targets in .PHONY.
18167 Mon Apr 14 07:59:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18169         * api/omdatabase.cc: Correct return type in a DEBUGAPICALL macro.
18171 Mon Apr 14 07:14:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18173         * api/omdatabase.cc,backends/database.cc,backends/flint/,
18174           common/database.h,include/xapian/database.h: Add
18175           metadata_keys_begin() and metadata_keys_end() methods to
18176           Database, to allow the complete list of metadata in a database to
18177           be retrieved.  Supports a prefix argument to obtain a limited
18178           subset of the keys, since that may be useful in some situations
18179           and is very easy to implement.  Only accesses the keys in the
18180           first database in a multidatabase situation (which corresponds
18181           with the current behaviour of get_metadata()).
18182           Also, reorder the includes in flint_database.cc to be largely
18183           alphabetical, and remove a duplicated #include of
18184           <xapian/error.h>.
18186 Mon Apr 14 06:51:48 GMT 2008  Olly Betts <olly@survex.com>
18188         * common/fileutils.cc: Use endswith().
18190 Mon Apr 14 06:14:44 GMT 2008  Olly Betts <olly@survex.com>
18192         * api/replication.cc,backends/database.cc,
18193           backends/flint/flint_database.cc,common/fileutils.cc,
18194           tests/queryparsertest.cc: Use empty() rather than comparing size()
18195           to 0.  Use startswith() in a couple of places.  Tweak an Assert
18196           to AssertEq.
18198 Sun Apr 13 14:30:55 GMT 2008  Olly Betts <olly@survex.com>
18200         * api/omdatabase.cc: Replace uses of DEBUGLINE(SPELLING, ...) in
18201           Database::get_spelling_suggestion() with standard
18202           DEBUGAPICALL/RETURN tracing.  Add DEBUGAPICALL/RETURN tracing to
18203           a few Database methods which were missing it.
18205 Sun Apr 13 14:15:00 GMT 2008  Olly Betts <olly@survex.com>
18207         * backends/flint/flint_cursor.cc: Use RETURN() in a few places which
18208           weren't.
18210 Sun Apr 13 13:59:57 GMT 2008  Olly Betts <olly@survex.com>
18212         * backends/inmemory/inmemory_database.cc: Remove long-time commented
18213           out uses of DebugMsg.
18215 Sun Apr 13 13:52:32 GMT 2008  Olly Betts <olly@survex.com>
18217         * expand/expandweight.cc: Use DEBUGLINE() instead of DEBUGMSG().
18219 Sun Apr 13 11:23:56 GMT 2008  Olly Betts <olly@survex.com>
18221         * backends/flint/flint_database.cc: Include corresponding header right
18222           after config.h.
18224 Sun Apr 13 10:28:27 GMT 2008  Olly Betts <olly@survex.com>
18226         * backends/flint/flint_database.cc: Tweak brace formatting and wrap a
18227           comment.
18229 Fri Apr 11 16:18:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18231         * common/fileutils.cc: Fix typo in windows specific code.
18233 Fri Apr 11 12:44:25 GMT 2008  Olly Betts <olly@survex.com>
18235         * backends/flint/flint_cursor.cc: Include corresponding header right
18236           after config.h.
18238 Fri Apr 11 10:25:03 GMT 2008  Olly Betts <olly@survex.com>
18240         * backends/flint/flint_cursor.h: Fix filename in header comment.
18242 Fri Apr 11 04:49:03 GMT 2008  Olly Betts <olly@survex.com>
18244         * configure.ac,tests/submitperftest.in,tests/submitperftest.py.in:
18245           Rename submitperftest.py to submitperftest.
18246         * HACKING: Document that scripts shouldn't generally have an
18247           extension, and the reason for this policy.
18249 Fri Apr 11 04:32:15 2008  Olly Betts <olly@survex.com>
18251         * HACKING: Note that GCC 4.3 no longer supports pre-ISO forms of
18252           standard headers, such as <list.h>.  GCC on Solaris now seems
18253           to support throwing exceptions across shared library boundaries.
18255 Fri Apr 11 03:24:47 GMT 2008  Olly Betts <olly@survex.com>
18257         * tests/Makefile.am: "make up" in tests now does "make" in the
18258           top-level.
18260 Thu Apr 10 08:33:06 GMT 2008  Olly Betts <olly@survex.com>
18262         * backends/flint/flint_postlist.cc: Fix debug logging message: ostList
18263           -> FlintPostList.
18265 Thu Apr 10 05:47:37 GMT 2008  Olly Betts <olly@survex.com>
18267         * net/remoteconnection.cc: Remove erroneous FIXME comments talking
18268           about ReadFile() not updating WSAOVERLAPPED's Offset/OffsetHigh
18269           being a problem with using _get_osfhandle() - ReadFile is documented
18270           to behave this way on MSDN.  Factor out update of Offset/OffsetHigh
18271           and tweak this code not to rely on off_t being 64 bits.
18273 Thu Apr 10 05:24:11 GMT 2008  Olly Betts <olly@survex.com>
18275         * backends/flint/flint_record.cc,backends/flint/flint_utils.h: Use
18276           the new STATIC_ASSERT family of macros instead of CASSERT and
18277           CASSERT_TYPE_UNSIGNED.
18279 Thu Apr 10 04:46:40 GMT 2008  Olly Betts <olly@survex.com>
18281         * common/omassert.h: Add "compile-time assertion" macros:
18282           STATIC_ASSERT(COND), STATIC_ASSERT_UNSIGNED_TYPE(TYPE),
18283           STATIC_ASSERT_TYPE_DOMINATES(TYPE1, TYPE2).
18284         * tests/internaltest.cc: Test these.
18286 Thu Apr 10 01:07:34 GMT 2008  Olly Betts <olly@survex.com>
18288         * common/remoteprotocol.h,net/remoteserver.cc: Clean up a couple more
18289           things now we've moved to major protocol version 31.
18291 Wed Apr 09 06:50:44 GMT 2008  Olly Betts <olly@survex.com>
18293         * backends/remote/remote-database.cc: Add missing explicit include of
18294           remote-database.h.
18296 Wed Apr 09 04:48:54 GMT 2008  Olly Betts <olly@survex.com>
18298         * bin/xapian-check.cc,bin/xapian-compact.cc: Fix check for user
18299           metadata key to not match other key types we may add in the future.
18300           When compacting, we can't assume how we should handle them.  When
18301           checking, they currently shouldn't be present, so we should flag
18302           an error for them.
18304 Tue Apr 08 15:27:09 GMT 2008  Olly Betts <olly@survex.com>
18306         * NEWS: Fix missing line in old entry.
18308 Mon Apr 07 07:49:56 GMT 2008  Olly Betts <olly@survex.com>
18310         * backends/flint/flint_btreeutil.h: Use AssertRel rather than Assert.
18312 Mon Apr 07 06:20:42 GMT 2008  Olly Betts <olly@survex.com>
18314         * api/error.cc,api/valuerangeproc.cc,backends/flint/flint_table.cc,
18315           backends/multi/multi_postlist.cc,backends/remote/net_termlist.cc,
18316           bin/xapian-inspect.cc,common/omdebug.cc,common/utils.cc,
18317           languages/stem.cc,languages/steminternal.cc,
18318           tests/harness/backendmanager_multi.cc,
18319           tests/harness/backendmanager_remotetcp.cc: Header inclusions tidying
18320           - remove a few redundant inclusions; prefer cstdio to stdio.h, etc
18321           in a few places; note why certain headers are required in cases
18322           where it's less obvious; in a .cc file, include the corresponding .h
18323           second (after <config.h>).
18325 Mon Apr 07 04:23:30 GMT 2008  Olly Betts <olly@survex.com>
18327         * configure.ac: Fix --enable-log=profile to be recognised.
18328         * common/omdebug.cc,common/omdebug.h: Fix build with
18329           --enable-log=profile.
18330         * HACKING: Actually document --enable-log=profile.
18332 Sat Apr 05 21:07:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18334         * tests/perftest.cc: Flush after each write, so we can monitor
18335           progress of long running tests (we might need to remove this
18336           again later, if profiling shows it has a noticeable impact).  Fix
18337           two calls to write() to be a single call.
18338         * tests/perftest_randomidx.cc: Add values to different slots; I'd
18339           added them all to slot 0 by mistake, so they were overwriting
18340           each other.
18342 Sat Apr 05 20:17:43 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18344         * tests/Makefile.am,tests/perftest_randomidx.cc: Add a new
18345           performance test which builds a randomly generated index, and
18346           times the index run.  Probably wants a bit more tweaking to make
18347           it slightly more representative, but should be a useful test to
18348           run on systems where downloading a large amount of data is
18349           impractical.
18350         * ChangeLog: Add missing log message for last commit.
18352 Sat Apr 05 20:16:58 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18354         * tests/perftest.cc,tests/perftest.h: Log indexing runs every 5
18355           seconds, as well as after every 1000 documents - gives useful
18356           information for slow index runs.
18358 Thu Apr 03 20:58:31 GMT 2008  Olly Betts <olly@survex.com>
18360         * backends/database.cc,include/xapian/dbfactory.h,
18361           include/xapian/version_h.cc: Remove lingering traces of quartz.
18363 Thu Apr 03 07:59:53 GMT 2008  Olly Betts <olly@survex.com>
18365         * bin/xapian-inspect.cc: Print top-bit-set characters as escaped
18366           hex forms as they often won't be valid UTF-8 sequences.
18368 Thu Apr 03 03:53:37 GMT 2008  Olly Betts <olly@survex.com>
18370         * bin/xapian-inspect.cc: Check for the user passing a database
18371           directory and issue a special error message since this is an obvious
18372           mistake to make.
18374 Wed Apr 02 07:00:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18376         * matcher/multimatch.cc: Modify the estimate for the number of hits
18377           based on the rate at which a match decider has been denying
18378           documents.  Also, reduce the upper bound based on the number of
18379           documents denied.
18380         * tests/api_db.cc: Check that the upper bound when a match decider
18381           is used is within the valid range, rather than a particular
18382           value.
18384 Tue Apr 01 22:40:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18386         * configure.ac,tests/perftest.cc,tests/submitperftest.py.in,
18387           tests/urllib2_file.py: Fix display of upper bound on number of
18388           results of search (was showing lower bound).  Fix display of
18389           closing <repetition> tags.  Add script to submit the results of a
18390           performance test to a central server.
18392 Tue Apr 01 11:19:58 GMT 2008  Olly Betts <olly@survex.com>
18394         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
18395           Gently rearrange where and how we check for overlong keys.
18396         * tests/api_wrdb.cc: Extend termtoolong1 to test that the "term too
18397           long" exception messages contain the length correctly.
18399 Tue Apr 01 06:06:43 GMT 2008  Olly Betts <olly@survex.com>
18401         * AUTHORS,HACKING,INSTALL,README,debian/control.in,debian/copyright,
18402           docs/install.html,xapian-core.spec.in: Standardise URLs on our
18403           website to be xapian.org not www.xapian.org.
18405 Tue Apr 01 03:44:32 GMT 2008  Olly Betts <olly@survex.com>
18407         * backends/flint/flint_record.cc,backends/flint/flint_values.cc,
18408           common/,docs/quickstartexpand.cc.html,docs/quickstartindex.cc.html,
18409           docs/quickstartsearch.cc.html,matcher/: Update the FSF address for
18410           the small number of files which still have the old one.  Remove the
18411           "START_LICENCE" and "END_LICENCE" markers from the small number of
18412           files which still have them.
18414 Tue Apr 01 02:23:27 GMT 2008  Olly Betts <olly@survex.com>
18416         * backends/remote/remote-database.cc,common/remoteprotocol.h,
18417           common/remoteserver.h,common/serialise.h,docs/remote_protocol.html,
18418           net/remoteserver.cc,net/serialise.cc: Update remote protocol to
18419           a new major version (31) and strip out all the gunk that's only
18420           there to keep it compatible with older version 30 clients.
18422 Tue Apr 01 00:12:38 GMT 2008  Olly Betts <olly@survex.com>
18424         * api/ompostlistiterator.cc,include/xapian/postingiterator.h: Remove
18425           the method Xapian::PostingIterator::get_weight() which has been
18426           commented out almost forever.  Weight-handling isn't really
18427           appropriate here.
18428         * api/ompostlistiterator.cc: Remove "\todo" since it's already done!
18430 Mon Mar 31 13:24:11 GMT 2008  Olly Betts <olly@survex.com>
18432         * backends/flint/: Remove unnecessary default dtors.
18434 Mon Mar 31 13:21:55 GMT 2008  Olly Betts <olly@survex.com>
18436         * HACKING: Document to prefer "new SomeClass" to "new SomeClass()".
18437         * api/omdocument.cc,api/omenquire.cc,backends/database.cc,
18438           backends/flint/flint_database.cc,
18439           backends/inmemory/inmemory_database.cc,matcher/multimatch.cc,
18440           matcher/queryoptimiser.cc,net/remoteserver.cc: Fix instances of
18441           the latter form to use the former form.
18443 Mon Mar 31 12:11:09 GMT 2008  Olly Betts <olly@survex.com>
18445         * tests/: Update svn:ignore property for perftest changes and remove
18446           quartz-related entries.
18447         * tests/perftest.cc: Add missing '#include "utils.h"'.
18449 Mon Mar 31 09:22:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18451         * Makefile.am,tests/,tests/harness/,tests/perftest.cc,tests/perftest.h,
18452           tests/perftest_matchdecider.cc: Rework the test collation
18453           mechanism slightly to allow it to be used by other testsuites:
18454           rename collate-apitest to collate-test, and add a parameter to it
18455           naming the output file.  Add new "testrunner.h" and
18456           "testrunner.cc" which are an equivalent to the old mechanism in
18457           apitest for running tests with various properties; the properties
18458           for each backend are now held as member variables of a TestRunner
18459           class, and testsuites (eg, apitest) subclass this and implement a
18460           "run()" method, which will be called for each backend with the
18461           appropriate properties set.  Move definition of DEFINE_TESTCASE
18462           macro into testsuite.h.  Add new testsuite "perftest", which is
18463           intended to contain potentially time consuming performance tests,
18464           logging the results to an XML file for later analysis.  Add a
18465           simple test of the ValueSetMatchDeciders to this testsuite.
18466           "perftest" isn't run by make check, because it is likely to take
18467           some hours to complete in future - instead, there's a new
18468           top-level target "check-perf" which builds and runs perftest.
18470 Mon Mar 31 08:13:21 GMT 2008  Olly Betts <olly@survex.com>
18472         * HACKING: Recommend using the "svn-ci" script.  Update the date
18473           command which produces the correct format timestamp for ChangeLog
18474           entries.
18476 Mon Mar 31 08:00:58 GMT 2008  Olly Betts <olly@survex.com>
18478         * backends/flint/flint_btreeutil.h: Fix some out-of-date comments.
18479         * configure.ac: Use AC_CHECK_SIZEOF to define SIZEOF_INT and
18480           SIZEOF_LONG.
18481         * backends/flint/flint_types.h: Use SIZEOF_INT and SIZEOF_LONG to
18482           determine the type of uint4 rather than always using unsigned long
18483           (which is 64 bits on most 64 bit Unix platforms).  Drop int4 for
18484           the time being, as we don't actually use it.
18486 Mon Mar 31 06:34:20 GMT 2008  Olly Betts <olly@survex.com>
18488         * backends/flint/flint_positionlist.cc: Refactor BitWriter::encode()
18489           to have a single call to write_bits(), and don't include it inline
18490           in the class as it's really a bit big to inline (and write_bits()
18491           should now be inlined into it, or at least tail-called).
18493 Mon Mar 31 05:33:02 GMT 2008  Olly Betts <olly@survex.com>
18495         * backends/flint/flint_positionlist.cc: Reorder header includes to
18496           match our new standard more closely.  Indent class definitions to
18497           match our coding standards.
18499 Mon Mar 31 05:31:59 GMT 2008  Olly Betts <olly@survex.com>
18501         * backends/flint/flint_positionlist.h: Remove unnecessary default
18502           dtor.
18504 Mon Mar 31 04:55:59 GMT 2008  Olly Betts <olly@survex.com>
18506         * backends/remote/net_document.cc,backends/remote/net_document.h:
18507           Rename "doc" member to "data" since it actually holds the document
18508           data.
18510 Mon Mar 31 03:25:21 GMT 2008  Olly Betts <olly@survex.com>
18512         * backends/flint/flint_document.cc,backends/flint/flint_document.h:
18513           Remove unnecessary default dtor.
18515 Mon Mar 31 02:53:48 GMT 2008  Olly Betts <olly@survex.com>
18517         * backends/inmemory/inmemory_alltermslist.cc,
18518           backends/inmemory/inmemory_alltermslist.h: Remove unnecessary
18519           default dtor.
18520         * backends/inmemory/inmemory_alltermslist.h: Fix bogus cut-and-pasted
18521           doxygen comment for ctor.
18523 Mon Mar 31 02:33:15 GMT 2008  Olly Betts <olly@survex.com>
18525         * common/inmemory_positionlist.h: Remove unnecessary default
18526           destructor.  Fix comment type ("inemory" -> "inmemory").
18528 Sun Mar 30 12:47:50 GMT 2008  Olly Betts <olly@survex.com>
18530         * include/xapian/queryparser.h: Drop explicit dtor for SimpleStopper
18531           which does nothing.
18533 Sun Mar 30 12:12:12 GMT 2008  Olly Betts <olly@survex.com>
18535         * include/xapian/valuesetmatchdecider.h: Don't bother checking if an
18536           element is present before calling std::set::erase().  Don't bother
18537           defining an explicit dtor which does nothing.
18539 Sat Mar 29 00:46:13 GMT 2008  Olly Betts <olly@survex.com>
18541         * tests/api_db.cc: Test matchfunctor bounds in combination with
18542           collapsing and percentage cutoff.  Also, range check
18543           get_matches_estimated rather than checking it's exactly the value
18544           currently returned.
18546 Fri Mar 28 21:37:27 GMT 2008  Olly Betts <olly@survex.com>
18548         * tests/api_nodb.cc: Test ValueSetMatchDecider::remove_value() for a
18549           value which isn't in the set.  Test that removing a value doesn't
18550           affect other values in the set.
18552 Fri Mar 28 21:03:30 GMT 2008  Olly Betts <olly@survex.com>
18554         * matcher/multimatch.cc: Avoid needless call to pl->get_termfreq_est()
18555           if we're using a matchdecider or matchspy.
18557 Fri Mar 28 10:28:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18559         * matcher/multimatch.cc: Set matches_lower_bound to 0 before
18560           starting the match process if there is a match decider or spy;
18561           previously, the lower_bound wasn't being reduced in the presence
18562           of a match decider unless all the potential results were
18563           retrieved.
18564         * tests/api_db.cc: Extend matchfunctor1 to check the bounds and
18565           estimates returned; includes a regression test for the above.
18567 Fri Mar 28 09:09:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18569         * tests/api_nodb.cc: Extend tests to check ValueSetMatchDecider
18570           remove_value and also ValueSetMatchDeciders holding more than one
18571           value.
18573 Fri Mar 28 02:41:45 GMT 2008  Olly Betts <olly@survex.com>
18575         * configure.ac: Update version info to match 1.0.6.
18577 Fri Mar 28 00:12:48 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18579         * api/omenquire.cc,include/xapian/enquire.h: Merge two of the
18580           get_mset() variants into one, with default arguments, which has
18581           exactly the same effect.  We added the two variants to preserve
18582           ABI compatibility, and now we're branched for 1.1 this is no
18583           longer necessary.
18585 Thu Mar 27 23:54:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18587         * api/valuesetmatchdecider.cc,include/xapian.h,
18588           include/xapian/valuesetmatchdecider.h: Add ValueSetMatchDecider,
18589           which is a matchdecider which is intended to be passed a set of
18590           values to look for in documents, and selects documents based on
18591           the presence of those values.
18592         * tests/api_db.cc,tests/api_nodb.cc: Add tests for the
18593           ValueSetMatchDecider - both for calling it standalone, and when
18594           passed to get_mset().
18595         * api/Makefile.mk,include/Makefile.mk: Tell build system about new
18596           files.
18598 Thu Mar 27 06:18:52 GMT 2008  Olly Betts <olly@survex.com>
18600         * api/omqueryinternal.cc: Initialise term_pos in previous change to
18601           fix valgrind-detected error.
18603 Thu Mar 27 06:13:01 GMT 2008  Olly Betts <olly@survex.com>
18605         * api/omqueryinternal.cc: Optimise Query(OP_VALUE_GE, <n>, "") to
18606           Query::MatchAll.
18607         * tests/api_nodb.cc: Add testcase for this case.
18609 Thu Mar 27 04:34:40 GMT 2008  Olly Betts <olly@survex.com>
18611         * backends/inmemory/inmemory_document.cc,
18612           backends/inmemory/inmemory_document.h: Rename "doc" member to
18613           "data" since it actually holds the document data.
18614         * backends/inmemory/inmemory_database.cc: Remove unused <stdio.h>.
18615           Include "inmemory_database.h" right after <config.h>.
18617 Wed Mar 26 23:44:03 GMT 2008  Olly Betts <olly@survex.com>
18619         * api/omenquire.cc: Throw InvalidArgumentError upon
18620           RSet::add_document(0).
18621         * tests/api_nodb.cc: Add regression test for this.
18622         * matcher/rset.cc: Add assertion that we don't see a zero docid when
18623           calculating rtermfreqs.
18624         * api/omdocument.cc: Use RETURN not return so debug logging sees the
18625           return value.
18626         * backends/inmemory/inmemory_database.cc,
18627           backends/remote/remote-database.cc: Change exception throwing for
18628           a zero docid to assertions since zero docids should be checked for
18629           before we get to here.
18631 Wed Mar 26 06:17:51 GMT 2008  Olly Betts <olly@survex.com>
18633         * common/postlist.h: Decree that PostList::check() must be passed a
18634           docid which actually exists in the database (which is always true
18635           currently and seems unlikely to be an onerous requirement).
18636         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: Take
18637           advantage of this new precondition to simplify the code.
18638         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: Move the
18639           corresponding header first as our header inclusion order guidelines
18640           recommend.
18642 Thu Mar 13 01:58:18 GMT 2008  Olly Betts <olly@survex.com>
18644         * common/stats.h,include/xapian/enquire.h,matcher/localmatch.cc,
18645           matcher/weight.cc: Untangle Xapian::Weight to just initialise
18646           internal to 0 in its ctor, which is an ABI change.  Resolves
18647           a load of FIXME:1.1 comments.
18649 Thu Mar 13 00:50:06 GMT 2008  Olly Betts <olly@survex.com>
18651         * backends/flint/flint_lock.cc: Remove workaround for newlib which we
18652           don't seem to need elsewhere and was marked "FIXME:1.1".
18654 Thu Mar 13 00:49:27 GMT 2008  Olly Betts <olly@survex.com>
18656         * docs/deprecation.rst: Fix footnote ids after deprecation updates.
18658 Wed Mar 12 10:08:37 GMT 2008  Olly Betts <olly@survex.com>
18660         * tests/stemtest.cc: Remove support for OM_STEMTEST_SKIP_RANDOM,
18661           OM_STEMTEST_LANGUAGES, and OM_STEMTEST_SEED.
18663 Wed Mar 12 08:30:48 GMT 2008  Olly Betts <olly@survex.com>
18665         * docs/deprecation.rst: Update for bindings removals for 1.1.0.
18667 Wed Mar 12 06:59:25 GMT 2008  Olly Betts <olly@survex.com>
18669         * docs/deprecation.rst: Update for Omega removals for 1.1.0.
18671 Wed Mar 12 05:11:53 GMT 2008  Olly Betts <olly@survex.com>
18673         * api/omenquire.cc,api/omquery.cc,api/version.cc,docs/,
18674           generate-exceptions.in,include/xapian.h,include/xapian/enquire.h,
18675           include/xapian/query.h,tests/api_db.cc,tests/api_wrdb.cc,
18676           tests/apitest.cc,tests/harness/,tests/internaltest.cc: Remove all
18677           xapian-core features marked for removal in 1.1.0.
18679 Wed Mar 12 03:28:18 GMT 2008  Olly Betts <olly@survex.com>
18681         * HACKING,INSTALL,Makefile.am,backends/Makefile.mk,
18682           backends/dir_contents,backends/quartz/,bin/,configure.ac,docs/,
18683           tests/,tests/harness/,tests/quartztest.cc,tests/testdata/,
18684           xapian-core.spec.in: Remove the quartz backend.
18686 Wed Mar 12 02:14:33 GMT 2008  Olly Betts <olly@survex.com>
18688         * m4/xapian.m4: Improve wording of the error message when we can't
18689           find xapian-config.
18691 Wed Mar 12 02:13:32 GMT 2008  Olly Betts <olly@survex.com>
18693         * INSTALL: Minor wording tweak.
18695 Wed Mar 12 01:44:42 GMT 2008  Olly Betts <olly@survex.com>
18697         * bin/xapian-compact.cc: Initialise PostlistCursor member firstdid to
18698           avoid using it uninitialised when merging user metadata and the same
18699           key is present in more than one source database.  If the same user
18700           metadata key is present in more than one source database, copy an
18701           arbitrary tag value.
18703 Wed Mar 12 00:34:04 GMT 2008  Olly Betts <olly@survex.com>
18705         * bin/xapian-compact.cc: Fix potential SEGV (which I think can occur
18706           when compacting database(s) with user metadata but no postings).
18708 Fri Mar 07 09:46:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18710         * common/serialise.h: Add missing std:: before string.
18712 Fri Mar 07 00:47:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18714         * api/replication.cc: Tidy up a line which was wider than 80
18715           columns, and improve the error message returned when a database
18716           replica doesn't contain exactly one subdatabase.
18718 Fri Mar 07 00:34:28 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18720         * common/serialise.h,net/remoteconnection.cc,net/serialise.cc:
18721           Change encode_length() to a template, to allow the full range of
18722           off_t values to be encoded.  Also, adjust
18723           RemoteConnection::get_message_chunked() to allow the message
18724           length to be a 64 bit quantity.  Also, make a couple of type
18725           conversions to size_t explicit, to remove some warnings on
18726           windows.
18728 Thu Mar 06 01:57:04 GMT 2008  Olly Betts <olly@survex.com>
18730         * NEWS: Update from ChangeLog.
18732 Thu Mar 06 01:44:07 GMT 2008  Olly Betts <olly@survex.com>
18734         * bin/xapian-check.cc: Fix terminology - "user metadata" not "user
18735           metainfo".  Fix bug - need to invoke is_user_metadata rather than
18736           using the function pointer as the if condition!
18738 Thu Mar 06 01:41:09 GMT 2008  Olly Betts <olly@survex.com>
18740         * bin/xapian-compact.cc: Fix terminology - "user metadata" not "user
18741           metainfo".
18743 Wed Mar 05 21:17:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18745         * net/remoteconnection.cc: Add some casts (in the windows-specific
18746           code) to fix some warnings from MSVC.
18748 Wed Mar 05 19:01:35 GMT 2008  Olly Betts <olly@survex.com>
18750         * NEWS: Update to 1.0 branch point.
18752 Wed Mar 05 19:00:07 GMT 2008  Olly Betts <olly@survex.com>
18754         * common/msvc_dirent.cc: Tweak to bring comment back into 80 columns.
18756 Wed Mar 05 16:35:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18758         * common/msvc_dirent.cc: Fix sense of check for ENOENT after
18759           calling _findnext() - it should be checked for when an error code
18760           is returned, not when the call succeeds.
18761         * tests/api_replicate.cc: Fix tiny capitalisation typo.
18763 Wed Mar 05 16:29:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18765         * common/fileutils.cc: Check case where a backslash isn't found in
18766           calc_dirname, and don't replace slash with backslash in this
18767           case.
18769 Wed Mar 05 09:30:42 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18771         * bin/xapian-check.cc: Add understanding of user metainfo keys in
18772           the postlist table.  Allow the METAINFO key to be absent if the
18773           table only contains user metainfo keys.
18775 Wed Mar 05 09:01:48 GMT 2008  Olly Betts <olly@survex.com>
18777         * common/msvc_dirent.cc,common/msvc_dirent.h: Move licence boilerplate
18778           up front where we have it in every other file.  Move header guards
18779           to the usual location.  Detail the fix we've made for not setting
18780           errno to ENOENT erroneously.  Push the setting of orig_errno down
18781           a bit.
18783 Wed Mar 05 04:57:44 GMT 2008  Olly Betts <olly@survex.com>
18785         * configure.ac: -pedantic isn't actually very useful so just drop it
18786           rather than testing for known problem cases and risking unknown
18787           problem cases.
18789 Wed Mar 05 03:10:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18791         * matcher/valuegepostlist.cc,matcher/valuegepostlist.h: Implement
18792           skip_to method for ValueGePostList.  Previously, the
18793           ValueRangePostList::skip_to method was used, which would
18794           return incorrect documents.
18796 Wed Mar 05 02:54:27 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18798         * common/fileutils.cc: Search for \ instead of / when looking for a
18799           backslash!
18801 Wed Mar 05 02:51:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18803         * common/fileutils.cc: Fix incorrect docstring.
18805 Tue Mar 04 18:48:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18807         * common/msvc_dirent.cc: Fix readdir() so that it doesn't change
18808           errno to ENOENT on reaching the end of the directory, as
18809           specified by POSIX.
18811 Tue Mar 04 17:54:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18813         * net/remoteconnection.cc: Fix for a problem with windows.  Because
18814           we're using mixed styles of windows file IO, if a file descriptor
18815           which actually corresponds to a file was supplied to remote
18816           connection, the file pointer wasn't being adjusted after each
18817           call to ReadFile or WriteFile.  This manifested in the test case
18818           for replication, resulting in a (corrupt) 2048 byte changeset
18819           file being written (instead of a considerably longer changeset).
18820           To work around this, we explicitly move the file pointer
18821           ourselves.
18823 Tue Mar 04 17:41:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18825         * tests/api_replicate.cc: Close the replica before removing the
18826           temporary directory, to allow the rmdir to work on windows.
18828 Thu Feb 28 16:41:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18830         * common/remoteconnection.h: Include safeunistd.h, to get correct
18831           typedef for off_t on windows - previously, the size of the
18832           RemoteConnection class was varying depending on the order in
18833           which header files were included, resulting in memory corruption.
18834         * net/remoteserver.cc: Remove incorrect comment about what the
18835           problem was.
18837 Sat Feb 23 23:40:56 GMT 2008  Olly Betts <olly@survex.com>
18839         * xapian-config.in: Use globbing rather than iterating over the output
18840           of ls.
18842 Sat Feb 23 23:33:39 GMT 2008  Olly Betts <olly@survex.com>
18844         * xapian-config.in: Fix not to repeated headers in --swigheaders in a
18845           non-VPATH build.
18847 Fri Feb 22 17:20:19 GMT 2008  Olly Betts <olly@survex.com>
18849         * HACKING: Add note about preferring std::string().
18851 Fri Feb 22 17:05:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18853         * net/remoteserver.cc: Use std::string() instead of
18854           std::string(""), since it's a bit cleaner.
18856 Fri Feb 22 16:50:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18858         * net/remoteserver.cc: Add workaround for bug in MSVC 2005.
18860 Fri Feb 22 14:39:03 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18862         * backends/flint/flint_database.cc,backends/flint/flint_table.cc,
18863           backends/quartz/btree.cc: Use msvc_posix_rename() instead of
18864           rename() when renaming base files, so that an error isn't
18865           returned if the destination already exists.
18867 Thu Feb 21 17:24:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18869         * common/msvc_dirent.cc: Include msvc_dirent.h instead of dirent.h
18871 Thu Feb 21 17:09:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18873         * common/database.h: ReplicationInfo is a struct, not a class, so
18874           forward declare it as such.
18876 Thu Feb 21 12:16:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18878         * common/Makefile.mk: Add common/safedirent.h to distribution.
18880 Thu Feb 21 00:25:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18882         * xapian-config.in: Add swigheaders option, listing the header
18883           files used by swig, so that we can add the appropriate
18884           dependencies to the makefiles in the bindings.
18886 Wed Feb 20 20:59:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18888         * include/xapian/replication.h: Add a ReplicationInfo structure,
18889           and use it to return information about what has been done when
18890           the replication methods are called.
18891         * api/replication.cc,backends/database.cc,
18892           backends/flint/flint_database.cc,backends/flint/flint_database.h,
18893           common/database.h,common/replicatetcpclient.h,
18894           common/replicatetcpserver.h,net/replicatetcpclient.cc,
18895           net/replicatetcpserver.cc: Populate a ReplicationInfo structure
18896           when updating a replica, or sending changes to a file descriptor.
18897           Also, fix a bug with reading the replication parameters from a
18898           file, which caused a full database copy to be performed on every
18899           replication request on a newly opened DatabaseReplica object.
18900         * bin/xapian-replicate.cc: When doing verbose logging, display the
18901           number of database copies and changesets applied, and whether the
18902           live database has been updated.
18903         * tests/api_replicate.cc: Check that the information returned by
18904           the replication methods is as is should be, and add a regression
18905           test for always copying the database.
18907 Wed Feb 20 11:20:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18909         * backends/flint/: Improve reporting of failures to obtain lock due
18910           to unexpected errors - the error messages included in the
18911           exceptions raised are now more verbose in many situations.  Also,
18912           if the lock can't be obtained when a database is being created,
18913           report the lock failure, not a DatabaseOpeningError - it's more
18914           useful to know that the lock attempt failed than that the
18915           database wasn't present before the attempt to create it.
18917 Tue Feb 19 11:58:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18919         * bin/xapian-compact.cc: Fix compaction for database which contain
18920           user metadata keys.
18922 Sat Feb 16 19:53:44 GMT 2008  Olly Betts <olly@survex.com>
18924         * include/xapian/queryparser.h: Fix incorrect example in doccomment.
18926 Sat Feb 16 14:46:08 GMT 2008  Olly Betts <olly@survex.com>
18928         * AUTHORS: Add Matthew Somerville for Search::Xapian patches.
18930 Tue Feb 12 16:34:52 GMT 2008  Olly Betts <olly@survex.com>
18932         * docs/quickstart.html: Remove information covered by INSTALL since
18933           there's no good reason to repeat it and two copies just risks one
18934           getting out of date (as has happened here!)
18936 Tue Feb 12 16:27:30 GMT 2008  Olly Betts <olly@survex.com>
18938         * AUTHORS: Add David Spencer for reporting bug#237.
18940 Tue Feb 12 16:25:00 GMT 2008  Olly Betts <olly@survex.com>
18942         * docs/quickstart.html: Fix very out of date reference to MSet::items
18943           (bug#237).
18945 Tue Feb 12 12:40:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18947         * bin/xapian-compact.cc: Fix incorrect parameters passed to
18948           FlintTable constructor.
18950 Sat Feb 09 11:56:40 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18952         * common/socket_utils.h,net/remoteconnection.cc: More fixes for
18953           windows.
18955 Sat Feb 09 11:31:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18957         * common/msvc_dirent.cc,common/msvc_dirent.h: Hopefully this is a
18958           better implementation of dirent functions.
18960 Sat Feb 09 10:59:50 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18962         * common/: Add implementation of dirent.h for use with MSVC; this
18963           is copied from the mingw implementation, which has been placed in
18964           the public domain.  Add "safedirent.h" header for easy inclusion
18965           of this implementation.
18967 Sat Feb 09 10:43:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18969         * tests/api_replicate.cc: Use _putenv instead of setenv on windows.
18971 Sat Feb 09 09:56:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18973         * common/socket_utils.cc,common/socket_utils.h: More fixes for
18974           windows.
18976 Fri Feb 08 16:40:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18978         * common/Makefile.mk,common/socket_utils.cc,common/socket_utils.h,
18979           net/remoteconnection.cc,net/tcpclient.cc: Move windows-specific
18980           socket handling code from remoteconnection.cc into a separate
18981           file, provides the inline close_fd_or_socket for unix in the
18982           header file.  Use this in tcpclient.cc instead of close to close
18983           sockets correctly on windows.
18985 Fri Feb 08 16:40:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18987         * common/fileutils.cc,common/replicatetcpclient.h: Correct typos in
18988           windows only sections of code.
18990 Fri Feb 08 15:29:28 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18992         * net/remoteconnection.cc: Fixes for windows - always include
18993           "safesysselect.h", and include <io.h> on windows.
18994           Also, remove definition of an unused variable (probably due to a
18995           copy and paste error).
18997 Wed Feb 06 13:45:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18999         * bin/xapian-replicate.cc: Include "safeunistd.h" - needed for
19000           sleep, if nothing else.
19002 Tue Feb 05 18:10:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19004         * configure.ac: Set -pedantic in CXXFLAGS not AM_CXXFLAGS when
19005           testing for problem with it - AM_CXXFLAGS is an automake thing,
19006           and isn't used by the autoconf test.
19008 Tue Feb 05 17:50:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19010         * configure.ac: Cleaner patch for the test of compilation with
19011           -pedantic - cache the result using AC_CACHE_VAL().
19013 Tue Feb 05 17:32:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19015         * configure.ac: Check whether compilation of a cast of INFINITY to
19016           a double, and comparison with HUGE_VAL, causes a problem if
19017           -pedantic is specified (which it does on at least some Mac OSX
19018           versions).  If so, don't use the -pedantic compiler flag.
19020 Tue Feb 05 09:24:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19022         * backends/flint/flint_cursor.cc,backends/flint/flint_database.cc,
19023           backends/quartz/bcursor.cc: More fixes for debug logging - rename
19024           the "hex_encode" functions used for logging to
19025           "hex_display_encode" to avoid name clash.  Fix return type
19026           declared in flint_database.cc's DEBUGCALL macro.
19028 Tue Feb 05 09:18:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19030         * api/replication.cc: Fix for logging compiles: don't check return
19031           value of a void function.
19033 Tue Feb 05 09:14:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19035         * api/replication.cc: Reopen database after replication, to fix bug
19036           with applying a chain of changesets.
19037         * backends/flint/flint_database.cc: Don't use O_TRUNC (or O_CREAT)
19038           when modifying the DB files!
19039         * tests/api_replicate.cc: Don't call function from inside
19040           TEST_EQUAL, because that's a macro and the function will be
19041           double-evaluated.
19043 Tue Feb 05 02:07:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19045         * api/replication.cc,backends/database.cc,backends/flint/,
19046           common/database.h: Many fixes to the replication code.  Now
19047           parses replication changesets correctly and applies them to the
19048           databases.  Also, correct one bug with the generation of
19049           changesets.
19050         * docs/replication.rst,docs/replication_protocol.rst: Update.
19051         * tests/api_replicate.cc: Add test of two changesets being applied
19052           at once.
19054 Sun Feb 03 13:31:10 GMT 2008  Olly Betts <olly@survex.com>
19056         * backends/quartz/btree.cc: Backport atomic base update fix from
19057           flint.
19059 Sat Feb 02 22:47:56 GMT 2008  Olly Betts <olly@survex.com>
19061         * AUTHORS: Add Thomas Viehmann.
19063 Sat Feb 02 03:39:33 GMT 2008  Olly Betts <olly@survex.com>
19065         * backends/flint/flint_table.cc: Update the base files atomically to
19066           avoid problems with reading processes finding partially written
19067           ones.
19069 Sat Feb 02 03:38:00 GMT 2008  Olly Betts <olly@survex.com>
19071         * api/replication.cc: Don't leak the RemoteConnection object.
19073 Fri Feb 01 23:15:38 GMT 2008  Olly Betts <olly@survex.com>
19075         * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h:
19076           Fix assorted comment errors.
19078 Fri Feb 01 20:20:23 GMT 2008  Olly Betts <olly@survex.com>
19080         * bin/xapian-replicate.cc: Fix comment.
19082 Fri Feb 01 20:13:23 GMT 2008  Olly Betts <olly@survex.com>
19084         * bin/xapian-replicate.cc: Document the default interval in --help.
19086 Fri Feb 01 20:05:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19088         * bin/xapian-replicate.cc: Remove the "return 0;" I added at the
19089           end of the function - I didn't realise this, but in C++ it's not
19090           necessary to have a return at the end of main().  Tidier without
19091           it, so it's gone.
19093 Fri Feb 01 19:44:05 GMT 2008  Olly Betts <olly@survex.com>
19095         * include/xapian/unicode.h: Add Unicode::toupper() to complement
19096           Unicode::tolower().
19097         * tests/api_unicode.cc: Add caseconvert1 testcase to test
19098           Unicode::tolower() and Unicode::toupper().
19100 Fri Feb 01 19:36:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19102         * bin/xapian-replicate.cc: Add one-shot and verbose options to
19103           replication client.
19105 Fri Feb 01 17:52:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19107         * api/replication.cc,backends/flint/flint_database.cc,
19108           include/xapian/replication.h,net/replicatetcpclient.cc,
19109           tests/api_replicate.cc: Keep the RemoteConnection in the
19110           DatabaseReplica object, so that any data which is read ahead
19111           doesn't get lost.  If an error occurs opening the database on
19112           the server, send a FAIL message over the connection, rather than
19113           just shutting it.
19115 Fri Feb 01 16:51:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19117         * backends/flint/flint_table.cc: Fix a database corruption bug: see
19118           bugzilla entry #232.  Was caused by lazy tables not being created
19119           at the right revision.
19120         * tests/api_wrdb.cc: Regression test for bug.
19122 Fri Feb 01 15:10:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19124         * api/replication.cc,backends/database.cc,
19125           backends/flint/flint_database.cc,backends/flint/flint_database.h,
19126           common/database.h,docs/replication_protocol.rst,
19127           tests/api_replicate.cc: Add the UUID of the new database to the
19128           DB_HEADER message, and move the code which compares UUIDs out of
19129           flint_database.cc and into replication.cc.  Fix testcase which
19130           missed incorrect comparison of UUIDs.  Store the UUID of the
19131           live database which has been replicated in the config file - this
19132           isn't an ideal place, but will do until the UUID is stored in the
19133           iamflint file, and we can parse it from there.  Remove debug
19134           printfs.
19136 Fri Feb 01 15:09:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19138         * bin/quartzdump.cc: Rename hex_encode() to hex_display_encode() to
19139           avoid collision.  (The hex encoding produced by this doesn't
19140           encode spaces, so isn't quite the same as the functions just
19141           added to utils.cc).
19143 Fri Feb 01 15:08:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19145         * common/utils.cc,common/utils.h: Add utility functions to
19146           hex-encode and decode a string, so we can store UUIDs in the
19147           config file in replicated DB directories.
19149 Fri Feb 01 12:49:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19151         * tests/harness/backendmanager_multi.cc: Make the multi
19152           backendmanager use relative paths in its stub databases.
19154 Fri Feb 01 12:17:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19156         * common/Makefile.mk: Add replicationprotocol.h to distribution.
19158 Fri Feb 01 12:10:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19160         * backends/database.cc: Stub databases used to
19161           assume that any relative paths were relative to the current
19162           working directory.  They now assume that relative paths are
19163           relative to the directory holding the stub database file.
19164           Also, lines which begin with a '#' character are ignored, so we
19165           can place comments in the stub database files.  Also, recognise a
19166           new database type: a "stub directory", which is a directory
19167           containing a stub database file named "XAPIANDB".
19168         * api/replication.cc: Replica databases are now created as
19169           directories containing a "XAPIANDB" stub file, so all the
19170           workings are internal.
19171         * common/Makefile.mk,common/fileutils.cc,common/fileutils.h: Add
19172           new set of utilities to manipulate path names - extracting
19173           directory names, and joining paths.
19174         * tests/api_replicate.cc: Enable test properly, now that
19175           it passes.  Test needs to be expanded to check that the database
19176           copy succeeded better.
19178 Fri Feb 01 09:47:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19180         * backends/flint/flint_database.cc: Fix warning about unused
19181           variable.
19183 Fri Feb 01 03:49:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19185         * api/replication.cc,backends/database.cc,
19186           backends/flint/flint_database.cc,backends/flint/flint_database.h,
19187           common/database.h,common/replicationprotocol.h: Move replication
19188           protocol definition into a separate file.  Add (virtual) support
19189           methods for applying changesets to Database::Internal.  Sort out
19190           atomic swapping of old database for new after a database copy.
19192 Fri Feb 01 03:49:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19194         * tests/quartztest.cc: Rename removedir to removedir_recursive() to
19195           avoid conflict with my new function.
19197 Fri Feb 01 03:09:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19199         * docs/replication_protocol.rst: Specify (though not in much
19200           detail) what we mean by "packed" strings and integers.
19202 Fri Feb 01 03:09:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19204         * include/xapian/replication.h: Be more precise in documentation
19205           comment.
19207 Fri Feb 01 03:07:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19209         * net/remoteconnection.cc: Remove debug printfs()
19211 Fri Feb 01 03:03:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19213         * common/utils.cc,common/utils.h: Add overloaded rmdir() which
19214           works directly on C++ strings.  Add removedir() method which
19215           removes a directory and its contents (as long as the directory
19216           only contains files, not subdirectories).
19218 Fri Feb 01 01:51:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19220         * common/remoteconnection.h,net/remoteconnection.cc: Add
19221           "sniff_next_message_type" method to RemoteConnection, and replace
19222           the hardcoded "4096" size of the chunks used for the remote
19223           connection confersation with a #define.  Fix file mode when
19224           creating a file with receive_file(), and bugs with writing too
19225           much data to the file.
19227 Thu Jan 31 03:41:42 GMT 2008  Olly Betts <olly@survex.com>
19229         * bin/Makefile.mk,bin/xapian-replicate-server.cc,
19230           common/replicatetcpserver.h: Add xapian-replicate-server server
19231           program.
19233 Thu Jan 31 02:46:38 GMT 2008  Olly Betts <olly@survex.com>
19235         * bin/Makefile.mk,bin/xapian-replicate.cc,common/replicatetcpclient.h,
19236           net/replicatetcpclient.cc,net/replicatetcpserver.cc: Add
19237           xapian-replicate client program.
19239 Wed Jan 30 19:13:08 GMT 2008  Olly Betts <olly@survex.com>
19241         * include/xapian/replication.h: Correct name of parameter in doxygen
19242           comment.
19244 Wed Jan 30 15:58:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19246         * api/replication.cc,backends/database.cc,
19247           backends/flint/flint_database.cc,backends/flint/flint_database.h,
19248           common/database.h: Hook up the apply_changeset function from the
19249           API through to flint.  (The flint layer currently doesn't work,
19250           though.)  Also, implement the get_uuid() function for flint, by
19251           using the mtime of the iamflint file.
19252         * tests/api_replicate.cc: Finish implementation of the "replicate"
19253           function, and add a test of a replication of a database using
19254           this.  The return value test is commented out for now, because
19255           the flint layer doesn't work, but this puts the machinery needed
19256           to test this in place.
19258 Wed Jan 30 15:10:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19260         * backends/flint/flint_database.cc: Implement sending of the whole
19261           database copy.
19263 Wed Jan 30 14:45:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19265         * tests/,tests/harness/: Add new testcase file (api_replicate.cc)
19266           to hold tests of the replication functionality.  Currently has
19267           one partially written test.  Also, add new function to apitest.h:
19268           get_named_writable_database_path(), which allows the path to a
19269           writable database to be obtained; throws an exception for those
19270           backend types for which that isn't meaningful.  Add a new
19271           variable for use in the conditions for tests: "replicas", which
19272           should be set to true for all backends which support replication.
19274 Wed Jan 30 14:42:26 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19276         * net/remoteconnection.cc: Fix the calls to fcntl() in
19277           send_message() and send_file() to use fdout instead of fdin.
19278           This has probably been stopping timeouts working very well.
19280 Tue Jan 29 15:05:09 GMT 2008  Olly Betts <olly@survex.com>
19282         * common/remoteconnection.h,net/remoteconnection.cc: Add
19283           receive_file() method.
19285 Tue Jan 29 14:37:36 GMT 2008  Olly Betts <olly@survex.com>
19287         * common/remoteconnection.h,net/remoteconnection.cc: Add the ability
19288           to read a message in chunks.
19290 Tue Jan 29 10:08:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19292         * include/xapian/replication.h: Expand documentation comment.
19293         * api/replication.cc,backends/database.cc,
19294           backends/flint/flint_database.cc,backends/flint/flint_database.h,
19295           common/database.h: Add a write_changesets_to_fd() function to
19296           Database::Internal, with a default implementation to raise an
19297           UnimplementedError.  Hook
19298           DatabaseMaster::write_changesets_to_fd() up to this, and
19299           implement it for flint databases (the code to send a copy of a
19300           database still needs work).
19302 Tue Jan 29 10:01:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19304         * docs/replication_protocol.rst: Document that a FAIL message ends
19305           the conversation.
19307 Tue Jan 29 09:59:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19309         * docs/replication_protocol.rst: Document the protocol used to
19310           transfer the updates.
19312 Tue Jan 29 09:57:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19314         * net/remoteconnection.cc: Fix typo.
19316 Tue Jan 29 09:48:15 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19318         * net/remoteconnection.cc: For win32, use msvc_posix_open() to open
19319           the file descriptor, so other things can delete the file while
19320           the sending is in progress.
19322 Tue Jan 29 01:23:19 GMT 2008  Olly Betts <olly@survex.com>
19324         * net/remoteconnection.cc: Add an assertion.
19326 Tue Jan 29 01:14:07 GMT 2008  Olly Betts <olly@survex.com>
19328         * common/remoteconnection.h,net/remoteconnection.cc: Add send_file()
19329           method to RemoteConnection to allow the contents of a file to be
19330           sent as a message.
19332 Tue Jan 29 00:28:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19334         * api/replication.cc,include/xapian/replication.h: Add methods to
19335           allow parameters to be stored associated with a DatabaseReplica.
19337 Tue Jan 29 00:16:42 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19339         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
19340           Change write_changesets_to_fd() to take the revision information
19341           as a string - it now includes a UUID.  Add get_uuid() method to
19342           FlintDatabase - currently always returns "FIXME", but will
19343           eventually return an ID for the database.
19345 Mon Jan 28 19:07:20 GMT 2008  Olly Betts <olly@survex.com>
19347         * common/Makefile.mk,common/replicatetcpclient.h,net/Makefile.mk,
19348           net/replicatetcpclient.cc,net/replicatetcpserver.cc: Add
19349           ReplicateTcpClient class implementing a replication client over
19350           TCP/IP.
19352 Mon Jan 28 17:13:09 GMT 2008  Olly Betts <olly@survex.com>
19354         * common/Makefile.mk,common/replicatetcpserver.h,net/Makefile.mk,
19355           net/replicatetcpserver.cc: Add ReplicateTcpServer class implementing
19356           a replication server over TCP/IP.
19358 Mon Jan 28 17:01:02 GMT 2008  Olly Betts <olly@survex.com>
19360         * common/remoteconnection.h,net/remoteconnection.cc: Minor tweaks
19361           to allow unidirectional connections.
19363 Mon Jan 28 16:26:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19365         * api/replication.cc: Fix overly hasty commit - add
19366           get_description() method for internal class, and use that instead
19367           of trying to access a private member.
19369 Mon Jan 28 16:22:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19371         * api/replication.cc,common/output.h,include/xapian/replication.h:
19372           Add get_description() methods to DatabaseMaster and
19373           DatabaseReplica, and add XAPIAN_OUTPUT_FUNCTION methods for them
19374           so that they can be displayed in debugging methods.  Should fix
19375           build with logging enabled.
19377 Mon Jan 28 11:52:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19379         * api/replication.cc,include/xapian/replication.h: Add
19380           DatabaseReplica::close() method, to allow the write lock to be
19381           released easily.
19383 Mon Jan 28 11:21:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19385         * api/replication.cc,include/xapian/replication.h: Change
19386           DatabaseReplica into a PIMPL style class, now that it has more
19387           than one member.  Add visibility annotations to DatabaseMaster
19388           and DatabaseReplica.
19390 Mon Jan 28 10:44:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19392         * api/replication.cc,include/xapian/replication.h: Add code to swap
19393           stub database files over atomically, and to track the current
19394           real database path.
19396 Mon Jan 28 04:52:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19398         * api/replication.cc,backends/database.cc,
19399           backends/flint/flint_changesetapplier.h,
19400           backends/flint/flint_database.cc,backends/flint/flint_database.h,
19401           common/database.h: Implement opening of the database underlying
19402           DatabaseReplica objects, and hook up the get_revision_info()
19403           method for it.
19405 Mon Jan 28 04:17:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19407         * common/utils.cc,common/utils.h: Add "dir_exists" function, to
19408           check for presence of a directory at a given path.
19410 Mon Jan 28 03:48:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19412         * backends/flint/flint_table.cc: Change a "+= 1" to ++ - this isn't
19413           Python!
19415 Mon Jan 28 03:08:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19417         * api/Makefile.mk,api/replication.cc,include/Makefile.mk,
19418           include/xapian/replication.h: Add interface to replication
19419           functionality.  (Currently just unimplemented stubs.)
19421 Mon Jan 28 02:01:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19423         * backends/flint/flint_btreebase.h: Add a missing std::
19425 Mon Jan 28 01:59:55 GMT 2008  Olly Betts <olly@survex.com>
19427         * common/remotetcpserver.h: Fix typo in doxygen comment: `@port' ->
19428           `@param port'.  Update comment - socket is no longer closed by
19429           handle_one_connection().
19431 Mon Jan 28 01:28:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19433         * backends/flint/: Add support for recording the changes made to a
19434           database in "changeset" files.  These are currently not produced
19435           by default - for now, the "XAPIAN_MAX_CHANGESETS" environment
19436           variable can be set to control production of them.  As part of
19437           these changes, the FlintTable constructor now takes the
19438           tablename, so that this can be stored in changesets produced from
19439           the table.
19440         * bin/xapian-check.cc,bin/xapian-compact.cc,bin/xapian-inspect.cc:
19441           Update to match changes in FlintTable constructor.
19442         * docs/Makefile.am,docs/replication.rst,docs/replication_protocol.rst:
19443           Add basic documentation of the replication protocol (though this
19444           isn't yet definitive, since the protocol isn't finished!)
19446 Sun Jan 27 21:10:24 GMT 2008  Olly Betts <olly@survex.com>
19448         * net/remotetcpserver.cc,net/tcpserver.cc: The job of closing the
19449           socket connected to the client more naturally belongs to the
19450           framework TcpServer class.
19452 Sun Jan 27 20:32:55 GMT 2008  Olly Betts <olly@survex.com>
19454         * backends/flint/flint_table.cc: Call flint_io_sync() in commit()
19455           rather than flush_db(), as that gives more time for written blocks
19456           to get written to disk before we block on waiting for them to be.
19457           This should tend to speed up WritableDatabase::flush() in I/O bound
19458           situations.
19460 Sun Jan 27 19:35:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19462         * backends/flint/flint_spelling.h,backends/flint/flint_synonym.h:
19463           Merge changes to the spelling and synonym tables just before
19464           calling FlintTable::flush_db(), rather than just before calling
19465           FlintTable::commit(), so that they don't get forgotten.
19467 Sun Jan 27 14:29:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19469         * backends/flint/flint_database.cc,backends/flint/flint_table.cc,
19470           backends/flint/flint_table.h: Separate step which flushes
19471           modified blocks from cursors to the DB file from the rest of
19472           commit.  This will allow me to insert the changeset writing code
19473           between the two steps, so it can assume that the DB file is fully
19474           up-to-date.  Also remove an out-of-date FIXME about trying to
19475           avoid updating the value and position tables if they're not used:
19476           these tables are now lazily created anyway.
19478 Sun Jan 27 12:53:51 GMT 2008  Olly Betts <olly@survex.com>
19480         * net/tcpserver.cc: Change explicit references to xapian-tcpsrv.
19482 Sun Jan 27 12:26:24 GMT 2008  Olly Betts <olly@survex.com>
19484         * common/tcpclient.h,common/tcpserver.h,net/: Make use of TCP_NODELAY
19485           optional at the class level.  No user-visible changes.
19487 Sat Jan 26 17:18:09 GMT 2008  Olly Betts <olly@survex.com>
19489         * backends/dbfactory_remote.cc,common/Makefile.mk,
19490           common/remotetcpclient.h,common/tcpclient.h,net/Makefile.mk,
19491           net/remotetcpclient.cc,net/tcpclient.cc: Split out the "open
19492           a connection" part of TcpClient and rename the rest to
19493           RemoteTcpClient.
19495 Sat Jan 26 14:01:34 GMT 2008  Olly Betts <olly@survex.com>
19497         * bin/xapian-tcpsrv.cc,common/Makefile.mk,common/remotetcpserver.h,
19498           common/tcpserver.h,net/Makefile.mk,net/remotetcpserver.cc,
19499           net/tcpserver.cc: Split TcpServer into a generic TCP server
19500           class (TcpServer) and a subclass of this which implements the
19501           remote backend TCP server (RemoteTcpServer).
19503 Sat Jan 26 11:06:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19505         * backends/flint/flint_btreebase.cc,backends/quartz/btree_util.h,
19506           common/utils.h: Move fdcloser into utils.h, since it's generally
19507           useful, and it's better not to have multiple copies of it
19508           scattered through the code.
19510 Fri Jan 25 15:06:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19512         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Use
19513           msvc_posix_unlink() on windows in sys_unlink_if_exists()
19514           functions, so that they will work even if the file is still open.
19515           This probably changes no behaviour, because
19516           sys_unlink_if_exists() is probably never called in such a
19517           situation, but this may not be true in future.
19519 Thu Jan 24 13:31:20 GMT 2008  Olly Betts <olly@survex.com>
19521         * docs/overview.html: Remove commented-out comment about OP_XOR.
19523 Thu Jan 24 13:30:04 GMT 2008  Olly Betts <olly@survex.com>
19525         * docs/intro_ir.html: Briefly mention how pure boolean retrieval is
19526           supported.
19528 Thu Jan 24 13:28:44 GMT 2008  Olly Betts <olly@survex.com>
19530         * HACKING: Move "debian/patch" update earlier in the checklist.
19532 Thu Jan 24 13:26:45 GMT 2008  Olly Betts <olly@survex.com>
19534         * NEWS: Partly update from ChangeLog.
19536 Thu Jan 17 22:32:08 GMT 2008  Olly Betts <olly@survex.com>
19538         * backends/flint/flint_lock.cc,backends/flint/flint_lock.h,
19539           bin/xapian-check.cc: Apply tweaked version of patch for OS/2 support
19540           by Yuri Dario.
19541         * AUTHORS: Add Yuri Dario.
19542         * PLATFORMS: Mention OS/2.
19544 Mon Jan 14 11:03:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19546         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Fix more
19547           assertions to avoid overflowing int.
19549 Mon Jan 14 09:29:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19551         * backends/flint/flint_btreeutil.h: Fix assertions to not overflow
19552           int.
19554 Mon Jan 14 09:23:54 GMT 2008  Olly Betts <olly@survex.com>
19556         * backends/quartz/btree_util.h: Fix assertions to not overflow int.
19558 Mon Jan 14 08:47:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19560         * configure.ac: Fix test for gcc being 4.0.x or 4.1.x, so we don't
19561           use -Wstrict-overflow with them.
19563 Sun Jan 13 23:28:04 GMT 2008  Olly Betts <olly@survex.com>
19565         * configure.ac: GCC warning flag overhaul.  Stop passing
19566           "-Wno-multichar" since any multi-character character literal is
19567           bound to be a typo (I believe we were only passing it after
19568           misinterpreting its sense!)  Pass "-Wformat-security",
19569           "-Wconversion", and "-pedantic" for all GCC versions.  Add
19570           "-Winit-self" and "-Wstrict-overflow=5" for GCC >= 4.2.  The
19571           latter may be too aggressive, but it's hard to know without
19572           trying it more widely.
19574 Sun Jan 13 00:25:25 GMT 2008  Olly Betts <olly@survex.com>
19576         * backends/flint/flint_check.h,backends/flint/flint_table.h,
19577           backends/quartz/btree.h,net/tcpserver.cc,tests/harness/testsuite.cc:
19578           Add XAPIAN_NORETURN() annotations to functions and non-virtual
19579           methods which don't return.
19580         * net/remoteserver.cc: Assign bool variable using a comparison rather
19581           than subtraction, so the intent is clearer.
19583 Sun Jan 13 00:23:41 GMT 2008  Olly Betts <olly@survex.com>
19585         * backends/flint/flint_check.cc: Tweak a comparison so all the
19586           constants are on the same side (micro-optimisation).
19587         * backends/quartz/btreecheck.cc: Equivalent change for quartz.
19589 Sun Jan 13 00:20:08 GMT 2008  Olly Betts <olly@survex.com>
19591         * tests/queryparsertest.cc: Add a couple of testcases I wrote for a
19592           reported problem which turned out to work correctly already.  Still,
19593           they add to our test coverage.
19595 Thu Jan 10 02:04:55 GMT 2008  Olly Betts <olly@survex.com>
19597         * tests/runtest.in: Cope with "@EXEEXT" extension on test programs.
19599 Wed Jan 09 21:57:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19601         * api/omquery.cc,api/omqueryinternal.cc,common/remoteprotocol.h,
19602           include/xapian/query.h,matcher/queryoptimiser.cc,tests/api_anydb.cc:
19603           Add OP_VALUE_LE operator, for symmetry with OP_VALUE_GE.
19604           Currently implemented internally using a ValueRangePostList with
19605           an empty string as the start of the range.
19607 Wed Jan 09 19:36:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19609         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h: Add
19610           new query operator OP_VALUE_GE, for performing "return documents
19611           with a value greater than this" searches.  Also add a new
19612           constructor to go with this which takes a value number and a
19613           single string argument.
19614         * matcher/: Add ValueGePostList class, as a subclass of
19615           ValueRangePostList.  Change internal members of
19616           ValueRangePostList to be protected instead of private.  Add
19617           support for making ValueGePostLists from OP_VALUE_GE queries.
19618         * tests/api_anydb.cc: Add valuege1 testcase of OP_VALUE_GE queries.
19619         * common/remoteprotocol.h: Bump minor protocol number, due to
19620           additional operator being possible in serialised queries.
19622 Wed Jan 09 15:18:16 GMT 2008  Olly Betts <olly@survex.com>
19624         * PLATFORMS: Update from Debian buildd logs.
19626 Wed Jan 09 13:53:34 GMT 2008  Olly Betts <olly@survex.com>
19628         * tests/harness/backendmanager_remotetcp.cc: Fix XAPIAN_NORETURN() to
19629           wrap a declaration, not the definition, to fix compile failure on
19630           mingw "make check".  Correct file documentation comment to refer
19631           to "remotetcp" not "remoteprog".
19633 Mon Jan 07 01:28:14 GMT 2008  Olly Betts <olly@survex.com>
19635         * PLATFORMS: Remove reports for 0.8.x as they're too old to be
19636           interesting.  Separate out 0.9.x reports.
19638 Mon Jan 07 00:23:10 GMT 2008  Olly Betts <olly@survex.com>
19640         * PLATFORMS: Add Solaris 9 and 10 success reports from James Aylett.
19642 Sat Jan 05 19:13:12 GMT 2008  Olly Betts <olly@survex.com>
19644         * languages/compiler/generator.c: In generate_call(), if the failure
19645           case would just be "if (ret == 0) return 0;" then combine it with
19646           the test for the called method returning signal `f'.
19648 Sat Jan 05 18:28:31 GMT 2008  Olly Betts <olly@survex.com>
19650         * languages/compiler/generator.c: Generate more readable code for the
19651           inlined single ASCII character literal string check.
19653 Sat Jan 05 18:27:07 GMT 2008  Olly Betts <olly@survex.com>
19655         * languages/steminternal.cc: Tweak skip_utf8() to save ~0.5% on
19656           stemtest.
19658 Sat Jan 05 02:20:57 GMT 2008  Olly Betts <olly@survex.com>
19660         * languages/compiler/generator.c: Optimise a single ASCII character
19661           literalstring check by inlining the check.  This makes stemtest run
19662           about 2% faster.
19664 Fri Dec 21 21:57:11 GMT 2007  Olly Betts <olly@survex.com>
19666         * docs/valueranges.rst: Fix example of using multiple VRPs to come out
19667           as a "program listing".
19669 Fri Dec 21 15:31:35 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19671         * common/stringutils.h,common/utils.h: Move declaration of
19672           within_DBL_EPSILON back into utils.h to fix builds with
19673           --enable-assertions, and since it's not string-related.
19675 Fri Dec 21 02:12:49 GMT 2007  Olly Betts <olly@survex.com>
19677         * NEWS: Note that one change was "(bug#45)".  Bump release date.
19679 Thu Dec 20 22:00:41 GMT 2007  Olly Betts <olly@survex.com>
19681         * NEWS: Update again for 1.0.5.
19683 Thu Dec 20 17:50:26 GMT 2007  Olly Betts <olly@survex.com>
19685         * common/stringutils.cc: Add new file I failed to commit.
19687 Thu Dec 20 17:17:28 GMT 2007  Olly Betts <olly@survex.com>
19689         * tests/queryparsertest.cc: Add feature tests to ensure that ':' is
19690           inserted between prefix and term when it should be.
19692 Thu Dec 20 13:58:18 GMT 2007  Olly Betts <olly@survex.com>
19694         * common/,queryparser/queryparser.lemony,
19695           queryparser/termgenerator_internal.cc,tests/harness/index_utils.cc,
19696           tests/harness/unixcmds.cc: Move C_isupper(), C_toupper(), etc from
19697           utils.cc/utils.h to stringutils.cc/stringutils.h, since they are
19698           string-related.
19700 Thu Dec 20 03:00:08 GMT 2007  Olly Betts <olly@survex.com>
19702         * HACKING: Remove details of issues with autoconf < 2.57 and
19703           automake < 1.5 as these versions are antiques compared to our
19704           current requirements of autoconf >= 2.59 and automake >= 1.8.3.
19706 Wed Dec 19 03:41:42 GMT 2007  Olly Betts <olly@survex.com>
19708         * AUTHORS,NEWS,configure.ac: Update for 1.0.5.
19710 Wed Dec 19 03:36:30 GMT 2007  Olly Betts <olly@survex.com>
19712         * api/omdatabase.cc: Calling WritableDatabase methods when we don't
19713           have exactly one subdatabase now throws InvalidOperationError.
19714         * tests/termgentest.cc: Add regression test to check that we now get
19715           InvalidOperationError (previously this case gave a segmentation
19716           fault).
19718 Wed Dec 19 01:39:01 GMT 2007  Olly Betts <olly@survex.com>
19720         * PLATFORMS: Update from tinderbox.
19722 Tue Dec 18 23:17:37 GMT 2007  Olly Betts <olly@survex.com>
19724         * backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Move lots
19725           of headers included by flint_lock.h to flint_lock.cc since
19726           flint_lock.h doesn't need them.  Add a "FIXME:1.1:" comment about
19727           an odd special-case for newlib.
19729 Thu Dec 13 17:34:19 GMT 2007  Olly Betts <olly@survex.com>
19731         * tests/stemtest.cc: Mark undocumented OM_STEMTEST_* environmental
19732           variables for removal in 1.1.
19734 Thu Dec 13 01:27:15 GMT 2007  Olly Betts <olly@survex.com>
19736         * HACKING: Need to check RPM packaging with Tim Brody too.
19738 Thu Dec 13 01:26:16 GMT 2007  Olly Betts <olly@survex.com>
19740         * configure.ac: Note that we check for <streambuf> because GCC 2.95
19741           only has <streambuf.h>.
19743 Thu Dec 13 01:23:27 GMT 2007  Olly Betts <olly@survex.com>
19745         * AUTHORS: Add Ralf Wildenhues for suggesting a way to factor out
19746           the boilerplate in multitarget rules.
19748 Wed Dec 12 02:02:51 GMT 2007  Olly Betts <olly@survex.com>
19750         * NEWS: Update for ChangeLog in preparation for 1.0.5.
19752 Wed Dec 12 01:02:29 GMT 2007  Olly Betts <olly@survex.com>
19754         * docs/admin_notes.rst: Mark as up to date for Xapian 1.0.5.  Minor
19755           wording improvements.
19757 Sun Dec 09 01:09:19 GMT 2007  Olly Betts <olly@survex.com>
19759         * tests/collate-apitest: Check for sources in the build directory
19760           first, and only if not there prepend "$srcdir/".  The recently
19761           added api_generated.cc will be in the build directory when using an
19762           SVN checkout.
19764 Fri Dec 07 12:37:08 GMT 2007  Olly Betts <olly@survex.com>
19766         * docs/sorting.rst,docs/valueranges.rst: State explicitly that
19767           Xapian::sortable_serialise() is used to encode values at index time
19768           and give an example of how it is called.
19770 Thu Dec 06 15:55:31 GMT 2007  Olly Betts <olly@survex.com>
19772         * tests/Makefile.am,tests/collate-apitest,
19773           tests/generate-api_generated: Add automatically generated tests to
19774           ensure that API classes generally have copy ctors and assignment
19775           operators, and also generally have a default ctor.
19777 Thu Dec 06 15:32:23 GMT 2007  Olly Betts <olly@survex.com>
19779         * docs/sorting.rst: Fill in the remaining items in the outline.
19781 Thu Dec 06 12:50:46 GMT 2007  Olly Betts <olly@survex.com>
19783         * tests/valgrind.supp: Another variant of the zlib suppression.
19785 Wed Dec 05 18:31:12 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19787         * Makefile.am,docs/Makefile.am,tests/Makefile.am: Add dir_contents,
19788           docs/dir_contents and tests/dir_contents to distribution
19789           tarballs.
19791 Wed Dec 05 18:28:12 GMT 2007  Olly Betts <olly@survex.com>
19793         * preautoreconf: Really fix handling of version.h.
19795 Wed Dec 05 18:20:54 GMT 2007  Olly Betts <olly@survex.com>
19797         * preautoreconf: Handle make pattern substitutions.
19799 Wed Dec 05 18:11:31 GMT 2007  Olly Betts <olly@survex.com>
19801         * preautoreconf: Fix special-case handling of include/xapian/version.h.
19803 Wed Dec 05 18:01:34 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19805         * matcher/multiandpostlist.cc,matcher/multiandpostlist.h: Implement
19806           get_wdf() method for MultiAndPostList (by adding together the
19807           wdfs of the subpostlists).  Not currently used (but will be by
19808           SynonymPostList).
19810 Wed Dec 05 17:43:24 GMT 2007  Olly Betts <olly@survex.com>
19812         * preautoreconf: Special-case version.h.
19814 Wed Dec 05 17:31:47 GMT 2007  Olly Betts <olly@survex.com>
19816         * preautoreconf: Fix errors in previous check-in.
19818 Wed Dec 05 17:18:26 GMT 2007  Olly Betts <olly@survex.com>
19820         * preautoreconf: Parse BUILT_SOURCES to determine which files are
19821           generated and so need looking for in the build directory - this
19822           won't need updating when new files are generated, or existing
19823           ones stop being.
19825 Wed Dec 05 16:55:26 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19827         * preautoreconf: Fix "make doxygen_docs" with VPATH build: look for
19828           generated code files in build dir, and make rule which re-runs
19829           preautoreconf change to srcdir first.
19831 Wed Dec 05 14:59:52 GMT 2007  Olly Betts <olly@survex.com>
19833         * docs/sorting.rst: Document set_sort_by_value() and friends.
19835 Wed Dec 05 11:31:27 GMT 2007  Olly Betts <olly@survex.com>
19837         * docs/sorting.rst: More work.
19839 Tue Dec 04 14:42:57 GMT 2007  Olly Betts <olly@survex.com>
19841         * docs/bm25.html: Improve wording.
19843 Mon Dec 03 17:11:01 GMT 2007  Olly Betts <olly@survex.com>
19845         * docs/Makefile.am,docs/index.html,docs/sorting.rst: Add the start of
19846           a topic document on sorting.
19848 Mon Dec 03 17:10:04 GMT 2007  Olly Betts <olly@survex.com>
19850         * common/stats.h: Fix comment typos.
19852 Sun Dec 02 14:36:47 GMT 2007  Olly Betts <olly@survex.com>
19854         * docs/synonyms.rst: Minor wording clarification.
19856 Sun Dec 02 14:23:37 GMT 2007  Olly Betts <olly@survex.com>
19858         * tests/collate-apitest: Fix reversed conditional for deciding
19859           which generated headers to update.
19861 Sun Dec 02 03:47:44 GMT 2007  Olly Betts <olly@survex.com>
19863         * tests/apitest.cc: Include api_all.h instead of the individual
19864           generated headers.
19866 Sun Dec 02 03:44:56 GMT 2007  Olly Betts <olly@survex.com>
19868         * tests/collate-apitest: Add licence and (C).  Only update .h files
19869           which may have changed.  Generate api_all.h which just includes
19870           the generated headers corresponding to all the sources processed.
19871           Strip spaces from conditions.
19872         * tests/Makefile.am: Update for api_all.h.
19874 Sun Dec 02 03:21:59 GMT 2007  Olly Betts <olly@survex.com>
19876         * matcher/weight.cc: Wrap comment.
19878 Sun Dec 02 03:21:25 GMT 2007  Olly Betts <olly@survex.com>
19880         * AUTHORS: Thank Petr Ročkai.
19882 Sun Dec 02 02:40:58 GMT 2007  Olly Betts <olly@survex.com>
19884         * api/omenquire.cc: Oops, this file also part of previous change.
19886 Sun Dec 02 02:14:27 GMT 2007  Olly Betts <olly@survex.com>
19888         * include/xapian/enquire.h: Implement copy ctor and assignment
19889           operator for Xapian::Enquire (bug#219).
19890         * configure.ac: Note what this means in terms of library versioning.
19892 Sat Dec 01 02:54:51 GMT 2007  Olly Betts <olly@survex.com>
19894         * include/xapian/: Stop describing get_description() as an
19895           "Introspection method", as this doesn't help to explain what it
19896           does, and get_description() doesn't actually fall under any of the
19897           formal definitions of "introspection" I can find.
19899 Sat Dec 01 02:45:16 GMT 2007  Olly Betts <olly@survex.com>
19901         * tests/harness/index_utils.h: Overlooked (C) update.
19903 Sat Dec 01 02:34:59 GMT 2007  Olly Betts <olly@survex.com>
19905         * HACKING,INSTALL,common/,configure.ac,tests/api_anydb.cc,
19906           tests/api_db.cc,tests/btreetest.cc,tests/harness/testsuite.cc,
19907           tests/harness/testsuite.h,tests/harness/testutils.cc,
19908           tests/internaltest.cc: Raise the minimum supported GCC version
19909           to 2.95.3 and strip out om_ostringstream which is no longer
19910           required.
19912 Sat Dec 01 01:10:04 GMT 2007  Olly Betts <olly@survex.com>
19914         * tests/api_sorting.cc,tests/api_wrdb.cc: Move sortfunctor2 from
19915           api_wrdb.cc to api_sorting.cc.
19917 Sat Dec 01 00:43:31 GMT 2007  Olly Betts <olly@survex.com>
19919         * tests/valgrind.supp: Add version of the valgrind zlib suppression
19920           for 64 bit hosts.
19922 Fri Nov 30 18:06:49 GMT 2007  Olly Betts <olly@survex.com>
19924         * tests/harness/index_utils.cc: Workaround MSVC which doesn't clear
19925           the fail bit when a stream is reopened.
19927 Fri Nov 30 00:44:21 GMT 2007  Olly Betts <olly@survex.com>
19929         * matcher/queryoptimiser.cc: Make delete_ptr<> a functor rather than
19930           a function.  This fixes the build with SGI's compiler, and
19931           apparently a functor allows more compilers to inline the call.
19933 Thu Nov 29 19:24:22 GMT 2007  Olly Betts <olly@survex.com>
19935         * configure.ac: Fix previous change to work.
19937 Thu Nov 29 18:53:09 GMT 2007  Olly Betts <olly@survex.com>
19939         * configure.ac: Assume we have <sstream> and hardwire HAVE_SSTREAM to
19940           be 1.  If this assumption proves correct for all platforms we care
19941           about, we can rip out the old om_ostringstream code.
19943 Thu Nov 29 17:51:11 GMT 2007  Olly Betts <olly@survex.com>
19945         * tests/harness/index_utils.cc: Work around MSVC.
19947 Wed Nov 28 03:17:06 GMT 2007  Olly Betts <olly@survex.com>
19949         * api/sorter.cc: Fix reverse sorting of value strings with different
19950           lengths.
19951         * tests/api_wrdb.cc: Add test sortfunctor2 to check this actually
19952           works.
19954 Wed Nov 28 02:27:37 GMT 2007  Olly Betts <olly@survex.com>
19956         * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/:
19957           Add get_named_writable_database() and use it to fix spell3 on
19958           Microsoft Windows.
19960 Tue Nov 27 16:56:12 GMT 2007  Olly Betts <olly@survex.com>
19962         * xapian-config.in: Factor out the code to check if we need explicit
19963           dependencies into a function.  On platforms we know don't need
19964           explicit dependencies, --ltlibs now gives the same output as --libs.
19966 Tue Nov 27 00:24:18 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19968         * tests/Makefile.am: Remove api_regressions.cc from list - didn't
19969           mean to commit that (yet).
19971 Tue Nov 27 00:17:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19973         * tests/Makefile.am: Use $(collated_apitest_sources) in list of
19974           apitest_SOURCES; now a new test file can be added just by adding
19975           it to this variable.
19977 Mon Nov 26 23:04:00 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19979         * tests/Makefile.am: Add generated apitest .h files to targets of
19980           rule which calls collate-apitest, since they're also generated by
19981           it.  Change the rule to use a .stamp and a .lock file as
19982           described in HACKING, to fix parallel builds.
19984 Mon Nov 26 18:48:20 GMT 2007  Olly Betts <olly@survex.com>
19986         * Makefile.am: Distribute preautoreconf.
19988 Mon Nov 26 17:24:15 GMT 2007  Olly Betts <olly@survex.com>
19990         * HACKING,configure.ac,docs/Makefile.am: Use pngcrush to reduce the
19991           size of PNG files in the doxygen-generated HTML docs.
19993 Mon Nov 26 15:39:58 GMT 2007  Olly Betts <olly@survex.com>
19995         * docs/Makefile.am: Don't package or install various intermediate
19996           files which doxygen generates.
19998 Mon Nov 26 13:14:19 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20000         * tests/api_db.cc: Ensure that the database needed for stubdb1 is
20001           present, by creating it first (with get_database()).  This
20002           requires that the database type is flint, but the test doesn't
20003           depend on any particular database type anyway, so this doesn't
20004           lose us anything.
20006 Mon Nov 26 13:08:08 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20008         * tests/collate-apitest: Display the name of the backend which a
20009           set of tests is for.
20011 Mon Nov 26 09:45:39 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20013         * tests/Makefile.am,tests/collate-apitest: Fix with VPATH builds -
20014           pass srcdir as the first argument to collate-apitest, so it can
20015           find the sources.  Also, use srcdir to form the path to
20016           collate-apitest when calling it from the make rule.
20018 Mon Nov 26 02:22:08 GMT 2007  Olly Betts <olly@survex.com>
20020         * tests/api_db.cc,tests/apitest.cc,tests/apitest.h: Convert the
20021           remaining tests to be collated.
20023 Mon Nov 26 02:08:18 GMT 2007  Olly Betts <olly@survex.com>
20025         * tests/api_db.cc,tests/apitest.cc,tests/apitest.h: Collate the
20026           localdb and remotedb tests.
20028 Mon Nov 26 01:40:59 GMT 2007  Olly Betts <olly@survex.com>
20030         * tests/: Collate the specchar, doclendb, collfreq, allterms, and
20031           multivalue tests.
20033 Mon Nov 26 01:21:35 GMT 2007  Olly Betts <olly@survex.com>
20035         * tests/: Collate the anydb tests.  Remove the generated files upon
20036           "make clean" in maintainer-mode.
20038 Mon Nov 26 00:34:03 GMT 2007  Olly Betts <olly@survex.com>
20040         * tests/: Collate the wrdb tests.
20042 Mon Nov 26 00:18:18 GMT 2007  Olly Betts <olly@survex.com>
20044         * tests/api_posdb.cc,tests/apitest.cc: Add "writable" flag and use it
20045           for poslist2 and poslist3.
20047 Mon Nov 26 00:13:43 GMT 2007  Olly Betts <olly@survex.com>
20049         * tests/: Collate the posdb tests.
20051 Mon Nov 26 00:03:29 GMT 2007  Olly Betts <olly@survex.com>
20053         * tests/: Collate the nodb tests.
20055 Sun Nov 25 23:55:02 GMT 2007  Olly Betts <olly@survex.com>
20057         * tests/: Collate the transaction tests.
20059 Sun Nov 25 23:49:26 GMT 2007  Olly Betts <olly@survex.com>
20061         * tests/: Collate the unicode tests.
20063 Sun Nov 25 23:35:40 GMT 2007  Olly Betts <olly@survex.com>
20065         * tests/: Make a start on automatically collating test cases.
20067 Sun Nov 25 22:41:52 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20069         * api/weightinternal.cc: Initialise all members of
20070           Xapian::Weight::Internal, and use initialisers rather than
20071           assignment to do so.  Fixes an error reported by valgrind.
20073 Sun Nov 25 16:48:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20075         * matcher/weight.cc: Add another note of a FIXME needed for 1.1
20077 Sun Nov 25 16:40:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20079         * matcher/bm25weight.cc,matcher/tradweight.cc: Add some missing
20080           "using namespace std;" lines which are needed due to earlier
20081           changes in header file inclusions.  Also, remove some unnecessary
20082           std:: prefixes.
20084 Sun Nov 25 16:35:30 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20086         * common/stats.h,include/xapian/enquire.h,matcher/localmatch.cc,
20087           matcher/weight.cc: Undo ABI change introduced in previous commit
20088           with a nasty workaround; we can't initialise Weight::internal
20089           reliably, because applications complied with earlier versions of
20090           the library may have inlined the constructor of the Weight class.
20091           Therefore, we can't delete Weight::internal in the destructor,
20092           because we don't know if it was initialised.  Instead, we
20093           add factory methods for making Weight::Internal objects to Stats,
20094           register all the Weight::Internal objects made by these factory
20095           methods in a list is the Stats object, and delete them when Stats
20096           is deleted (which conveniently happens after the match has
20097           finished).  Mark all this with FIXME:1.1: so that we can easily
20098           convert it to nicer code once we branch for 1.1.
20100 Sun Nov 25 15:14:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20102         * api/Makefile.mk,api/weightinternal.cc,common/,
20103           include/xapian/enquire.h,matcher/: Split Stats and
20104           Xapian::Weight::Internal into different classes: Stats remains
20105           with the same members (but becomes a concrete class, rather than
20106           a typedef of another class), and Xapian::Weight::Internal becomes
20107           a simple container for exactly those statistics which are
20108           relevant for a weight object (ie, it holds just one termfreq and
20109           reltermfreq, rather than a map of all of them).  This is
20110           dynamically allocated, so Xapian::Weight now owns the object
20111           pointed to by its "internal" member, and deletes it in its
20112           destructor.  Add a new header file "weightinternal.h" so that the
20113           full "stats.h" stuff doesn't need to be included for definitions
20114           of weighting schemes.  Replace #include "stats.h" lines with
20115           forward declarations of Stats, where possible.
20117 Sun Nov 25 15:09:29 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20119         * api/omenquire.cc: Add missing include of stats.h
20120         * matcher/queryoptimiser.cc,net/tcpserver.cc: Remove unnecessary
20121           include of stats.h
20122         * net/remoteserver.cc: Include missing includes of omassert.h and
20123           stats.h, and change an Assert to AssertEq.
20124         * matcher/multimatch.cc: Output the contents of the stats object in
20125           debugging code.
20127 Sun Nov 25 04:22:05 GMT 2007  Olly Betts <olly@survex.com>
20129         * common/multimatch.h: No longer need "autoptr.h" here.
20131 Sun Nov 25 04:07:04 GMT 2007  Olly Betts <olly@survex.com>
20133         * common/multimatch.h: Fix typo in documentation comment.
20135 Sun Nov 25 03:58:21 GMT 2007  Olly Betts <olly@survex.com>
20137         * common/remoteserver.h,matcher/localmatch.cc,matcher/multimatch.cc:
20138           Remove lingering traces of StatsGatherer.
20140 Sat Nov 24 20:44:03 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20142         * common/stats.h,matcher/Makefile.mk,matcher/stats.cc: Add
20143           get_description() method for Xapian::Weight::Internal, and add
20144           stats.cc back to hold it's implementation.
20145         * common/output.h: Add an output function for Stats (aka
20146           Xapian::Weight::Internal) to fix the build when debug logging is
20147           enabled.
20149 Sat Nov 24 01:21:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20151         * api/omenquire.cc,common/,matcher/,net/remoteserver.cc: Remove
20152           StatsGatherer and its subclasses completely.  Instead of a
20153           StatsGatherer subclass, MultiMatch is now simply passed a Stats
20154           object, and passes this to the prepare_match() methods of the sub
20155           matchers to be populated with statistics.  OmEnquire then passes
20156           the same Stats object to MultiMatch::get_mset(), whereas a remote
20157           submatch sends the Stats object to the parent match, to be
20158           combined with the global statistics, and then passes the returned
20159           global statistics to MultiMatch::get_mset().  Remove stats.cc
20160           since it only contained implementations of StatsGatherer methods,
20161           and networkstats.h which only contained the definition of the
20162           NetworkStatsGatherer.
20163         * matcher/rset.cc: Add the rset size to the database - we now
20164           compute the global rset size the same way as we compute the
20165           global collection size: by adding the sizes in the sub
20166           collections together.  We have the total rset size easily
20167           available in the code, but building the total rset size up from
20168           the sub-databases makes the code simpler.
20170 Sat Nov 24 01:21:18 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20172         * matcher/andnotpostlist.cc: Add a missing #include "omdebug.h".
20174 Fri Nov 23 23:13:12 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20176         * common/stats.h,matcher/: Remove the StatsSource class entirely.
20177           LocalSubMatch and RemoteSubMatch now contribute their stats
20178           directly to the gatherer in the prepare_match() method, so the
20179           gatherer doesn't need to worry about keeping track of the sources
20180           of statistics.
20182 Fri Nov 23 21:46:32 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20184         * common/submatch.h,matcher/: Change SubMatch::start_match() (and
20185           all start_match() methods in subclasses) to take the statistics
20186           for the whole collection as an additional parameter.  MultiMatch
20187           now gets the statistics from the gatherer and passes it to
20188           start_match().
20190 Fri Nov 23 17:38:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20192         * common/stats.h: Add set_termfreq() and set_reltermfreq()
20193           convenience methods to Stats; and remote the take_my_stats(),
20194           my_termfreq_is() and my_reltermfreq_is() methods from
20195           StatsSource.
20196         * common/rset.h,matcher/rset.cc: Rename give_stats_to_statssource()
20197           to contribute_stats(), and give it take a Stats object instead of
20198           a StatsSource object.  Can't forward declare Stats, so we need to
20199           #include "stats.h" in rset.h now, unfortunately.
20200         * matcher/localmatch.cc,matcher/localmatch.h: Move register_term()
20201           implementation inline into prepare_match().  Build up the
20202           statistics in a local Stats object, rather than passing them
20203           piecemeal to the StatsSource object, and then use
20204           StatsSource::get_my_stats() to set them, just like
20205           RemoteSubMatcher.
20207 Fri Nov 23 14:35:49 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20209         * matcher/localmatch.cc,matcher/localmatch.h: Get the total
20210           statistics from the gatherer directly and store them in a new
20211           member of LocalSubMatch, rather than getting them via the
20212           StatsSource when we need them.  This bypasses the
20213           get_total_stats() and set_total_stats() methods of StatsSource.
20214         * common/stats.h,matcher/stats.cc: Remove the (newly) unused
20215           methods StatsSource::set_total_stats() and
20216           StatsSource::get_total_stats().
20218 Fri Nov 23 11:40:54 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20220         * common/,include/xapian/enquire.h,matcher/: Rename
20221           Xapian::Weight::Internal to StatsSource (which I hope to be able
20222           to remove shortly), and rename the Stats class to
20223           Xapian::Weight::Internal.  Requires minimal plumbing changes -
20224           TradWeight and BM25Weight classes now query the internals
20225           directly for the statistics, LocalSubMatch now gets the
20226           statistics from StatsSource and passes them to wt_factory.
20227           common/remote-database.h and common/serialise.h now need to
20228           #include stats.h unfortunately, because a forward declaration
20229           can't be used for Xapian::Weight::Internal (unless I'm missing
20230           something).
20232 Fri Nov 23 10:15:43 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20234         * common/stats.h,matcher/bm25weight.cc,matcher/localmatch.cc,
20235           matcher/tradweight.cc: Remove the Xapian::Weight::Internal
20236           get_total_* methods: instead, add a get_total_stats() method
20237           which returns a Stats object representing the whole collection.
20238           Add get_termfreq() and get_reltermfreq() convenience methods to
20239           Stats for looking up individual term's statistics.  Also, change
20240           protected members of Xapian::Weight::Internal to private members,
20241           since we're no longer subclassed.  Also, in tradweight.cc, avoid
20242           division by zero in the (rare) situation of the average length
20243           being zero; in the same way as this is handled by bm25weight.cc.
20245 Thu Nov 22 12:58:02 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20247         * common/stats.h,matcher/localmatch.cc,matcher/localmatch.h,
20248           matcher/stats.cc: Replay Xapian::Weight::Internal's
20249           perform_request() method with set_total_stats().  The replacement
20250           takes the stats as a parameter, rather than magically getting
20251           them from the gatherer.  The LocalSubMatch now needs to call the
20252           gatherer to get the stats, and then pass it to set_total_stats(),
20253           so needs to keep a reference to the gatherer.  However, we are
20254           now one step closer to decoupling the gatherer from the stats.
20256 Thu Nov 22 11:47:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20258         * common/stats.h,matcher/localmatch.cc: Remove automatic
20259           just-in-time calls to statssource.perform_request() - instead,
20260           make it public, and call it explicitly before the postlist tree
20261           is constructed.  Also, make Xapian::Weight::Internal's destructor
20262           non-virtual, since it's no longer subclassed anywhere.
20264 Thu Nov 22 11:02:39 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20266         * common/networkstats.h,matcher/stats.cc: Remove
20267           fetch_local_stats() method, and use of have_gathered flag for
20268           caching result of gathering the stats - instead, simply Assert
20269           that have_gathered is false before gathering; we currently only
20270           call get_local_stats() once for a given gatherer.
20272 Thu Nov 22 10:04:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20274         * common/rset.h: Change multiline "///" comments to use "/**",
20275           style.
20277 Thu Nov 22 09:27:42 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20279         * matcher/localmatch.cc,matcher/queryoptimiser.h: Update a couple
20280           of comments.
20282 Thu Nov 22 08:29:19 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20284         * common/networkstats.h,common/stats.h,matcher/: Remove the
20285           LocalStatsSource and NetworkStatsSource classes - just use the
20286           base class (Xapian::Weight::Internal) instead.  LocalStatsSource
20287           had no extra members whatsoever, whereas NetworkStatsSource had
20288           various members which weren't used, and a single method
20289           "take_remote_stats" which simply sets the statistics held - I've
20290           renamed this method "set_my_stats" and added it to the base
20291           class.
20293 Thu Nov 22 00:05:06 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20295         * common/networkstats.h,common/stats.h,matcher/stats.cc: Replace
20296           StatsGatherer::contrib_my_stats() and
20297           StatsSource::contrib_stats() methods; instead add a
20298           get_my_stats() method to StatsSource and simply call this.
20300 Wed Nov 21 16:37:10 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20302         * common/networkstats.h,common/remoteserver.h,matcher/stats.cc,
20303           net/remoteserver.cc: Rework NetworkStatsGatherer - it no longer
20304           needs to have the RemoteServer passed into it; instead, the
20305           RemoteServer calls NetworkStatsGatherer::set_global_stats() with
20306           the global statistics as soon as it gets them.  This new method
20307           replaces fetch_global_stats().  As a result, the RemoteServer no
20308           longer needs to remember the global_stats received from the
20309           network - it just passes them straight to the gatherer - so
20310           remove the global_stats and get_global_stats() methods from
20311           RemoteServer.
20313 Wed Nov 21 15:42:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20315         * common/rset.h,matcher/rset.cc: Document the member functions of
20316           RSetI, and remove the totally unused "get_reltermfreq()" member.
20317           Also remove an ancient, commented out, implementation of an
20318           "add_document()" member, and add copyright lines.
20320 Wed Nov 21 15:26:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20322         * common/rset.h,matcher/localmatch.cc,matcher/rset.cc: Make
20323           RSet::calculate_stats() private, and call it only from
20324           RSet::give_stats_to_statssource().  Was previously called
20325           directly from localmatch.cc, but this way it's clear that it's
20326           only called once.
20328 Wed Nov 21 14:30:17 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20330         * matcher/remotesubmatch.h: Move implementation of constructor into
20331           .cc file (accidentally missed this file from the last-but-one
20332           commit, which did the necessary changes to the .cc file).
20334 Wed Nov 21 14:28:48 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20336         * matcher/rset.cc: Improve debugging messages.
20338 Wed Nov 21 14:26:44 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20340         * matcher/remotesubmatch.cc: Add some debugging, and reorder the
20341           header includes.
20343 Wed Nov 21 13:21:35 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20345         * matcher/multimatch.cc: Add DEBUGCALL_STATIC macros to the new
20346           functions, and tidy some code in the constructor slightly.
20348 Wed Nov 21 10:00:48 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20350         * matcher/multimatch.cc: Split the loop which calls prepare_match()
20351           out of the constructor into a separate static function.
20353 Tue Nov 20 18:23:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20355         * matcher/multimatch.cc: Refactor code which splits the RSet into
20356           sub RSets (one for each sub database) into a separate function.
20357           No functional change.
20359 Tue Nov 20 17:56:47 GMT 2007  Olly Betts <olly@survex.com>
20361         * common/remoteserver.h: Remove unused '#include "omassert.h"'.
20363 Tue Nov 20 12:53:06 GMT 2007  Olly Betts <olly@survex.com>
20365         * AUTHORS: Thank Marcus Rueckert for GCC 4.3 fixes.
20367 Tue Nov 20 10:22:28 GMT 2007  Olly Betts <olly@survex.com>
20369         * bin/quartzcompact.cc: Recent GCC 4.3 snapshots thinks cf and tf
20370           might be used uninitialised.  They won't be, but we only need to
20371           initialise them once per run to silence the warning, so just do
20372           that.
20374 Tue Nov 20 10:20:13 GMT 2007  Olly Betts <olly@survex.com>
20376         * bin/quartzcompact.cc: Fix equality testing of C strings to use
20377           strcmp() rather than '=='.  In practice, using '==' often gives
20378           the desired effect due to pooling of constant strings, but this may
20379           have resulted in bugs on some platforms.
20381 Tue Nov 20 01:47:16 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20383         * tests/harness/backendmanager_remotetcp.cc: Add missing "#include
20384           <cstring>".
20386 Tue Nov 20 01:26:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20388         * tests/harness/unixcmds.cc: Add #include of cstring, to get
20389           strchr, needed for gcc 4.3 snapshot.
20391 Tue Nov 20 01:25:22 GMT 2007  Olly Betts <olly@survex.com>
20393         * api/maptermlist.h,api/termlist.cc,backends/alltermslist.cc,
20394           backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h,
20395           common/alltermslist.h,common/termlist.h,common/vectortermlist.h:
20396           Provide a default implementation of accumulate_stats() in the
20397           virtual base class TermIterator::Internal instead of repeating it
20398           in each subclass which doesn't get used for generating an ESet, and
20399           don't call abort() in the default implementation - an Assert(false)
20400           is sufficient, and more consistent with how we handle other similar
20401           cases.
20403 Tue Nov 20 01:24:17 GMT 2007  Olly Betts <olly@survex.com>
20405         * bin/xapian-progsrv.cc: Add missing '#include <cstdlib>'.
20407 Mon Nov 19 23:54:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20409         * backends/flint/flint_postlist.cc,backends/quartz/quartz_postlist.cc:
20410           Add NORETURN macro to report_read_error(); fixes warnings from
20411           GCC 4.3 about possibly uninitialised values.  Reorder header
20412           includes to follow proposed policy.
20413         * backends/flint/flint_postlist.h: Add include of omdebug.h which
20414           previously needed to be done before including this.  Tidy up
20415           order of includes.
20417 Mon Nov 12 14:06:38 GMT 2007  Olly Betts <olly@survex.com>
20419         * api/Makefile.mk,api/omenquire.cc,api/sorter.cc,common/multimatch.h,
20420           common/omenquireinternal.h,include/Makefile.mk,include/xapian.h,
20421           include/xapian/enquire.h,include/xapian/sorter.h,
20422           matcher/multimatch.cc,net/remoteserver.cc,tests/: Add new functor
20423           class to allow more sophisticated sorting options.
20425 Mon Nov 12 14:03:06 GMT 2007  Olly Betts <olly@survex.com>
20427         * HACKING: Improved wording.
20429 Sun Nov 11 07:51:57 GMT 2007  Olly Betts <olly@survex.com>
20431         * include/xapian/queryparser.h: Hide the v102 namespace from Doxygen
20432           as it isn't user visible.
20434 Sat Nov 10 21:53:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20436         * tests/Makefile.am: Remove .multi in clean-local rule; should fix
20437           distcheck.
20439 Sat Nov 10 15:34:25 GMT 2007  Olly Betts <olly@survex.com>
20441         * tests/harness/testutils.cc,tests/harness/testutils.h:
20442           mset_expect_order_begins() is never used, so remove it.
20443         * tests/harness/testutils.cc: Don't need <iostream>, only <fstream>.
20445 Sat Nov 10 11:09:22 GMT 2007  Olly Betts <olly@survex.com>
20447         * docs/index.html: Add a list of documents on particular features and
20448           include links to previously unlinked-to documents.  Weed down the
20449           top navigation bar which had grown to unwieldy length.
20451 Sat Nov 10 10:17:42 GMT 2007  Olly Betts <olly@survex.com>
20453         * PLATFORMS: Update for Debian buildds.
20455 Sat Nov 10 02:13:07 GMT 2007  Olly Betts <olly@survex.com>
20457         * matcher/multimatch.cc: If "first" is non-zero, then use nth_element
20458           with vector::reverse_iterator to partition items such that the
20459           unwanted ones are at the end not the start.  This means the call
20460           to vector::erase() no longer needs to copy all the wanted items.
20462 Fri Nov 09 19:01:38 GMT 2007  Olly Betts <olly@survex.com>
20464         * tests/api_db.cc: collapsekey3 is too strict - even if the value
20465           never occurs, lower_bound may drop as we may reject potential
20466           matches before applying the collapse test.
20468 Fri Nov 09 16:36:39 GMT 2007  Olly Betts <olly@survex.com>
20470         * include/xapian/termiterator.h: Clarify get_wdf() versus
20471           get_termfreq() in documentation comments.
20473 Fri Nov 09 00:07:02 GMT 2007  Olly Betts <olly@survex.com>
20475         * tests/api_db.cc: Fix comment typo.
20477 Fri Nov 09 00:04:45 GMT 2007  Olly Betts <olly@survex.com>
20479         * HACKING,Makefile.am,tests/Makefile.am: New make target
20480           'check-multi'.
20482 Thu Nov 08 23:54:47 GMT 2007  Olly Betts <olly@survex.com>
20484         * tests/api_anydb.cc: Re-enable test case allpostlist1 for multi
20485           since it works fine (presumably thanks to the multi_postlist.cc
20486           fix).
20488 Thu Nov 08 23:44:29 GMT 2007  Olly Betts <olly@survex.com>
20490         * tests/,tests/harness/: Add new "multi" test backend which indexes
20491           the specified text file(s) to two databases which will look just
20492           like the equivalent single database when searched together.  Since
20493           writing isn't supported, a number of tests which require this are
20494           disabled, as are any tests which explicitly use a multi-database
20495           since a multi-of-multis isn't equivalent to a multi of equivalent
20496           individual databases.  A handful of testcases are also currently
20497           disabled because they fail for reasons not yet fully explored.
20498           Existing tests run with the new backend provide regression tests
20499           for the two recent fixes.
20501 Thu Nov 08 23:42:33 GMT 2007  Olly Betts <olly@survex.com>
20503         * backends/multi/multi_postlist.cc: Fix PostingIterator::skip_to()
20504           when running over multiple databases.  Regression test to follow.
20506 Thu Nov 08 23:37:51 GMT 2007  Olly Betts <olly@survex.com>
20508         * docs/overview.html: Mention the "auto" backend.
20510 Thu Nov 08 23:28:30 GMT 2007  Olly Betts <olly@survex.com>
20512         * matcher/multimatch.cc: Fix bug in handling a pure boolen match over
20513           more than one database under set_docid_order(ASCENDING) - we can't
20514           shortcut in this case because MergePostList generally doesn't return
20515           docids in order.  Regression test to follow.
20517 Thu Nov 08 21:07:09 GMT 2007  Olly Betts <olly@survex.com>
20519         * matcher/queryoptimiser.cc: Fix comment typo.
20521 Thu Nov 08 07:40:48 GMT 2007  Olly Betts <olly@survex.com>
20523         * api/omdatabase.cc: Don't use MultiPostList when there's only one
20524           subdatabase.
20526 Thu Nov 08 05:40:17 GMT 2007  Olly Betts <olly@survex.com>
20528         * tests/api_db.cc: Run sortrel1 for inmemory too.
20530 Thu Nov 08 03:43:50 GMT 2007  Olly Betts <olly@survex.com>
20532         * tests/harness/backendmanager.cc,tests/harness/index_utils.cc,
20533           tests/harness/index_utils.h: New class FileIndexer which acts like
20534           an iterator returning a Xapian::Document object for each paragraph
20535           in some specified files.
20537 Wed Nov 07 16:30:49 GMT 2007  Olly Betts <olly@survex.com>
20539         * common/,docs/remote_protocol.html,matcher/,net/remoteserver.cc,
20540           net/serialise.cc: If we're doing a match with only one database
20541           which is remote then just return the unserialised MSet from the
20542           remote match.  This requires that we include
20543           internal->percent_factor in the MSet serialisation, which requires
20544           a minor remote protocol version bump.
20546 Wed Nov 07 09:47:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20548         * matcher/multimatch.cc: Fix logging build (a change to the logging
20549           code introduced in r9644 didn't compile)
20551 Tue Nov 06 17:10:51 GMT 2007  Olly Betts <olly@survex.com>
20553         * include/xapian/document.h: Better documentation comment for
20554           Document::termlist_count().
20556 Tue Nov 06 12:32:16 GMT 2007  Olly Betts <olly@survex.com>
20558         * Makefile.am,docs/Makefile.am,languages/Makefile.mk: No need to set
20559           SUFFIXES manually for suffixes used in implicit rules.
20561 Tue Nov 06 10:41:14 GMT 2007  Olly Betts <olly@survex.com>
20563         * matcher/multimatch.cc: If we're collapsing on a value, keep track of
20564           the number of empty collapse values seen, since that allows us to
20565           give a better lower bound on the number of matches.
20566         * tests/api_db.cc: This change breaks an (incorrect) assumption in
20567           collapsekey3, so change that test case to be a regression test for
20568           the improved estimate.  Add a new test as (the previously missing)
20569           collapsekey2, but disable it for now as we don't seem to have a
20570           suitable existing database.
20572 Tue Nov 06 07:58:34 GMT 2007  Olly Betts <olly@survex.com>
20574         * matcher/tradweight.cc: Make sure lenpart has been calculated in
20575           TradWeight::get_sumpart_needs_doclength() (this doesn't appear to
20576           actually be a problem in current use, but it might become an issue
20577           if the code which uses TradWeight changes.
20579 Tue Nov 06 07:49:18 GMT 2007  Olly Betts <olly@survex.com>
20581         * tests/api_anydb.cc: Add simple feature test for TradWeight being
20582           used to run a query.
20584 Tue Nov 06 07:26:28 GMT 2007  Olly Betts <olly@survex.com>
20586         * common/stats.h,matcher/bm25weight.cc,tests/api_anydb.cc: Fix bug in
20587           BM25Weight - in the case where k2 is non-zero, a non-initialised
20588           value influenced the weight calculations.  By default k2 is zero, so
20589           this bug probably won't affect most users.
20591 Tue Nov 06 07:22:27 GMT 2007  Olly Betts <olly@survex.com>
20593         * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
20594           net/remoteserver.cc: Modify MultiMatch::MultiMatch() to take a const
20595           pointer to Xapian::RSet rather than a const reference.  This makes
20596           the code simpler for the case where we don't have an RSet.
20598 Tue Nov 06 05:47:38 GMT 2007  Olly Betts <olly@survex.com>
20600         * api/omenquire.cc: Use ".empty()" not ".size() == 0".
20602 Mon Nov 05 21:05:45 GMT 2007  Olly Betts <olly@survex.com>
20604         * m4/xapian.m4: Hook LT_INIT as well as AC_PROG_LIBTOOL and
20605           AM_PROG_LIBTOOL.
20607 Mon Nov 05 11:17:23 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20609         * docs/termgenerator.rst: Change a couple of instances of "terms"
20610           to "words" for clarity; the item from the input text is a word,
20611           and the result of processing is a term.
20613 Mon Nov 05 09:46:53 GMT 2007  Olly Betts <olly@survex.com>
20615         * docs/admin_notes.rst: Note that this document is up-to-date for
20616           1.0.4.  Improve the formatting a bit and fix a the odd typo.
20618 Mon Nov 05 06:24:01 GMT 2007  Olly Betts <olly@survex.com>
20620         * tests/api_wrdb.cc: Fix MSVC warning.
20622 Mon Nov 05 06:21:09 GMT 2007  Olly Betts <olly@survex.com>
20624         * matcher/queryoptimiser.h: Forward declare PosFilter as "struct"
20625           rather than "class", since it's defined as "struct".
20627 Mon Nov 05 05:41:01 GMT 2007  Olly Betts <olly@survex.com>
20629         * api/sortable-serialise.cc: Suppress MSVC warning.
20631 Mon Nov 05 04:55:48 GMT 2007  Olly Betts <olly@survex.com>
20633         * docs/quickstart.html: Improved.
20635 Mon Nov 05 04:43:13 GMT 2007  Olly Betts <olly@survex.com>
20637         * docs/overview.html: More improvements from Jenny Black.
20639 Sun Nov 04 22:59:28 GMT 2007  Olly Betts <olly@survex.com>
20641         * docs/overview.html: Assorted improvements to the start of this
20642           document.
20644 Sun Nov 04 22:54:13 GMT 2007  Olly Betts <olly@survex.com>
20646         * api/omdocument.cc,tests/api_wrdb.cc: values_begin() didn't ensure
20647           that values had been read.  However, values_end() did (and so did
20648           values_count()) so this wasn't generally an issue, but it shouldn't
20649           happen anyway.
20650         * tests/api_wrdb.cc: Extend adddoc5 to include a regression test for
20651           this bug.
20653 Sun Nov 04 22:44:39 GMT 2007  Olly Betts <olly@survex.com>
20655         * tests/quartztest.cc: Remove 'FIXME' suggesting more value tests.
20656         * tests/api_nodb.cc: Add the suggested tests we don't already have.
20658 Sun Nov 04 19:23:52 GMT 2007  Olly Betts <olly@survex.com>
20660         * tests/api_posdb.cc,tests/api_wrdb.cc: Use get_writable_database()
20661           instead of get_writable_database("").
20662         * tests/api_wrdb.cc: Rework test_spell3 so it works under __WIN32__
20663           (bug#177).
20665 Sun Nov 04 07:31:04 GMT 2007  Olly Betts <olly@survex.com>
20667         * tests/harness/backendmanager.h: Make BackendManager dtor virtual as
20668           intended.
20670 Sun Nov 04 07:05:12 GMT 2007  Olly Betts <olly@survex.com>
20672         * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/,
20673           tests/quartztest.cc: Extend BackendManager to allow opening a
20674           WritableDatabase as a Database as well, and to allow reopening a
20675           closed WritableDatabase as a WritableDatabase.  With these new
20676           features, rework quartztest's adddoc2 and adddoc3 as apitest
20677           testcases adddoc5 and adddoc6.
20679 Sun Nov 04 06:08:42 GMT 2007  Olly Betts <olly@survex.com>
20681         * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/:
20682           Add BackendManager::get_writable_database_as_database() and use it
20683           instead of assuming what the WritableDatabase path will be.
20685 Sun Nov 04 05:31:30 GMT 2007  Olly Betts <olly@survex.com>
20687         * tests/,tests/harness/: Subclass BackendManager for each database
20688           backend supported, which should provide a better foundation on
20689           which we can rebuild to fix the nastier bits of the test harness.
20691 Fri Nov 02 17:39:58 GMT 2007  Olly Betts <olly@survex.com>
20693         * INSTALL: zlib 1.2.0 apparently fixes a memory leak in deflateInit2,
20694           which we use, so that's another reason to prefer 1.2.x.
20696 Fri Nov 02 06:34:36 GMT 2007  Olly Betts <olly@survex.com>
20698         * tests/harness/testsuite.cc: Fix extracting of valgrind error
20699           messages.
20701 Fri Nov 02 05:09:05 GMT 2007  Olly Betts <olly@survex.com>
20703         * docs/bm25.html,docs/scalability.html: Remove references to Muscat
20704           3.6.
20706 Thu Nov 01 18:51:20 GMT 2007  Olly Betts <olly@survex.com>
20708         * NEWS: Fix to talk about OP_VALUE_RANGE rather than
20709           ValueRangePostList since the later isn't user-visible.
20711 Thu Nov 01 18:16:20 GMT 2007  Olly Betts <olly@survex.com>
20713         * matcher/exactphrasepostlist.cc: Fix memory leak if second memory
20714           allocation fails.
20716 Thu Nov 01 17:54:09 GMT 2007  Olly Betts <olly@survex.com>
20718         * docs/intro_ir.html: Move the section on stemming to a better
20719           location.
20721 Thu Nov 01 17:37:40 GMT 2007  Jenny Black
20723         * docs/glossary.rst: Fix typo.
20725 Thu Nov 01 06:34:58 GMT 2007  Olly Betts <olly@survex.com>
20727         * matcher/multimatch.cc: Minor code simplification.
20729 Wed Oct 31 16:17:08 GMT 2007  Olly Betts <olly@survex.com>
20731         * bin/xapian-check.cc: Fix to handle the special case of a term which
20732           is 48 characters long.  Fix not to go into an infinite loop if
20733           certain checks fail.
20735 Wed Oct 31 15:56:45 GMT 2007  Olly Betts <olly@survex.com>
20737         * matcher/multiandpostlist.cc: If the subpostlists are ORs and pruning
20738           or operator decay happens within them, then get_termfreq_est() can
20739           change such that the first postlist returns a higher value than
20740           the second, so remove a bogus assertion which assumed this didn't
20741           happen (bug#209).
20743 Wed Oct 31 15:43:58 GMT 2007  Olly Betts <olly@survex.com>
20745         * backends/flint/flint_version.cc: I documented an increase in
20746           FLINT_VERSION but didn't increase it - luckily the previous version
20747           wasn't in a released version, so just adjust the comment to match
20748           what actually happened.
20750 Wed Oct 31 15:24:48 GMT 2007  Olly Betts <olly@survex.com>
20752         * net/remoteconnection.cc: Add '#include <safeunistd.h>' (bug#208).
20754 Wed Oct 31 15:01:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20756         * bin/xapian-check.cc: Update the checking of the termlist table to
20757           stop checking for the "has_termfreqs" flag, which is no longer
20758           stored in termlists.
20760 Wed Oct 31 14:31:38 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20762         * backends/quartz/quartz_positionlist.cc: Add missing #include,
20763           which is needed only when configured with --enable-log and with
20764           --disable-assertions.
20766 Tue Oct 30 04:52:53 GMT 2007  Olly Betts <olly@survex.com>
20768         * NEWS,configure.ac: Update for 1.0.4.
20770 Tue Oct 30 04:10:32 GMT 2007  Olly Betts <olly@survex.com>
20772         * queryparser/queryparser.lemony: Code tweak.
20774 Tue Oct 30 03:04:04 GMT 2007  Olly Betts <olly@survex.com>
20776         * tests/queryparsertest.cc: Add two more test cases to improve
20777           coverage.
20779 Tue Oct 30 00:13:42 GMT 2007  Olly Betts <olly@survex.com>
20781         * tests/harness/testsuite.cc: abi::__cxa_demangle() requires GCC 3.1
20782           it seems.
20784 Mon Oct 29 23:14:41 GMT 2007  Olly Betts <olly@survex.com>
20786         * docs/scalability.html: Update size of gmane.
20788 Mon Oct 29 23:13:00 GMT 2007  Olly Betts <olly@survex.com>
20790         * docs/quartzdesign.html: Note that Quartz is now deprecated.
20792 Mon Oct 29 21:09:12 GMT 2007  Olly Betts <olly@survex.com>
20794         * configure.ac,tests/harness/testsuite.cc: Demangle the name of
20795           the std::exception subclass for GCC, and handle compilation with
20796           -fno-rtti.
20798 Mon Oct 29 19:50:05 GMT 2007  Olly Betts <olly@survex.com>
20800         * tests/harness/testsuite.cc: Catch std::exception subclasses
20801           explicitly and report e.what() (which gives the method name which
20802           threw, at least under GCC).
20804 Mon Oct 29 18:46:57 GMT 2007  Olly Betts <olly@survex.com>
20806         * NEWS: Updated.
20808 Mon Oct 29 18:36:12 GMT 2007  Olly Betts <olly@survex.com>
20810         * matcher/multimatch.cc: Pull out old_item.wt into a variable.
20812 Mon Oct 29 18:24:46 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20814         * queryparser/queryparser.lemony: Fix problem with spelling
20815           correction of hyphenated terms (or other terms joined with phrase
20816           generators): the position of the start of the term wasn't being
20817           reset for the second term in the generated phrase, resulting in
20818           out of bounds errors when substituting the new value in the
20819           corrected query string.
20820         * tests/queryparsertest.cc: Test the fix.
20822 Mon Oct 29 17:34:17 GMT 2007  Olly Betts <olly@survex.com>
20824         * docs/deprecation.rst: Move "Stem::stem_word(word)" in the bindings
20825           to the right section (it was done in 1.0.0, as already indicated).
20826           Deprecate the non-pythonic iterators in favour of the pythonic ones.
20828 Mon Oct 29 02:54:09 GMT 2007  Olly Betts <olly@survex.com>
20830         * NEWS,api/Makefile.mk,docs/Makefile.am,include/Makefile.mk,
20831           include/xapian.h,tests/api_db.cc,tests/api_nodb.cc,
20832           tests/api_wrdb.cc: Back out match spy changes in preparation for
20833           creating a branch for them.
20835 Mon Oct 29 02:37:31 GMT 2007  Olly Betts <olly@survex.com>
20837         * matcher/valuerangepostlist.cc: Fix
20838           ValueRangeProcessor::get_termfreq_est() and get_termfreq_max() to
20839           work when at_end() when paranoid assertions are enabled.
20841 Mon Oct 29 01:51:07 GMT 2007  Olly Betts <olly@survex.com>
20843         * common/omenquireinternal.h: Add ESetItem::swap() and
20844           MSetItem::swap().
20846 Sun Oct 28 16:33:34 GMT 2007  Olly Betts <olly@survex.com>
20848         * PLATFORMS: Update from tinderbox and buildbot.
20850 Sun Oct 28 06:00:23 GMT 2007  Olly Betts <olly@survex.com>
20852         * matcher/queryoptimiser.cc: Remove unused variable.
20854 Sun Oct 28 05:46:28 GMT 2007  Olly Betts <olly@survex.com>
20856         * docs/remote.html: xapian-tcpsrv can handle concurrent read access
20857           so update the out-of-date information here.  Also, some new features
20858           aren't supported by the remote backend yet.
20860 Sun Oct 28 05:20:02 GMT 2007  Olly Betts <olly@survex.com>
20862         * include/xapian/queryparser.h: Update documentation comment for
20863           QueryParser::set_stemming_strategy().
20865 Sun Oct 28 05:03:03 GMT 2007  Olly Betts <olly@survex.com>
20867         * queryparser/queryparser.lemony: Fix handling of STEM_ALL.
20868         * tests/queryparsertest.cc: Update tests.  Move tables of queries to
20869           before the test functions which use them.
20871 Sat Oct 27 20:50:57 BST 2007  Olly Betts <olly@survex.com>
20873         * api/omqueryinternal.cc,include/xapian/query.h,
20874           matcher/queryoptimiser.cc: Eliminate Query::Internal::dbl_parameter
20875           to avoid any risk of ABI breakage.
20877 Sat Oct 27 17:08:46 BST 2007  Olly Betts <olly@survex.com>
20879         * include/xapian/query.h: Pull in <xapian/deprecated.h> explicitly.
20880           Add @deprecated note to Query::Query(Query::op, Query) explaining
20881           why it is deprecated.
20882         * include/xapian/queryparser.h: Wrap comment better.
20884 Sat Oct 27 05:37:33 BST 2007  Olly Betts <olly@survex.com>
20886         * NEWS: Merge two "testsuite" sections in draft 1.0.4 entry.
20888 Sat Oct 27 02:34:10 BST 2007  Olly Betts <olly@survex.com>
20890         * HACKING: Note specifically that std::list::size() is O(n) for GCC.
20891           Update the debian packaging checklist.
20893 Sat Oct 27 02:33:14 BST 2007  Olly Betts <olly@survex.com>
20895         * docs/intro_ir.html: Add link to the forthcoming book
20896           "Introduction to Information Retrieval", which can be read online.
20898 Sat Oct 27 02:22:36 BST 2007  Olly Betts <olly@survex.com>
20900         * docs/Makefile.am: We no longer build sourcedoc.pdf so remove it from
20901           MAINTAINERCLEANFILES.
20903 Sat Oct 27 02:20:31 BST 2007  Olly Betts <olly@survex.com>
20905         * NEWS: Mostly updated for 1.0.4.
20907 Fri Oct 26 04:57:31 BST 2007  Olly Betts <olly@survex.com>
20909         * api/omqueryinternal.cc: OP_SCALE_WEIGHT applied to MatchNothing is
20910           now handled by the Query ctor, so replace the code to handle
20911           OP_SCALE_WEIGHT in Query::Internal::simplify_matchnothing() by an
20912           assertion that the subquery isn't MatchNothing.
20914 Fri Oct 26 04:50:37 BST 2007  Olly Betts <olly@survex.com>
20916         * include/xapian/query.h: Deprecate the essentially useless
20917           constructor Query(Query::op, Query).
20918         * docs/deprecation.rst: Note this deprecation, and since the feature
20919           doesn't actually have a use, schedule it for 1.1.0.  Also schedule
20920           Enquire::register_match_decider() for 1.1.0 for the same reason.
20922 Fri Oct 26 01:00:08 BST 2007  Olly Betts <olly@survex.com>
20924         * api/omquery.cc,include/xapian/query.h: OP_SCALE_WEIGHT applied to
20925           OP_VALUE_RANGE can have no effect so ignore it.
20926         * tests/queryparsertest.cc: Update expected query descriptions.
20928 Fri Oct 26 00:23:55 BST 2007  Olly Betts <olly@survex.com>
20930         * matcher/multimatch.cc: When checkatleast is set, and we're sorting
20931           by relevance with forward ordering by docid, and the query is pure
20932           boolean, we were exiting before the checkatleast requirement was
20933           satisfied.  Then the adjustments made to the estimated and max
20934           statistics based on checkatleast meant we claimed there were
20935           exactly msize results.
20937 Thu Oct 25 00:34:14 BST 2007  Olly Betts <olly@survex.com>
20939         * matcher/localmatch.cc,matcher/multiandpostlist.cc,
20940           matcher/queryoptimiser.cc,queryparser/queryparser.cc: Fix build
20941           with --enable-assertions and --enable-log.
20943 Wed Oct 24 06:29:03 BST 2007  Olly Betts <olly@survex.com>
20945         * queryparser/queryparser.lemony: Drop out of IN_GROUP mode when we
20946           generate a BOOLEAN_FILTER token.
20947         * tests/queryparsertest.cc: Add regression test.
20949 Wed Oct 24 06:08:29 BST 2007  Olly Betts <olly@survex.com>
20951         * queryparser/queryparser.lemony: Drop special treatment for unmatched
20952           ')' at the start of the query, as it seems rather arbitrary and not
20953           particularly useful.  Reparsing seems a better approach here.
20954         * tests/queryparsertest.cc: Add regression test case for bug which
20955           dropping this special case fixes.
20957 Wed Oct 24 05:25:40 BST 2007  Olly Betts <olly@survex.com>
20959         * AUTHORS: Add Ron Kass for several bug reports.
20961 Wed Oct 24 05:13:01 BST 2007  Olly Betts <olly@survex.com>
20963         * queryparser/queryparser.lemony: Fix parsing of queries which consist
20964           only of boolean filter terms and HATE-d terms.
20965         * tests/queryparsertest.cc: Add regression tests, and a few more cases
20966           which passed before too.  Fix descriptions of queries which now give
20967           different (but equivalent) Xapian::Query object hierarchies.
20969 Wed Oct 24 04:51:56 BST 2007  Olly Betts <olly@survex.com>
20971         * queryparser/queryparser.lt: Fix warning in debug log build.
20973 Wed Oct 24 04:41:08 BST 2007  Olly Betts <olly@survex.com>
20975         * backends/flint/flint_table.cc,backends/flint/flint_table.h: Don't
20976           use class member function pointers to implement FlintTable::next()
20977           and FlintTable::prev() as we can just call the methods directly
20978           based on the sequential flag.  Profiling suggests this speeds up
20979           searches a little, the two pointers take up 16 bytes each (on
20980           x86_64) so it reduces the class size by up to 32 bytes, and the code
20981           is simpler because we no longer need to update prev_ptr and
20982           next_ptr.
20984 Wed Oct 24 00:16:06 BST 2007  Olly Betts <olly@survex.com>
20986         * api/omqueryinternal.cc: Tweak Query::get_description() to describe
20987           OP_SCALE_WEIGHT queries as '<factor> * <subquery>' rather than
20988           '<subquery> * <factor>' as the former results in more readable
20989           descriptions.
20990         * queryparser/queryparser.lemony: Use OP_SCALE_WEIGHT with factor 0.0
20991           for queries which should be purely boolean which resolves a FIXME
20992           comment in the code.
20993         * tests/queryparsertest.cc: Fix expected results for this change.
20995 Tue Oct 23 19:13:08 BST 2007  Olly Betts <olly@survex.com>
20997         * queryparser/queryparser.lemony: Some as_XXX() methods delete the
20998           object they are called on, while others don't, so rename the ones
20999           which don't to get_XXX() to make the code clearer, and make them
21000           all return Query rather than Query *.  Eliminate Term::as_query()
21001           completely - when we actually want a new object we can just call
21002           new in the caller.  op_window_query() now takes the difference
21003           between the number of terms and the total window size, and we now
21004           use a std::vector to store the generated Query objects rather than
21005           a std::list, since we know how many there will be and can reserve
21006           the required size in advance.
21008 Tue Oct 23 18:33:49 BST 2007  Olly Betts <olly@survex.com>
21010         * queryparser/queryparser.lemony: Improve comment.
21012 Mon Oct 22 21:00:05 BST 2007  Olly Betts <olly@survex.com>
21014         * queryparser/queryparser.lemony: Fix handling of LOVE and HATE
21015           following a quoted phrase.
21016         * tests/queryparsertest.cc: Add regression test.
21018 Mon Oct 22 05:23:23 BST 2007  Olly Betts <olly@survex.com>
21020         * queryparser/queryparser.lemony: Refactor so Term::as_query() calls
21021           Term::as_query_object() instead of vice versa, as this avoids
21022           calling 'new Query' quite a bit and makes a measurable difference
21023           to the speed of the QueryParser.  Fix a call to as_query() which
21024           can be as_query_object().
21026 Mon Oct 22 04:10:17 BST 2007  Olly Betts <olly@survex.com>
21028         * queryparser/queryparser.lemony: FLAG_PARTIAL with multi-prefixes
21029           would result in inflated wqf for the "normal" version of the term
21030           treated as partial.
21031         * tests/queryparsertest.cc: Add regression test.
21033 Mon Oct 22 02:34:58 BST 2007  Olly Betts <olly@survex.com>
21035         * queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
21036           Rename QueryParser::Internal::prefixes to prefixmap to avoid
21037           confusion with all the other variables which are now called
21038           "prefixes" in queryparser.lemony.  Eliminate have_prefix and
21039           instead just set prefixinfo to NULL by default.
21041 Sun Oct 21 23:56:57 BST 2007  Olly Betts <olly@survex.com>
21043         * common/omenquireinternal.h,include/xapian/enquire.h,
21044           include/xapian/query.h,matcher/: Implement a new QueryOptimiser
21045           class which can hoist the positional filters of OP_PHRASE and
21046           OP_NEAR higher up the tree and merge the "AND" inside them into
21047           any neighbouring OP_AND or OP_FILTER (bug#23).  This shaves 10% of
21048           the execution time of real world queries on real world data.  On
21049           particularly slow cases, the saving can be more dramatic - it
21050           saves 50% when tested on a log of slow cases.  OP_SCALE_WEIGHT
21051           scaling factors are now pushed down to the leaves and any leaf
21052           we a factor other than 0.0 (boolean) or 1.0 (unscaled) has
21053           its weights scaled using a ScaleWeight wrapper around the normal
21054           weighting object (bug#203).
21056 Sun Oct 21 23:46:11 BST 2007  Olly Betts <olly@survex.com>
21058         * include/xapian/query.h: Fix documentation of OP_SCALE_WEIGHT.
21059           Negative scaling factors aren't now clipped to 0, instead we
21060           throw Xapian::InvalidArgumentError.  Remove the explicit setting of
21061           OP_ELITE_SET to 10 which is no longer required.  Wrap a long comment
21062           line.
21064 Sun Oct 21 23:20:23 BST 2007  Olly Betts <olly@survex.com>
21066         * tests/api_anydb.cc: Tweak code and wrap comment.
21068 Sun Oct 21 04:53:40 BST 2007  Olly Betts <olly@survex.com>
21070         * matcher/extraweightpostlist.h: Add missing '#include "multimatch.h"'
21071           which is pulled in implicitly by some other header which always
21072           happens to be included before this one.
21074 Fri Oct 19 03:52:17 BST 2007  Olly Betts <olly@survex.com>
21076         * docs/deprecation.rst: Remove deprecation of
21077           QueryParser::add_prefix() and QueryParser::add_boolean_prefix().
21078           Reformat the tables to use the "simple table" style, and to all be
21079           126 columns wide, since that fits in a maximised terminal window
21080           without wrapping (at least on my machine!)
21082 Fri Oct 19 03:44:33 BST 2007  Olly Betts <olly@survex.com>
21084         * include/xapian/queryparser.h,queryparser/queryparser.cc,
21085           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
21086           tests/queryparsertest.cc: Since calling QueryParser::add_prefix()
21087           or QueryParser::add_boolean_prefix() a second time with the same
21088           field name was ignored before (rather than overriding as we had
21089           thought) it seems reasonable to change this behaviour.  This
21090           also avoids the need to deprecate these methods which will force all
21091           users to update their code.  Change the semantics of default_prefix
21092           - it's more useful if this overrides any default prefixes set with
21093           add_prefix(), since this allows the same QueryParser object to
21094           parse both a "general" search input which searches several fields
21095           and also a "title" search input.  Trying to set the same field
21096           as probabilistic and boolean now throws InvalidOperationError
21097           rather than UnimplementedError.
21099 Fri Oct 19 03:29:53 BST 2007  Olly Betts <olly@survex.com>
21101         * queryparser/queryparser.lt: Fix compilation.
21103 Fri Oct 19 03:28:37 BST 2007  Olly Betts <olly@survex.com>
21105         * docs/Makefile.am: We're still getting "info" messages in the
21106           generated HTML.  It seems to be impossible to get rst2html to
21107           report "info" messages to stdout without adding them to the
21108           generated document, so just drop "--verbose" to disable them
21109           completely.
21111 Thu Oct 18 18:27:28 BST 2007  Olly Betts <olly@survex.com>
21113         * queryparser/queryparser.lt: Use std::vector<> for the stack in the
21114           lemon-generated parser.  This means that the stack is no longer a
21115           fixed size, so we needn't worry about overflow, and that in typical
21116           use it'll actually use less memory (lemon defaults to a 100 entry
21117           stack).
21119 Thu Oct 18 17:23:45 BST 2007  Olly Betts <olly@survex.com>
21121         * languages/turkish.sbl: Minimise differences with Snowball SVN HEAD
21122           by stripping trailing whitespace.
21124 Mon Oct 15 15:39:26 BST 2007  Olly Betts <olly@survex.com>
21126         * backends/quartz/btree_util.h: Need "safeunistd.h" for close().
21127           Fixes build errors on mingw and with SGI's CC on IRIX.
21129 Mon Oct 15 05:30:23 BST 2007  Olly Betts <olly@survex.com>
21131         * matcher/localmatch.cc: Fix typo in comment.
21133 Mon Oct 15 05:26:35 BST 2007  Olly Betts <olly@survex.com>
21135         * common/omassert.h: Rewritten from scratch.  The new version only
21136           includes headers if assertions are enabled, which should help
21137           to speed up non-assertion builds by reducing unnecessary header
21138           inclusion.  Also, float.h and math.h are never now pulled in -
21139           instead we use the new within_DBL_EPSILON() function.  AssertNe()
21140           and AssertNeParanoid() are never actually used, so replace them with
21141           AssertRel() and AssertRelParanoid which allow the user to assert any
21142           binary relation, not just inequality.  Also, we now use rare() to
21143           give branch prediction hints for assertion tests (since the failure
21144           branch should never be taken).
21145         * common/omdebug.h,common/stringutils.h,tests/harness/testsuite.h:
21146           Replace several definitions of the STRINGIZE macro with a single
21147           version in common/stringutils.h.
21148         * backends/flint/,backends/inmemory/inmemory_database.cc,
21149           backends/multi/multi_postlist.cc,backends/quartz/,
21150           backends/remote/remote-database.cc,bin/quartzcheck.cc,
21151           bin/xapian-compact.cc,common/stringutils.h,expand/expandweight.cc,
21152           expand/ortermlist.cc,matcher/phrasepostlist.cc,
21153           matcher/scaleweightpostlist.cc,net/remoteconnection.cc,
21154           net/tcpserver.cc: Explicitly include headers which were previously
21155           being pulled in implicitly by omassert.h.
21156         * HACKING: Update the documentation for assertion calls, and document
21157           CompileTimeAssert() (which previously wasn't documented here).
21159 Mon Oct 15 05:09:15 BST 2007  Olly Betts <olly@survex.com>
21161         * common/utils.cc,common/utils.h: Add within_DBL_EPSILON() function
21162           which returns true if its two double arguments differ by less
21163           than DBL_EPSILON (currently not used anywhere).
21165 Mon Oct 15 05:03:50 BST 2007  Olly Betts <olly@survex.com>
21167         * matcher/multiandpostlist.cc: If check sets valid to true, we can't
21168           be at_end(), so check valid first as at_end() is a rare event.
21170 Mon Oct 15 05:00:18 BST 2007  Olly Betts <olly@survex.com>
21172         * matcher/: Remove code for FilterPostList, which has been unused for
21173           ages.
21175 Sun Oct 14 02:13:57 BST 2007  Olly Betts <olly@survex.com>
21177         * matcher/andpostlist.cc: AndPostList now ensures that its left is
21178           less frequent than its right (it can still be produced as an
21179           operator decay product, and sometimes left is more frequent when
21180           this happens).
21182 Sun Oct 14 00:58:20 BST 2007  Olly Betts <olly@survex.com>
21184         * matcher/multimatch.cc: Use rare() to mark rarely taken branches.
21186 Sun Oct 14 00:30:46 BST 2007  Olly Betts <olly@survex.com>
21188         * configure.ac: Add rare() and usual() macros to config.h which allow
21189           branch prediction hints to be given for compilers which support this
21190           (currently GCC and Intel C++).
21191         * HACKING: Document rare() and usual().
21193 Sat Oct 13 22:37:32 BST 2007  Olly Betts <olly@survex.com>
21195         * HACKING: Improve wording.
21197 Sat Oct 13 16:42:26 BST 2007  Olly Betts <olly@survex.com>
21199         * api/postlist.cc,common/postlist.h,matcher/: Implement a variant of
21200           PostList::skip_to() called PostList::check() which isn't required
21201           to leave the PostList on a particular docid.  This allows queries
21202           filtered by a ValueRangePostList to run around 3.5 times faster.
21203           Fixes buf#164, though there's probably scope for at least some
21204           further improvement.
21206 Sat Oct 13 16:08:07 BST 2007  Olly Betts <olly@survex.com>
21208         * matcher/multiandpostlist.cc: Fix typo bug (get_termfreq_min
21209           should be get_termfreq_max!)
21211 Sat Oct 13 15:53:52 BST 2007  Olly Betts <olly@survex.com>
21213         * matcher/multiandpostlist.cc: Fix assertion (should be <= not <).
21215 Fri Oct 12 01:20:05 BST 2007  Olly Betts <olly@survex.com>
21217         * HACKING: Note that rst2html may be installed as rst2html.py.
21219 Fri Oct 12 01:10:11 BST 2007  Olly Betts <olly@survex.com>
21221         * matcher/localmatch.cc: Tweak formatting.
21223 Thu Oct 11 22:58:36 BST 2007  Olly Betts <olly@survex.com>
21225         * tests/: svn:ignore: Add termgentest and termgentest.exe.
21227 Thu Oct 11 16:18:03 BST 2007  Olly Betts <olly@survex.com>
21229         * configure.ac: If rst2html isn't found, also look for rst2html.py,
21230           which archlinux reportedly installs it as.
21232 Thu Oct 11 16:09:20 BST 2007  Olly Betts <olly@survex.com>
21234         * matcher/: Round the result of all get_termfreq_est() calculations to
21235           the nearest integer instead of rounding down.
21237 Thu Oct 11 15:40:48 BST 2007  Olly Betts <olly@survex.com>
21239         * matcher/: Add new PostList subclass MultiAndPostList which handles
21240           a multi-way AND operation in a single class.  This allows us to
21241           optimise some cases of 3 or more way AND operations much better
21242           and gives a 16-17% performance improvement in tests using real-world
21243           query logs.
21244         * tests/api_anydb.cc: MultiAndPostList rounds get_termfreq_est()
21245           calculations to the nearest integer (rather than always rounding
21246           down) so adjust the expected answers in test_matches.
21248 Thu Oct 11 15:14:27 BST 2007  Olly Betts <olly@survex.com>
21250         * matcher/selectpostlist.cc: Explicitly qualify next() as
21251           SelectPostList::next().
21253 Thu Oct 11 13:04:40 BST 2007  Olly Betts <olly@survex.com>
21255         * README: Remove the ancient history lesson - this material is better
21256           left to the history page on the website.
21258 Thu Oct 11 00:33:34 BST 2007  Olly Betts <olly@survex.com>
21260         * matcher/branchpostlist.h: Fix comment typo.
21262 Thu Oct 11 00:28:29 BST 2007  Olly Betts <olly@survex.com>
21264         * api/postlist.cc,backends/flint/flint_alldocspostlist.cc,
21265           backends/flint/flint_alldocspostlist.h,common/postlist.h,matcher/:
21266           Eliminate several implementations of open_position_list and
21267           read_position_list in favour of default ones in the PostList base
21268           class which throw InvalidOperationError.  Change the default
21269           get_wdf implementation to also throw InvalidOperationError.
21271 Wed Oct 10 22:27:44 BST 2007  Olly Betts <olly@survex.com>
21273         * docs/install.html: Improve the remainder.  This documents now just
21274           gives a brief overview of building, suitable for most common cases,
21275           and defers to the INSTALL document in each tarball for more details.
21277 Wed Oct 10 21:51:39 BST 2007  Olly Betts <olly@survex.com>
21279         * common/leafpostlist.h: Rewrite header.
21280         * api/Makefile.mk,api/leafpostlist.cc: Add new source file for
21281           virtual, and non-trivial, non-virtual, methods of LeafPostList.
21282         * api/omdatabase.cc,backends/inmemory/inmemory_database.h,
21283           backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
21284           backends/remote/net_postlist.h,common/emptypostlist.h: Add missing
21285           '#include "omassert.h"' which was previously pulled in implicitly
21286           via '#include "leafpostlist.h"'.
21287         * backends/inmemory/inmemory_database.h: Remove unused '#include
21288           <stdlib.h>'.
21289         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
21290           MultiPostList::set_termweight() is never used, so eliminate it.
21291         * backends/remote/net_postlist.cc: Rename parameter "weight" to
21292           "min_weight" to avoid clash with new member variable of
21293           LeafPostList.
21294         * matcher/emptysubmatch.cc,matcher/localmatch.cc: Don't call
21295           LeafPostList::set_termweight() with a BoolWeight object - the
21296           default behaviour is now equivalent.
21298 Wed Oct 10 18:18:09 BST 2007  Olly Betts <olly@survex.com>
21300         * docs/install.html: Improve the first half.
21302 Wed Oct 10 16:32:57 BST 2007  Olly Betts <olly@survex.com>
21304         * common/postlist.h: Rewrite header.
21305         * api/Makefile.mk,api/postlist.cc: Add new source file for virtual
21306           methods of Xapian::PostingIterator::Internal.
21307         * api/omdatabase.cc,backends/flint/flint_postlist.h,
21308           backends/quartz/quartz_alldocspostlist.cc,
21309           backends/quartz/quartz_postlist.h,matcher/valuerangepostlist.cc:
21310           Add missing '#include "autoptr.h"' which was previously pulled in
21311           implicitly via '#include "postlist.h"'.
21313 Wed Oct 10 16:25:08 BST 2007  Olly Betts <olly@survex.com>
21315         * tests/quartztest.cc: Remove quartztest's test_postlist1 and
21316           test_postlist2.
21317         * tests/api_db.cc: Enhance test_termstats to cover part of the removed
21318           tests.  Enhance test_postlist1 to check more long terms.  Eliminate
21319           the helper function from test_postlist3.
21320         * tests/api_wrdb.cc: Add test_postlist7 to cover the rest of what the
21321           removed tests checked which isn't already checked elsewhere.
21323 Wed Oct 10 02:29:44 BST 2007  Olly Betts <olly@survex.com>
21325         * HACKING: Update the release checklist.
21327 Wed Oct 10 02:01:03 BST 2007  Olly Betts <olly@survex.com>
21329         * matcher/scaleweightpostlist.cc,matcher/scaleweightpostlist.h: Move
21330           virtual dtor definition out of header.
21332 Wed Oct 10 01:41:05 BST 2007  Olly Betts <olly@survex.com>
21334         * matcher/msetpostlist.cc: Avoid virtual method overhead in
21335           MSetPostList::recalc_maxweight().
21337 Wed Oct 10 00:16:00 BST 2007  Olly Betts <olly@survex.com>
21339         * common/expandweight.h,expand/expand.cc,expand/expandweight.cc: We
21340           never actually use ExpandWeight::get_maxweight(), so remove it.
21342 Tue Oct 09 16:27:54 BST 2007  Olly Betts <olly@survex.com>
21344         * backends/flint/flint_database.cc,backends/flint/flint_version.cc,
21345           backends/flint/flint_version.h: Don't try to upgrade a flint
21346           database if we're only reading it, or it's already the latest
21347           version.
21349 Mon Oct 08 10:14:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21351         * tests/api_nodb.cc: Rename test_scaleweightmatchnothing1 to
21352           test_scaleweight3 so all the scaleweight tests can be run
21353           together more easily.  Add test_scaleweight4 to test that scaling
21354           by a weight close to 1 is optimised away.
21356 Sun Oct 07 12:20:14 BST 2007  Olly Betts <olly@survex.com>
21358         * include/xapian/database.h: Add explicit note that
21359           Database::get_metadata() returns an empty string when the backend
21360           doesn't support user-specified metadata, and that
21361           WritableDatabase::set_metadata() throws UnimplementedError in this
21362           case.  Add note about current behaviour with multidatabases.
21364 Sun Oct 07 10:58:24 BST 2007  Olly Betts <olly@survex.com>
21366         * api/omqueryinternal.cc: No need to use AutoPtr<> here now.
21368 Sun Oct 07 10:54:05 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21370         * common/remoteprotocol.h: Bump the network protocol minor
21371           revision, since we've added a query operator (OP_SCALE_WEIGHT)
21372           and the server will need to be updated to understand serialised
21373           queries containing it.
21375 Sun Oct 07 01:54:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21377         * api/omqueryinternal.cc,include/xapian/query.h,matcher/,
21378           tests/api_anydb.cc,tests/api_nodb.cc,tests/internaltest.cc:
21379           Rename OP_MULT_WEIGHT to OP_SCALE_WEIGHT and MultWeight to
21380           ScaleWeight, and move it to before OP_MULT_WEIGHT (to remove the
21381           gap in the enum).
21382           Don't do an epsilon test to compare the weight to zero (when
21383           checking if it's effectively a boolean query) - do an exact
21384           comparison instead.  Raise an exception if the parameter for
21385           OP_SCALE_WEIGHT is < 0 (instead of clipping it to 0).  Adjust
21386           weights accordingly.
21387           Add test_scaleweight2() to test a query with some weights
21388           multiplied by 0, and some by a different factor.
21390 Wed Oct 03 17:23:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21392         * api/omqueryinternal.cc,tests/api_nodb.cc: Fix (and test) for a
21393           double delete if OP_MULT_WEIGHT was applied to an empty query.
21395 Mon Oct 01 13:20:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21397         * NEWS: Update
21398         * net/remoteconnection.cc: Back out previous change - I was
21399           confused, the code was previously fine, and the change broke it.
21401 Mon Oct 01 13:13:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21403         * api/omqueryinternal.cc: Fix access of uninitialised member when
21404           unserialising a mult-weight query.
21405         * tests/internaltest.cc: Add a regression test for unserialisationg
21406           of mult-weight queries.
21408 Mon Oct 01 13:11:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21410         * net/remoteconnection.cc: After calling read(), check for received
21411           == 0 after checking for errors, so that if an EINTR occurs in
21412           read, we don't report EOF instead of retrying.
21414 Sun Sep 30 23:20:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21416         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h: Add
21417           OP_MULT_WEIGHT operator, and a new Query constructor which takes
21418           a single subquery and a "double" parameter - currently only
21419           useful for OP_MULT_WEIGHT.  Add dbl_parameter to Query::Internal,
21420           to hold this parameter.  Add serialisation of OP_MULT_WEIGHT
21421           using "." to represent the operator.  Drop OP_MULT_WEIGHT
21422           operators which have a parameter of 1 (or very close) when
21423           simplifying, since these have no effect.
21424         * matcher/multweightpostlist.cc,matcher/multweightpostlist.h: New
21425           files, implementing a postlist which multiplies the weights from
21426           its single sub-postlist by a parameter.
21427         * matcher/Makefile.mk: Add new files.
21428         * matcher/localmatch.cc: Add support for the OP_MULT_WEIGHT query
21429           operator, which produces a MultWeightPostList if the associated
21430           parameter is greater than DBL_EPSILON, and produces a boolean query
21431           otherwise.
21432         * tests/api_anydb.cc: Add tests for OP_MULT_WEIGHT operator with
21433           various queries, and various multipliers.
21434         * NEWS: Update
21436 Sun Sep 30 23:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21438         * tests/harness/testsuite.h: Add TEST_NOT_EQUAL_DOUBLE() macro.
21439         * tests/harness/testsuite.cc: Add special
21440           case to TEST_EQUAL_DOUBLE_() for exact equality of the supplied
21441           arguments.  This is tidier in general, because it avoids "inf"
21442           being produces by the calculation, but is only actually necessary
21443           in the case where the arguments are both exactly 0; it all works
21444           out nicely for other values of the arguments.
21446 Sun Sep 30 21:12:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21448         * tests/queryparsertest.cc: #define XAPIAN_DEPRECATED to disable
21449           compiler warnings about the deprecated forms of add_prefix() and
21450           add_boolean_prefix().
21452 Sun Sep 30 21:07:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21454         * api/Makefile.mk,docs/Makefile.am,docs/deprecation.rst,
21455           include/Makefile.mk,include/xapian.h,include/xapian/queryparser.h,
21456           queryparser/queryparser.cc,queryparser/queryparser.lemony,
21457           queryparser/queryparser_internal.h,tests/: Re-apply changes which
21458           needed more thought or more work before being included in a
21459           release.
21460         * NEWS: Update with current descriptions of these changes.
21462 Sun Sep 30 20:22:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21464         * tests/valgrind.supp: Add further suppressions needed for the
21465           version of zlib on ubuntu gutsy.
21467 Fri Sep 28 15:38:18 BST 2007  Olly Betts <olly@survex.com>
21469         * NEWS: Final (?) update for 1.0.3.
21471 Fri Sep 28 15:37:22 BST 2007  Olly Betts <olly@survex.com>
21473         * PLATFORMS: Another small update.
21475 Fri Sep 28 15:30:17 BST 2007  Olly Betts <olly@survex.com>
21477         * HACKING: Add link to the 1.0.N tracker bug.
21479 Fri Sep 28 14:04:06 BST 2007  Olly Betts <olly@survex.com>
21481         * PLATFORMS: More updates.
21483 Fri Sep 28 13:45:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21485         * include/xapian/database.h: Document that empty metadata keys will
21486           cause an exception from get_metadata() and set_metadata().
21487         * api/omdatabase.cc: Cause empty metadata keys to raise an
21488           InvalidArgumentError if they're passed to set_metadata() or
21489           get_metadata().
21490         * tests/api_wrdb.cc: Add test_metadata3, to check behaviour with an
21491           empty metadata key.
21493 Fri Sep 28 13:30:49 BST 2007  Olly Betts <olly@survex.com>
21495         * PLATFORMS: Updates from tinderbox.
21497 Fri Sep 28 13:22:16 BST 2007  Olly Betts <olly@survex.com>
21499         * include/xapian/database.h: Clarify support for empty metadata keys.
21501 Fri Sep 28 11:00:08 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21503         * tests/valgrind.supp: Add second version of the zlib end condition
21504           check which works for the version of zlib in Ubuntu gutsy; ie,
21505           version 1.2.3.3, where the error occurs in the function called
21506           directly by deflate, rather than two levels below it.
21508 Fri Sep 28 03:11:11 BST 2007  Olly Betts <olly@survex.com>
21510         * configure.ac: Update for 1.0.3.
21512 Fri Sep 28 03:05:10 BST 2007  Olly Betts <olly@survex.com>
21514         * api/Makefile.mk,docs/Makefile.am,docs/deprecation.rst,
21515           include/Makefile.mk,include/xapian.h,include/xapian/queryparser.h,
21516           queryparser/queryparser.cc,queryparser/queryparser.lemony,
21517           queryparser/queryparser_internal.h,tests/: Back out changes which
21518           need more thought or more work in the interests of getting 1.0.3
21519           out this month.
21521 Fri Sep 28 03:04:19 BST 2007  Olly Betts <olly@survex.com>
21523         * NEWS: Update with recent changes.
21525 Fri Sep 28 01:55:42 BST 2007  Olly Betts <olly@survex.com>
21527         * docs/deprecation.rst: Revert to the previous deprecation policy.
21529 Fri Sep 28 01:20:34 BST 2007  Olly Betts <olly@survex.com>
21531         * include/xapian/enquire.h: Rephrase since "should be in the MSet"
21532           might be misunderstood.
21534 Fri Sep 28 01:12:47 BST 2007  Olly Betts <olly@survex.com>
21536         * AUTHORS,docs/Makefile.am,docs/glossary.rst,docs/index.html: Add
21537           glossary put together by Jenny Black, also incorporating entries
21538           from Deron Meranda's glossary on the wiki.
21540 Thu Sep 27 23:06:30 BST 2007  Olly Betts <olly@survex.com>
21542         * docs/stemming.html: Reorder the initial paragraphs so we actually
21543           answer the question "What is a stemming algorithm?" up front.
21545 Thu Sep 27 22:15:36 BST 2007  Olly Betts <olly@survex.com>
21547         * matcher/valuerangepostlist.cc: Call ValueRangePostList::next()
21548           explicitly to avoid the overhead of virtual method dispatch.
21550 Thu Sep 27 14:43:25 BST 2007  Olly Betts <olly@survex.com>
21552         * common/termlist.h: Don't need to forward declare
21553           Xapian::Internal::ExpandWeight here.
21555 Thu Sep 27 14:36:00 BST 2007  Olly Betts <olly@survex.com>
21557         * common/termlist.h: Add missing (but indirectly included) '#include
21558           <xapian/base.h>'.
21560 Fri Sep 21 18:00:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21562         * docs/deprecation.rst: Add deprecation for
21563           Database::positionlist_begin() throwing DocNotFoundError , for
21564           same reason as deprecating it throwing RangeError.  Also, add
21565           deprecation for QueryParser::add_prefix(f, p) and
21566           add_boolean_prefix() - replaced by three argument form of
21567           add_prefix.  Also, add a policy that we don't add
21568           XAPIAN_DEPRECATED when there's no replacement for the deprecated
21569           feature in the last x.x.0 release.
21570         * include/xapian/queryparser.h: Add @deprecated to documentation
21571           comments for add_prefix(f, p) and add_boolean_prefix() (but don't
21572           add XAPIAN_DEPRECATED() macro for now).
21574 Fri Sep 21 16:13:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21576         * include/xapian/queryparser.h: Fix copy and paste errors in
21577           documentation comment, and hopefully clarify it somewhat.
21579 Fri Sep 21 15:50:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21581         * tests/queryparsertest.cc: Initialise the default prefix from
21582           prefixes.find(""), allowing multiple default prefixes to be set
21583           by calling add_prefix() with an empty field name.
21584         * queryparser/queryparser.lemony: Several more tests; mainly for
21585           the new default_prefix functionality, but also a bit more
21586           coverage for multiple prefixes in general.
21588 Fri Sep 21 15:04:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21590         * include/xapian/queryparser.h,queryparser/queryparser.cc: API
21591           addition: Revert previous change to behaviour of
21592           QueryParser::add_prefix and QueryParser::add_boolean_prefix
21593           methods, to avoid API change within a release series.  Add new
21594           QueryParser::add_prefix() form which takes three parameters; the
21595           third parameter is a value from a new "prefix_type" enum.
21596         * queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
21597           Internal changes to allow multiple filters to be set for a single
21598           field:
21599            - Remove the PrefixInfoList object again - instead add a list of
21600              prefixes to PrefixInfo.  We only aim to support one type of
21601              prefix for a given field, so the extra flexibility given by
21602              PrefixInfoList is a districation.
21603            - Change filter_group_id to be based on a list of prefixes,
21604              instead of a single prefix.
21605            - Change Term objects to store a list of prefixes instead of a
21606              single prefix.  make_term() now takes a prefix argument and
21607              makes a single term.  Term::as_... methods iterate through the
21608              prefix list and OR together the resulting terms.
21609            - Change TermList object to store a list of Terms instead of
21610              Queries, and also to keep track of whether the prefix lists
21611              for those Terms are all the same.  When they are the same,
21612              generate separate phrases for each prefix, and OR them
21613              togeher, instead of generating phrases of "OR" groups of
21614              terms.  Remove the unused "TermList::add_term()" method.
21615         * tests/queryparsertest.cc: Add simple tests of repeated inline
21616           fields, phrases with multiple prefixed fields, tests of backwards
21617           compatible behaviour of add_prefix(field, prefix), and
21618           add_boolean_prefix(), and of the new add_prefix() form with
21619           incompatible types.
21621 Thu Sep 20 02:13:36 BST 2007  Olly Betts <olly@survex.com>
21623         * NEWS: Update with changes since 1.0.2.
21625 Wed Sep 19 20:00:43 BST 2007  Olly Betts <olly@survex.com>
21627         * backends/flint/flint_table.cc: Fix "Key_" in exception message to
21628           say "Key" (the result of overzealous search-and-replace).
21630 Wed Sep 19 17:08:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21632         * include/xapian/queryparser.h,queryparser/queryparser.cc,
21633           queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
21634           Handle repeated calls to QueryParser::add_boolean_prefix() with
21635           the same field - this will generate multiple terms for each
21636           occurrence of the field in the query.  Involves reorganising the
21637           internal representation of prefixes, to hold a list of PrefixInfo
21638           objects for each field, instead of a single object.  This also
21639           paves the way towards handling for multiple calls to
21640           QueryParser:add_prefix() with the same field, and allowing
21641           add_{boolean_}prefix() with an empty field to set the default
21642           prefix handling, but the behaviour of this are currently
21643           unchanged.  Technically, this could be considered an API change,
21644           but the previous behaviour (of using only the most recent value
21645           set by add_boolean_prefix) was unintentional and undocumented,
21646           and seems unlikely to have been deliberately used.
21647         * tests/queryparsertest.cc: Add a very simple test for repeated
21648           boolean_prefix fields; several more are needed.  Also, a
21649           commented out test of repeated non-boolean prefix fields.
21651 Tue Sep 18 23:28:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21653         * queryparser/queryparser.lemony: Remove unused variable
21654           "term_group".
21656 Tue Sep 18 16:56:37 BST 2007  Olly Betts <olly@survex.com>
21658         * api/matchspy.cc,include/xapian/matchspy.h: Use a set rather than a
21659           map to store the "multivalues" flags.
21661 Mon Sep 17 14:10:47 BST 2007  Olly Betts <olly@survex.com>
21663         * include/xapian/matchspy.h: Fix documentation comment typo.
21665 Sun Sep 16 04:13:20 BST 2007  Olly Betts <olly@survex.com>
21667         * net/remoteconnection.cc: Fix compiler warning in mingw build.
21669 Sun Sep 16 02:59:54 BST 2007  Olly Betts <olly@survex.com>
21671         * backends/flint/flint_database.cc,tests/api_wrdb.cc: Check length of
21672           new terms is at most 245 bytes for flint in add_document() and
21673           replace_document() so that the API user gets an error there rather
21674           than when flush() is called (explicitly or implicitly).  Fixes
21675           bug#44.
21677 Sat Sep 15 20:11:36 BST 2007  Olly Betts <olly@survex.com>
21679         * backends/flint/flint_version.cc: Add missing include of
21680           msvc_posix_wrapper.h.
21682 Sat Sep 15 17:58:35 BST 2007  Olly Betts <olly@survex.com>
21684         * api/omdatabase.cc,backends/database.cc,
21685           backends/flint/flint_database.cc,backends/flint/flint_database.h,
21686           backends/flint/flint_version.cc,
21687           backends/inmemory/inmemory_database.cc,
21688           backends/inmemory/inmemory_database.h,common/database.h,
21689           include/xapian/database.h,tests/api_wrdb.cc: Add support for user
21690           specified metadata (bug#143).
21692 Sat Sep 15 02:26:40 BST 2007  Olly Betts <olly@survex.com>
21694         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h:
21695           Implement FlintCursor::find_entry_ge() a little more efficiently
21696           (we could do better still by modifying FlintTable too).
21698 Sat Sep 15 00:56:54 BST 2007  Olly Betts <olly@survex.com>
21700         * backends/flint/flint_cursor.cc: If we found the exact key, just copy
21701           it to current_key.
21703 Fri Sep 14 21:52:45 BST 2007  Olly Betts <olly@survex.com>
21705         * backends/flint/: Overhaul FlintAllDocsPostList.
21707 Fri Sep 14 19:20:56 BST 2007  Olly Betts <olly@survex.com>
21709         * backends/flint/flint_alltermslist.cc: Rework
21710           FlintAllTermsList::skip_to() to use FlintCursor::find_entry_ge().
21712 Fri Sep 14 17:45:06 BST 2007  Olly Betts <olly@survex.com>
21714         * backends/flint/flint_cursor.h: Improve documentation comment.
21716 Fri Sep 14 17:28:17 BST 2007  Olly Betts <olly@survex.com>
21718         * backends/flint/flint_spellingwordslist.cc,
21719           backends/flint/flint_synonym.cc: Use FlintCursor::find_entry_ge().
21720         * backends/flint/flint_synonym.h: Use FlintCursor::find_entry_lt().
21721         * backends/flint/flint_alltermslist.h: Use FlintCursor::find_entry_lt()
21722           and skip any keys before "\x00\xff" to allow for extra metadata
21723           keys.
21725 Fri Sep 14 15:26:04 BST 2007  Olly Betts <olly@survex.com>
21727         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: The
21728           reason why a deleted key is still visible to the cursor is that it
21729           is running over the previous revision of the tree.  So we don't
21730           need to call find_entry() at all - we can just call next().  Also
21731           extend FlintCursor::del() to return whether the cursor is positioned
21732           (like FlintCursor::next() does).
21733         * backends/flint/flint_postlist.cc: Use the return value of
21734           FlintCursor::del().
21736 Fri Sep 14 15:10:39 BST 2007  Olly Betts <olly@survex.com>
21738         * tests/Makefile.am: Reorder the testdata/flint-x.y.z files
21739           consistently.
21741 Fri Sep 14 12:48:04 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21743         * configure.ac: Add "tar-ustar" option to AM_INIT_AUTOMAKE.  This
21744           is needed to avoid a failure of make dist due to filepaths of
21745           more than 99 characters (in the generated documentation: the
21746           relevant filepaths are for the NumberValueRangeProcessor class,
21747           and extend to 103 characters).  Automake documentation implies
21748           that tar-v7 is the default format, which doesn't support
21749           filepaths longer than 99 characters portably; ustar allows 256
21750           characters.  The automake documentation says that the ustar
21751           format "is believed to be old enough to be portable"; if we come
21752           across problems due to the format change we could consider
21753           renaming files to reduce the filepath length.
21754         * tests/Makefile.am: Remove
21755           testdata/flint-1.0.2/{value,position}.{baseA,DB} from
21756           distribution, since they don't actually exist.  Fixes make dist.
21758 Fri Sep 14 10:45:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21760         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: Add
21761           FlintCursor::find_entry_gt(), and use it instead of
21762           flint_entry_ge() in FlintCuror::del().  This fixes failure of
21763           deldoc4 test.  I'm not sure why find_entry() can return true
21764           immediately after the key it's searching for was deleted with
21765           B->del(), though: that merits further investigation.
21767 Fri Sep 14 04:57:14 BST 2007  Olly Betts <olly@survex.com>
21769         * bin/xapian-inspect.cc: Avoid comparing char with 0 - on platforms
21770           where char is unsigned by default this can give a compiler warning.
21772 Fri Sep 14 03:40:18 BST 2007  Olly Betts <olly@survex.com>
21774         * bin/xapian-compact.cc: Removed unused variable.
21776 Fri Sep 14 01:56:36 BST 2007  Olly Betts <olly@survex.com>
21778         * backends/flint/flint_alltermslist.cc: Fix comment typo.
21780 Fri Sep 14 01:51:52 BST 2007  Olly Betts <olly@survex.com>
21782         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: Add
21783           FlintCursor::find_entry_lt() and FlintCursor::find_entry_ge()
21784           which we can implement more efficiently (in the future) than
21785           user code calling FlintCursor::find_entry() and then having to
21786           adjust the cursor position in some cases.
21788 Thu Sep 13 14:52:34 BST 2007  Olly Betts <olly@survex.com>
21790         * backends/flint/flint_alltermslist.cc: FlintCursor::after_end() is
21791           never true after FlintCursor::find_entry() so remove check for this
21792           case!
21794 Thu Sep 13 03:11:19 BST 2007  Olly Betts <olly@survex.com>
21796         * backends/flint/flint_alltermslist.h,backends/flint/flint_database.cc,
21797           backends/flint/flint_database.h: Don't pass FlintPostListTable
21798           pointer to FlintAllTermsList - it can find this via the database
21799           if we make it FlintDatabase instead of Database::Internal.
21801 Thu Sep 13 02:07:19 BST 2007  Olly Betts <olly@survex.com>
21803         * backends/flint/: Read/write the metainfo key from FlintDatabase to
21804           avoid having to pass a huge long list of values across once we start
21805           to store more statistics.
21807 Thu Sep 13 02:03:46 BST 2007  Olly Betts <olly@survex.com>
21809         * backends/database.cc,common/database.h: Move definitions of virtual
21810           methods out of the header file.
21812 Thu Sep 13 01:33:49 BST 2007  Olly Betts <olly@survex.com>
21814         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
21815           Store the total_length and lastdocid values in FlintDatabase object.
21817 Wed Sep 12 20:27:49 BST 2007  Olly Betts <olly@survex.com>
21819         * matcher/multimatch.cc: Eliminate a block which used to scope some
21820           variables which have now moved.  Unify debug output from different
21821           cases after the match.  Remove half-finished comment which doesn't
21822           seem to be trying to say anything useful.
21824 Wed Sep 12 20:20:18 BST 2007  Olly Betts <olly@survex.com>
21826         * tests/api_anydb.cc: In checkatleast2, the total number of matching
21827           documents in the database is 5, so use TEST_EQUAL instead of
21828           TEST_GREATER_OR_EQUAL to compare get_matches_lower_bound() with 5.
21830 Wed Sep 12 17:55:00 BST 2007  Olly Betts <olly@survex.com>
21832         * backends/flint/flint_database.h: Fix some comment typos and
21833           outdated information.  Remove some superfluous uses of "virtual".
21835 Wed Sep 12 17:15:58 BST 2007  Olly Betts <olly@survex.com>
21837         * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
21838           Failing to create a flint or quartz database because we couldn't
21839           create the directory for it now throws DatabaseCreateError not
21840           DatabaseOpeningError.
21841         * tests/api_db.cc: Update test cases.
21843 Wed Sep 12 15:40:16 BST 2007  Olly Betts <olly@survex.com>
21845         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
21846           If we reach the flush threshold during a transaction, flush the
21847           postlist changes, but don't actually commit them.
21849 Wed Sep 12 14:12:52 BST 2007  Olly Betts <olly@survex.com>
21851         * common/msvc_posix_wrapper.cc,common/msvc_posix_wrapper.h: Add
21852           msvc_posix_rename() which can rename a file on top of another file.
21853         * common/stringutils.h: Add common_prefix_length() function.
21854         * backends/flint/: Clean up FlintWritableDatabase - it now just
21855           inherits from FlintDatabase which allows several virtual methods
21856           which just forwarded to FlintDatabase to be dropped.  Also, we
21857           now no longer need to pass FlintTable objects to other classes
21858           - they can just find the tables they want via the database pointer.
21859           The never-used "store_termfreqs" flag has been dropped from the
21860           termlist table entries - existing 1.0.x flint databases will be
21861           automatically upgraded to the new version.  Opening a database
21862           now calls stat() less, so should be slightly more efficient.
21863           And TermIterator::positionlist_count() now works for the flint
21864           backend.
21865         * tests/Makefile.am,tests/api_db.cc,tests/testdata/flint-1.0.2/: New
21866           test flintbackwardcompat2 which tests that we can open a flint
21867           database from 1.0.2.
21868         * tests/api_wrdb.cc: New test adddoc4 which checks that termlists
21869           handle an initial term of any valid length correctly.
21870         * tests/testdata/flint-1.0.1/postlist.DB: Mark as a binary file in
21871           SVN.
21873 Tue Sep 11 23:02:56 BST 2007  Olly Betts <olly@survex.com>
21875         * backends/inmemory/inmemory_database.cc,
21876           backends/inmemory/inmemory_database.h: Implement
21877           TermIterator::positionlist_count() for the inmemory backend.
21878         * tests/api_posdb.cc: Add feature test for
21879           TermIterator::positionlist_count() (which currently skips for all
21880           backends except inmemory).
21882 Tue Sep 11 03:43:30 BST 2007  Olly Betts <olly@survex.com>
21884         * backends/flint/flint_database.cc: Make sure flush_threshold gets
21885           initialised.
21886         * backends/flint/flint_database.h: Change type of flush_threshold from
21887           `size_t' to `Xapian::doccount' for consistency with the type of
21888           changes_made.
21890 Tue Sep 11 03:19:37 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21892         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
21893           Change flush_threshold from static to non-static, and set it for
21894           each FlintWritableDatabase based on the value of the
21895           XAPIAN_FLUSH_THRESHOLD environment variable at the time the
21896           database was opened, instead of caching the value for each future
21897           database which is opened.
21899 Tue Sep 11 02:59:45 BST 2007  Olly Betts <olly@survex.com>
21901         * docs/Makefile.am: When running rst2html, use "--exit-status=warning"
21902           rather than "--strict".  The former actually gives a non-zero exit
21903           status for a warning or worse, while the former doesn't, but does
21904           include any "info" messages in the output HTML.
21906 Tue Sep 11 02:38:30 BST 2007  Olly Betts <olly@survex.com>
21908         * docs/deprecation.rst: Add "Database::positionlist_begin() throwing
21909           RangeError".
21911 Tue Sep 11 00:52:27 BST 2007  Olly Betts <olly@survex.com>
21913         * HACKING: Document a few more "coding standards".
21915 Mon Sep 10 21:34:23 BST 2007  Olly Betts <olly@survex.com>
21917         * examples/delve.cc,examples/simpleexpand.cc,net/tcpserver.cc,
21918           queryparser/queryparser.cc,queryparser/queryparser.lemony: Add more
21919           missing "#include <string.h>" instances.
21921 Mon Sep 10 20:24:25 BST 2007  Olly Betts <olly@survex.com>
21923         * net/serialise.cc: Add missing "#include <string.h>".
21925 Sun Sep 09 15:38:11 BST 2007  Olly Betts <olly@survex.com>
21927         * backends/flint/flint_spelling.h,backends/flint/flint_synonym.h,
21928           backends/flint/flint_table.h: Fix typo (Z_DEFAULT_COMPRESSION
21929           where it should be Z_DEFAULT_STRATEGY) which meant that zlib
21930           compression wasn't enabled for the spelling or synonym tables.
21932 Fri Sep 07 19:31:44 BST 2007  Olly Betts <olly@survex.com>
21934         * docs/spelling.rst: Fix typo.
21936 Thu Sep 06 15:02:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21938         * api/editdistance.cc: Fix off-by-one error in loop bounds when
21939           setting up fkp array initially.  Fixes bug #194.
21940         * tests/api_wrdb.cc: Add regression test for #194, spell5.
21942 Thu Sep 06 14:31:15 BST 2007  Olly Betts <olly@survex.com>
21944         * tests/harness/testsuite.cc: More localised fix for preserving the
21945           start of the valgrind report when in verbose mode.  Rework the code
21946           which pulls out the start of the report to summarise why the test
21947           failed.
21949 Thu Sep 06 14:17:44 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21951         * tests/harness/testsuite.cc: When displaying valgrind output, seek
21952           back to the start of the valgrind output for the current test
21953           before dumping it to stdout: previously, the earlier check for the
21954           valgrind error message to display (when not using -v) caused the
21955           first 1024 bytes of the valgrind output to get dropped.
21957 Tue Sep 04 20:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21959         * matcher/multimatch.cc: For remote submatches, keep a count of
21960           matches which we know exist, but we don't get passed from the
21961           submatch.  These can be detected by checking for the lowerbound
21962           on the matches in the submatch being greater than the index of
21963           the last item in the returned submset.  When the match is over,
21964           use this count, together with docs_matched, to adjust the lower
21965           bound and estimate (and upper bound, if we've not seen as many
21966           documents as we were asked to check for).  Fixes checkatleast2
21967           and checkatleast3 in the remote database case.
21968         * tests/harness/testsuite.h: Add TEST_GREATER_OR_EQUAL,
21969           TEST_GREATER, TEST_LESSER_OR_EQUAL and TEST_LESSER macros, which
21970           display the values of the arguments if they fail.
21971         * tests/api_anydb.cc: Use TEST_GREATER_OR_EQUAL and TEST_EQUAL in
21972           checkatleast2 and checkatleast3, to make failures easier to
21973           debug.
21975 Tue Sep 04 18:16:49 BST 2007  Olly Betts <olly@survex.com>
21977         * matcher/multimatch.cc: Restructure to make the control flow clearer.
21978           Rewrap some comments which got wrapped to ~82 columns somehow.
21980 Tue Sep 04 17:21:49 BST 2007  Olly Betts <olly@survex.com>
21982         * docs/overview.html: Restore the HTML header I accidentally deleted
21983           in November 2006.
21985 Tue Sep 04 17:15:30 BST 2007  Olly Betts <olly@survex.com>
21987         * docs/overview.html: Fix typo.
21989 Tue Sep 04 13:47:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21991         * tests/api_anydb.cc: Tighten test_checkatleast3 to check for
21992           previous bug (now fixed).
21994 Tue Sep 04 13:37:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21996         * matcher/multimatch.cc: If check_at_least is greater than
21997           maxitems, but there are fewer results than check_at_least, the
21998           lower and upper bounds reported should be equal (and exact).  Fix
21999           a bug which caused this not to be the case, by checking if
22000           docs_matched < check_at_least, and forcing the bounds (and
22001           estimate) to be docs_matched in this case.
22003           Also, fix a bug when sorting by anything other than relevance,
22004           which was causing potential matches which are too low in the
22005           ranking to make the mset not to be added to the count of
22006           docs_matched, even when docs_matched < check_at_least.
22008           Also, add a few extra explanatory comments and debug log messages
22009           in get_mset().
22011 Tue Sep 04 12:43:03 BST 2007  Olly Betts <olly@survex.com>
22013         * PLATFORMS: Update from debian buildd logs.
22015 Tue Sep 04 09:57:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22017         * Makefile.am,configure.ac,msvc/genversion.pl,msvc/version.h.in:
22018           Move msvc/genversion.pl and msvc/version.h.in to win32msvc in
22019           xapian-maintainer-tools.  Remove generation of msvc/version.h
22020           from configure.in, and AC_SUBST() of MAJOR_VERSION,
22021           MINOR_VERSION and REVISION, which were only in place for this
22022           generation.  Remove msvc/version.h from distribution tarballs.
22024 Tue Sep 04 02:56:00 BST 2007  Olly Betts <olly@survex.com>
22026         * matcher/andpostlist.cc: If the database has > 2G documents then the
22027           sum of termfreq_min can overflow, so handle this case correctly.
22029 Tue Sep 04 00:05:47 BST 2007  Olly Betts <olly@survex.com>
22031         * xapian-config.in: We always need to include dependency_libs in the
22032           output of `xapian-config --libs` if shared libraries are disabled.
22034 Mon Sep 03 16:28:33 BST 2007  Olly Betts <olly@survex.com>
22036         * bin/xapian-check.cc: Allow "xapian-check db/record." and
22037           "xapian-check db/record.DB".
22039 Mon Sep 03 02:16:43 BST 2007  Olly Betts <olly@survex.com>
22041         * docs/deprecation.rst,include/xapian/enquire.h: Deprecate
22042           Enquire::register_match_decider().
22043         * api/omenquire.cc,common/omenquireinternal.h: Remove mdecider_map
22044           since the set values are never used anywhere.
22046 Sun Sep 02 20:54:33 BST 2007  Olly Betts <olly@survex.com>
22048         * HACKING: Add "update the 1.0.N tracker bug" to the release
22049           checklist.
22051 Fri Aug 31 10:44:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22053         * tests/api_db.cc,tests/api_wrdb.cc: Fix compilation of apitest,
22054           which was broken on 64 bit platforms due to size_t instead of
22055           doccount bug.
22057 Fri Aug 24 11:56:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22059         * api/matchspy.cc,include/xapian/matchspy.h: Fix uses of size_t
22060           which should have been Xapian::doccount.  Was causing compile
22061           errors on platforms where size_t and Xapian::doccount were
22062           different sizes.
22064 Fri Aug 03 20:10:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22066         * tests/api_nodb.cc: Add test_stringlistserialise1() to test the
22067           StringListSerialiser and StringListUnserialiser.  Change the list
22068           of testcases to use the TESTCASE and END_OF_TESTCASES macros.
22070 Fri Aug 03 19:53:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22072         * api/matchspy.cc,include/xapian/matchspy.h: Add StringListSerialiser
22073           and StringListUnserialiser classes which can be used to serialise
22074           a list of strings into a single string.  Add flag to
22075           ValueCountMatchSpy to use this to unserialise the values read
22076           from the database into multiple strings, allowing several values
22077           to be stored for a particular slot in a database: this allows
22078           multiple values of a particular facet to be stored.
22080 Thu Jul 26 16:55:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22082         * backends/flint/flint_table.cc: Change STRINGIZE to om_tostring()
22083           in error message about a key which is too long; STRINGIZE doesn't
22084           work since FLINT_BTREE_MAX_KEY_LEN is no longer a preprocessor
22085           constant - it's a C++ constant; before this change, the error
22086           message contained the literal text "FLINT_BTREE_MAX_KEY_LEN".
22088 Tue Jul 17 12:20:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22090         * api/matchspy.cc,include/xapian/matchspy.h: Add a
22091           MultipleMatchDecider, which calls a list of deciders in order,
22092           until one returns false.
22093         * include/xapian/enquire.h: Expand comment to say which way round
22094           the return values of the MatchDecider operator are.
22095         * tests/api_db.cc: Add test_matchfunctor3() to test the
22096           MultipleMatchDecider - also tests the ValueCountMatchSpy,
22097           incidentally.
22099 Tue Jul 17 11:10:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22101         * api/matchspy.cc,include/xapian/matchspy.h: Make
22102           get_most_frequent_items() private, since I'm not convinced it's
22103           useful to make it available externally.  We can always make it
22104           public again if it's useful to do so.
22105         * test/api_wrdb.cc: Update tests accordingly.
22107 Sat Jul 14 00:17:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22109         * api/matchspy.cc,include/xapian/matchspy.h: Get rid of the
22110           TopValueMatchSpy in favour of a new function
22111           "get_most_frequent_items", which processes the output of a
22112           ValueCountMatchSpy.  Add a TermCountMatchSpy which counts the
22113           occurrences of terms with a given prefix, and gives output in
22114           the same form as ValueCountMatchSpy.  Add convenience methods
22115           ValueCountMatchSpy::get_top_values() and
22116           TermCountMatchSpy::get_top_terms() which use this to return the
22117           most frequent items seen by the matchspy.
22118         * tests/api_wrdb.cc: Test the ValueCountMatchSpy, and the
22119           get_most_frequent_items() function.
22121 Fri Jul 13 18:57:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22123         * matcher/andpostlist.cc,tests/api_anydb.cc: Improve the lower
22124           bound on the number of matching documents for an AND query - if
22125           the sum of the lower bounds for the two sides is greater than the
22126           number of documents in the database, then some of them must have
22127           both terms.  This greatly improves the lower bound for queries of
22128           the form "<alldocuments> FILTER foo" (since FILTER is a subclass
22129           of AND, and uses the same method), but is probably a useful
22130           improvement elsewhere.
22132 Fri Jul 13 17:53:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22134         * docs/valueranges.rst: Correct out-of-date reference to
22135           float_to_string, spotted by Enrico Zini.
22137 Wed Jul 11 22:54:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22139         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
22140           Move ValueAndFrequency out of the TopValueMatchSpy class - it
22141           doesn't seem to be possible to wrap it with swig without doing
22142           this, and it doesn't seem much less tidy.
22144 Wed Jul 11 18:03:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22146         * api/matchspy.cc,include/xapian/matchspy.h: Split MatchSpy into a
22147           base class (ValueCountMatchSpy), which just counts the values in
22148           the documents it sees, and a subclass (CategorySelectMatchSpy)
22149           which does the grouping into categories, and scores the
22150           categories.  Add another subclass (TopValueMatchSpy) which
22151           calculates a sorted vector holding the most frequent values.
22152         * tests/api_wrdb.cc: Update matchspy1 and matchspy2 to use
22153           CategorySelectMatchSpy instead of MatchSpy, and corresponding
22154           changes to the methods.  Add matchspy3 to test the
22155           TopValueMatchSpy.
22157 Mon Jul 09 15:40:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22159         * tests/termgentest.cc: Fix copyright: everything I've done in 2007
22160           has been for Lemur.
22162 Mon Jul 09 15:40:38 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22164         * include/xapian/version_h.cc: Fix type in comment.
22166 Fri Jul 06 12:14:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22168         * include/xapian/enquire.h: Add note to register_match_decider()
22169           documentation comment of what this function is for, and also that
22170           it doesn't currently do anything (other than store the values
22171           passed to it in the enquire internals).
22173 Thu Jul 05 20:52:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22175         * docs/categorisation.rst: Fix typo.
22177 Thu Jul 05 20:41:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22179         * tests/api_wrdb.cc: Rework matchspy2 to use approximate values to
22180           avoid failing on some platform due to differing precision.
22182 Thu Jul 05 12:21:48 BST 2007  Olly Betts <olly@survex.com>
22184         * docs/categorisation.rst: Complete half sentence.
22186 Thu Jul 05 12:17:20 BST 2007  Olly Betts <olly@survex.com>
22188         * docs/categorisation.rst: Add section on restricting by category
22189           values.
22191 Thu Jul 05 04:47:18 BST 2007  Olly Betts <olly@survex.com>
22193         * docs/Makefile.am,docs/categorisation.rst: Add topic document
22194           discussing use of Xapian::MatchSpy.
22196 Thu Jul 05 02:08:13 BST 2007  Olly Betts <olly@survex.com>
22198         * include/xapian.h,tests/api_wrdb.cc: Restore MatchSpy stuff.
22200 Thu Jul 05 01:38:38 BST 2007  Olly Betts <olly@survex.com>
22202         * HACKING: Note that RoadMap on the wiki needs updating for each
22203           release.
22205 Thu Jul 05 01:03:05 BST 2007  Olly Betts <olly@survex.com>
22207         * AUTHORS: Update.
22209 Thu Jul 05 00:31:00 BST 2007  Olly Betts <olly@survex.com>
22211         * NEWS: Minor tweaks and clarifications.
22213 Thu Jul 05 00:29:53 BST 2007  Olly Betts <olly@survex.com>
22215         * include/xapian.h,tests/api_wrdb.cc: Disable MatchSpy class for 1.0.2
22216           as it's not ready for release yet.
22218 Wed Jul 04 21:20:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22220         * NEWS: Update with release date for release 1.0.2
22222 Wed Jul 04 21:09:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22224         * AUTHORS: Add Tomek Jackowiak, for reporting bug #166 (missing
22225           Xapian::Query documentation).
22227 Wed Jul 04 20:45:56 BST 2007  Olly Betts <olly@survex.com>
22229         * configure.ac: Updated version and library version for 1.0.2.
22231 Wed Jul 04 20:36:07 BST 2007  Olly Betts <olly@survex.com>
22233         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
22234           Tidy up API for MatchSpy::build_numeric_ranges() and add tests.
22236 Wed Jul 04 19:40:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22238         * NEWS: Fully updated.
22240 Wed Jul 04 18:33:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22242         * NEWS: Move some of the changelog entries into news-style comments.
22244 Wed Jul 04 17:50:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22246         * tests/api_wrdb.cc: SKIP_TEST() spell3 on windows - it doesn't
22247           work there due to trying to delete (and then overwrite) an open
22248           database.  We shouldn't be doing this, so add a long FIXME
22249           explaining what we should be doing instead.
22251 Wed Jul 04 17:27:22 BST 2007  Olly Betts <olly@survex.com>
22253         * NEWS: Partly update.
22255 Wed Jul 04 17:19:51 BST 2007  Olly Betts <olly@survex.com>
22257         * AUTHORS: Add Simon Tatham for spotting the -INFINITY issue, and for
22258           a lot of useful advice during the CVS to SVN transition.
22260 Wed Jul 04 17:16:59 BST 2007  Olly Betts <olly@survex.com>
22262         * api/,include/xapian/queryparser.h,tests/queryparsertest.cc: Rename
22263           Xapian::NumberValueRangeProcessor::float_to_string() to
22264           Xapian::sortable_serialise() and
22265           Xapian::NumberValueRangeProcessor::string_to_float() to
22266           Xapian::sortable_unserialise().
22268 Wed Jul 04 17:16:16 BST 2007  Olly Betts <olly@survex.com>
22270         * HACKING: Add rationale for 2 space indents for "public", etc.
22272 Wed Jul 04 14:09:57 BST 2007  Olly Betts <olly@survex.com>
22274         * tests/queryparsertest.cc: Loops on integers and scale to doubles
22275           rather than looping on doubles and scaling to get integers.
22277 Wed Jul 04 13:01:11 BST 2007  Olly Betts <olly@survex.com>
22279         * tests/queryparsertest.cc: If the NumberValueRangeProcessor
22280           string encodings don't sort the same way, there's no need to report
22281           the string encodings in the error message as they are written to
22282           "tout" just before, along with the respective numbers they came
22283           from.  The string encodings can contain control characters, so are
22284           liable to corrupt the test failure message.
22286 Wed Jul 04 12:25:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22288         * api/valuerangeproc.cc: Fix encoding of extremely large, negative,
22289           non-IEEE representation to be -INFINITY, not +INFINITY.  Thanks
22290           to Simon Tatham for pointing this out.
22291         * include/xapian/queryparser.h: Add a documentation comment note
22292           that zero and -zero will be transformed to the same value.
22294 Wed Jul 04 10:09:33 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22296         * api/valuerangeproc.cc: Change encoding used for doubles to a much
22297           more compact scheme, and add support for +-INFINITY.  Also, some
22298           other tweaks to avoid unnecessary computation.
22299         * tests/queryparsertest.cc: Update test cases to expect new
22300           encoding of doubles, and add values for INFINITY and DBL_MAX and
22301           some other special numbers to the list of numbers that are
22302           specifically checked.
22304 Wed Jul 04 03:29:10 BST 2007  Olly Betts <olly@survex.com>
22306         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
22307           Category score now explicitly weights for having nearer the
22308           requested number of categories.  Category score is now normalised
22309           so values should be roughly comparable between different sized
22310           collections.  Add untested code to build ranges.
22312 Wed Jul 04 00:48:07 BST 2007  Olly Betts <olly@survex.com>
22314         * bin/xapian-compact.cc: Add new "--no-renumber" option to preserve
22315           document ids from source databases.  Fix bug in change to add
22316           support for spelling and synonym tables which was preventing any
22317           renumbering from happening!
22319 Wed Jul 04 00:25:52 BST 2007  Olly Betts <olly@survex.com>
22321         * backends/inmemory/inmemory_database.cc,
22322           backends/inmemory/inmemory_database.h,tests/api_wrdb.cc: Fix bug in
22323           inmemory backend - using replace_document() to add a document with a
22324           specific document id above the highest currently used would create
22325           empty documents for all document ids in between.
22327 Tue Jul 03 09:27:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22329         * HACKING: Add note that protection level declarations in classes
22330           and structs should only be indented by 2 spaces.
22332 Tue Jul 03 03:53:11 BST 2007  Olly Betts <olly@survex.com>
22334         * api/Makefile.mk,api/matchspy.cc,include/xapian/matchspy.h,
22335           tests/api_wrdb.cc: Add MatchSpy method to score how good a
22336           categorisation is.
22338 Tue Jul 03 01:24:19 BST 2007  Olly Betts <olly@survex.com>
22340         * include/xapian/queryparser.h: Replace `#include <xapian/stem.h>'
22341           with forward declaration of Stem.
22343 Tue Jul 03 01:14:12 BST 2007  Olly Betts <olly@survex.com>
22345         * include/xapian/errorhandler.h: Replace `#include <xapian/error.h>'
22346           with forward declaration of Error.
22347         * api/errorhandler.cc: Now needs to explicitly `#include
22348           <xapian/error.h>'.
22350 Tue Jul 03 01:08:30 BST 2007  Olly Betts <olly@survex.com>
22352         * include/xapian/dbfactory.h: Replace `#include <xapian/database.h>'
22353           with forward declarations of Database and WritableDatabase.
22355 Tue Jul 03 00:59:57 BST 2007  Olly Betts <olly@survex.com>
22357         * include/xapian/enquire.h: Remove `#include <xapian/error.h>'.
22359 Mon Jul 02 23:25:55 BST 2007  Olly Betts <olly@survex.com>
22361         * include/Makefile.mk,include/xapian.h,include/xapian/matchspy.h,
22362           tests/api_wrdb.cc: Implement "MatchSpy" class to tally values
22363           in matching documents.
22365 Mon Jul 02 18:15:18 BST 2007  Olly Betts <olly@survex.com>
22367         * api/omenquire.cc,include/xapian/enquire.h: Fix last change to
22368           preserve ABI compatibility.
22370 Mon Jul 02 17:52:10 BST 2007  Olly Betts <olly@survex.com>
22372         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
22373           include/xapian/enquire.h,matcher/multimatch.cc,net/remoteserver.cc,
22374           tests/api_db.cc: Add support for a "matchspy" - a MatchDecider which
22375           is documented to be tested on ever candidate document.  We plan to
22376           optimise the current matchdecider to be used as little as possible.
22378 Mon Jul 02 17:35:12 BST 2007  Olly Betts <olly@survex.com>
22380         * tests/api_db.cc: Enhance matchfunctor1 to test that the functor
22381           returns ALL matching documents, not just that all documents returned
22382           match.
22384 Mon Jul 02 16:36:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22386         * common/omassert.h: Fix to avoid warning in gcc-snapshot; use
22387           do{}while(0) to protect assertions, and remove the old "if (a) {}
22388           else {fail}" constructions which tried to do the same job.
22390 Mon Jul 02 14:56:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22392         * bin/xapian-inspect.cc: Add missing #include of <stdio.h> - fixes
22393           gcc-2.95 compilation.
22395 Mon Jul 02 14:54:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22397         * queryparser/termgenerator_internal.h: Fix for gcc-2.95
22398           compilation.
22400 Mon Jul 02 14:09:22 BST 2007  Olly Betts <olly@survex.com>
22402         * api/Makefile.mk,api/valuerangeproccompat.cc,
22403           include/xapian/queryparser.h: Put the new NumberValueRangeProcessor
22404           in a sub-namespace which we then import it from.  Restore the old
22405           NumberValueRangeProcessor implementation inside the library so that
22406           it is available to code linked against 1.0.0 or 1.0.1 to keep ABI
22407           compatibility.
22409 Sun Jul 01 15:32:30 BST 2007  Olly Betts <olly@survex.com>
22411         * include/xapian/queryparser.h: Clearer description of
22412           NumberValueRangeProcessor.  Don't document the number format in
22413           terms of strtod() - that's a bug, not a feature we want to be tied
22414           to.
22415         * include/xapian/query.h,include/xapian/queryparser.h: Use "@a" not
22416           "\a" for consistency with existing usage.
22418 Sun Jul 01 10:09:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22420         * matcher/localmatch.cc: When registering a term, check if it's
22421           empty, and if so use the document count as the term frequency,
22422           rather than calling the database to get the term frequency of an
22423           empty term (most database backends have an assertion that the
22424           term is not empty, and an empty term isn't a valid parameter to
22425           pass to get_termfreq() anyway).
22426         * matcher/multimatch.cc: For MatchAll queries, the "" term will not
22427           be found in the termlist of the top document, so check if a ""
22428           term is present in the query, and use it to increase the
22429           percent_scale if so.  This fixes an Assertion which checked that
22430           percent_scale was not 0.
22431         * tests/api_db.cc: Add test_matchall1() which tests running a query
22432           with a MatchAll query.
22433         * tests/api_nodb.cc: Rename test_emptyquery1 and test_emptyquery2
22434           to test_emptyquery2 and test_emptyquery3, respectively.  There
22435           was already a (different) test_emptyquery1 in api_anydb.cc.
22437 Sat Jun 30 18:04:06 BST 2007  Olly Betts <olly@survex.com>
22439         * tests/queryparsertest.cc: Write `2.0' rather than `(double)2'.
22441 Sat Jun 30 16:12:49 BST 2007  Olly Betts <olly@survex.com>
22443         * docs/valueranges.rst: Fix typo.  Fix ".. note:" to ".. note::" so
22444           it appears visibly in the HTML output rather than in an HTML
22445           comment!
22447 Sat Jun 30 15:14:33 BST 2007  Olly Betts <olly@survex.com>
22449         * api/omdocument.cc,common/document.h,include/xapian/document.h:
22450           Add Xapian::Document::get_docid() method.
22452 Sat Jun 30 04:00:57 BST 2007  Olly Betts <olly@survex.com>
22454         * matcher/multimatch.cc: If there's only one term in the query (a
22455           pretty common case) we don't need to look at the top document's
22456           termlist to determine that it matches all the query terms.
22458 Sat Jun 30 00:37:09 BST 2007  Olly Betts <olly@survex.com>
22460         * INSTALL: Add note that zlib must be installed before you can build
22461           Xapian.
22463 Fri Jun 29 22:40:58 BST 2007  Olly Betts <olly@survex.com>
22465         * backends/flint/: If doccount == lastdocid, all document ids up to
22466           lastdocid are used, so we provide a special really efficient version
22467           implementation of iterating all documents for this common case for
22468           flint.
22470 Fri Jun 29 00:39:04 BST 2007  Olly Betts <olly@survex.com>
22472         * common/stringutils.h: Add startswith() and endswith() overloads
22473           which take a single character.
22474         * backends/flint/flint_spellingwordslist.cc,bin/xapian-inspect.cc:
22475           Use new forms.
22476         * backends/flint/flint_spellingwordslist.cc: Fix comment typo.
22478 Thu Jun 28 21:43:49 BST 2007  Olly Betts <olly@survex.com>
22480         * backends/flint/flint_spellingwordslist.cc: Another begins_with()
22481           which I somehow missed.
22483 Thu Jun 28 19:51:03 BST 2007  Olly Betts <olly@survex.com>
22485         * api/valuerangeproc.cc,backends/flint/flint_alltermslist.cc,
22486           backends/flint/flint_synonym.cc,
22487           backends/inmemory/inmemory_alltermslist.cc,
22488           backends/quartz/quartz_alltermslist.cc,
22489           backends/quartz/quartz_metafile.cc,bin/xapian-inspect.cc,
22490           common/stringutils.h,tests/harness/testsuite.cc: Rename
22491           begins_with() to startswith() and ends_with() to endswith() for
22492           consistency with Python string operations.
22494 Thu Jun 28 18:49:50 BST 2007  Olly Betts <olly@survex.com>
22496         * queryparser/queryparser.lemony: Don't put a Z prefix on terms if the
22497           stemmer is "none", which matches what TermGenerator generates.
22499 Thu Jun 28 02:22:04 BST 2007  Olly Betts <olly@survex.com>
22501         * api/omqueryinternal.cc: Don't SEGV when Query::MatchNothing is used
22502           with OP_AND_NOT (fixes bug#176).
22503         * tests/api_nodb.cc: Add regression test emptyquery2.
22504         * AUTHORS: Thank bug reporter (Krzysztof Klemm).
22506 Wed Jun 27 13:05:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22508         * NEWS: Updated.
22510 Wed Jun 27 13:04:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22512         * examples/copydatabase.cc: Add support for copying the spelling
22513           data.
22515 Wed Jun 27 12:46:54 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22517         * NEWS: Updated.
22519 Wed Jun 27 12:13:50 BST 2007  Olly Betts <olly@survex.com>
22521         * bin/xapian-check.cc: Check spelling and synonym Btrees.
22523 Wed Jun 27 12:10:47 BST 2007  Olly Betts <olly@survex.com>
22525         * bin/xapian-compact.cc: Add merging for spelling and synonym tables.
22527 Wed Jun 27 12:09:34 BST 2007  Olly Betts <olly@survex.com>
22529         * backends/flint/flint_spelling.cc: Fix PrefixCompressedStringItor to
22530           not ignore the last entry.
22531         * tests/api_wrdb.cc: Regression test (spell4).
22533 Wed Jun 27 11:51:10 BST 2007  Olly Betts <olly@survex.com>
22535         * tests/api_wrdb.cc: Remove bogus comment.
22537 Wed Jun 27 04:12:56 BST 2007  Olly Betts <olly@survex.com>
22539         * backends/flint/flint_cursor.h: Make FlintCursor::after_end() const.
22541 Tue Jun 26 22:31:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22543         * tests/api_wrdb.cc: Add test_spell3(), which tests spelling
22544           correction with multi databases, and the results of the iterator
22545           from Database::spellings_begin() with single and multi databases.
22547 Tue Jun 26 20:51:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22549         * api/omtermlistiterator.cc: Handle pruning, so that multi-database
22550           spelling word iterators work.  Pruning should arguably always
22551           have been handled, but it's never been possible for the TermList
22552           passed to TermIterator to prune before, so it's not been an
22553           issue.
22555 Tue Jun 26 20:50:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22557         * backends/flint/flint_spellingwordslist.h: Don't bother testing
22558           whether we found an entry which was exactly "W" - if we do, the
22559           database is corrupt, but the best recovery strategy would just be
22560           to continue at the next matching entry.
22562 Tue Jun 26 20:26:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22564         * api/omdatabase.cc: Remove mistaken skip_to("W") - should be done
22565           by open_spelling_wordlist() rather than here.
22566         * backends/flint/flint_spellingwordslist.h: Only call
22567           cursor->prev() if find_entry("W") finds an entry.
22569 Tue Jun 26 17:46:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22571         * backends/flint/flint_alltermslist.cc,
22572           backends/flint/flint_spellingwordslist.cc,
22573           backends/flint/flint_synonym.cc: Remove calls to abort() which
22574           are followed immediately by an Assert() which checks the same
22575           condition.
22577 Tue Jun 26 17:26:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22579         * include/xapian/database.h: Add spellings_begin() and
22580           spellings_end(), to iterate through the spelling correction
22581           target words.
22582         * api/omdatabase.cc: Implement spellings_begin(), using the newly
22583           added FreqAdderOrTermList to join the spellings lists.
22584         * common/database.h,backends/database.cc: Add
22585           open_spelling_wordlist() to get iterator of spelling targets, if
22586           any, with default implementation which returns NULL.
22587         * backends/flint/flint_database.h,backends/flint/flint_database.cc:
22588           Implement open_spelling_wordlist() for flint.
22589         * backends/flint/flint_spelling.h: Make merge_changes() public, so
22590           it can be called when a writable database needs to open a
22591           spelling wordlist.
22592         * backends/flint/flint_spellingwordslist.h,
22593           backends/flint/flint_spellingwordslist.cc: New files,
22594           implementing an iterator over the spelling targets.
22596 Tue Jun 26 17:25:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22598         * common/ortermlist.h,expand/ortermlist.cc: Add a
22599           "FreqAdderOrTermList", which adds the term frequencies of the
22600           sublists, rather than requiring that they're equal for terms
22601           which are in both.
22603 Tue Jun 26 17:22:03 BST 2007  Olly Betts <olly@survex.com>
22605         * docs/admin_notes.rst: Update to mention spelling and synonym tables,
22606           and to document optional tables more clearly.
22608 Tue Jun 26 16:23:25 BST 2007  Olly Betts <olly@survex.com>
22610         * tests/termgentest.cc: Add feature test for TermGenerator spelling
22611           integration.
22613 Tue Jun 26 16:14:56 BST 2007  Olly Betts <olly@survex.com>
22615         * tests/termgentest.cc: Fix comment paste-o.
22617 Tue Jun 26 16:11:11 BST 2007  Olly Betts <olly@survex.com>
22619         * include/xapian/termgenerator.h,queryparser/termgenerator.cc,
22620           queryparser/termgenerator_internal.cc,
22621           queryparser/termgenerator_internal.h: Add support for generating
22622           spelling data to TermGenerator class.
22624 Tue Jun 26 15:22:12 BST 2007  Olly Betts <olly@survex.com>
22626         * bin/xapian-compact.cc: Don't skip "empty" source databases, as they
22627           may have spelling and/or synonym data.  Warn if more than one source
22628           database has spelling data and ignore all but the first.  Similarly
22629           warn and ignore for synonym data.
22631 Tue Jun 26 13:52:15 BST 2007  Olly Betts <olly@survex.com>
22633         * examples/copydatabase.cc: Fix code which extracts the leafname to
22634           handle a trailing directory separator.
22635         * examples/copydatabase.cc: Copy synonym data across.  Print warning
22636           that spelling data isn't copied (as there's no API to access it
22637           currently).
22639 Tue Jun 26 13:21:13 BST 2007  Olly Betts <olly@survex.com>
22641         * bin/xapian-compact.cc: Fix to compact spelling and synonym tables.
22643 Tue Jun 26 02:20:50 BST 2007  Olly Betts <olly@survex.com>
22645         * tests/api_wrdb.cc: Fix randomly indented line.
22647 Tue Jun 26 02:20:01 BST 2007  Olly Betts <olly@survex.com>
22649         * include/xapian/document.h: Change parameter name for
22650           Document::get_value() to match other parameter names in the class.
22652 Tue Jun 26 02:19:16 BST 2007  Olly Betts <olly@survex.com>
22654         * include/xapian/queryparser.h: FLAG_AUTO_MULTIWORD_SYNONYMS now
22655           implies FLAG_AUTO_SYNONYMS.
22657 Tue Jun 26 02:18:02 BST 2007  Olly Betts <olly@survex.com>
22659         * tests/queryparsertest.cc: Add test for a single word synonym in
22660           multi-synonym mode.
22662 Tue Jun 26 02:08:47 BST 2007  Olly Betts <olly@survex.com>
22664         * common/ortermlist.h,queryparser/termgenerator_internal.h: Fix
22665           warnings from Intel's C++ compiler.
22667 Tue Jun 26 01:45:09 BST 2007  Olly Betts <olly@survex.com>
22669         * HACKING: Snapshots and releases are now bootstrapped with libtool
22670           1.5.24, which includes all the patches we were applying on top of
22671           1.5.22.
22672         * HACKING: Expand note about preferring pre-increment to
22673           post-increment to mention preferring it to adding one, and to cover
22674           decrementing too.
22676 Tue Jun 26 01:34:41 BST 2007  Olly Betts <olly@survex.com>
22678         * backends/flint/flint_spelling.cc: Fix bug appending spelling data to
22679           an existing trigram.
22681 Tue Jun 26 01:34:07 BST 2007  Olly Betts <olly@survex.com>
22683         * backends/flint/flint_database.cc: Fix handling of exceptions during
22684           commit.
22686 Mon Jun 25 17:01:40 BST 2007  Olly Betts <olly@survex.com>
22688         * docs/spelling.rst: Update for Unicode spelling correction.
22690 Mon Jun 25 15:41:43 BST 2007  Olly Betts <olly@survex.com>
22692         * api/editdistance.cc,api/editdistance.h,api/omdatabase.cc:
22693           Convert to UTF-32 before calculating edit distances.
22694         * tests/api_wrdb.cc: Add test coverage for Unicode spelling
22695           correction.
22697 Mon Jun 25 14:03:34 BST 2007  Olly Betts <olly@survex.com>
22699         * tests/quartztest.cc: Remove tests for removed method
22700           QuartzPostList::get_collection_freq().
22702 Mon Jun 25 12:32:07 BST 2007  Olly Betts <olly@survex.com>
22704         * backends/flint/flint_spelling.cc: Replace abort() with exception
22705           throwing.
22707 Mon Jun 25 03:01:20 BST 2007  Olly Betts <olly@survex.com>
22709         * tests/harness/backendmanager.cc: Track the fd used to communicate
22710           with a xapian-tcpsrv child process so we can close it when we reap
22711           the child pid.
22713 Mon Jun 25 02:44:04 BST 2007  Olly Betts <olly@survex.com>
22715         * docs/valueranges.rst: Fix bad RST markup.
22717 Sun Jun 24 23:24:26 BST 2007  Olly Betts <olly@survex.com>
22719         * tests/harness/backendmanager.cc: Fix memory leak in test harness
22720           launching of xapian-tcpsrv so that "apitest -b remotetcp" now passes
22721           under valgrind.
22723 Sun Jun 24 19:39:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22725         * docs/valueranges.rst: Add documentation for the
22726           NumberValueRangeProcessor, now that it is fixed.
22728 Sun Jun 24 14:29:06 BST 2007  Olly Betts <olly@survex.com>
22730         * backends/remote/net_postlist.cc,backends/remote/net_postlist.h:
22731           Move NetworkPostList virtual methods out of the header.  Move the
22732           constructor into the header, since that can be inlined.
22734 Sun Jun 24 14:15:43 BST 2007  Olly Betts <olly@survex.com>
22736         * backends/flint/,backends/multi/multi_postlist.cc,
22737           backends/multi/multi_postlist.h,backends/quartz/,
22738           backends/remote/net_postlist.cc,backends/remote/net_postlist.h,
22739           backends/remote/remote-database.cc,common/emptypostlist.h,
22740           common/postlist.h,common/remote-database.h: For Flint and Quartz,
22741           refactor so we no longer create a postlist just to find the termfreq
22742           or collection frequency.  These were the only places which used
22743           PostList::get_collection_freq(), so eliminate it (bug#124).
22745 Sun Jun 24 09:40:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22747         * msvc/genversion.pl: Add a script to generate the version.h file
22748           for MSVC builds by parsing configure.ac to extract the version
22749           number, and then performing the appropriate substitutions on
22750           msvc/version.h.in.  Shouldn't be used for tarball builds (because
22751           version.h already exists) or for builds which use configure.
22753 Sun Jun 24 02:25:38 BST 2007  Olly Betts <olly@survex.com>
22755         * matcher/multimatch.cc: The check_at_least parameter to
22756           Enquire::get_mset() is now handled in a more efficient way - no
22757           extra memory is now required, and CPU overhead should be reduced
22758           (bug#174).
22760 Sun Jun 24 02:00:07 BST 2007  Olly Betts <olly@survex.com>
22762         * docs/synonyms.rst,docs/Makefile.am: New "topic" document describing
22763           synonym support.
22764         * docs/Makefile.am: HTML documentation generated from RST files wasn't
22765           being installed.
22767 Sun Jun 24 00:45:46 BST 2007  Olly Betts <olly@survex.com>
22769         * backends/remote/remote-database.cc,common/remote-database.h,
22770           common/remoteprotocol.h,common/submatch.h,docs/remote_protocol.html,
22771           matcher/,net/remoteserver.cc: Pass check_at_least to the remote
22772           server to reduce the amount of work required to produce the match
22773           on the remote server, and also reduce the serialised size of the
22774           returned MSet.
22776 Sun Jun 24 00:17:18 BST 2007  Olly Betts <olly@survex.com>
22778         * tests/api_anydb.cc: More check_at_least tests.
22780 Sat Jun 23 20:02:48 BST 2007  Olly Betts <olly@survex.com>
22782         * api/omdatabase.cc,tests/api_wrdb.cc: Add multi-database support
22783           for synonyms.
22785 Sat Jun 23 18:50:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22787         * include/xapian/database.h: Tiny fix to a documentation comment.
22789 Sat Jun 23 17:35:37 BST 2007  Olly Betts <olly@survex.com>
22791         * common/ortermlist.h,expand/ortermlist.cc: Comment out unused method
22792           OrTermList::get_collection_freq().  The same dummy implementation
22793           is provided by the parent class (TermList).
22795 Sat Jun 23 17:07:40 BST 2007  Olly Betts <olly@survex.com>
22797         * api/omdatabase.cc,backends/database.cc,backends/flint/,
22798           common/database.h,include/xapian/database.h,tests/api_wrdb.cc:
22799           Implement Database::synonym_keys_begin() to allow iteration over all
22800           the terms for which synonyms have been added.
22802 Sat Jun 23 04:19:54 BST 2007  Olly Betts <olly@survex.com>
22804         * matcher/multimatch.cc: Fix handling of check_at_least parameter -
22805           we weren't discarding matches above the requested MSet size
22806           correctly.
22807         * tests/api_anydb.cc: Add regression test checkatleast2.
22809 Sat Jun 23 03:00:45 BST 2007  Olly Betts <olly@survex.com>
22811         * docs/queryparser.html: Document synonyms.
22813 Sat Jun 23 02:50:55 BST 2007  Olly Betts <olly@survex.com>
22815         * queryparser/queryparser.lemony: Unapply commented out fragments
22816           towards supporting '~' on phrases, which I didn't mean to apply.
22818 Sat Jun 23 02:25:32 BST 2007  Olly Betts <olly@survex.com>
22820         * include/xapian/queryparser.h,queryparser/queryparser.lemony,
22821           tests/queryparsertest.cc: Add support for synonym operator ('~')
22822           to the QueryParser.
22824 Sat Jun 23 01:52:51 BST 2007  Olly Betts <olly@survex.com>
22826         * queryparser/queryparser.lemony: Fix two bugs in the query parser -
22827           now '+' and '-' work on bracketed subexpressions as documented.
22828         * tests/queryparsertest.cc: Add regression tests.
22830 Sat Jun 23 01:47:30 BST 2007  Olly Betts <olly@survex.com>
22832         * queryparser/queryparser.cc: Use "using namespace std;".
22834 Fri Jun 22 18:48:21 BST 2007  Olly Betts <olly@survex.com>
22836         * backends/flint/flint_synonym.cc: Fix iteration of unflushed
22837           synonyms.
22839 Fri Jun 22 18:21:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22841         * docs/deprecation.rst: Fix typo.
22843 Fri Jun 22 18:02:21 BST 2007  Olly Betts <olly@survex.com>
22845         * api/omdatabase.cc,backends/database.cc,backends/flint/,
22846           common/database.h,include/xapian/database.h,
22847           include/xapian/queryparser.h,queryparser/queryparser.lemony:
22848           Add support for storing synonyms for terms in a new optional Btree
22849           table in flint databases, and using them in the QueryParser.
22850         * tests/queryparsertest.cc: Feature tests for synonyms.
22852 Fri Jun 22 17:58:37 BST 2007  Olly Betts <olly@survex.com>
22854         * queryparser/queryparser.lemony: Removed superfluous "private:" in
22855           class State.  Make State::get_database() const.
22857 Fri Jun 22 17:58:15 BST 2007  Olly Betts <olly@survex.com>
22859         * tests/queryparsertest.cc: Make sure .flint subdirectory exists.
22861 Fri Jun 22 17:52:53 BST 2007  Olly Betts <olly@survex.com>
22863         * bin/xapian-inspect.cc: Don't die with an error if the user tries to
22864           move forward twice from the end.  Also, make "prev" from the end
22865           work.
22867 Fri Jun 22 17:47:36 BST 2007  Olly Betts <olly@survex.com>
22869         * queryparser/queryparser.lt: If an input token has a yyminor, report
22870           its name in the debug output.
22872 Fri Jun 22 14:47:17 BST 2007  Olly Betts <olly@survex.com>
22874         * NEWS: Updated with changes since 1.0.1.
22876 Thu Jun 21 21:12:49 BST 2007  Olly Betts <olly@survex.com>
22878         * backends/remote/remote-database.cc,common/remoteprotocol.h,
22879           common/remoteserver.h,net/remoteserver.cc: Protocol version
22880           increased to 30.2.  This difference from 30.1 is that
22881           MSG_DELETEDOCUMENT now send REPLY_DONE to allow DocNotFoundError
22882           to be propagated.  MSG_DELETEDOCUMENT now has a new number and
22883           the old number for MSG_DELETEDOCUMENT is now
22884           MSG_DELETEDOCUMENT_PRE_30_2 which is handled by the server so
22885           that older clients will continue to work.
22886         * docs/remote_protocol.html: Update.
22887         * tests/api_wrdb.cc: Add regression test for DocNotFoundError bug.
22889 Thu Jun 21 17:22:53 BST 2007  Olly Betts <olly@survex.com>
22891         * api/omdatabase.cc,tests/queryparsertest.cc,docs/spelling.rst: Add
22892           support for spelling correction when using multiple databases.
22894 Thu Jun 21 16:15:22 BST 2007  Olly Betts <olly@survex.com>
22896         * tests/queryparsertest.cc: Add feature tests for correcting spelling
22897           errors in the QueryParser.
22899 Thu Jun 21 15:01:00 BST 2007  Olly Betts <olly@survex.com>
22901         * tests/api_wrdb.cc: Check the edit distance 3 words are found if
22902           asked for.
22904 Thu Jun 21 14:59:15 BST 2007  Olly Betts <olly@survex.com>
22906         * api/omdatabase.cc,common/omdebug.h: Add some debug tracing for the
22907           spelling correction.
22909 Thu Jun 21 13:45:12 BST 2007  Olly Betts <olly@survex.com>
22911         * backends/flint/flint_spelling.cc,docs/spelling.rst: Generate
22912           "bookends" for four character words too, so that we suggest
22913           "fuor" -> "four".
22914         * tests/api_wrdb.cc: More testcases.
22916 Thu Jun 21 13:08:07 BST 2007  Olly Betts <olly@survex.com>
22918         * docs/spelling.rst: Assorted minor improvements.  Add note about not
22919           detecting single character substitutions in two character words.
22921 Thu Jun 21 13:02:57 BST 2007  Olly Betts <olly@survex.com>
22923         * tests/api_wrdb.cc: Check cases for single edits to a two character
22924           word work as expected.
22926 Thu Jun 21 04:13:46 BST 2007  Olly Betts <olly@survex.com>
22928         * tests/api_wrdb.cc: Add test cases to check we find all single edit
22929           errors for a three letter word.
22931 Thu Jun 21 04:08:11 BST 2007  Olly Betts <olly@survex.com>
22933         * backends/flint/flint_spelling.h: Now that
22934           FlintSpellingTable::merge_changes() is only called from within the
22935           class, make it a private method.  discard_changes() is only used
22936           once, and from within the class, so just inline it as that's
22937           clearer.  Make the comment about the overridden methods a doxygen
22938           grouping comment,
22940 Thu Jun 21 04:02:51 BST 2007  Olly Betts <olly@survex.com>
22942         * docs/spelling.rst: Update to mention "bookend" bigrams.
22944 Thu Jun 21 03:56:52 BST 2007  Olly Betts <olly@survex.com>
22946         * backends/flint/flint_spelling.cc: Generate "bookend" spelling
22947           entries for two and three letter terms, consisting of the prefix 'B'
22948           followed by the first and last letters.  This allows us to handle
22949           substitution or deletion of the middle character of a three letter
22950           word, or insertion in the middle of a two letter word.
22952 Thu Jun 21 03:18:28 BST 2007  Olly Betts <olly@survex.com>
22954         * tests/queryparsertest.cc: Some doubles in the list which
22955           value_range_serialise1 tests have the same values on some platforms,
22956           so test that adjacent numbers and their string counterparts compare
22957           the same way rather than that both are "<".
22959 Thu Jun 21 02:46:01 BST 2007  Olly Betts <olly@survex.com>
22961         * tests/api_wrdb.cc: Add "spell1" - a simple feature test for spelling
22962           based on Richard's python test.  Use TESTCASE() and END_OF_TESTCASES
22963           macros.
22965 Wed Jun 20 21:57:01 BST 2007  Olly Betts <olly@survex.com>
22967         * backends/flint/flint_database.cc: WritableDatabase::delete_document()
22968           no longer cancels pending changes if the document doesn't exist.
22969         * backends/quartz/quartz_database.cc: Same fix.
22971 Wed Jun 20 20:53:52 BST 2007  Olly Betts <olly@survex.com>
22973         * backends/flint/flint_database.cc: We may now need to flush even if
22974           there have been no documents added/replaced/deleted, as there may be
22975           changes to the spelling table.
22977 Wed Jun 20 20:46:30 BST 2007  Olly Betts <olly@survex.com>
22979         * backends/flint/flint_table.cc: Fix a function name in the debug
22980           loggging.
22982 Wed Jun 20 20:39:43 BST 2007  Olly Betts <olly@survex.com>
22984         * backends/flint/flint_spelling.cc: Fix FlintSpellingTermList not to
22985           report at_end() one entry too early.
22987 Wed Jun 20 19:21:45 BST 2007  Olly Betts <olly@survex.com>
22989         * tests/harness/backendmanager.cc: Don't touch <dbdir>/log for flint
22990           as flint doesn't create a log like quartz does.
22992 Wed Jun 20 17:10:29 BST 2007  Olly Betts <olly@survex.com>
22994         * backends/flint/flint_database.cc,backends/flint/flint_spelling.h:
22995           Push special handling for spelling_table into the FlintSpellingTable
22996           class.  This fixes "is_modified()" to take into account unflushed
22997           changes held in memory.
22999 Wed Jun 20 13:59:01 BST 2007  Olly Betts <olly@survex.com>
23001         * api/omdatabase.cc: Don't use RETURN() in methods which return void.
23003 Wed Jun 20 11:56:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23005         * api/editdistance.cc: Change an Assert in is_transposed() (which
23006           fails in some cases) to a test, since it seems legitimate that
23007           a value of pos2 <= 0 might be supplied to the function (though
23008           the answer will always be "false" in that case).
23010 Wed Jun 20 02:38:51 BST 2007  Olly Betts <olly@survex.com>
23012         * api/omdatabase.cc: Fix two incorrect return types in debug logging.
23014 Wed Jun 20 02:14:40 BST 2007  Olly Betts <olly@survex.com>
23016         * api/omdatabase.cc: Add missing implementations of
23017           WritableDatabase::add_spelling() and
23018           WritableDatabase::remove_spelling().
23020 Wed Jun 20 00:58:46 BST 2007  Olly Betts <olly@survex.com>
23022         * backends/flint/flint_spelling.h: Make the maps private.
23024 Wed Jun 20 00:05:15 BST 2007  Olly Betts <olly@survex.com>
23026         * HACKING: Snapshots now bootstrapped with automake 1.10.
23028 Wed Jun 20 00:03:42 BST 2007  Olly Betts <olly@survex.com>
23030         * backends/flint/flint_spelling.cc,common/Makefile.mk,
23031           expand/Makefile.mk,expand/ortermlist.h: Move ortermlist.h from
23032           "expand/" to "common/" so we can included it from flint_spelling.cc
23033           without a relative path.
23035 Tue Jun 19 22:41:08 BST 2007  Olly Betts <olly@survex.com>
23037         * api/,backends/database.cc,backends/flint/,common/database.h,
23038           docs/Makefile.am,docs/spelling.rst,include/xapian/database.h,
23039           include/xapian/queryparser.h,queryparser/queryparser.cc,
23040           queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
23041           Add support for spelling correction.
23043 Tue Jun 19 19:18:40 BST 2007  Olly Betts <olly@survex.com>
23045         * backends/flint/flint_database.cc,backends/flint/flint_table.cc,
23046           backends/flint/flint_table.h: Add new method
23047           FlintTable::key_exists() so we don't need to create a cursor to
23048           check if a key exists in FlintDatabase::term_exists() (the other
23049           alternative previously was to read the key and tag and ignore the
23050           tag, but that could involve reading more blocks if the tag is
23051           long, and it could involve uncompressing the tag too).
23053 Tue Jun 19 17:49:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23055         * tests/queryparsertest.cc: Cast the input to pow() to a double, to
23056           fix a problem on windows (which has several versions of pow(),
23057           and the version taking a float was being used by default,
23058           resulting in some of the tests overflowing the range of float).
23060 Tue Jun 19 17:48:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23062         * api/valuerangeproc.cc: Fix assertions, so that the code works
23063           with assertions turned on.
23065 Tue Jun 19 12:35:46 BST 2007  Olly Betts <olly@survex.com>
23067         * matcher/branchpostlist.cc: Add missing #include <config.h>.
23068         * matcher/branchpostlist.cc,matcher/branchpostlist.h: Move other
23069           virtual method definitions out of the header.
23071 Mon Jun 18 21:41:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23073         * matcher/branchpostlist.h: Add missed copyright statement.
23075 Mon Jun 18 21:36:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23077         * matcher/branchpostlist.cc,matcher/branchpostlist.h: Add get_wdf()
23078           method to BranchPostList (which just sums the wdf, which is
23079           useful for a synonym postlist, which is the only situation in
23080           which this will be called).  Add the method definition in a
23081           separate file, as per the comment I just added to HACKING.
23082         * matcher/Makefile.mk: Add branchpostlist.cc
23084 Mon Jun 18 21:33:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23086         * HACKING: Add note about virtual methods (saying that the
23087           shouldn't be defined in header files).
23089 Mon Jun 18 20:15:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23091         * matcher/phrasepostlist.cc,matcher/phrasepostlist.h,
23092           matcher/exactphrasepostlist.cc,matcher/exactphrasepostlist.cc:
23093           Add get_wdf() methods to NearPostList, PhrasePostList and
23094           ExactPhrasePostList - these use a very rough approximation (but
23095           there's a big long comment justifying it).
23097 Mon Jun 18 18:38:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23099         * matcher/mergepostlist.cc,matcher/mergepostlist.h: Add copyright
23100           statements for previous commit (and update license while I'm at
23101           it).
23103 Mon Jun 18 18:24:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23105         * matcher/mergepostlist.cc,matcher/mergepostlist.h: Add get_wdf()
23106           method to MergePostList (just passes through the value from the
23107           current postlist).  Not currently needed, but the expected
23108           behaviour is obvious, and this will be needed if there's a
23109           synonym postlist higher in the query tree (when synonym postlists
23110           are implemented).  Also, correct a documentation comment typo.
23112 Mon Jun 18 13:09:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23114         * api/valuerangeproc.cc: Cast the first parameter to ldexp() to
23115           double to fix compilation on some platforms, and add a few more
23116           explanatory code comments to
23117           NumberValueRangeProcessor::string_to_float()
23119 Mon Jun 18 11:33:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23121         * api/valuerangeproc.cc: Add static methods to
23122           NumberValueRangeProcessor to serialise and unserialise doubles.
23123           Change the code which tests a term for being a number to use
23124           strtod, and accept any string which strtod thinks is a number.
23125           If NumberValueRangeProcessor accepts a range, it now converts the
23126           begin and end values to strings using the serialise method.
23127           Also, expand some of the code comments.
23128         * include/xapian/queryparser.h: Add documentation comments to
23129           NumberValueRangeProcessor.
23130         * tests/queryparsertest.cc: Update value_range2_queries to expect
23131           new serialised forms in its output.  Update test_qp_value_range3
23132           to test a wider range of values (including negative, fractional,
23133           and more-than-single-digit).
23135 Mon Jun 18 03:36:38 BST 2007  Olly Betts <olly@survex.com>
23137         * queryparser/queryparser.lemony: Fix comment typo, and add brackets
23138           to make intended precedence clearer.
23140 Mon Jun 18 03:36:04 BST 2007  Olly Betts <olly@survex.com>
23142         * include/xapian/queryparser.h: Tweak wording of a couple of
23143           documentation comments.
23145 Mon Jun 18 02:00:31 BST 2007  Olly Betts <olly@survex.com>
23147         * docs/queryparser.html: Mention "AND NOT" as an alternative way to
23148           write "NOT".
23150 Mon Jun 18 01:43:00 BST 2007  Olly Betts <olly@survex.com>
23152         * queryparser/queryparser.lemony: Adjust precedence of boolean
23153           operators to match those in maths and programming languages.
23154           "NOT" now binds as tightly as "AND" (previously "AND NOT" would
23155           bind like "AND", but just "NOT" would bind like "OR"!)  Also
23156           "XOR" now binds more tightly than "OR", but less tightly than
23157           "AND" (previously it bound just like "OR").
23158         * tests/queryparsertest.cc: Add testcases for the new behaviour.
23160 Mon Jun 18 01:16:18 BST 2007  Olly Betts <olly@survex.com>
23162         * tests/queryparsertest.cc: Better test coverage of handling of random
23163           double quotes in queries.
23165 Sun Jun 17 16:17:34 BST 2007  Olly Betts <olly@survex.com>
23167         * include/xapian/unicode.h: Don't call operator++(0) from operator()
23168           as it does more work than we need.
23170 Sun Jun 17 14:14:16 BST 2007  Olly Betts <olly@survex.com>
23172         * bin/xapian-inspect.cc: Fix so that Ctrl+D doesn't cause an infinite
23173           loop!
23175 Sat Jun 16 22:19:11 BST 2007  Olly Betts <olly@survex.com>
23177         * bin/Makefile.mk,bin/xapian-inspect.cc,xapian-core.spec.in:
23178           New utility 'xapian-inspect' allowing interactive inspection of
23179           key/tag pairs in a flint Btree.  Useful for development and
23180           debugging, and an approximate replacement for quartzdump.
23182 Sat Jun 16 17:03:57 BST 2007  Olly Betts <olly@survex.com>
23184         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Update for
23185           doxygen 1.5.2 (using "doxygen -u").
23187 Sat Jun 16 10:17:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23189         * tests/Makefile.am: The "check-none" target should run all the
23190           tests which don't need a database, not just those in apitest: add
23191           internaltest, stemtest, queryparsertest and termgentest to the
23192           list of tests it runs.
23194 Sat Jun 16 09:36:10 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23196         * Makefile.am,bin/Makefile.mk,examples/Makefile.mk: Work around an
23197           apparent bug in automake which causes the entries in .libs
23198           subdirectories generated for targets of bin_PROGRAMS not to be
23199           removed on make clean.  (This was causing make distcheck to
23200           fail.)
23202 Sat Jun 16 04:42:16 BST 2007  Olly Betts <olly@survex.com>
23204         * HACKING,Makefile.am,tests/Makefile.am,tests/apitest.cc,
23205           tests/harness/backendmanager.cc,tests/harness/backendmanager.h: In
23206           the testsuite, rename the "void" pseudo-backend to "none" to more
23207           clearly reflect what it is.  And rename the "remote" backend to
23208           "remoteprog", to better differentiate it from "remotetcp".
23209         * HACKING: Fix error - "apitest -b=flint" doesn't work - it must be
23210           "apitest -bflint".
23212 Sat Jun 16 04:40:28 BST 2007  Olly Betts <olly@survex.com>
23214         * HACKING: Now using doxygen 1.5.2.
23216 Sat Jun 16 02:08:20 BST 2007  Olly Betts <olly@survex.com>
23218         * backends/flint/flint_table.cc: Fix to build with older zlib.  Not
23219           hugely important as zlib security fixes mean any well maintained
23220           box will be running a recent zlib, but the fix is trivial.
23222 Fri Jun 15 19:39:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23224         * HACKING: Document the new check-void, check-inmemory,
23225           check-remoteprog and check-remotetcp targets.
23227 Fri Jun 15 19:34:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23229         * Makefile.am,tests/Makefile.am: Add check-void, check-inmemory,
23230           check-remoteprog and check-remotetcp targets, to allow the tests
23231           for any of the backends to be performed in isolation.
23233 Fri Jun 15 19:29:19 BST 2007  Olly Betts <olly@survex.com>
23235         * Makefile.am,configure.ac,xapian-core.spec.in,xapian.spec.in:
23236           Rename xapian.spec to xapian-core.spec to match tarball name.
23237           Append the user name to BuildRoot.
23239 Fri Jun 15 14:51:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23241         * net/progclient.cc: Open the file handle pointing to /dev/null as
23242           O_WRONLY instead of O_RDONLY: doesn't affect whether the test
23243           passes (since nothing gets written to stderr in theory anyway),
23244           but makes more sense.
23246 Fri Jun 15 13:21:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23248         * net/progclient.cc: Better fix - rather than leaving stderr open,
23249           we close it, and then reopen it pointing to /dev/null.
23251 Fri Jun 15 12:55:07 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23253         * net/progclient.cc: Don't close stderr in the child before we call
23254           execve() - with this change, apitest passes under valgrind with
23255           the remote database backend: before it, the child seemed to be
23256           exiting without writing anything to the socket, causing the test
23257           to fail with a NetworkError (due to an unexpected EOF).
23259 Thu Jun 14 23:47:52 BST 2007  Olly Betts <olly@survex.com>
23261         * backends/flint/flint_database.cc: Replace duplicated code with calls
23262           to existing method set_revision_number(new_revision).
23264 Thu Jun 14 18:51:03 BST 2007  Olly Betts <olly@survex.com>
23266         * backends/flint/flint_database.cc: Stop including <sys/utsname.h>
23267           which we don't use here.
23269 Thu Jun 14 18:22:24 BST 2007  Olly Betts <olly@survex.com>
23271         * tests/Makefile.am: Fix typo from copy&paste.
23273 Thu Jun 14 16:46:45 BST 2007  Olly Betts <olly@survex.com>
23275         * docs/admin_notes.rst: Update for the "lazy table" changes.  Correct
23276           the description of xapian-compact --multipass (only the postlist
23277           tables are merged in multiple passes), correct description of how
23278           to use xapian-check on a single table (no trailing '.' should be
23279           specified).  Change the "how to upgrade 0.9.x flint databases" to
23280           talk about 1.0.y rather than 1.0.0.
23282 Thu Jun 14 16:25:55 BST 2007  Olly Betts <olly@survex.com>
23284         * backends/flint/: The value and position tables are now only created
23285           if there is anything to add to them.  So if you never use document
23286           values, there's no value_DB, value.baseA, or value.baseB.  This
23287           means the table doesn't need to be opened for searching (saving a
23288           file handle) and when flushing changes, we don't need to update
23289           baseA/baseB just to keep the revisions in step.  The flint database
23290           version has been increased, but the new code will happily open and
23291           read/update flint databases from Xapian 1.0.0 and 1.0.1.
23292         * bin/xapian-check.cc,bin/xapian-compact.cc: Update to handle
23293           databases without value and/or position tables.
23294         * tests/testdata/flint-1.0.1/: Empty example of a flint 1.0.1 format
23295           database.
23296         * tests/Makefile.am,tests/api_db.cc: Add check that a flint 1.0.1
23297           format database can be opened.
23299 Wed Jun 13 22:40:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23301         * include/xapian/queryparser.h: Document set_stemmer() and
23302           set_stemming_strategy() better - in particular, make it clear
23303           that the default value for the stemming strategy is STEM_NONE.
23305 Wed Jun 13 17:16:52 BST 2007  Olly Betts <olly@survex.com>
23307         * HACKING: Wrap overlong line.
23309 Wed Jun 13 16:47:07 BST 2007  Olly Betts <olly@survex.com>
23311         * msvc/version.h.in: Remote backend is now supported in the MSVC
23312           build.
23314 Wed Jun 13 04:18:51 BST 2007  Olly Betts <olly@survex.com>
23316         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
23317           Eliminate dont_close_handle as it's always false.
23319 Wed Jun 13 02:53:28 BST 2007  Olly Betts <olly@survex.com>
23321         * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h:
23322           Remove unused FlintTable_base constructor.
23324 Tue Jun 12 18:27:54 BST 2007  Olly Betts <olly@survex.com>
23326         * backends/flint/flint_table.cc: Add fix to allow compilation on
23327           OpenBSD, which uses off_t instead of uLong for total_out in
23328           zlib.h.  Remove Assert() which is followed by a better check of
23329           the same condition.
23330         * AUTHORS: Add Julien Touche for help with this fix.
23332 Tue Jun 12 13:34:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23334         * tests/harness/unixcmds.cc: On unix builds, set access permissions
23335           on copied directories to allow writes.  This fixes make
23336           distcheck, which was failing on tests because the copied
23337           directory was set to read-only, causing the later "rm -rf"
23338           command to fail.
23340 Mon Jun 11 20:10:26 BST 2007  Olly Betts <olly@survex.com>
23342         * docs/overview.html: Fix typo.
23344 Mon Jun 11 20:08:42 BST 2007  Olly Betts <olly@survex.com>
23346         * docs/Makefile.am: Ship and install internals.html.
23348 Mon Jun 11 17:46:04 BST 2007  Olly Betts <olly@survex.com>
23350         * docs/Makefile.am,docs/doxygen_full_conf.in: Disable generation of
23351           PDF version of doxygen-collated documentation of internals.  It
23352           keeps overflowing TeX limits and it seems likely that most people
23353           would prefer the HTML version of this anyway.
23355 Mon Jun 11 17:45:12 BST 2007  Olly Betts <olly@survex.com>
23357         * tests/internaltest.cc: Remove duplicated code.
23359 Mon Jun 11 03:55:53 BST 2007  Olly Betts <olly@survex.com>
23361         * NEWS: Probably the final update for 1.0.1.
23363 Mon Jun 11 03:47:37 BST 2007  Olly Betts <olly@survex.com>
23365         * examples/simpleindex.cc: Tweak the logic to be clearer.
23367 Sun Jun 10 21:59:21 BST 2007  Olly Betts <olly@survex.com>
23369         * HACKING,configure.ac: Drop automake requirement to 1.8.3 to allow
23370           RPM spec file to work on SLES 9.
23372 Sun Jun 10 21:48:51 BST 2007  Olly Betts <olly@survex.com>
23374         * configure.ac: Bump version to 1.0.1 and LIBRARY_VERSION_INFO to
23375           15:0:0.
23377 Sun Jun 10 21:46:57 BST 2007  Olly Betts <olly@survex.com>
23379         * xapian.spec.in: Add "# norootforbuild" comment which SuSE's build
23380           scripts look for.  Rename "Source0:" to "Source:" as there's only
23381           one tarball now.  Add gcc-c++ and zlib-devel to "Build-Requires:".
23383 Sun Jun 10 21:43:45 BST 2007  Olly Betts <olly@survex.com>
23385         * PLATFORMS: More updates.
23387 Sun Jun 10 18:01:19 BST 2007  Olly Betts <olly@survex.com>
23389         * api/error.cc,generate-exceptions.in: Make Error::error_string member
23390           std::string rather than char * to avoid problems with double free()
23391           with copied Error objects.  Also, Error::get_description() now
23392           converts my_errno to error_string if it hasn't been already.
23393         * tests/internaltest.cc: Add regression tests for both bugs.
23395 Sun Jun 10 13:33:21 BST 2007  Olly Betts <olly@survex.com>
23397         * tests/api_db.cc: New testcase in allterms6.
23399 Sun Jun 10 13:20:37 BST 2007  Olly Betts <olly@survex.com>
23401         * xapian-config.in: Add special case check for host_os matching linux*
23402           or k*bsd-gnu since vanilla libtool doesn't identify them as needing
23403           link_all_deplibs_CXX=no.
23405 Sun Jun 10 03:32:54 BST 2007  Olly Betts <olly@survex.com>
23407         * PLATFORMS: Updated from tinderbox.
23409 Sun Jun 10 02:14:58 BST 2007  Olly Betts <olly@survex.com>
23411         * NEWS: Updated.
23413 Sat Jun 09 17:28:32 BST 2007  Olly Betts <olly@survex.com>
23415         * queryparser/queryparser.lemony: Add the unstem entry for boolean
23416           prefixed terms in Term::make_term() as we do for other terms.
23418 Sat Jun 09 17:27:55 BST 2007  Olly Betts <olly@survex.com>
23420         * tests/queryparsertest.cc: Replace reference to Xapian "1.0" with
23421           "1.0.0".
23423 Sat Jun 09 17:12:44 BST 2007  Olly Betts <olly@survex.com>
23425         * queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
23426           Factor out the code which actually parses a term into a separate
23427           method.
23429 Fri Jun 08 23:31:23 BST 2007  Olly Betts <olly@survex.com>
23431         * tests/Makefile.am: Distribute tests/testdata/flint-0.9.9/.
23433 Fri Jun 08 19:20:36 BST 2007  Olly Betts <olly@survex.com>
23435         * NEWS: Updated.
23437 Fri Jun 08 18:55:43 BST 2007  Olly Betts <olly@survex.com>
23439         * examples/simplesearch.cc: Report "Matches 1-<N>:".
23441 Fri Jun 08 18:46:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23443         * api/omenquire.cc: Fix issue brought to my attention by Enrico
23444           Zini: if an uninitialised database is supplied to Enquire,
23445           performing a search will cause a segfualt.  It isn't completely
23446           clear whether using an uninitialised database should cause an
23447           error, or whether the search should return an empty result list,
23448           but for ease of implementation, and to avoid application errors
23449           going unnoticed, I've made Enquire's constructor report an
23450           InvalidArgumentError if the supplied database is uninitialised.
23451         * include/xapian/enquire.h: Document new exception case, and
23452           workaround if you want a search in this situation to return an
23453           empty result set, instead of getting an error.
23454         * tests/api_nodb.cc: Regression test for this fix.
23455         * AUTHORS: Mention Enrico Zini.
23457 Fri Jun 08 18:33:19 BST 2007  Olly Betts <olly@survex.com>
23459         * NEWS: Updated.
23461 Fri Jun 08 17:09:22 BST 2007  Olly Betts <olly@survex.com>
23463         * common/Makefile.mk: Distribute common/stringutils.h.
23465 Thu Jun 07 20:44:36 BST 2007  Olly Betts <olly@survex.com>
23467         * tests/harness/unixcmds.cc: It appears we need to create the target
23468           directory for xcopy to behave as we want.
23470 Thu Jun 07 19:34:18 BST 2007  Olly Betts <olly@survex.com>
23472         * tests/harness/unixcmds.cc: Fix typo to unbreak testsuite on Windows
23473           NT derivatives.
23475 Thu Jun 07 19:02:36 BST 2007  Olly Betts <olly@survex.com>
23477         * backends/inmemory/inmemory_alltermslist.cc: Another tweak - don't
23478           call map::lower_bound() in the ctor at all.  Also, prevent skip_to()
23479           from moving backwards, since that behaviour is user-visible.
23481 Thu Jun 07 18:36:49 BST 2007  Olly Betts <olly@survex.com>
23483         * common/stringutils.h: New header, providing inline functions
23484           begins_with() and ends_with() to check if a std::string has
23485           a given prefix or suffix.
23486         * api/valuerangeproc.cc,backends/flint/flint_alltermslist.cc,
23487           backends/inmemory/inmemory_alltermslist.cc,
23488           backends/quartz/quartz_alltermslist.cc,
23489           backends/quartz/quartz_metafile.cc,tests/harness/testsuite.cc:
23490           Make use of begins_with() and ends_with().
23491         * tests/harness/testsuite.cc: Tidy up guessing of srcdir.  In
23492           particular, fix comments to reflect that libtool won't create a
23493           wrapper script for the test programs on most platforms (because
23494           we now use --no-install when linking).
23495         * backends/inmemory/inmemory_alltermslist.cc: In the ctor, use
23496           std::map::lower_bound() to find the first term matching the
23497           given prefix, rather than iterating through from the start of
23498           the map.  Also, don't skip deleted terms here, but instead do
23499           that in next() - this avoids duplicating code, and the first
23500           operation might be skip_to() in which case we can avoid wasting
23501           effort.
23503 Thu Jun 07 17:16:12 BST 2007  Olly Betts <olly@survex.com>
23505         * queryparser/queryparser.lemony: Eliminate the QpQuery class and
23506           simplify various bits of the code.
23508 Thu Jun 07 14:32:22 BST 2007  Olly Betts <olly@survex.com>
23510         * tests/queryparsertest.cc: Enhance qp_value_customrange1.
23512 Thu Jun 07 14:31:40 BST 2007  Olly Betts <olly@survex.com>
23514         * docs/Makefile.am,docs/index.html,docs/valueranges.rst: Add document
23515           describing how to use Xapian::ValueRangeProcessor.
23517 Thu Jun 07 14:16:01 BST 2007  Olly Betts <olly@survex.com>
23519         * tests/queryparsertest.cc: Add test of custom ValueRangeProcessor
23520           subclass (qp_value_customrange1).
23522 Thu Jun 07 10:01:46 BST 2007  Olly Betts <olly@survex.com>
23524         * common/serialise.h,tests/harness/testsuite.h: Use XAPIAN_NORETURN()
23525           to mark functions which never return.
23527 Thu Jun 07 01:28:00 BST 2007  Olly Betts <olly@survex.com>
23529         * NEWS: Update.
23531 Thu Jun 07 01:02:22 BST 2007  Olly Betts <olly@survex.com>
23533         * examples/simpleexpand.cc: Fix off-by-one error when creating the
23534           fake RSet (picked up to 4 documents, not up to 5).
23536 Wed Jun 06 17:17:05 BST 2007  Olly Betts <olly@survex.com>
23538         * include/xapian/queryparser.h: Add documentation comments for
23539           ValueRangeProcessor and subclasses (mostly fixes bug#155, but
23540           I'd like to add an overview document too).
23542 Wed Jun 06 16:04:08 BST 2007  Olly Betts <olly@survex.com>
23544         * tests/testdata/flint-0.9.9/: Minimal example of a Flint database
23545           from Xapian 0.9.9.
23546         * tests/api_db.cc: Use a real 0.9.9 flint database instead of faking
23547           it by fudging with the "iamflint" file in a current one.
23548           flintdatabaseformaterror1 now also checks for opening with the
23549           Database ctor as well as with Flint::open().  The writing test from
23550           flintdatabaseformaterror1 is now flintdatabaseformaterror2 which
23551           additionally tests opening with the WritableDatabase ctor as well as
23552           with Flint::open().  The old flintdatabaseformaterror2 is now
23553           flintdatabaseformaterror3.
23555 Wed Jun 06 15:44:08 BST 2007  Olly Betts <olly@survex.com>
23557         * backends/flint/flint_database.cc: Don't check for pre-0.6 databases
23558           here (since they'll be quartz format anyway - the check is just an
23559           overenthusiastic cut-and-paste from quartz).
23561 Wed Jun 06 12:35:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23563         * matcher/valuerangepostlist.cc: Avoid calling db->get_lastdocid()
23564           repeatedly in ValueRangePostList::next() - was taking 25% of the
23565           time for a particular test case.
23567 Wed Jun 06 12:17:51 BST 2007  Olly Betts <olly@survex.com>
23569         * tests/harness/unixcmds.cc,tests/harness/unixcmds.h: Add "cp_R()"
23570           which does much the same as "cp -R" on Unix.
23572 Wed Jun 06 12:12:50 BST 2007  Olly Betts <olly@survex.com>
23574         * include/xapian/Makefile: New stub makefile for include/xapian.
23575         * bin/Makefile.mk,examples/Makefile.mk,include/Makefile.mk: Distribute
23576           missing stub Makefile and dir_contents files.
23578 Tue Jun 05 16:44:51 BST 2007  Olly Betts <olly@survex.com>
23580         * tests/harness/index_utils.cc: Back out linger line from r7758.
23581           Fix undefined behaviour in cases where a paragraph has <= 2
23582           characters.
23584 Mon Jun 04 15:31:08 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23586         * tests/harness/backendmanager.cc,tests/harness/index_utils.cc:
23587           Revert the recent changes to the indexing code, and also the
23588           change from revision r7758 which was intended to fix a problem
23589           with eof handling on windows (which is what broke the indexing of
23590           etext.txt).  Then, change backendmanager.cc to test "!from.eof()"
23591           instead of "from" to check for eof - hopefully this will work on
23592           windows - if not, we can investigate further.
23594 Mon Jun 04 13:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23596         * tests/harness/backendmanager.cc: Undo previous patch - only the
23597           patch to index_utils.cc was necessary; I mistakenly committed
23598           both files I'd been modifying.
23600 Mon Jun 04 09:06:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23602         * tests/api_db.cc: Add a check to consistency1 that the full mset
23603           size is as big as it should be, to make sure that we notice in
23604           future if the indexing goes wrong again.
23606 Mon Jun 04 08:59:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23608         * tests/harness/backendmanager.cc,tests/harness/index_utils.cc:
23609           Fix the indexing of the testdata, so that the "etext" example is
23610           properly indexed (previously, only the first line was being
23611           indexed, due to faulty end-of-file handling).  This only affects
23612           the "consistency1" test, which now runs a lot slower (but still
23613           passes, fortunately).
23615 Fri Jun 01 23:47:42 BST 2007  Olly Betts <olly@survex.com>
23617         * examples/simpleexpand.cc: Rewrite based on new simplesearch.cc.
23619 Fri Jun 01 00:50:00 BST 2007  Olly Betts <olly@survex.com>
23621         * examples/simpleindex.cc: Replacement "simpleindex" example which
23622           uses the TermGenerator class, which makes for a much smaller and
23623           simpler example.  It's also much more typical of what most users
23624           will want to do.
23626 Thu May 31 23:01:47 BST 2007  Olly Betts <olly@survex.com>
23628         * examples/simplesearch.cc: Replacement "simplesearch" example which
23629           uses the QueryParser.  That makes for a simpler example, and it's
23630           much more typical of what most users will want to do.
23632 Thu May 31 19:31:40 BST 2007  Olly Betts <olly@survex.com>
23634         * NEWS: Update.
23636 Thu May 31 19:18:41 BST 2007  Olly Betts <olly@survex.com>
23638         * HACKING,configure.ac: Relax automake requirement to 1.9.2 to allow
23639           RPM building on RHEL 4.
23640         * HACKING: automake 1.10 seems to work fine with Xapian.
23642 Thu May 31 03:04:42 BST 2007  Olly Betts <olly@survex.com>
23644         * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
23645           Check if the docid counter wraps and if it does throw DatabaseError
23646           (fixes bug#152).
23647         * tests/api_wrdb.cc: Add regression test (nomoredocids1).
23649 Thu May 31 02:01:31 BST 2007  Olly Betts <olly@survex.com>
23651         * backends/dbfactory_remote.cc,backends/remote/remote-database.cc,
23652           common/progclient.h,common/remote-database.h,common/tcpclient.h,
23653           net/progclient.cc: Stop a non-writable remote database from calling
23654           dtor_called() when it is destroyed, since that causes MSG_FLUSH to
23655           be sent to the server (fixes bug#149).
23657 Wed May 30 19:47:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23659         * include/xapian/query.h: New accessor method
23660           Xapian::Query::Internal::get_parameter().
23661         * queryparser/queryparser.lemony: Multiple boolean prefixed terms
23662           with the same term prefix are now combined with OR before such
23663           groups are combined with AND.  Similarly for multiple value ranges
23664           on the same value (fixes bug#157).
23665         * include/xapian/queryparser.h: Document new handling of multiple
23666           boolean prefixed terms.
23667         * tests/queryparsertest.cc: Testcases for new handling of multiple
23668           boolean prefixed terms and value ranges.
23670 Wed May 30 14:45:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23672         * docs/deprecation.rst: Update comment about QueryParserError to
23673           point out that you'll need to compile conditionally to work with
23674           0.9.x
23676 Wed May 30 14:33:29 BST 2007  Olly Betts <olly@survex.com>
23678         * NEWS: Update.  Put all the subheadings in the standard order used
23679           for previous releases.
23681 Wed May 30 12:58:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23683         * include/xapian/database.h,api/omdatabase.cc,backends/flint/,
23684           backends/inmemory/,backends/quartz/,
23685           backends/remote/remote-database.cc,
23686           common/database.h,common/remote-database.h,common/remoteprotocol.h,
23687           net/remoteserver.cc: Add a prefixed form of allterms_begin() and
23688           allterms_end(), which allows efficient iteration over only those
23689           terms which begin with the given prefix.  Requires bumping the
23690           remote protocol minor version number, but doesn't change any
23691           database formats.
23692         * queryparser/queryparser.lemony: Update the wildcard and partial
23693           query routines to use the prefixed form of allterms_begin().
23694           This fixes the performance problems noted in bug #153.
23695         * tests/api_db.cc: Add test_allterms6() to test the prefixed form
23696           of allterms iterators.
23698 Wed May 30 12:23:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23700         * backends/remote/remote-database.cc,common/remoteprotocol.h,
23701           docs/remote_protocol.html,net/remoteserver.cc: Apply patch from
23702           Olly (from bug #153) which implements minor version numbers for
23703           the remove protocol.  This will allow us to add new features to
23704           the protocol in future without forcing all clients to upgrade to
23705           exactly the same version as the servers.  Bump the major version
23706           to 30, since this is an incompatible change itself, though.
23708 Wed May 30 12:12:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23710         * include/xapian/query.h: Expand documentation of value range
23711           query constructor.
23713 Wed May 30 10:28:39 BST 2007  Olly Betts <olly@survex.com>
23715         * docs/deprecation.rst: Improve entry for QueryParserError.
23717 Wed May 30 01:30:35 BST 2007  Olly Betts <olly@survex.com>
23719         * backends/flint/,bin/xapian-compact.cc: Don't uncompress and
23720           recompress tags when compacting a database.  This speeds up
23721           xapian-compact rather a lot (by more than 50% in my quick test).
23723 Tue May 29 20:58:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23725         * queryparser/Makefile.mk: Fix multiple target rule for generating
23726           the queryparser source files in parallel builds, as described in
23727           HACKING, and as done for the SWIG rules in xapian-bindings.
23728         * queryparser/: Add queryparser_internal.lock and
23729           queryparser_internal.stamp to SVN ignores.
23731 Tue May 29 18:30:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23733         * tests/queryparsertest.cc: Use TEST_STRINGS_EQUAL when comparing
23734           queries against their expected output, since this makes it much
23735           easier to see the differences.
23737 Tue May 29 18:13:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23739         * NEWS: Bring up-to-date.
23741 Mon May 28 09:27:43 BST 2007  Olly Betts <olly@survex.com>
23743         * examples/copydatabase.cc: Fix to compile with GCC 2.95.
23745 Mon May 28 01:28:23 BST 2007  Olly Betts <olly@survex.com>
23747         * examples/copydatabase.cc: Rewrite to take advantage of
23748           being able to iterate over all the documents in a database.
23750 Sun May 27 12:20:03 BST 2007  Olly Betts <olly@survex.com>
23752         * include/xapian/termgenerator.h: Improve documentation comments
23753           for TermGenerator class.
23755 Sun May 27 12:15:02 BST 2007  Olly Betts <olly@survex.com>
23757         * backends/quartz/quartz_database.cc,bin/,examples/,net/tcpserver.cc,
23758           tests/api_db.cc,tests/harness/testsuite.cc,tests/harness/testutils.h,
23759           tests/queryparsertest.cc,tests/termgentest.cc: Make use of
23760           Xapian::Error::get_description(), which improves error reporting
23761           in a number of places.
23762         * tests/harness/testsuite.cc: If we get an exception with a long
23763           message in verbose mode, just report the whole message rather than
23764           reporting the truncated message followed by the whole message.
23765         * tests/queryparsertest.cc: Handle Xapian::QueryParserError specially
23766           (as we previously handled all Xapian::Error exceptions).  Other
23767           Xapian::Error exceptions now report the description not just the
23768           message.
23770 Sun May 27 11:33:11 BST 2007  Olly Betts <olly@survex.com>
23772         * api/error.cc,generate-exceptions.in: Add new API method
23773           Xapian::Error::get_description() to allow removal of
23774           essentially duplicated code in many places.  Also useful for
23775           users for the same reason.
23777 Sun May 27 09:56:21 BST 2007  Olly Betts <olly@survex.com>
23779         * generate-exceptions.in: Add vim modeline to force perl syntax
23780           highlighting.
23782 Sat May 26 22:53:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23784         * NEWS: Bring up-to-date.
23786 Sat May 26 22:49:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23788         * docs/deprecation.rst: Fix typo in deprecation list for the
23789           bindings pointed out by Thomas Waldmann.
23791 Sat May 26 09:39:36 BST 2007  Olly Betts <olly@survex.com>
23793         * HACKING: Add note about reasons for avoiding std::pair<> with an STL
23794           class as one or both members.
23796 Thu May 24 17:28:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23798         * queryparser/Makefile.mk: $(top_builddir)/queryparser is only
23799           required in include path for maintainer mode, so make it so for
23800           neatness.
23802 Tue May 22 11:04:04 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23804         * queryparser/Makefile.mk: Add $(top_builddir)/queryparser to include
23805           path for VPATH builds, to fix a problem with depcomp (triggered
23806           when compiling with gcc-2.95).
23807         * NEWS: Keep up to date.
23809 Mon May 21 13:38:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23811         * tests/queryparsertest.cc: Reduce the range of the test, so that
23812           it passes again, to let the autobuilders work and unbreak HEAD.
23814 Mon May 21 10:26:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23816         * tests/queryparsertest.cc: Remove FIXME from test_qp_flag_partial1:
23817           I've checked that the results look correct.  New test
23818           test_qp_value_range3, to test the NumberValueRangeProcessors -
23819           currently fails because "10" is considered to be between "1" and
23820           "2".
23821         * include/xapian/query.h: Fix typo in documentation comment.
23823 Mon May 21 10:09:34 BST 2007  Olly Betts <olly@survex.com>
23825         * tests/harness/testsuite.h: Put quotes around strings when reporting
23826           a failure in TEST_STRINGS_EQUAL().
23828 Mon May 21 10:08:18 BST 2007  Olly Betts <olly@survex.com>
23830         * tests/internaltest.cc: New tests serialiseerror1 which checks that
23831           the handling of errno/error_string.
23832         * common/serialise.h: Make unserialise_error externally visible for
23833           new test.
23835 Mon May 21 08:40:06 BST 2007  Olly Betts <olly@survex.com>
23837         * HACKING: Update release checklist.
23839 Fri May 18 02:10:39 BST 2007  Olly Betts <olly@survex.com>
23841         * generate-exceptions.in: Fix grammatical errors in Error::get_errno()
23842           deprecation explanation.
23844 Thu May 17 23:51:17 BST 2007  Olly Betts <olly@survex.com>
23846         * api/error.cc: Need <stdlib.h> for free() to build with GCC 4.3
23847           snapshot.
23849 Thu May 17 23:11:53 BST 2007  Olly Betts <olly@survex.com>
23851         * NEWS: Fix line wrapping (ok, isn't wasn't final!)
23853 Thu May 17 22:28:44 BST 2007  Olly Betts <olly@survex.com>
23855         * NEWS: Final update before release.
23857 Thu May 17 19:10:27 BST 2007  Olly Betts <olly@survex.com>
23859         * configure.ac: Bump version to 1.0.0 and update LIBRARY_VERSION_INFO.
23861 Thu May 17 19:10:11 BST 2007  Olly Betts <olly@survex.com>
23863         * NEWS: Minor wording tweak.
23865 Thu May 17 19:06:34 BST 2007  Olly Betts <olly@survex.com>
23867         * docs/Makefile.am: Run rst2html with --strict --verbose options to
23868           reject .rst files with problems.
23869         * docs/deprecation.rst: Add more entries gleaned from the NEWS file.
23871 Thu May 17 18:30:01 BST 2007  Olly Betts <olly@survex.com>
23873         * NEWS: Update with fixes from Jenny's proof-reading and a few other
23874           tweaks.
23876 Thu May 17 18:27:53 BST 2007  Olly Betts <olly@survex.com>
23878         * AUTHORS: Update.
23880 Thu May 17 18:25:39 BST 2007  Olly Betts <olly@survex.com>
23882         * PLATFORMS: Updates from the tinderbox.
23884 Thu May 17 18:08:13 BST 2007  Olly Betts <olly@survex.com>
23886         * common/safesysstat.h: Need the 2 argument mkdir() wrapper for Mingw
23887           too.  Define S_ISDIR() and S_ISREG() if they aren't already defined
23888           rather than conditional on _MSC_VER.
23890 Thu May 17 17:58:43 BST 2007  Olly Betts <olly@survex.com>
23892         * docs/admin_notes.rst: "flint-check" -> "xapian-check".
23894 Thu May 17 17:46:36 BST 2007  Olly Betts <olly@survex.com>
23896         * NEWS: Update for Xapian 1.0.0.
23898 Thu May 17 17:41:15 BST 2007  Olly Betts <olly@survex.com>
23900         * docs/: Update documentation for 1.0.0; add new document describing
23901           new term generation strategy as implemented by TermGenerator class;
23902           link in "lost" documents to the index page.
23904 Thu May 17 03:54:36 BST 2007  Olly Betts <olly@survex.com>
23906         * exception_data.pm: Fix to work with Perl 5.6.
23908 Thu May 17 01:20:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23910         * backends/multi/multi_alltermslist.cc: Check that iterators are
23911           not at_end() before calling skip_to() on them.
23913 Thu May 17 00:49:03 BST 2007  Olly Betts <olly@survex.com>
23915         * backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc,
23916           backends/quartz/btree.cc,common/Makefile.mk,
23917           common/msvc_posix_wrapper.cc,common/msvc_posix_wrapper.h: Use
23918           msvc_posix_wrapper.h functions for all __WIN32__ builds, not just
23919           for MSVC.
23921 Wed May 16 23:55:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23923         * api/omdatabase.cc: Fix return type in debug macro in
23924           replace_document().
23926 Wed May 16 23:45:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23928         * tests/apitest.cc: Add collfreq and allterms tests to the tests
23929           for the remote and remotetcp backends.  They all pass.
23931 Wed May 16 15:11:00 BST 2007  Olly Betts <olly@survex.com>
23933         * configure.ac: Need to try -zdll for mingw as well.
23935 Wed May 16 14:45:23 BST 2007  Olly Betts <olly@survex.com>
23937         * tests/queryparsertest.cc: Add two more testcases.
23939 Wed May 16 14:32:46 BST 2007  Olly Betts <olly@survex.com>
23941         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix
23942           double-free on invalid range query.
23944 Wed May 16 10:08:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23946         * tests/queryparsertest.cc: Add some more test cases to the value
23947           range processor.  These currently fail with a SIGSEGV message.
23949 Wed May 16 02:22:17 BST 2007  Olly Betts <olly@survex.com>
23951         * queryparser/termgenerator_internal.cc: Fix handling of stemming of
23952           prefixed terms.
23953         * tests/termgentest.cc: Fix testcases.
23955 Wed May 16 01:54:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23957         * tests/termgentest.cc: Add a test for parsing of capitalised words
23958           with a prefix, which currently fails.
23960 Wed May 16 01:09:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23962         * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
23963           a method to get the current document from the term generator.
23964           Helps avoid users having to pass around a structure encapsulating
23965           the generator and the document assigned to it.
23967 Wed May 16 00:50:07 BST 2007  Olly Betts <olly@survex.com>
23969         * docs/deprecation.rst: Add <xapian/output.h>.
23971 Tue May 15 22:46:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23973         * tests/termgentest.cc: Use resize(0) instead of clear(), for g++2.95
23975 Tue May 15 20:25:07 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23977         * net/remoteconnection.cc: Add a comment noting why we test
23978           __STDC_SECURE_LIB__ even though its an undocumented macro.
23980 Tue May 15 20:14:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23982         * tests/termgentest.cc: Add several more tests - some converted
23983           from the query tests, some more initial tests, and some number
23984           tests.
23986 Tue May 15 18:31:21 BST 2007  Olly Betts <olly@survex.com>
23988         * queryparser/termgenerator_internal.cc: Revert previous change - we
23989           need to generate Zibm and Zpc from text `I.B.M. P.C.' or else a
23990           search for `ibm pc' won't match.
23992 Tue May 15 18:22:44 BST 2007  Olly Betts <olly@survex.com>
23994         * queryparser/termgenerator_internal.cc: Sort out stemming of
23995           initials.
23997 Tue May 15 18:04:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23999         * tests/termgentest.cc: Add some more tests, and rework the array
24000           of tests so that there's just a single string holding any options
24001           we want to set for the following tests.
24003 Tue May 15 16:49:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24005         * tests/Makefile.am,tests/termgentest.cc: Add new test file, for
24006           testing the term generator.  Only has a single test so far.
24008 Tue May 15 16:20:20 BST 2007  Olly Betts <olly@survex.com>
24010         * include/xapian/unicode.h: Make single parameter ctor explicit.
24012 Tue May 15 16:00:24 BST 2007  Olly Betts <olly@survex.com>
24014         * queryparser/termgenerator_internal.cc: Add special handling for
24015           acronyms/initialisms, so I.B.M -> term ibm, etc.
24017 Tue May 15 14:07:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24019         * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
24020           a set_termpos() method, too.
24022 Tue May 15 13:54:34 BST 2007  Olly Betts <olly@survex.com>
24024         * include/xapian/database.h: Document the issue of the monotonic
24025           docid counter wrapping around.
24027 Tue May 15 10:58:37 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24029         * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
24030           get_termpos() method to get the current value of the termpos.
24031           Makes it easier to integrate with different term generators.
24033 Tue May 15 03:44:50 BST 2007  Olly Betts <olly@survex.com>
24035         * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
24036           Include '.', ',', and a few other characters in terms if they are
24037           between two decimal digits.
24038         * queryparser/termgenerator_internal.cc: Don't stem terms which start
24039           with a number.
24040         * tests/queryparsertest.cc: Update results for real world queries to
24041           match new results (better in every case but one!)
24043 Tue May 15 01:24:08 BST 2007  Olly Betts <olly@survex.com>
24045         * HACKING: Fix a few typos.  Add "feisty" to the list of debs to
24046           build.
24048 Tue May 15 00:51:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24050         * HACKING: Document that the bootstrap script should be run from
24051           srcdir, and that the generated configure can be run from a
24052           different builddir.  Tidy up a few other lines.
24054 Mon May 14 23:52:33 BST 2007  Olly Betts <olly@survex.com>
24056         * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
24057           Expand check_infix to include some of characters Unicode does.
24058         * tests/queryparsertest.cc: Update the single test query which now
24059           parses differently.
24061 Mon May 14 23:42:53 BST 2007  Olly Betts <olly@survex.com>
24063         * tests/harness/testsuite.h: New macro TEST_STRINGS_EQUAL() which
24064           displays the strings on separate lines so the differences can
24065           be clearly seen.
24066         * tests/queryparsertest.cc: Use TEST_STRINGS_EQUAL().
24068 Mon May 14 20:14:17 BST 2007  Olly Betts <olly@survex.com>
24070         * include/xapian/enquire.h: Make the "uses string sort" warning in
24071           the documentation for the methods which enable sorting by value
24072           more prominent, and fix several miscellaneous typos.
24074 Mon May 14 19:28:21 BST 2007  Olly Betts <olly@survex.com>
24076         * queryparser/dir_contents: Update to mention TermGenerator.
24078 Mon May 14 19:12:12 BST 2007  Olly Betts <olly@survex.com>
24080         * queryparser/queryparser.lemony: Fix handling of WILDCARD_TERM and
24081           PARTIAL_TERM for prefixed terms.
24082         * tests/queryparsertest.cc: Add test coverage for this.
24084 Mon May 14 18:02:22 BST 2007  Olly Betts <olly@survex.com>
24086         * tests/queryparsertest.cc: Add more testcases for wildcarded queries.
24088 Mon May 14 17:39:30 BST 2007  Olly Betts <olly@survex.com>
24090         * queryparser/queryparser.lemony: Fix handling of partial queries.
24092 Mon May 14 16:49:46 BST 2007  Olly Betts <olly@survex.com>
24094         * net/remoteconnection.cc: closesocket() seems to work equally as
24095           well as CloseHandle() but it's what we use elsewhere and Charlie
24096           thinks it's a better choice here too so use that instead.  Rename
24097           the wrapper call from close_fd_or_handle() to close_fd_or_socket().
24098           And mark close_fd_or_socket() as "inline" under UNIX, since it
24099           should always be inlined.
24101 Mon May 14 15:30:13 BST 2007  Olly Betts <olly@survex.com>
24103         * tests/api_anydb.cc: Add FIXME about moving wildquery1.
24105 Mon May 14 15:21:59 BST 2007  Olly Betts <olly@survex.com>
24107         * bin/xapian-progsrv.cc: Improve comments.
24109 Mon May 14 11:29:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24111         * net/remoteconnection.cc: Deal with invalid parameter exceptions
24112           on windows when closing file descriptors or handles.
24114 Mon May 14 05:04:16 BST 2007  Olly Betts <olly@survex.com>
24116         * tests/api_anydb.cc: Fix wildquery1 to work with the new term
24117           stemming scheme.
24119 Sun May 13 19:15:17 BST 2007  Olly Betts <olly@survex.com>
24121         * include/xapian/unicode.h: Count control characters as whitespace
24122           (which is certainly what we want for TAB, CR, LF, and FF).
24124 Sun May 13 17:50:19 BST 2007  Olly Betts <olly@survex.com>
24126         * include/xapian/unicode.h: Add CONNECTOR_PUNCTUATION to is_wordchar()
24127           - this category includes '_' and characters which fulfil similar
24128           roles.
24129         * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
24130           No longer need to special case '_'.
24131         * queryparser/queryparser.lemony: Test for Unicode "whitespace" rather
24132           than just ASCII.
24134 Sun May 13 04:43:37 BST 2007  Olly Betts <olly@survex.com>
24136         * queryparser/queryparser.lemony: Normalise Unicode characters used
24137           for apostrophe to ASCII apostrophe.
24139 Sun May 13 03:56:17 BST 2007  Olly Betts <olly@survex.com>
24141         * include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode
24142           routines to use Unicode 5.0.0 and support characters outside the BMP
24143           (so we now support all Unicode characters in the latest version of
24144           the standard).
24145         * tests/api_unicode.cc: Add test unicode1 which performs some simple
24146           tests of the categorisation function, include one which tests for a
24147           character added in Unicode 5.0.0.
24149 Sat May 12 06:01:50 BST 2007  Olly Betts <olly@survex.com>
24151         * queryparser/queryparser.lemony: Update comment.
24153 Sat May 12 04:23:01 BST 2007  Olly Betts <olly@survex.com>
24155         * queryparser/queryparser.lemony: Improve description of Term class.
24157 Sat May 12 04:16:47 BST 2007  Olly Betts <olly@survex.com>
24159         * queryparser/queryparser.lemony: Update to implement the new stemming
24160           scheme.
24161         * tests/queryparsertest.cc: Update testcases, and check that the new
24162           parses are all reasonable.
24164 Sat May 12 04:03:55 BST 2007  Olly Betts <olly@survex.com>
24166         * include/xapian/unicode.h: Xapian::Unicode::get_category() now checks
24167           for characters outside the BMP, and assumes they're of category
24168           OTHER_LETTER.  Remove BMP check from all functions which use
24169           Xapian::Unicode::get_category().
24171 Sat May 12 04:02:52 BST 2007  Olly Betts <olly@survex.com>
24173         * include/xapian/queryparser.h: Fix typo in comment.
24175 Fri May 11 05:45:38 BST 2007  Olly Betts <olly@survex.com>
24177         * net/remoteserver.cc: Make "Server is read-only" be of type
24178           InvalidOperationError not NetworkError.  This is arguably more
24179           appropriate anyway, but in particular it avoids a worrying looking
24180           (but harmless) warning when a read-only connection is closed, due
24181           dtor_called() calling flush() on a read-only database.
24183 Fri May 11 01:35:31 BST 2007  Olly Betts <olly@survex.com>
24185         * docs/Makefile.am: Disable more documentation rules if
24186           MAINTAINER_NO_DOCS is true.
24188 Thu May 10 23:01:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24190         * net/remoteconnection.cc: Remove definition of unused macro
24191           XAPIAN_MSVC_INVALID_PARAMETER_HANDLER.
24193 Thu May 10 19:24:23 BST 2007  Olly Betts <olly@survex.com>
24195         * include/xapian/enquire.h: Try quoting qualified identifiers in
24196           #pragma deprecated.
24198 Thu May 10 15:58:37 BST 2007  Olly Betts <olly@survex.com>
24200         * include/xapian/enquire.h: Give full scope in '#pragma deprecated'
24201           to try to avoid false positives.
24203 Thu May 10 14:53:08 BST 2007  Olly Betts <olly@survex.com>
24205         * include/xapian/enquire.h: Use '#pragma deprecated' to work around
24206           MSVC stupidity (you get a warning for deprecating a declaration).
24208 Thu May 10 13:42:49 BST 2007  Olly Betts <olly@survex.com>
24210         * configure.ac: Some GCC 3.x versions produce bogus warnings, so only
24211           automatically enable -Werror on --enable-maintainer-mode under GCC
24212           if we're using GCC >= 4.0.  Most developers will be using GCC 4.x
24213           soon if they aren't already anyway.
24214         * HACKING: Update documentation in line with the above.  Mention that
24215           we also enable -Werror for Intel's C++ compiler.
24217 Thu May 10 05:06:22 BST 2007  Olly Betts <olly@survex.com>
24219         * configure.ac: Detect __WIN32__ by running the preprocessor so we
24220           don't get confused by building mingw in a cygwin environment.
24222 Thu May 10 04:52:21 BST 2007  Olly Betts <olly@survex.com>
24224         * net/tcpserver.cc: Exit with EX_UNAVAILABLE if the mutex tells us
24225           xapian-tcpsrv is already running on this port.
24227 Thu May 10 04:44:10 BST 2007  Olly Betts <olly@survex.com>
24229         * common/Makefile.mk,common/safe.cc,common/safeunistd.h: Pulling
24230           in safewindows.h from safeunistd.h causes clashes with NEAR
24231           in the QueryParser, so use a helper function to call Sleep
24232           and just call that from the header.
24234 Thu May 10 04:36:19 BST 2007  Olly Betts <olly@survex.com>
24236         * net/tcpserver.cc: Fix compilation error.
24238 Thu May 10 04:26:31 BST 2007  Olly Betts <olly@survex.com>
24240         * common/tcpserver.h,net/tcpserver.cc: Just pass the mutex to
24241           get_listening_socket() by reference to avoid MSVC warnings.
24243 Thu May 10 04:19:13 BST 2007  Olly Betts <olly@survex.com>
24245         * common/safeunistd.h: Use Sleep() instead of _sleep() as the latter
24246           gives deprecation warnings.  Sadly that means that safeunistd.h
24247           now has to pull in safewindows.h.
24249 Thu May 10 04:07:53 BST 2007  Olly Betts <olly@survex.com>
24251         * common/tcpserver.h,net/tcpserver.cc: Keep track of the mutex so
24252           we can release it right after we close the listening socket.
24253           Throw an error if we fail to get the mutex to avoid a possible
24254           race condition (we might end up with the socket listening but
24255           without the mutex locked).  Always call closesocket() on the
24256           listening socket under __WIN32__ to ensure resources are released.
24258 Thu May 10 02:48:31 BST 2007  Olly Betts <olly@survex.com>
24260         * net/tcpserver.cc: Use a mutex under Cygwin and WIN32 to allow use to
24261           use Microsoft's broken SO_REUSEADDR on our listening socket, but
24262           avoid being able to run two copies of xapian-tcpsrv on the same port
24263           at once (tweaked patch from MarkH).
24264         * net/tcpserver.cc: Don't try to set SO_EXCLUSIVEADDRUSE if a previous
24265           setsockopt() call failed as we might stomp on the error code.
24267 Thu May 10 02:15:20 BST 2007  Olly Betts <olly@survex.com>
24269         * Makefile.am,bin/Makefile.mk,configure.ac,docs/Makefile.am,
24270           examples/Makefile.mk: Add new Automake conditional
24271           "MAINTAINER_NO_DOCS" to allow use to disable references to built
24272           documentation in maintainer builds if --disable-documentation is
24273           specified.  This allows Mark's buildbot to work without installing
24274           so many tools, some of which aren't packaged for Cygwin.
24276 Thu May 10 02:03:44 BST 2007  Olly Betts <olly@survex.com>
24278         * Makefile.am: Build rules for running generate-exceptions should be
24279           controlled by MAINTAINER_MODE not DOCUMENTATION_RULES, part II.
24281 Thu May 10 01:49:42 BST 2007  Olly Betts <olly@survex.com>
24283         * docs/deprecation.rst: Add Error::get_type().
24285 Thu May 10 01:25:37 BST 2007  Olly Betts <olly@survex.com>
24287         * api/error.cc,generate-exceptions.in: Add new constructors which
24288           allow error_string to be set directly, for use by the Xapian::Error
24289           unserialising code.
24290         * generate-exceptions.in: Xapian::Error::get_type() now returns
24291           const char * not std::string.
24292         * backends/quartz/quartz_database.cc: Fix code to handle changed
24293           return type of Xapian::Error::get_type().
24294         * net/serialise.cc: Include error_string in the serialisation.
24295         * common/remoteprotocol.h,docs/remote_protocol.html: Bump protocol
24296           version to 29 because of change in Xapian::Error serialisation.
24298 Wed May 09 14:42:33 BST 2007  Olly Betts <olly@survex.com>
24300         * queryparser/queryparser.lemony: Renaming match_nothing_
24301           member of QpQuery to match_nothing.  Comment out unused
24302           QpQuery::get_description().  Add FIXME comment about
24303           apparently redundant logic (now's not really the time
24304           to be fiddling with such things).
24306 Wed May 09 14:27:02 BST 2007  Olly Betts <olly@survex.com>
24308         * queryparser/queryparser.lemony: Update to match new TermGenerator
24309           class.  '_' is now a term character, not a phrase generator.  We
24310           only keep a suffix which has 3 or fewer characters, and we no longer
24311           count '-' as a suffix character.
24312         * tests/queryparsertest.cc: Update test cases to match new behaviour.
24313           In almost every case the new rules give a better result.
24315 Wed May 09 14:15:38 BST 2007  Olly Betts <olly@survex.com>
24317         * languages/compiler/space.c: Add sanity check to b_to_s(),
24318           highlighted by MSVC warning.
24320 Wed May 09 14:06:24 BST 2007  Olly Betts <olly@survex.com>
24322         * tests/btreetest.cc: Return filesize as off_t to avoid MSVC warning
24323           about truncating from 64 to 32 bits (the filesize will never be
24324           more than a few K here, so this is essentially a cosmetic issue).
24326 Wed May 09 04:04:03 BST 2007  Olly Betts <olly@survex.com>
24328         * common/tcpserver.h,net/tcpserver.cc: Always starting the server in a
24329           new thread in "one-shot" mode is trickier than it looked, so revert
24330           that change for now.  Always call closesocket() on our sockets under
24331           __WIN32__.
24333 Wed May 09 01:53:43 BST 2007  Olly Betts <olly@survex.com>
24335         * common/tcpserver.h,net/tcpserver.cc: Make UNIX signal handling
24336           functions and WIN32 CrtlHandler static.  TcpServer::run() is now
24337           generic, calling an OS-specific TcpServer::run_once().  Now we
24338           always run the server in a new thread in "one-shot" mode, which
24339           gives better code coverage in apitest as it runs more like a normal
24340           xapian-tcpsrv would.  CtrlHandler now lets the OS handle the event
24341           if it doesn't have a socket to close, or if closesocket() fails.
24343 Wed May 09 01:42:33 BST 2007  Olly Betts <olly@survex.com>
24345         * net/remoteconnection.cc: DWORD is unsigned, so received can't be
24346           negative - tidy up the ReadFile() loop taking this into account.
24348 Wed May 09 01:28:48 BST 2007  Olly Betts <olly@survex.com>
24350         * net/remoteconnection.cc: ReadFile() doesn't set errno, so remove
24351           test for EINTR which is just a hangover from the UNIX code.
24353 Tue May 08 23:50:33 BST 2007  Olly Betts <olly@survex.com>
24355         * queryparser/termgenerator_internal.cc: Treat '_' as a word character
24356           which seems to be the correct thing to do in general.  Generate
24357           unstemmed terms with positional information for all words without a
24358           prefix, and stemmed terms without positional information for
24359           non-stopwords with a 'Z' prefix.  This means we can implement exact
24360           phrase search, and prefixing stemmed forms (rather than unstemmed
24361           as Omega < 1.0 does) means fewer terms with the prefix.  Only
24362           stemming non-stopwords cuts a significant amount of the database
24363           size in my tests.
24365 Tue May 08 18:22:30 BST 2007  Olly Betts <olly@survex.com>
24367         * net/tcpserver.cc: Fix remaining use of handle_one_request in
24368           __WIN32__-specific code.
24370 Tue May 08 18:10:12 BST 2007  Olly Betts <olly@survex.com>
24372         * api/error.cc: Really fix it...
24374 Tue May 08 17:38:04 BST 2007  Olly Betts <olly@survex.com>
24376         * api/error.cc: Fix another paste-o!
24378 Tue May 08 17:28:29 BST 2007  Olly Betts <olly@survex.com>
24380         * api/error.cc: Remove bogus statement in __WIN32__ case left over
24381           from cut-and-paste.
24383 Tue May 08 17:10:53 BST 2007  Olly Betts <olly@survex.com>
24385         * common/tcpserver.h,net/tcpserver.cc: Rename
24386           TcpServer::handle_one_request() to
24387           TcpServer::handle_one_connection() (to make it clearer that it
24388           handles a connection rather than a single MSG/REPLY exchange), and
24389           use it in UNIX builds too to avoid duplicating its code.  Catch
24390           NetworkTimeoutError here and report it if we're in verbose mode.
24391         * net/remoteserver.cc: If we catch NetworkTimeoutError then try to
24392           propagate it only if we can send it right away, then rethrow it
24393           to close the connection and let the caller log it.  If we catch
24394           any other NetworkError then just rethrow it.
24396 Tue May 08 16:52:50 BST 2007  Olly Betts <olly@survex.com>
24398         * common/noreturn.h: Add missing '#endif'.
24400 Tue May 08 16:19:05 BST 2007  Olly Betts <olly@survex.com>
24402         * common/Makefile.mk,common/noreturn.h: New header which defines
24403           XAPIAN_NORETURN() to allow functions which don't return to be
24404           marked as such so the compiler can take this into account when
24405           generating code.
24406         * api/error.cc,tests/harness/backendmanager.cc: Remove any trailing
24407           "\r\n" from the output of FormatMessage().
24409 Tue May 08 16:16:55 BST 2007  Olly Betts <olly@survex.com>
24411         * include/xapian/deprecated.h: Use `__attribute__((__deprecated__))'
24412           instead of `__attribute__((deprecated))' so we're even robust
24413           against some clown doing `#define deprecated foo'.
24415 Tue May 08 16:15:30 BST 2007  Olly Betts <olly@survex.com>
24417         * bin/quartzcheck.cc,tests/harness/backendmanager.cc: In these files
24418           we have to disable XAPIAN_DEPRECATED() since we need to be able to
24419           use Quartz::open() - move this to the start of the #include block
24420           to avoid problems with any intermediate header implicitly including
24421           <xapian.h>.
24423 Tue May 08 14:51:37 BST 2007  Olly Betts <olly@survex.com>
24425         * HACKING: Move section on "Configure Options" to a more logical spot
24426           just before "Makefile Portability".  Add section on how to use
24427           XAPIAN_DEPRECATED() noting the issue with GCC 3.3.5 not allowing
24428           it to be used on an inline method definition.
24429         * include/xapian/deprecated.h: Add pointers to HACKING and
24430           docs/deprecated.rst.
24432 Tue May 08 13:57:17 BST 2007  Olly Betts <olly@survex.com>
24434         * generate-exceptions.in: We can't use XAPIAN_DEPRECATED() on
24435           a function definition with GCC 3.3.5, so use it on a declaration
24436           and then define inline but out of the class.
24438 Tue May 08 13:45:48 BST 2007  Olly Betts <olly@survex.com>
24440         * net/tcpserver.cc: We must call closesocket() (instead of just
24441           close()) under __WIN32__ or else the socket remains in the
24442           CLOSE_WAIT state.
24444 Tue May 08 12:17:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24446         * docs/deprecation.rst: Add Error::get_errno() to the deprecation
24447           list for the bindings, too.
24449 Tue May 08 10:09:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24451         * docs/deprecation.rst: Change the xapian_version functions to be
24452           marked for removal in 1.1.0, and also note them in the bindings
24453           section.
24455 Tue May 08 04:27:37 BST 2007  Olly Betts <olly@survex.com>
24457         * backends/remote/remote-database.cc,common/remote-database.h: The
24458           timeout parameter to RemoteDatabase wasn't being used, instead the
24459           client would wait indefinitely for the server to respond.
24461 Tue May 08 04:16:45 BST 2007  Olly Betts <olly@survex.com>
24463         * generate-exceptions.in: Initialise error_string in Xapian::Error
24464           ctor.
24466 Tue May 08 03:48:47 BST 2007  Olly Betts <olly@survex.com>
24468         * api/error.cc: Fix compilation when HAVE_HSTRERROR isn't defined.
24470 Tue May 08 02:35:04 BST 2007  Olly Betts <olly@survex.com>
24472         * api/error.cc,bin/xapian-tcpsrv.cc,examples/delve.cc,
24473           generate-exceptions.in,tests/harness/testsuite.cc: Error subclasses
24474           now store the error_string in the class, converting it from the
24475           error code in my_errno lazily.  Also, get_error_string() now returns
24476           const char *.
24478 Tue May 08 01:34:56 BST 2007  Olly Betts <olly@survex.com>
24480         * Makefile.am: Build rules for running generate-exceptions should be
24481           controlled by MAINTAINER_MODE not DOCUMENTATION_RULES.
24483 Tue May 08 01:23:22 BST 2007  Olly Betts <olly@survex.com>
24485         * bin/xapian-tcpsrv.cc,docs/deprecation.rst,generate-exceptions.in,
24486           net/tcpserver.cc,tests/harness/testsuite.cc: Deprecate
24487           Error::get_errno() in favour of Error::get_error_string().  We can't
24488           pass errno values from remote server to client as they aren't
24489           portable and the server and client may be running on entirely
24490           different platforms!
24491         * generate-exceptions.in: Mark as generated with @configure_input@.
24493 Tue May 08 01:20:43 BST 2007  Olly Betts <olly@survex.com>
24495         * backends/flint/flint_database.cc,backends/flint/flint_lock.h: Make
24496           FlintLock's dtor release the lock (if held) which avoids the need
24497           for any special handling in FlintDatabase.
24499 Mon May 07 21:15:33 BST 2007  Olly Betts <olly@survex.com>
24501         * tests/harness/unixcmds.cc: Use O_BINARY when opening a file to
24502           "touch" it.
24504 Mon May 07 17:28:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24506         * backends/flint/flint_database.cc: Add try{}catch(...){} block to
24507           ensure that lock is released if an exception occurs in the
24508           FlintDatabase() constructor.
24509         * tests/api_db.cc: Add regression test for releasing lock on error
24510           in constructor.
24512 Mon May 07 11:10:33 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24514         * HACKING: Update section on multiple output rules to detail the
24515           workaround described in the automake manual.
24517 Mon May 07 10:03:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24519         * backends/flint/flint_database.cc,backends/flint/flint_database.h,
24520           backends/flint/flint_version.cc,backends/quartz/,exception_data.pm,
24521           include/xapian/database.h,tests/api_db.cc: Throw
24522           DatabaseVersionError instead of DatabaseOpeningError when database
24523           version is unsupported.  This is a new error class, which is a
24524           subclass of DatabaseOpeningError, so most existing scripts
24525           shouldn't need changing, but makes it easy for application
24526           writers to determine whether a database needs upgrading or
24527           whether the problem is something else.  Should fix #144.
24529 Mon May 07 09:22:01 BST 2007  Olly Betts <olly@survex.com>
24531         * net/progclient.cc: Under __WIN32__, use byte mode on pipes because
24532           message mode fails for message > 256 bytes, and use "overlapped"
24533           mode so we don't block waiting for a reply so that timeouts work.
24534           (Patch from Mark Hammond).
24536 Mon May 07 03:03:10 BST 2007  Olly Betts <olly@survex.com>
24538         * tests/api_anydb.cc,tests/apitest.cc,tests/harness/: Now
24539           TEST_EQUAL_DOUBLE() should work everywhere.  Move the helper
24540           function out of the header.  Use TEST_EQUAL_DOUBLE() instead
24541           of doubles_are_equal_enough() and weights_are_equal_enough()
24542           which do much the same job.
24544 Mon May 07 01:13:29 BST 2007  Olly Betts <olly@survex.com>
24546         * tests/harness/testsuite.h: Report extra info to try to work out why
24547           MSVC build is failing expandweights1.
24549 Mon May 07 00:26:59 BST 2007  Olly Betts <olly@survex.com>
24551         * tests/harness/testsuite.h: Another tweak to TEST_EQUAL_DOUBLE().
24553 Sun May 06 22:30:26 BST 2007  Olly Betts <olly@survex.com>
24555         * docs/quickstart.html: Remove reference to DA databases since the
24556           muscat36 backend has been removed.  Update to recommend GCC 3.3
24557           or later, as we do elsewhere.  Change references to "quartz" to
24558           say "flint", or remove them.
24560 Sun May 06 16:02:28 BST 2007  Olly Betts <olly@survex.com>
24562         * configure.ac: Set version to mythical 0.9.99.
24564 Sun May 06 15:06:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24566         * tests/api_db.cc: Add test_flintdatabaseformaterror1() which
24567           checks what happens when an old-format flint database is opened.
24568           It generates the old-format database by making a fake "iamflint"
24569           file containing an old version number.
24571 Sun May 06 04:00:39 BST 2007  Olly Betts <olly@survex.com>
24573         * expand/ortermlist.cc: Remove incorrect assertion check in
24574           OrTermList::next(), replacing it with anexplanatory comment.
24576 Sun May 06 02:42:30 BST 2007  Olly Betts <olly@survex.com>
24578         * net/remoteconnection.cc: Fix typo.
24580 Sun May 06 02:39:23 BST 2007  Olly Betts <olly@survex.com>
24582         * net/remoteconnection.cc: Aha!  Richard's patch failed to compile
24583           because stdlib.h was in "#ifndef __WIN32__" not "#ifdef __WIN32__".
24585 Sun May 06 02:27:18 BST 2007  Olly Betts <olly@survex.com>
24587         * net/remoteconnection.cc: Protect _set_invalid_parameter_handler, etc
24588           by _MSC_VER >= 1400 (MSVC 2005) and __STDC_SECURE_LIB__ (undocumented
24589           but cribbed from the Python sources).  Refactor into a handy class
24590           (MSVCIgnoreInvalidParameter) which just needs to be instantiated in
24591           the scope where you want to allow invalid parameters to be passed.
24593 Sun May 06 01:42:06 BST 2007  Olly Betts <olly@survex.com>
24595         * net/remoteconnection.cc: Rework use of _invalid_parameter_handler to
24596           only apply when _MSC_VER is defined, to fix the mingw build.
24598 Sat May 05 22:30:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24600         * net/remoteconnection.cc: Under __WIN32__, add an invalid
24601           parameter handler which ignores the error and use it for the
24602           calls to _get_osfhandle() which are sometimes expected to fail.
24603           Requires stdlib.h according to msdn, so also #include that.
24605 Sat May 05 20:43:29 BST 2007  Olly Betts <olly@survex.com>
24607         * bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/remoteconnection.h,
24608           common/remoteserver.h,common/tcpserver.h,net/remoteserver.cc,
24609           net/tcpserver.cc: Open a fresh copy of the database(s) on each
24610           connection to a xapian-tcpsrv rather than relying on being able to
24611           share a database across fork() or between threads (which we don't
24612           promise will work).  Largely based on patch from Mark Hammond.
24613           Fixes some of bug#141 and all of bug#142.
24615 Sat May 05 02:19:39 BST 2007  Olly Betts <olly@survex.com>
24617         * api/omdatabase.cc: Use RETURN() not return in methods with debug
24618           logging.
24620 Sat May 05 02:19:11 BST 2007  Olly Betts <olly@survex.com>
24622         * bin/xapian-compact.cc: Fix typo in comment.
24624 Fri May 04 23:59:54 BST 2007  Olly Betts <olly@survex.com>
24626         * backends/flint/flint_version.cc: Remove the "u" suffix from
24627           FLINT_VERSION as it's confusing in the "wrong format version"
24628           error message and doesn't seem needed in the code.
24630 Fri May 04 23:56:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24632         * backends/flint/: Revert patch from revision 8426 (except for the
24633           bit which removed the unused prototypes), to avoid the
24634           possibility that it introduces bugs into the code just before
24635           1.0.0.  The patch is attached to bug #143 for later reference.
24637 Fri May 04 23:50:39 BST 2007  Olly Betts <olly@survex.com>
24639         * examples/delve.cc: Report the error string if we catch Xapian::Error
24640           while trying to open a database.
24642 Fri May 04 22:50:54 BST 2007  Olly Betts <olly@survex.com>
24644         * docs/intro_ir.html: Fix a few typos; elaborate on a few points.
24646 Fri May 04 20:07:44 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24648         * queryparser/termgenerator_internal.cc: Fix bug in termgenerator -
24649           arguments to add_posting were the wrong way round.
24651 Fri May 04 20:00:40 BST 2007  Olly Betts <olly@survex.com>
24653         * queryparser/termgenerator_internal.cc: Limit term length, handle
24654           infix and suffix characters, and convert apostrophes to ASCII
24655           representation.
24657 Fri May 04 19:47:43 BST 2007  Olly Betts <olly@survex.com>
24659         * include/xapian/unicode.h: Fill in remaining missing documentation
24660           comments.
24662 Fri May 04 19:30:56 BST 2007  Olly Betts <olly@survex.com>
24664         * include/xapian/termgenerator.h: Add convenience version of
24665           index_text() and index_text_without_positions() which take a
24666           std::string instead of a Utf8Iterator.
24668 Fri May 04 17:11:11 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24670         * unicode/utf8itor.cc: Fix segfault bug in Utf8Iterator::operator*().
24671           If this was called when the iterator had reached end, invalid
24672           memory was accessed because p was compared to end, p will always
24673           be set to NULL when the iterator reaches the end.  No regression
24674           test, but the smoketest tests I'm implementing in the bindings
24675           will exercise this code.
24677 Fri May 04 16:29:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24679         * include/xapian/unicode.h: Add documentation comments to
24680           Utf8Iterator, so I don't have to work out how it works again.
24682 Fri May 04 14:55:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24684         * include/xapian/unicode.h: Add assign() function which takes a
24685           string, for symmetry with the constructors.  Also makes
24686           implementing the bindings easier.
24688 Fri May 04 13:04:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24690         * include/Makefile.mk: Add termgenerator.h to distribution
24691           tarballs.
24693 Fri May 04 03:41:56 BST 2007  Olly Betts <olly@survex.com>
24695         * tests/harness/testsuite.h: Test against pow(10, -DBL_DIG) rather
24696           than DBL_EPSILON.  DBL_EPSILON is a little bit smaller, but we use
24697           DBL_DIG for displaying the numbers and it looks stupid to say two
24698           numbers which are displayed identically should be nearly the same!
24700 Fri May 04 03:33:51 BST 2007  Olly Betts <olly@survex.com>
24702         * HACKING: Fix reference to --enable-maitainer-mode and documentation
24703           rebuilding.
24705 Fri May 04 03:32:57 BST 2007  Olly Betts <olly@survex.com>
24707         * configure.ac: Fix now erroneous references to tools "required in
24708           maintainer mode" to "required to build documentation".
24710 Fri May 04 01:49:05 BST 2007  Olly Betts <olly@survex.com>
24712         * HACKING: Document --enable-documentation.
24714 Fri May 04 01:38:44 BST 2007  Olly Betts <olly@survex.com>
24716         * Makefile.am,bin/Makefile.mk,configure.ac,docs/Makefile.am,
24717           examples/Makefile.mk: Add new configure option
24718           "--enable-documentation" which enables the make rules to rebuild the
24719           documentation.  By default this follows the setting of
24720           "--enable-maintainer-mode" (so giving much the same behaviour as
24721           currently), but the documentation rules can now be controlled
24722           independently.  Also, if documentation isn't being built, the
24723           configure probes for tools required to rebuild it are no longer run
24724           which should shorten configure time a bit for end-users building
24725           releases.
24727 Thu May 03 22:07:39 BST 2007  Olly Betts <olly@survex.com>
24729         * common/remoteserver.h: Remove unused default values for
24730           active_timeout_ and idle_timeout_ parameters.  Fix repeated typo
24731           in documentation comments ('millisrconds' -> 'milliseconds').
24733 Thu May 03 15:05:24 BST 2007  Olly Betts <olly@survex.com>
24735         * include/xapian.h,include/xapian/termgenerator.h,queryparser/:
24736           Initial cut of TermGenerator class.
24738 Thu May 03 15:04:09 BST 2007  Olly Betts <olly@survex.com>
24740         * generate-exceptions.in: Hide the internal constructors of generated
24741           error classes in the doxygen-generated API docs.
24743 Thu May 03 04:37:51 BST 2007  Olly Betts <olly@survex.com>
24745         * expand/ortermlist.cc,expand/ortermlist.h: Fix compilation error when
24746           --enable-assertions is used.
24748 Thu May 03 03:57:42 BST 2007  Olly Betts <olly@survex.com>
24750         * common/safeunistd.h: Provide a POSIX-compatible sleep() function.
24751         * common/utils.h: Remove inferior POSIX-compatible sleep() function.
24753 Thu May 03 03:17:02 BST 2007  Olly Betts <olly@survex.com>
24755         * include/xapian/: Mark all @internal member variables and functions
24756           which aren't private with @private so doxygen doesn't document them.
24758 Thu May 03 02:33:09 BST 2007  Olly Betts <olly@survex.com>
24760         * include/xapian/: Mark DocIDWrapper, RefCntBase, RefCntPtr,
24761           TermNameWrapper, and TermPosWrapper as "@internal" so that they don't
24762           show up in the doxygen-generated API documentation.  In particular,
24763           this makes the class collaboration diagrams much more useful.
24764         * include/xapian/errorhandler.h: Declare the class in namespace Xapian
24765           rather than with namespace Xapian:: since the latter seems to
24766           confuse doxygen.
24768 Thu May 03 02:31:33 BST 2007  Olly Betts <olly@survex.com>
24770         * include/xapian/unicode.h: Fix wrapping of comment.
24772 Thu May 03 00:05:23 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24774         * backends/flint/: Remove unused (and unimplemented) declarations
24775           of begin_transaction_(), commit_transaction_() and
24776           cancel_transaction_() from FlintWritableDatabase class.  Tidy up
24777           handling of metainfo (total_length and lastdocid) to avoid
24778           repeatedly parsing the special record, and make it easier to
24779           store additional metainfo in future.
24780           Also, remove code which ensures that there is always a special
24781           record - this was added in revision 5459 when the special record
24782           was stored in the record table, so that the number of documents
24783           in the database could always be calculated by subtracting 1 from
24784           the number of entries in the record table.  Now that the special
24785           record is stored in the postlist table, this is no longer
24786           necessary.
24788 Wed May 02 17:56:39 BST 2007  Olly Betts <olly@survex.com>
24790         * backends/dbfactory_remote.cc,include/xapian/dbfactory.h:
24791           Remote::open_writable() now defaults to no (active) timeout.  The
24792           connection timeouts for Remote::open() and Remote::open_writable()
24793           now default to 10 seconds rather than defaulting to the same as
24794           the active timeout (which defaults to 10 seconds).
24796 Wed May 02 16:00:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24798         * common/safeunistd.h,tests/harness/backendmanager.cc: Fix
24799           compilation on windows - safeunistd.h was undefining ssize_t
24800           and thus overriding the definition in config.h, and include
24801           safewindows.h for backendmanager.cc
24803 Wed May 02 15:34:33 BST 2007  Olly Betts <olly@survex.com>
24805         * common/safeunistd.h: Don't define ssize_t here for MSVC - do it in
24806           config.h instead.  This avoids pulling in <windows.h> which will
24807           hopefully fix another macro redefinition warning under MSVC.
24809 Wed May 02 15:20:56 BST 2007  Olly Betts <olly@survex.com>
24811         * common/safewindows.h: Define NOGDI before including windows.h to
24812           prevent it from defining a macro called "ERROR" which collides with
24813           the generated queryparser sources, causing a warning in the MSVC
24814           build.
24816 Wed May 02 14:38:33 BST 2007  Olly Betts <olly@survex.com>
24818         * common/termlist.h: Forward declare ExpandStats as "class" not
24819           "struct" for consistency with the actual declaration.
24821 Wed May 02 14:30:41 BST 2007  Olly Betts <olly@survex.com>
24823         * configure.ac: Try '-lzlib' for zlib, which mingw reportedly needs.
24825 Wed May 02 14:21:40 BST 2007  Olly Betts <olly@survex.com>
24827         * common/remoteconnection.h,include/xapian/dbfactory.h,
24828           net/remoteserver.cc: A timeout of `0' in the remote backend now
24829           means "no timeout" (code patch from Mark Hammond).
24831 Wed May 02 04:17:28 BST 2007  Olly Betts <olly@survex.com>
24833         * Makefile.am,api/,backends/alltermslist.cc,backends/flint/,
24834           backends/inmemory/inmemory_database.cc,
24835           backends/inmemory/inmemory_database.h,
24836           backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
24837           backends/quartz/,backends/remote/net_termlist.cc,
24838           backends/remote/net_termlist.h,backends/remote/remote-database.cc,
24839           common/,expand/,matcher/: Split expand functionality out of
24840           "matcher" subdirectory into new "expand" subdirectory since it's
24841           not really connected to query matching and the matcher subdirectory
24842           is one of the largest.  Rewrite OrTermList, eliminating
24843           BranchTermList entirely.  Alter expand to pass in an object (of
24844           class Xapian::Internal::ExpandWeight) which accumulates statistics
24845           instead of returning OmExpandBits objects which we then have to
24846           merge (and eliminating the need for LeafTermList entirely).  Query
24847           expansion for multiple databases should now give results more like
24848           that for a single database with the same documents (if
24849           USE_EXACT_TERMFREQ is used, the results should be the same).  Debug
24850           logging from expand is now all of type EXPAND (some was of types
24851           MATCHER and WTCALC before).
24853 Wed May 02 03:35:17 BST 2007  Olly Betts <olly@survex.com>
24855         * docs/deprecation.rst: Add deprecation info for Omega too.
24857 Wed May 02 00:24:13 BST 2007  Olly Betts <olly@survex.com>
24859         * tests/api_anydb.cc: Add test expandweights1 as a regression test for
24860           the previous commit.
24861         * tests/harness/testsuite.h: Set the precision for TEST_EQUAL_DOUBLE
24862           so we don't claim two numbers to be different yet display them the
24863           same!
24865 Tue May 01 23:27:10 BST 2007  Olly Betts <olly@survex.com>
24867         * backends/remote/net_termlist.cc,backends/remote/remote-database.cc,
24868           common/remoteprotocol.h,docs/remote_protocol.html,
24869           net/remoteserver.cc: Fix handling of the document length in the
24870           termlist for the remote backend.
24872 Tue May 01 23:17:28 BST 2007  Olly Betts <olly@survex.com>
24874         * tests/api_db.cc: Several tests were marked as "local db only" for
24875           historical reasons.  Enable them for remote backends too.
24876         * backends/remote/net_postlist.cc,tests/api_db.cc: Fix a bug in
24877           NetworkPostList::skip_to() which apitest's postlist4 reveals.
24879 Tue May 01 21:00:26 BST 2007  Olly Betts <olly@survex.com>
24881         * api/omtermlistiterator.cc,api/omvalueiterator.cc,
24882           backends/multi/multi_alltermslist.cc: Add explicit
24883           `#include "omassert.h"'.
24884         * backends/multi/multi_alltermslist.cc: Remove all explicit
24885           std:: qualifiers and add `using namespace std;'.
24887 Tue May 01 20:56:10 BST 2007  Olly Betts <olly@survex.com>
24889         * common/multialltermslist.h: Add explicit std:: qualifiers for
24890           string, for consistency with std::vector in this header.
24892 Tue May 01 15:19:53 BST 2007  Olly Betts <olly@survex.com>
24894         * matcher/branchpostlist.h: Don't check for NULL pointer before
24895           calling delete.
24897 Tue May 01 02:29:10 BST 2007  Olly Betts <olly@survex.com>
24899         * common/document.h,common/documentterm.h,common/multialltermslist.h,
24900           matcher/rset.cc,queryparser/queryparser.cc: Add some explicit
24901           includes for headers which were previously only implicitly included
24902           (in preparation for a forthcoming change which removes some of the
24903           implicit inclusions).
24905 Tue May 01 01:20:53 BST 2007  Olly Betts <olly@survex.com>
24907         * backends/database.cc,bin/quartzcheck.cc,docs/deprecation.rst,
24908           include/xapian/dbfactory.h,tests/api_db.cc,
24909           tests/harness/backendmanager.cc,tests/quartztest.cc: Deprecate
24910           the Quartz backend and related functions and utilities.
24912 Fri Apr 27 12:56:13 BST 2007  Olly Betts <olly@survex.com>
24914         * tests/Makefile.am: Pass '-no-install' when linking test programs,
24915           since we don't ever install them.  This means libtool doesn't need
24916           to generate shell script wrappers on most platforms.  Also prefer
24917           '$(ldflags)' to '@ldflags' as the former allows the user to override
24918           when they run 'make' which is sometimes useful.
24920 Fri Apr 27 03:44:15 BST 2007  Olly Betts <olly@survex.com>
24922         * docs/intro_ir.html: Add links for the various researchers mentioned
24923           by name.
24925 Thu Apr 26 17:57:10 BST 2007  Olly Betts <olly@survex.com>
24927         * docs/bm25.html,docs/intro_ir.html: Assorted documentation
24928           improvements.
24930 Thu Apr 26 15:43:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24932         * docs/deprecation.rst: Update with changes to Python bindings.
24934 Thu Apr 26 06:01:45 BST 2007  Olly Betts <olly@survex.com>
24936         * common/expandweight.h,matcher/expandweight.cc: Better handling of
24937           expand with multiple databases.
24939 Wed Apr 25 18:35:13 BST 2007  Olly Betts <olly@survex.com>
24941         * api/omenquire.cc: Delete nonsensical comment.
24943 Wed Apr 25 17:41:58 BST 2007  Olly Betts <olly@survex.com>
24945         * docs/deprecation.rst: Use the collective term "features" rather than
24946           overloading the term "functions".  Casual readers may miss the
24947           definition altogether, and even dedicated readers will probably
24948           already have a strong mental image of what a "function" is in the
24949           context of an API.
24951 Wed Apr 25 14:52:11 BST 2007  Olly Betts <olly@survex.com>
24953         * docs/intro_ir.html: Improve the look of the formulae.
24955 Wed Apr 25 03:56:18 BST 2007  Olly Betts <olly@survex.com>
24957         * common/omqueryinternal.h,languages/generate-allsnowballheaders.in,
24958           matcher/msetcmp.h,queryparser/queryparser_internal.h: Add missing
24959           multiple inclusion guards.
24961 Wed Apr 25 03:12:50 BST 2007  Olly Betts <olly@survex.com>
24963         * queryparser/queryparser_internal.h: Don't include <config.h> in
24964           a header file.
24966 Wed Apr 25 03:05:09 BST 2007  Olly Betts <olly@survex.com>
24968         * queryparser/queryparser.cc: Initialise `internal' member inline
24969           for consistency with other classes.
24971 Tue Apr 24 04:55:45 BST 2007  Olly Betts <olly@survex.com>
24973         * configure.ac: Add missing ')' to the error messages when zlib stuff
24974           isn't found.
24976 Tue Apr 24 02:56:57 BST 2007  Olly Betts <olly@survex.com>
24978         * backends/flint/flint_database.h,
24979           backends/inmemory/inmemory_database.h,
24980           backends/quartz/quartz_database.h: MSVC doesn't handle using
24981           properly.
24983 Tue Apr 24 01:25:34 BST 2007  Olly Betts <olly@survex.com>
24985         * matcher/bm25weight.cc,matcher/expandweight.cc: Fix typo in comments:
24986           'releveant' -> 'relevant'.
24988 Mon Apr 23 23:00:23 BST 2007  Olly Betts <olly@survex.com>
24990         * api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h,
24991           tests/api_anydb.cc,tests/api_db.cc: Deprecate
24992           Enquire::include_query_terms and Enquire::use_exact_termfreq in
24993           favour of capitalised versions Enquire::INCLUDE_QUERY_TERMS and
24994           Enquire::USE_EXACT_TERMFREQ (for consistency with our other
24995           manifest constants, and general C/C++ conventions).
24997 Mon Apr 23 18:14:20 BST 2007  Olly Betts <olly@survex.com>
24999         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Support for
25000           VLAs in C++ is a GCC extension, so eliminate the need for them.
25002 Mon Apr 23 16:32:07 BST 2007  Olly Betts <olly@survex.com>
25004         * docs/: svn:ignore deprecation.html. svn:ignore apidoc.pdf and
25005           sourcedoc.pdf rather than *.pdf.
25007 Mon Apr 23 16:08:53 BST 2007  Olly Betts <olly@survex.com>
25009         * tests/quartztest.cc: Resolve FIXME about MapTermList.
25011 Mon Apr 23 16:06:38 BST 2007  Olly Betts <olly@survex.com>
25013         * api/valuerangeproc.cc,backends/flint/flint_check.cc,
25014           backends/flint/flint_table.cc,backends/quartz/btree.cc,
25015           backends/quartz/btreecheck.cc,bin/xapian-tcpsrv.cc,examples/,
25016           languages/steminternal.h,tests/harness/testsuite.cc,
25017           tests/harness/testsuite.h,tests/stemtest.cc: Fix compilation with
25018           GCC 4.3 snapshot.
25020 Mon Apr 23 15:20:55 BST 2007  Olly Betts <olly@survex.com>
25022         * common/safeunistd.h: Comment tweaks.
25024 Mon Apr 23 11:54:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25026         * common/safeunistd.h: Include <process.h> on windows to get
25027           getpid() instead of using a #define.
25029 Mon Apr 23 11:30:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25031         * api/maptermlist.h: Fix typo in error message.
25033 Mon Apr 23 11:08:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25035         * api/maptermlist.h: Throw an InvalidOperationError() if
25036           MapTermList::get_termfreq() is called, instead of simply having
25037           Assert(false): this gets called if a term iterator is accessed
25038           for a freshly created Document, and the get_termfreq() method is
25039           called on it.  The error message is specific to this situation,
25040           since this is the only place in which MapTermList is used.
25042 Mon Apr 23 03:22:54 BST 2007  Olly Betts <olly@survex.com>
25044         * backends/flint/flint_database.cc,backends/flint/flint_lock.cc,
25045           backends/flint/flint_lock.h: Report why we failed to get a write
25046           lock on a flint database.
25048 Mon Apr 23 01:44:13 BST 2007  Olly Betts <olly@survex.com>
25050         * backends/flint/flint_version.cc: Update the flint format version
25051           since older flint versions can't read compressed tags.
25053 Mon Apr 23 01:25:25 BST 2007  Olly Betts <olly@survex.com>
25055         * configure.ac: Probe for zlib.h and -lz.
25056         * backends/flint/,bin/xapian-compact.cc: Use zlib to compress tags
25057           in the record and termlist tables.
25058         * tests/Makefile.am,tests/runtest.in,tests/valgrind.supp: Add a
25059           valgrind suppression for zlib (a known issue - for speed zlib
25060           deliberately reads past the end of the buffer in some cases).
25062 Sun Apr 22 04:24:06 BST 2007  Olly Betts <olly@survex.com>
25064         * backends/flint/: Remove documentation for blocksize_ parameters
25065           which were removed some time ago.
25067 Sun Apr 22 00:02:13 BST 2007  Olly Betts <olly@survex.com>
25069         * matcher/multimatch.cc: Track the minimum weight required to be
25070           considered for the MSet separately from the minimum item which
25071           could be considered.  Trying to combine the two is causing subtle
25072           bugs (fixed bug#86).
25074 Sun Apr 22 00:00:39 BST 2007  Olly Betts <olly@survex.com>
25076         * HACKING: Add notes about the files Omega uses from xapian-core.
25078 Sat Apr 21 23:49:58 BST 2007  Olly Betts <olly@survex.com>
25080         * queryparser/queryparser.cc: Clear the stoplist when we parse a new
25081           query.
25082         * tests/queryparsertest.cc: Add regression test.
25084 Sat Apr 21 23:27:33 BST 2007  Olly Betts <olly@survex.com>
25086         * Makefile.am,common/Makefile.mk,getopt/: Move getopt.cc from getopt/
25087           to common/.  Having a whole directory for a single source file
25088           is a bit extravagant, and putting it in common/ allows us to share a
25089           copy with omega easily.
25091 Sat Apr 21 21:38:20 BST 2007  Olly Betts <olly@survex.com>
25093         * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc,
25094           backends/quartz/quartz_log.cc,common/omdebug.h,common/safeunistd.h,
25095           tests/harness/testsuite.cc: safeunistd.h now defines getpid() to
25096           GetCurrentProcessId() for MSVC, and we now include this where we
25097           want to use getpid() rather than conditionally defining getpid().
25099 Sat Apr 21 04:13:12 BST 2007  Olly Betts <olly@survex.com>
25101         * configure.ac: Explicitly set AM_CXXFLAGS to an empty value to start
25102           with to avoid issues if it's set in the environment.  Cache the
25103           results of the test to see if the C++ compiler actually works, and
25104           in the XAPIAN_TEST_LINKER_FLAG macro.
25105         * configure.ac, include/xapian/visibility.h: Add --disable-visibility
25106           option to configure to completely disable use of -fvisibility.
25107         * INSTALL: Document all --enable-backend-* options explicitly.
25108           Document how to disable use of -fvisibility and
25109           -Bsymbolic-functions should you want/need to.  Improve wording in
25110           a few places.
25112 Fri Apr 20 19:20:23 BST 2007  Olly Betts <olly@survex.com>
25114         * HACKING,configure.ac: Revert to requiring autoconf 2.59 so that the
25115           .spec file for building RPMs can run `autoreconf' to work around a
25116           libtool bug.
25118 Fri Apr 20 18:12:51 BST 2007  Olly Betts <olly@survex.com>
25120         * docs/deprecation.rst: Document return type of ExpandDecider::Apply()
25121           and MatchDecider::Apply() in C# is now bool instead of int.
25123 Fri Apr 20 18:01:18 BST 2007  Olly Betts <olly@survex.com>
25125         * xapian.spec.in: Package xapian-check and its man page.
25127 Fri Apr 20 14:38:00 BST 2007  Olly Betts <olly@survex.com>
25129         * docs/deprecation.rst: Note changed return type of
25130           ExpandDecider::operator() and MatchDecider::operator().
25132 Fri Apr 20 14:28:39 BST 2007  Olly Betts <olly@survex.com>
25134         * include/xapian/enquire.h: MatchDecider::operator() now returns
25135           `bool' not `int'.  Remove declaraction of ExpandDecider.
25136         * include/xapian/expanddecider.h: Move declaration of ExpandDecider
25137           to here.  ExpandDecider::operator() now returns `bool' not `int'.
25138           ExpandDeciderAnd now names parameters `first' and `second' and
25139           documents the order in which they are applied (useful if you have
25140           an expensive and a cheap test).  ExpandDeciderAnd can now take
25141           parameters by reference instead of pointer.
25142         * api/Makefile.mk,include/xapian/enquire.h,api/omenquire.cc,
25143           api/expanddecider.cc: New home for definitions of virtual methods of
25144           ExpandDecider and subclasses.
25145         * api/omenquire.cc,common/expand.h,matcher/expand.cc: Eliminate
25146           internal class ExpandDeciderAlways - just test pointer against NULL
25147           instead.
25148         * tests/api_anydb.cc,tests/api_db.cc: Update for change in return
25149           type from MatchDecider::operator() and ExpandDecider::operator().
25151 Fri Apr 20 10:35:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25153         * HACKING: Add note on rules with multiple targets.
25155 Thu Apr 19 19:02:42 BST 2007  Olly Betts <olly@survex.com>
25157         * PLATFORMS: Remove reports for 0.7.* and demote reports for 0.8.* to
25158           "older reports" status.  All SF compilefarm machines are now "no
25159           longer available", so update the symbols and key to reflect this.
25161 Thu Apr 19 13:27:59 BST 2007  Olly Betts <olly@survex.com>
25163         * HACKING: Fix vim magic comment.  Add space after URL to stop
25164           '::' getting glued to it.
25166 Thu Apr 19 11:36:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25168         * HACKING: Turn syntax highlighting off, since it's broken for the
25169           restructured text in this file anyway.
25171 Thu Apr 19 03:26:28 BST 2007  Olly Betts <olly@survex.com>
25173         * backends/flint/flint_database.h,
25174           backends/inmemory/inmemory_database.h,
25175           backends/quartz/quartz_database.h:
25176           The trick of importing base class methods with 'using' breaks
25177           compilation with GCC 2.95 which doesn't issue the warning we're
25178           trying to avoid, so add a preprocessor check,
25180 Thu Apr 19 03:20:31 BST 2007  Olly Betts <olly@survex.com>
25182         * common/progclient.h,net/progclient.cc: Always use pid_t not int for
25183           holding a process id.
25185 Thu Apr 19 01:08:57 BST 2007  Olly Betts <olly@survex.com>
25187         * docs/deprecation.rst: Update '#callable' footnote.
25189 Thu Apr 19 00:07:02 BST 2007  Olly Betts <olly@survex.com>
25191         * backends/flint/flint_database.h,
25192           backends/inmemory/inmemory_database.h,
25193           backends/quartz/quartz_database.h: Add using declarations to
25194           subclasses of Xapian::Database::Internal which don't override the
25195           term forms of delete_document() and replace_document() to prevent
25196           compiler warnings about these methods being hidden.
25198 Wed Apr 18 23:22:29 BST 2007  Olly Betts <olly@survex.com>
25200         * net/remoteconnection.cc: Remove code which can't actually be
25201           reached, which fixes a warning in the mingw build.
25203 Wed Apr 18 23:07:45 BST 2007  Olly Betts <olly@survex.com>
25205         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
25206           include/xapian/enquire.h,matcher/Makefile.mk,
25207           matcher/biaspostlist.h,matcher/multimatch.cc,net/remoteserver.cc:
25208           Remove Enquire::set_bias().
25209         * docs/deprecation.rst: Update wrt Enquire::set_bias().  Fix typo.
25211 Wed Apr 18 18:51:42 BST 2007  Olly Betts <olly@survex.com>
25213         * configure.ac: Require autoconf 2.60 or newer.  Drop docdir
25214           compatibility hack which is no longer required.
25215         * HACKING: Document requirement.  Fix typo (or out-of-date info) for
25216           automake requirement (we require 1.9.5 not 1.8.5).
25218 Wed Apr 18 18:27:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25220         * docs/deprecation.rst: Note the deprecation of get_description()
25221           methods for Python.
25223 Wed Apr 18 14:57:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25225         * HACKING: Minimal changes to make this into valid restructured
25226           text.
25228 Wed Apr 18 11:27:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25230         * configure.ac: Require autoconf version 2.59c or later:
25231           AC_TYPE_SSIZE_T isn't present in earlier versions.
25233 Wed Apr 18 11:08:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25235         * docs/deprecation.rst: Fix table formatting error
25237 Wed Apr 18 01:32:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25239         * docs/deprecation.rst: Update with methods which have been removed
25240           from the bindings.
25242 Wed Apr 18 00:24:00 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25244         * docs/deprecation.rst: Move methods which have just been removed
25245           from the list of deprecated methods to the list of removed
25246           methods.
25248 Tue Apr 17 23:58:53 BST 2007  Olly Betts <olly@survex.com>
25250         * api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/,
25251           languages/stem.cc,tests/api_db.cc: Remove methods we're deprecating
25252           for 1.0.
25254 Tue Apr 17 23:50:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25256         * docs/deprecation.rst: Note that is_empty() is not deprecated for
25257           PHP after all!
25259 Tue Apr 17 22:17:41 BST 2007  Olly Betts <olly@survex.com>
25261         * queryparser/queryparser.lemony: GCC 2.95 doesn't support
25262           std::string::clear(), so use resize(0) instead.
25263         * HACKING: Document the above issue in a reworked section on C++
25264           STL features.  Update the section on safeXXX.h headers.
25266 Tue Apr 17 22:07:39 BST 2007  Olly Betts <olly@survex.com>
25268         * common/safesysselect.h: Correct typo in #error message.
25270 Tue Apr 17 19:18:00 BST 2007  Olly Betts <olly@survex.com>
25272         * configure.ac: Factor out code to test for a linker flag into macro
25273           XAPIAN_TEST_LINKER_FLAG.  With g++, use XAPIAN_TEST_LINKER_FLAG to
25274           see if -Bsymbolic-functions is supported (it requires a very recent
25275           version of ld currently).  This option reduces the size and load
25276           time of the shared library by resolving references within the
25277           library when it's created.  Currently untested on a box which
25278           supports -Bsymbolic-functions.
25280 Tue Apr 17 12:01:46 BST 2007  Olly Betts <olly@survex.com>
25282         * unicode/utf8itor.cc: Tidy up code layout.
25284 Tue Apr 17 02:06:39 BST 2007  Olly Betts <olly@survex.com>
25286         * include/xapian/unicode.h,unicode/utf8itor.cc: Make nonascii_to_utf8
25287           a public method.  Make get_case_type(), get_category(), and
25288           get_delta() internal, but provide a public get_category() function
25289           which takes a Unicode character value.
25291 Tue Apr 17 02:05:32 BST 2007  Olly Betts <olly@survex.com>
25293         * backends/flint/Makefile.mk: Distribute flint_check.h.
25295 Tue Apr 17 01:47:05 BST 2007  Olly Betts <olly@survex.com>
25297         * tests/api_posdb.cc: The remote backend now supports all database
25298           operations, so merge localpositionaldb_tests into
25299           positionaldb_tests.
25300         * tests/: Remove the trivial separate api_XXXdb.h headers, some of
25301           which were out-of-step with their respective .cc sources.  Instead
25302           just keep the array external declarations in apitest.h.
25303         * tests/apitest.h,tests/api_transdb.cc: Move TESTCASE and
25304           END_OF_TESTCASES macros into header.
25305         * tests/api_db.cc: Remove test collapsekey2 - it's only relevant for
25306           the Muscat 3.6 backend, so it's unused now that has been removed.
25307         * tests/: Add unicode tests, adapted from Omega's utftest.
25309 Tue Apr 17 00:14:16 BST 2007  Olly Betts <olly@survex.com>
25311         * Makefile.am,include/Makefile.mk,include/xapian.h,
25312           include/xapian/unicode.h,queryparser/,unicode/: Expose Unicode and
25313           UTF-8 related classes and functions as a public API.
25315 Mon Apr 16 16:06:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25317         * docs/deprecation.rst: Bring document fully up-to-date, listing
25318           all the planned deprecations for the bindings.  Also, include the
25319           full upgrade notes in the listings, so they can be preserved
25320           accessibly for posterity.  I even retrieved the notes for the
25321           already-removed QueryParser::set_stemming_options from 0.9.10.
25323 Mon Apr 16 11:36:18 BST 2007  Olly Betts <olly@survex.com>
25325         * net/tcpclient.cc: Call WSAGetLastError() instead of socket_errno()
25326           when we want to compare the result against WSAEWOULDBLOCK.
25328 Mon Apr 16 11:19:21 BST 2007  Olly Betts <olly@survex.com>
25330         * common/remoteconnection.h,common/safewinsock2.h: Need to negate the
25331           POSIX error codes we define in terms of winsock ones.
25333 Fri Apr 13 16:24:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25335         * docs/doxygen_api_conf.in: Turn on XML output, so that we can use
25336           it to populate docstrings for the python bindings.
25338 Fri Apr 13 11:38:39 BST 2007  Olly Betts <olly@survex.com>
25340         * backends/Makefile.mk,backends/alltermslist.cc,common/alltermslist.h:
25341           Split AllTermsList into header and code.  AllTermsList::get_wdf()
25342           now throws InvalidOperationError() rather than asserting in a
25343           debug build and returning 0 in a non-debug build.
25344         * backends/Makefile.mk: Correct list for "how to add a new backend".
25346 Fri Apr 13 10:17:46 BST 2007  Olly Betts <olly@survex.com>
25348         * api/version.cc: Simpler and cleaner fix - the prototypes for the
25349           version functions had moved from xapian/version.h to xapian.h so we
25350           were including the wrong header and not seeing the prototypes with
25351           visibility markup!
25353 Fri Apr 13 09:29:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25355         * api/version.cc: Add visibility annotations to definitions of
25356           version functions: the annotation apparently needs to be applied
25357           to the definition as well as the declaration or it is ignored:
25358           possibly the annotation on the declaration is ignored anyway,
25359           but it should be kept there for documentation purposes in any
25360           case.  Fixes link error with bindings under gcc 4.1.
25362 Fri Apr 13 01:39:57 BST 2007  Olly Betts <olly@survex.com>
25364         * common/remoteconnection.h,net/progclient.cc,net/remoteconnection.cc:
25365           GetLastError() has an unsigned return type, so need to cast to int
25366           before negating.
25368 Fri Apr 13 01:39:20 BST 2007  Olly Betts <olly@survex.com>
25370         * docs/deprecation.rst: Add xapian_version_string() and friends.
25372 Fri Apr 13 01:24:53 BST 2007  Olly Betts <olly@survex.com>
25374         * tests/api_nodb.cc: More 'tout' output.
25376 Fri Apr 13 01:19:20 BST 2007  Olly Betts <olly@survex.com>
25378         * api/Makefile.mk,api/error.cc,bin/xapian-tcpsrv.cc,
25379           common/remoteconnection.h,common/safeerrno.h,configure.ac,
25380           generate-exceptions.in,net/,tests/harness/testsuite.cc: On
25381           MS Windows, if Xapian::Error::my_errno is the result of
25382           GetLastError() or WSAGetLastError(), negate it (the error codes can
25383           overlap with errno codes).  On UNIX, put h_errno negated in my_errno
25384           if a call to gethostbyname() fails.  Add
25385           Xapian::Error::get_error_string() method which decodes my_errno
25386           in the appropriate way to give a string, and use this instead of
25387           strerror(error.get_errno()).
25389 Fri Apr 13 01:17:08 BST 2007  Olly Betts <olly@survex.com>
25391         * languages/generate-allsnowballheaders.in: win32 makefiles don't keep
25392           the snowball header list in sorted order like we do, so fix that
25393           here.  Also allow for '\' as path separator.
25395 Fri Apr 13 00:58:09 BST 2007  Olly Betts <olly@survex.com>
25397         * tests/api_nodb.cc: Add "tout" debug output to stemlangs1.
25399 Thu Apr 12 21:37:04 BST 2007  Olly Betts <olly@survex.com>
25401         * tests/Makefile.am: Add support for QUIET= and QUIET=y arguments to
25402           "make".
25404 Thu Apr 12 21:35:50 BST 2007  Olly Betts <olly@survex.com>
25406         * docs/Makefile.am: Use a substitution for RSTHTML (like we do for the
25407           snowball generated sources).
25409 Thu Apr 12 20:41:18 BST 2007  Olly Betts <olly@survex.com>
25411         * api/omqueryinternal.cc: Add validate_query() calls to the "term" and
25412           "value range" constructors.
25414 Thu Apr 12 20:00:14 BST 2007  Olly Betts <olly@survex.com>
25416         * api/omqueryinternal.cc,include/xapian/query.h: Only validate a
25417           Query object when it's either constructed or changed to avoid O(n^2)
25418           behaviour in some cases.
25420 Thu Apr 12 19:59:13 BST 2007  Olly Betts <olly@survex.com>
25422         * queryparser/lemon.c: Fix nasty function casting for argument to
25423           qsort - it's (at least technically) not portable.
25425 Thu Apr 12 17:47:47 BST 2007  Olly Betts <olly@survex.com>
25427         * configure.ac: Fix GCC version test to only turn on
25428           -fvisibility=hidden for GCC >= 4.
25430 Thu Apr 12 16:47:56 BST 2007  Olly Betts <olly@survex.com>
25432         * backends/flint/flint_btreebase.h,backends/flint/flint_cursor.h,
25433           backends/flint/flint_table.h,backends/quartz/,common/,configure.ac,
25434           generate-exceptions.in,include/Makefile.mk,include/xapian.h,
25435           include/xapian/: Add visibility annotations to the library, which
25436           when using GCC >= 4 reduces the size and load time of the library
25437           and increase the runtime speed a little.  Under x86_64, the stripped
25438           library is 6.4% smaller (1.5% smaller with debug information).
25440 Thu Apr 12 16:45:57 BST 2007  Olly Betts <olly@survex.com>
25442         * api/version.cc: Add missing "#include <config.h>".
25444 Thu Apr 12 13:41:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25446         * tests/quartztest.cc: Put removedir() function back for now to fix
25447           build.
25449 Thu Apr 12 13:02:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25451         * net/progclient.cc: Some (but not all) versions of MSVC need
25452           "#include <io.h>" to get the _open_osfhandle identifier.  Add it.
25454 Thu Apr 12 12:00:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25456         * backends/remote/net_postlist.cc: Include config.h
25458 Thu Apr 12 11:54:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25460         * backends/multi/multi_termlist.cc: Include config.h to get system
25461           specific defines.
25462         * common/safesysstat.h: Change signature of mkdir to take mode_t
25463           instead of int, to match unixy definition.
25465 Thu Apr 12 10:19:49 BST 2007  Olly Betts <olly@survex.com>
25467         * configure.ac: Probe for mode_t.
25469 Thu Apr 12 01:10:18 BST 2007  Olly Betts <olly@survex.com>
25471         * backends/flint/flint_positionlist.cc: Move BitReader class inside
25472           Xapian namespace to avoid namespace pollution.
25473         * bin/xapian-check.cc: Include BitReader::decode_interpolative()
25474           - previously we were relying on using the copy from the library.
25476 Thu Apr 12 01:02:53 BST 2007  Olly Betts <olly@survex.com>
25478         * common/safesysstat.h: Under __WIN32__, provide a POSIX-like mkdir()
25479           wrapper which takes 2 arguments, but ignores the file mode, so we
25480           can just call mkdir with a mode argument everywhere.
25481         * common/utils.h: Remove special case handling of mkdir.
25482         * bin/xapian-compact.cc: Replace uses of om_tostring() with a call
25483           to sprintf.  No longer need to `#include "utils.h"'.
25485 Thu Apr 12 00:44:18 BST 2007  Olly Betts <olly@survex.com>
25487         * api/,backends/inmemory/inmemory_positionlist.cc,common/,matcher/,
25488           net/remoteconnection.cc,net/serialise.cc: omdebug.h only includes
25489           omassert.h for the trivial "STRINGIZE" macro, so just duplicate
25490           that rather than pulling in an extra header everywhere.  Then fix
25491           up the two dozen files which were relying on this implicit
25492           inclusion!
25494 Thu Apr 12 00:10:48 BST 2007  Olly Betts <olly@survex.com>
25496         * tests/harness/testsuite.cc: Tweak #ifdef XAPIAN_DEBUG_VERBOSE to
25497           include DEBUGLINE() for clarity (no change in behaviour).
25499 Wed Apr 11 23:36:10 BST 2007  Olly Betts <olly@survex.com>
25501         * queryparser/queryparser.lemony: Fix regression introduced by
25502           Richard's change, and restructure to make the handling for each case
25503           more obvious.
25504         * tests/queryparsertest.cc: Add a couple of testcases for the
25505           regression.
25506         * queryparser/queryparser_internal.h: Remove reference to "bool" in
25507           comment which no longer applies.
25509 Wed Apr 11 21:25:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25511         * queryparser/queryparser_internal.h: Refactor boolean "flag"
25512           member in BoolAndString class into an enum of possible prefix
25513           types.  Rename "flag" to "type".  Rename BoolAndString to
25514           PrefixInfo.
25515         * queryparser/queryparser.cc: Change add_prefix() and
25516           add_boolean_prefix() to match changes to queryparser_internal.h
25517         * queryparser/queryparser.lemony: Refactor handling of prefixed
25518           terms to match queryparser_internal, and to use a switch()
25519           structure: no functional changes, but code is considerably more
25520           readable (I hope).
25522 Wed Apr 11 21:13:31 BST 2007  Olly Betts <olly@survex.com>
25524         * tests/api_db.cc,tests/quartztest.cc: Rework quartztest's "open1"
25525           into API level tests for quartz and flint in apitest.
25527 Wed Apr 11 14:01:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25529         * docs/deprecation.rst: Remove documentation of the "#define
25530           XAPIAN_DEPRECATED(D) D" hack, and clarify documentation on how
25531           long we support deprecated functions.
25533 Wed Apr 11 09:25:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25535         * docs/Makefile.am,docs/deprecation.rst: Add initial draft of
25536           deprecation policy document, with list of all API items currently
25537           marked for deprecation.
25538         * HACKING: Add note about keeping deprecation.rst up-to-date when
25539           making a release.
25541 Tue Apr 10 19:07:24 BST 2007  Olly Betts <olly@survex.com>
25543         * configure.ac: --enable-quiet now uses AS_HELP_STRING.
25545 Tue Apr 10 18:53:32 BST 2007  Olly Betts <olly@survex.com>
25547         * tests/harness/index_utils.cc: Return the empty document we already
25548           have rather than constructing another.
25550 Tue Apr 10 17:45:11 BST 2007  Olly Betts <olly@survex.com>
25552         * net/remoteconnection.cc: Fix typo in comment.
25554 Tue Apr 10 17:35:57 BST 2007  Olly Betts <olly@survex.com>
25556         * tests/harness/backendmanager.cc: Fix "if" to "is" typo in 3
25557           comments.
25559 Tue Apr 10 16:46:09 BST 2007  Olly Betts <olly@survex.com>
25561         * tests/harness/backendmanager.cc: Define XAPIAN_TCPSRV and
25562           XAPIAN_PROGSRV under UNIX too, and use them everywhere.
25564 Tue Apr 10 16:33:48 BST 2007  Olly Betts <olly@survex.com>
25566         * tests/harness/backendmanager.h: Remove "BackendManager::" from
25567           method declaration.
25569 Tue Apr 10 15:35:50 BST 2007  Olly Betts <olly@survex.com>
25571         * configure.ac: Define HAVE_SOCKETPAIR if we have socketpair().
25573 Tue Apr 10 15:29:49 BST 2007  Olly Betts <olly@survex.com>
25575         * net/progclient.cc: Fix #endif placement so it compiles on UNIX.
25577 Tue Apr 10 14:18:06 BST 2007  Olly Betts <olly@survex.com>
25579         * net/remoteconnection.cc: Remove debugging code.
25581 Tue Apr 10 12:57:51 BST 2007  Olly Betts <olly@survex.com>
25583         * backends/dbfactory_remote.cc,common/progclient.h,net/progclient.cc,
25584           net/remoteconnection.cc,tests/api_db.cc,tests/apitest.cc,
25585           tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
25586           Add support for the "prog" variant of the remote backend (patch
25587           started by me, finished by Mark Hammond).
25589 Tue Apr 10 12:23:46 BST 2007  Olly Betts <olly@survex.com>
25591         * api/omqueryinternal.cc,backends/inmemory/inmemory_database.cc,
25592           backends/quartz/quartz_alldocspostlist.cc,matcher/localmatch.cc,
25593           matcher/multimatch.cc,tests/harness/testutils.cc: Prefer
25594           `CONTAINER.empty()' to `CONTAINER.size() == 0'.
25596 Tue Apr 10 12:09:45 BST 2007  Olly Betts <olly@survex.com>
25598         * api/omqueryinternal.cc: Tighten up an assertion.
25600 Mon Apr 09 20:56:23 BST 2007  Olly Betts <olly@survex.com>
25602         * configure.ac,tests/harness/backendmanager.cc,tests/runsrv.in,
25603           tests/runtest.in: Run the remote backend server using new "runsrv"
25604           script instead of "runtest".  This doesn't echo anything to stdout,
25605           and if valgrind is in use, runs the remote server under
25606           "--tool=none" which is much quicker than using valgrind's default
25607           memcheck tool (we need to run the remote server under valgrind
25608           because valgrind's emulation of excess FP precision isn't exact and
25609           otherwise we get tests failing because of these differences).
25611 Mon Apr 09 20:24:30 BST 2007  Olly Betts <olly@survex.com>
25613         * tests/api_anydb.cc,tests/api_nodb.cc: Move test poscollapse2 to the
25614           "no database" category, since it doesn't require a database!
25616 Mon Apr 09 18:04:40 BST 2007  Olly Betts <olly@survex.com>
25618         * docs/remote_protocol.html: Correct documentation - MSG_REOPEN gives
25619           a response of REPLY_UPDATE.
25621 Mon Apr 09 15:08:44 BST 2007  Olly Betts <olly@survex.com>
25623         * ./: svn:eol-style not svn:eolstyle.
25625 Mon Apr 09 15:00:30 BST 2007  Olly Betts <olly@survex.com>
25627         * ./: Set svn:eolstyle to native for most text files.
25629 Mon Apr 09 14:50:40 BST 2007  Olly Betts <olly@survex.com>
25631         * backends/flint/flint_database.cc: Delete the corresponding entry
25632           (if any) from doclens in delete_document().  Add assertion to
25633           add_document_() that the corresponding entry in doclens isn't
25634           already set, but in a non-debug build overwrite any existing
25635           entry as that's more likely to be correct.
25636         * backends/quartz/quartz_database.cc: Ditto.
25638 Mon Apr 09 14:08:55 BST 2007  Olly Betts <olly@survex.com>
25640         * backends/quartz/quartz_database.cc: Just assign to doclens[did].
25642 Mon Apr 09 14:06:58 BST 2007  Olly Betts <olly@survex.com>
25644         * backends/flint/flint_database.cc: Just assign to doclens[did].
25646 Mon Apr 09 11:29:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25648         * backends/quartz/quartz_database.cc: Apply same change to quartz.
25650 Mon Apr 09 11:24:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25652         * backends/flint/flint_database.cc: Fix bug with document lengths
25653           in replace document.  Was using doclens.insert() to set the new
25654           document length, but this has no effect if the entry already
25655           exists.  This fixes replacedoc3 for flint (and thus for remote
25656           databases), but the same change is needed for quartz.
25657         * backends/flint/flint_postlist.cc: Add some debugging lines.
25659 Mon Apr 09 01:43:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25661         * backends/flint/: Add some more debugging messages to help track
25662           down the problem with document lengths shown up by previous
25663           change.
25665 Mon Apr 09 01:40:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25667         * tests/api_wrdb.cc: Add asserts to check that the value of
25668           get_doclength() on the database and on the posting list are
25669           correct.  Currently fails with the value from the posting list
25670           for the document which has been replaced (or sooner if assertions
25671           are turned on).
25673 Sun Apr 08 23:24:20 BST 2007  Olly Betts <olly@survex.com>
25675         * Makefile.am,configure.ac: `./configure --enable-quiet' allows you to
25676           specify at configure time to pass `--quiet' to libtool.  Now you can
25677           override this at make-time by using `make QUIET=' (to turn off
25678           `--quiet') or `make QUIET=y' (to turn on `--quiet').
25680 Sun Apr 08 23:23:50 BST 2007  Olly Betts <olly@survex.com>
25682         * HACKING: Mention AssertEqParanoid and AssertNeParanoid.
25684 Sun Apr 08 22:45:45 BST 2007  Olly Betts <olly@survex.com>
25686         * common/omassert.h: Add AssertEqParanoid and AssertNeParanoid macros.
25687         * backends/flint/flint_table.cc,backends/inmemory/inmemory_database.cc,
25688           backends/multi/multi_postlist.cc,backends/quartz/btree.cc: Use them.
25689         * backends/multi/multi_postlist.cc: Add extra assertions to
25690           MultiPostList::get_doclength().
25692 Sun Apr 08 22:16:11 BST 2007  Olly Betts <olly@survex.com>
25694         * configure.ac: Fix typos: `AC_CHECK_SSIZE_T' -> `AC_TYPE_SSIZE_T';
25695           `AC_CHECK_PID_T' -> `AC_TYPE_PID_T'.
25697 Sun Apr 08 22:04:54 BST 2007  Olly Betts <olly@survex.com>
25699         * HACKING: Snapshots and releases are now generated with autoconf 2.61.
25701 Sun Apr 08 21:42:03 BST 2007  Olly Betts <olly@survex.com>
25703         * configure.ac: Use AC_CHECK_SSIZE_T instead of our own test.  Add
25704           AC_CHECK_PID_T for any platforms which don't have `pid_t'.
25705         * net/tcpserver.cc: Use `pid_t' instead of `int'.
25706         * common/progclient.h,net/progclient.cc: Cleaner rewritten version of
25707           progclient.h.
25709 Sun Apr 08 19:59:43 BST 2007  Olly Betts <olly@survex.com>
25711         * backends/flint/flint_lock.cc: If kill() fails, don't bother calling
25712           waitpid().
25714 Sun Apr 08 19:41:11 BST 2007  Olly Betts <olly@survex.com>
25716         * net/remoteconnection.cc: Don't explicitly pass "0" for errno.
25718 Sun Apr 08 16:58:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25720         * queryparser/queryparser.lt: Fix warnings in debugging builds on
25721           gcc 4.1 due to comparison of signed and unsigned types.  Also,
25722           use the ParseTokenName function instead of explicitly doing a
25723           range check each time an entry is looked up in yyTokenName, and
25724           add a ParseRuleName function for looking up things in yyRuleName,
25725           and use it similarly.
25727 Sun Apr 08 15:55:42 BST 2007  Olly Betts <olly@survex.com>
25729         * configure.ac: Fix lingering references to enable_debug.
25731 Sun Apr 08 15:48:13 BST 2007  Olly Betts <olly@survex.com>
25733         * tests/api_anydb.cc,tests/api_wrdb.cc: Remove hacks to automatically
25734           SKIP tests which failed because of lack of support for some features
25735           by the remote backend.
25737 Sun Apr 08 15:14:11 BST 2007  Olly Betts <olly@survex.com>
25739         * queryparser/queryparser.lemony,queryparser/queryparser.lt: More
25740           tweaks.
25742 Sun Apr 08 15:04:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25744         * queryparser/queryparser.lt: Always include "omdebug.h", and put
25745           one of the pieces of debugging code in #ifdef
25746           XAPIAN_DEBUG_VERBOSE, to fix non-logging message builds.
25748 Sun Apr 08 14:23:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25750         * docs/remote_protocol.html: Update for protocol version 27 by
25751           adding documentation for MSG_POSTLIST and replies.  Also, fix a
25752           typo.
25754 Sun Apr 08 13:50:20 BST 2007  Olly Betts <olly@survex.com>
25756         * common/omdebug.h,queryparser/queryparser.lemony,
25757           queryparser/queryparser.lt: Hook the debug tracing in the lemon
25758           generated parser into Xapian's debug logging framework.
25760 Sun Apr 08 12:35:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25762         * backends/remote/,common/remote-database.h,common/remoteprotocol.h,
25763           common/remoteserver.h,net/remoteserver.cc: Implement postlists
25764           for the remote database.  Increases
25765           XAPIAN_REMOTE_PROTOCOL_VERSION to 27.
25767 Sun Apr 08 12:33:02 BST 2007  Olly Betts <olly@survex.com>
25769         * HACKING,INSTALL,configure.ac: Rename --enable-debug* - conflating the
25770           options to "turn on assertions" and "turn on logging" still confuses
25771           me to the extent I need to read the documentation every time I use
25772           them.  `--enable-debug[=partial]' become `--enable-assertions';
25773           `--enable-debug-verbose' becomes `--enable-log' and
25774           `--enable-debug=full' becomes `--enable-assertions --enable-log'.
25775           For now the old options give an error telling you the new
25776           equivalent.
25778 Sun Apr 08 10:45:40 BST 2007  Olly Betts <olly@survex.com>
25780         * configure.ac: Eliminate use_quiet - just use enable_quiet instead.
25782 Fri Apr 06 19:06:07 BST 2007  Olly Betts <olly@survex.com>
25784         * net/progclient.cc: Close stderr of the spawned backend program.
25786 Fri Apr 06 18:59:24 BST 2007  Olly Betts <olly@survex.com>
25788         * net/progclient.cc: msecs_timeout_ -> msecs_timeout.
25790 Fri Apr 06 18:12:36 BST 2007  Olly Betts <olly@survex.com>
25792         * net/remoteconnection.cc: Fix comment grammar.
25794 Fri Apr 06 18:10:31 BST 2007  Olly Betts <olly@survex.com>
25796         * net/remoteconnection.cc: Deal with the exceptional case first.
25798 Fri Apr 06 17:51:20 BST 2007  Olly Betts <olly@survex.com>
25800         * net/remoteconnection.cc: Use string::append(ptr, size) in preference
25801           to string::append(ptr, ptr + size).
25803 Fri Apr 06 11:45:39 BST 2007  Olly Betts <olly@survex.com>
25805         * api/omqueryinternal.cc,backends/flint/flint_database.cc,
25806           backends/flint/flint_database.h,backends/flint/flint_postlist.cc,
25807           backends/inmemory/inmemory_database.cc,
25808           backends/inmemory/inmemory_database.h,
25809           backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
25810           backends/quartz/quartz_postlist.cc,
25811           backends/remote/remote-database.cc,common/database.h,
25812           common/remote-database.h: Refactor to eliminate do_open_post_list
25813           and any unnecessary call to term_exists().
25815 Fri Apr 06 11:44:25 BST 2007  Olly Betts <olly@survex.com>
25817         * tests/api_wrdb.cc: Just use TEST on a boolean value rather than
25818           TEST_EQUAL against true/false.
25820 Fri Apr 06 08:53:46 BST 2007  Olly Betts <olly@survex.com>
25822         * net/remoteserver.cc: Remove "N" which we calculate but never use!
25824 Fri Apr 06 08:17:00 BST 2007  Olly Betts <olly@survex.com>
25826         * backends/flint/Makefile.mk,backends/flint/flint_check.cc,
25827           backends/flint/flint_check.h,bin/Makefile.mk,bin/xapian-check.cc:
25828           Fix xapian-check not to use libquartzcheck.la.
25830 Fri Apr 06 07:20:47 BST 2007  Olly Betts <olly@survex.com>
25832         * bin/Makefile.mk,bin/xapian-check.cc: Add new "xapian-check" program
25833           which performs consistency checks on a flint database.
25835 Fri Apr 06 06:25:36 BST 2007  Olly Betts <olly@survex.com>
25837         * bin/quartzcheck.cc: Test if this is a quartz database by looking at
25838           "meta" not "record_DB".  If "record_DB" is >= 2GB and we don't have
25839           a LFS aware stat function then stat can fail even though the file is
25840           there.  Also open the database explicitly as a Quartz database for
25841           extra robustness.
25843 Fri Apr 06 06:23:33 BST 2007  Olly Betts <olly@survex.com>
25845         * AUTHORS: Thank Daniel Ménard.
25847 Thu Apr 05 18:20:53 BST 2007  Olly Betts <olly@survex.com>
25849         * tests/harness/testsuite.cc: No need to explicitly initialise
25850           std::string to ""; not doing so results in a smaller object
25851           file.
25853 Thu Apr 05 18:20:12 BST 2007  Olly Betts <olly@survex.com>
25855         * common/remoteprotocol.h: Note other changes in protocol version 26.
25857 Thu Apr 05 17:34:10 BST 2007  Olly Betts <olly@survex.com>
25859         * tests/runtest.in: Pass "--leak-resolution=high" to valgrind to
25860           prevent unrelated leak reports related to STL classes from being
25861           combined.
25863 Thu Apr 05 17:26:39 BST 2007  Olly Betts <olly@survex.com>
25865         * tests/api_wrdb.cc: Remove stray line left over from debugging.
25867 Thu Apr 05 16:47:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25869         * tests/internaltest.cc: Fix test_serialiselength2: implementation
25870           was correct, but test was failing.  Needed special casing for n=0
25871           and 1, and was using arguments to string::append(size_type,
25872           charT) the wrong way round (stupid C++ API).  Also, make it check
25873           the return value of decode_length(), since we know what the
25874           answer ought to be.
25876 Thu Apr 05 14:26:30 BST 2007  Olly Betts <olly@survex.com>
25878         * api/omqueryinternal.cc,backends/remote/remote-database.cc,
25879           common/serialise.h,net/remoteserver.cc,net/serialise.cc,
25880           tests/internaltest.cc: Add a flag parameter to decode_length()
25881           to indicate if the decoded value indicates the length of a
25882           string in the protocol stream, and if it does, check it against
25883           p_end - p after the length has been decoded (fixes bug#117).
25885 Thu Apr 05 14:08:02 BST 2007  Olly Betts <olly@survex.com>
25887         * tests/api_wrdb.cc: In test uniqueterm1, check the document length
25888           after every delete or replace for better coverage.
25890 Thu Apr 05 12:41:04 BST 2007  Olly Betts <olly@survex.com>
25892         * net/serialise.cc: Encode deltas between docids (rather than the
25893           docids themselves) in the RSet serialisation which reduces the
25894           size of the encoding if a lot of large docids with small gaps
25895           between them are present.
25896         * backends/remote/remote-database.cc,net/remoteserver.cc: Encode
25897           deltas between termpositions in REPLY_POSITIONLIST, for similar
25898           reasons.  No need to encode the term length for
25899           MSG_DELETEDOCUMENTTERM as it's the last (indeed only) item, and more
25900           consistent not to.
25901         * common/remoteprotocol.h: Bump protocol version to 26.
25902         * docs/remote_protocol.html: Document the new messages
25903           MSG_DELETEDOCUMENTTERM and MSG_REPLACEDOCUMENTTERM.  Correct
25904           reference to REPLY_DOCUMENT to REPLY_DOCDATA.  Fix documentation for
25905           MSG_QUERY to include the serialised Weight and RSet objects.  Fix
25906           "copy and paste" error in the description of Flush (should of course
25907           be MSG_FLUSH not MSG_CANCEL).  Update for changes above.
25909 Thu Apr 05 12:18:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25911         * backends/database.cc: Keep a RefCntPtr to the LeafPostList used
25912           in implementations of delete_document and replace_document with a
25913           unique term, so that the postlist isn't leaked.
25915 Thu Apr 05 11:56:57 BST 2007  Olly Betts <olly@survex.com>
25917         * backends/database.cc: Database::Internal can't call the
25918           PostingIterator(PostingIterator::Internal*) ctor (at least under
25919           g++ 3.3.5) because it isn't a friend (only class Database is).
25920           Can't seem to forward define Database::Internal to make
25921           Database::Internal a friend so just use LeafPostList directly
25922           as that seems less bad than pulling in the whole of database.h
25923           or making PostingIterator::internal public.
25925 Thu Apr 05 08:27:26 BST 2007  Olly Betts <olly@survex.com>
25927         * HACKING: Need to run svn-tag-release on ixion.
25929 Thu Apr 05 01:50:10 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25931         * backends/remote/remote-database.cc,common/remote-database.h,
25932           common/remoteprotocol.h,common/remoteserver.h,net/remoteserver.cc:
25933           Implement unique term variants of delete and replace document for
25934           the remote database.  Involves adding two new message types to the
25935           protocol (and therefore bumping the protocol version to 25), and
25936           overriding the standard implementations of delete_document(term)
25937           and replace_document(term) in RemoteDatabase.
25938         * tests/api_wrdb.cc: Correct text in SKIP_TEST() message.
25940 Thu Apr 05 01:04:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25942         * api/omdatabase.cc,backends/database.cc,common/database.h: Move
25943           implementation of delete_document and replace_document with a
25944           unique_term from WritableDatabase to Xapian::Database::Internal.
25945           This will allow it to be overridden for databases which need a
25946           special implementation (such as the remote database).
25948 Tue Apr 03 14:30:45 BST 2007  Olly Betts <olly@survex.com>
25950         * common/remote-database.h: Remove unused and undefined method
25951           RemoteDatabase::get_spawned_socket().
25953 Tue Apr 03 09:18:51 BST 2007  Olly Betts <olly@survex.com>
25955         * tests/harness/backendmanager.cc: Under __WIN32__, launch
25956           xapian-tcpsrv as a child process communicating via a pipe and handle
25957           the port being already in use by trying the next port up (as we do
25958           under UNIX).
25960 Tue Apr 03 06:50:48 BST 2007  Olly Betts <olly@survex.com>
25962         * net/tcpserver.cc: For __WIN32__ and __CYGWIN__, use
25963           SO_EXCLUSIVEADDRUSE (if available) on on listening sockets for
25964           xapian-tcpsrv.
25966 Tue Apr 03 04:37:02 BST 2007  Olly Betts <olly@survex.com>
25968         * include/xapian/positioniterator.h,include/xapian/postingiterator.h:
25969           Fix mangled comment start in (C) headers.
25971 Tue Apr 03 03:27:12 BST 2007  Olly Betts <olly@survex.com>
25973         * include/xapian/,generate-exceptions.in: Mark the following
25974           constructors 'explicit': DocIDWrapper(docid), TermPosWrapper(const
25975           std::string &), Query::Internal(const std::string &), Database(const
25976           std::string &), all Error subclass constructors taking const
25977           std::string &.  Only the Database and Error subclass changes should
25978           be able to affect user code at all.
25979         * include/xapian/,api/omenquire.cc: Make the following methods
25980           'const': RSet::contains(MSetIterator), Enquire::get_query().  This
25981           shouldn't affect the validity of any user code.
25983 Mon Apr 02 11:44:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25985         * HACKING: Add note on "Building from SVN on Windows with MSVC"
25987 Mon Apr 02 11:32:51 BST 2007  Olly Betts <olly@survex.com>
25989         * api/omqueryinternal.cc: Fix assertion to allow for OP_VALUE_RANGE.
25991 Mon Apr 02 11:14:10 BST 2007  Olly Betts <olly@survex.com>
25993         * autoconf/rjb_find_stlport.m4: Fix check that the user didn't say
25994           `./configure --with-stlport-compiler' (without `=gcc' or similar
25995           after it).
25997 Mon Apr 02 10:38:35 BST 2007  Olly Betts <olly@survex.com>
25999         * tests/api_db.cc,tests/apitest.cc: Under __WIN32__ disable tests
26000           which require the prog variant of the remote backend.
26002 Mon Apr 02 09:44:13 BST 2007  Olly Betts <olly@survex.com>
26004         * net/tcpserver.cc: Don't use SO_REUSEADDR under __CYGWIN__ or
26005           __WIN32__ as it has incorrect semantics.
26007 Mon Apr 02 09:37:14 BST 2007  Olly Betts <olly@survex.com>
26009         * tests/harness/backendmanager.cc: Pull `1239' out as `DEFAULT_PORT'.
26010           On Windows, cycle through 10 ports starting at DEFAULT_PORT so that
26011           we can have multiple databases open at once.  Add a monotonic count
26012           to the name of the log file created from the output of each
26013           xapian-tcpsrv to avoid failures because the log file is already
26014           open.
26016 Mon Apr 02 07:41:57 BST 2007  Olly Betts <olly@survex.com>
26018         * tests/api_anydb.cc: Avoid having the same database open twice at
26019           once.  Xapian itself copes, but the BackendManager class in the test
26020           harness struggles in the remotetcp case under mingw.
26022 Mon Apr 02 07:14:13 BST 2007  Olly Betts <olly@survex.com>
26024         * include/xapian/enquire.h: Make Enquire constructor explicit since
26025           it can take a single parameter (of type Database).
26027 Mon Apr 02 02:32:23 BST 2007  Olly Betts <olly@survex.com>
26029         * net/tcpserver.cc: Add "#error" if neither HAVE_FORK nor __WIN32__
26030           is defined (otherwise we'd failed with a rather obscure link error
26031           much later!)
26033 Mon Apr 02 01:54:20 BST 2007  Olly Betts <olly@survex.com>
26035         * matcher/multimatch.cc: Remove unused variable left over from
26036           recent change.
26038 Mon Apr 02 01:22:56 BST 2007  Olly Betts <olly@survex.com>
26040         * net/tcpserver.cc: Actually remove SOCKOPT_OPTIONS_TYPE.
26042 Mon Apr 02 01:16:03 BST 2007  Olly Betts <olly@survex.com>
26044         * net/tcpclient.cc,net/tcpserver.cc: Pass the 4th parameter of
26045           setsockopt() as char* which works whether the function actually
26046           takes char* or void* (since C++ allows implicit conversion from
26047           char* to void*).  Only call socket_errno() after gethostbyname()
26048           under __WIN32__ - on UNIX the error code is in h_errno (with
26049           incompatible values to errno) and we don't want to confuse things by
26050           reporting some random value of errno.
26052 Mon Apr 02 00:44:56 BST 2007  Olly Betts <olly@survex.com>
26054         * tests/harness/backendmanager.cc: Factor out localhost address into
26055           LOCALHOST.  Use new xapian-tcpsrv --interface option to only listen
26056           for connections on localhost.  Run xapian-tcpsrv with "start /B" on
26057           MS Windows (this stops the "flickbook of console windows" effect).
26059 Mon Apr 02 00:41:31 BST 2007  Olly Betts <olly@survex.com>
26061         * common/Makefile.mk,common/safesyssocket.h: Oops, I checked
26062           in safesysselect.h as safesyssocket.h!
26064 Mon Apr 02 00:30:54 BST 2007  Olly Betts <olly@survex.com>
26066         * include/xapian/queryparser.h: Fix SimpleStopper::add to take
26067           `const std::string &' not `const std::string'.
26069 Mon Apr 02 00:20:45 BST 2007  Olly Betts <olly@survex.com>
26071         * bin/xapian-tcpsrv.cc,net/tcpserver.cc: Add "--interface" option to
26072           allow the hostname or address of the interface to listen on to be
26073           specified (default is the previous behaviour of listening on all
26074           interfaces).
26075         * net/remoteconnection.cc,net/tcpclient.cc,common/safesysselect.h:
26076           Factor out portability code for sys/select.h.
26077         * common/Makefile.mk: Ship common/safesysselect.h.
26078         * net/tcpserver.cc: Rename parameter of run_thread from "_param" to
26079           "param_" (identifiers with leading underscores are reserved for the
26080           compiler).
26081         * common/tcpclient.h,net/tcpclient.cc,common/tcpserver.h: Rewrite
26082           headers with comments which are actually accurate and up-to-date!
26083           TcpClient ctor is small so put inline in the header.  Pass
26084           std::string by const reference.
26085         * common/tcpclient.h,common/tcpserver.h: TcpClient and TcpServer
26086           classes now inherit from WinsockInitializer under __WIN32__ (as
26087           a mixin class) instead of having a member of type WinsockInitializer
26088           (the member is initialised too late, at least under mingw).
26090 Sun Apr 01 19:14:11 BST 2007  Olly Betts <olly@survex.com>
26092         * common/omdebug.cc: Fix retrying of write to retry the part of
26093           the string not already written!
26095 Sun Apr 01 18:37:15 BST 2007  Olly Betts <olly@survex.com>
26097         * common/remoteconnection.h: Note in comments about use as a "mixin"
26098           class.
26100 Sun Apr 01 17:42:19 BST 2007  Olly Betts <olly@survex.com>
26102         * tests,examples,bin: Add .exe versions of built executables to
26103           svn:ignore.
26105 Sun Apr 01 16:28:26 BST 2007  Olly Betts <olly@survex.com>
26107         * common/omdebug.cc: Remove unused '#include <stdio.h>' - we switched
26108           to using unbuffered I/O for logging long ago!
26110 Sun Apr 01 15:21:04 BST 2007  Olly Betts <olly@survex.com>
26112         * common/safewinsock2.h: No, don't typedef socklen_t here - we use
26113           SOCKLEN_T everywhere and have `#define SOCKLEN_T int' in
26114           config.h.win32.
26116 Sun Apr 01 13:32:21 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26118         * common/omdebug.cc: Include necessary headers to get O_CREAT and
26119           friends defined (according to documentation in linux manpage),
26120           to fix compile error.  Also, don't ignore the return value of
26121           write() to fix compile warning (and to ensure that the whole
26122           output gets written if possible).
26124 Sun Apr 01 13:19:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26126         * queryparser/queryparser.cc: Fix Assert() on a RefCountPtr to
26127           check the value of the pointer, to fix compile with asserts
26128           turned on.
26130 Sun Apr 01 12:57:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26132         * common/safewinsock2.h: Define socklen_t under MS compiler (since
26133           Olly reported build success with mingw, presumably it's not
26134           needed there).
26136 Sun Apr 01 06:42:14 BST 2007  Olly Betts <olly@survex.com>
26138         * languages/Makefile.mk: $(snowball_algorithms:.sbl=.cc) is portable
26139           according to the automake list so use that so we only need to list
26140           the .sbl sources.
26142 Sun Apr 01 05:53:29 BST 2007  Olly Betts <olly@survex.com>
26144         * common/tcpserver.h,net/tcpserver.cc: TcpServer's port member
26145           variable is set but never used so remove it.
26147 Sun Apr 01 03:27:30 BST 2007  Olly Betts <olly@survex.com>
26149         * bin/Makefile.mk,examples/Makefile.mk: Add $(EXEEXT) to dependency on
26150           binaries in man page generation rules so they work on Windows.
26152 Sat Mar 31 22:17:55 BST 2007  Olly Betts <olly@survex.com>
26154         * common/multimatch.h,matcher/multimatch.cc: When using a MatchDecider
26155           with remote database(s), don't rerun the MatchDecider on documents
26156           which a remote server has already checked.
26158 Sat Mar 31 10:44:26 BST 2007  Olly Betts <olly@survex.com>
26160         * tests/harness/backendmanager.cc: Sort out path to xapian-tcpsrv
26161           under mingw.  If neither HAVE_FORK nor __WIN32__ is defined,
26162           make compilation fail with a suitable #error.
26164 Sat Mar 31 10:17:06 BST 2007  Olly Betts <olly@survex.com>
26166         * api/Makefile,backends/Makefile,backends/flint/Makefile,
26167           backends/inmemory/Makefile,backends/multi/Makefile,
26168           backends/quartz/Makefile,backends/remote/Makefile,bin/Makefile,
26169           common/Makefile,examples/Makefile,getopt/Makefile,include/Makefile,
26170           languages/Makefile,matcher/Makefile,net/Makefile,
26171           queryparser/Makefile,tests/harness/Makefile: Don't pass $(MAKEFLAGS)
26172           on the command line to $(MAKE) when invoking the top level Makefile
26173           from a static Makefile.  It's passed automatically anyway, and also
26174           $(MAKEFLAGS) doesn't have a leading '-' so "make -s" tries to do
26175           "make s" at the top level.
26177 Sat Mar 31 09:28:06 BST 2007  Olly Betts <olly@survex.com>
26179         * tests/api_nodb.cc: Fix end of loop handling.
26181 Sat Mar 31 09:03:26 BST 2007  Olly Betts <olly@survex.com>
26183         * tests/api_nodb.cc: Fix to compile.
26185 Sat Mar 31 07:53:25 BST 2007  Olly Betts <olly@survex.com>
26187         * common/safewindows.h,common/safewinsock2.h: safewindows.h is
26188           included by a lot of files so we want to keep it lightweight
26189           so split winsock2.h related stuff into safewinsock2.h.
26190         * common/remoteconnection.h: Move WinsockInitializer here.
26191         * common/safeerrno.h: #include "safewinsock2.h" not <winsock2.h>.
26193 Sat Mar 31 07:19:06 BST 2007  Olly Betts <olly@survex.com>
26195         * common/remoteserver.h: Stop trying to include "remoteserver.h"
26196           because that's the SAME HEADER!
26198 Sat Mar 31 07:16:23 BST 2007  Olly Betts <olly@survex.com>
26200         * common/tcpclient.h,common/tcpserver.h: Fix comments - the class is
26201           called WinsockInitializer not WinsockInitialiser.
26203 Sat Mar 31 06:54:22 BST 2007  Olly Betts <olly@survex.com>
26205         * net/progclient.cc: Don't compile any code from this file if
26206           __WIN32__ is defined (for mingw).
26208 Sat Mar 31 06:52:27 BST 2007  Olly Betts <olly@survex.com>
26210         * tests/api_nodb.cc: Simplify code in test_stemlangs1().
26212 Sat Mar 31 06:22:26 BST 2007  Olly Betts <olly@survex.com>
26214         * net/remoteconnection.cc: Use const_cast to avoid GCC warning
26215           about casting away const.  Use string::data() rather than
26216           string::c_str() since we don't need a terminating zero byte.
26218 Sat Mar 31 06:20:07 BST 2007  Olly Betts <olly@survex.com>
26220         * backends/dbfactory_remote.cc: Suppress "unused parameter" warnings.
26222 Sat Mar 31 06:17:35 BST 2007  Olly Betts <olly@survex.com>
26224         * net/tcpserver.cc: Make global variable and function used only in
26225           this file static.  Don't call delete on a void* (that's undefined
26226           behaviour) - delete the cast version of the pointer instead.
26228 Sat Mar 31 06:17:20 BST 2007  Olly Betts <olly@survex.com>
26230         * AUTHORS: Add a number of bug reporters I missed before.
26232 Sat Mar 31 04:49:27 BST 2007  Olly Betts <olly@survex.com>
26234         * configure.ac: Clean up handling of --enable-backend-* options.  Let
26235           mingw try to build the remote backend.
26237 Sat Mar 31 03:47:49 BST 2007  Olly Betts <olly@survex.com>
26239         * tests/internaltest.cc: Don't compile test_serialisequery1
26240           if the remote backend is disabled to avoid an "unused
26241           function" warning (we were already disabling the use of
26242           it).
26244 Fri Mar 30 22:43:27 BST 2007  Olly Betts <olly@survex.com>
26246         * HACKING: Correct several inaccuracies: --enable-debug and
26247           --enable-debug=partial don't cause the build system to compile in
26248           debugging symbols (configure defaults to adding "-g" for GCC, while
26249           for other compilers you must enable them by hand).  Also,
26250           --enable-debug doesn't "produce warnings", but causes
26251           Xapian::AssertionError to be thrown.  Add explanation for why
26252           --enable-debug=partial" exists.  CC_FOR_BUILD is now needed for
26253           snowball as well as lemon.
26255 Fri Mar 30 19:53:05 BST 2007  Olly Betts <olly@survex.com>
26257         * common/utils.cc: Avoid GCC warning on format string "%I64d".
26259 Fri Mar 30 16:48:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26261         * common/tcpserver.h,net/tcpserver.cc: Patch from Mark Hammond:
26262           implement for windows.
26264 Fri Mar 30 16:21:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26266         * common/tcpclient.h,net/tcpclient.cc: Patch from Mark Hammond:
26267           implement for windows.
26269 Fri Mar 30 15:52:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26271         * tests/harness/backendmanager.cc: Patch from Mark Hammond:
26272           implement launcher for tcpserver, so that remotetcp tests can run
26273           on windows.
26275 Fri Mar 30 15:42:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26277         * common/safewindows.h: Include xapian/error.h so
26278           WinsockInitialiser can throw an exception.
26280 Fri Mar 30 14:59:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26282         * More code from Mark Hammond's patch
26283         * common/remoteconnection.h: Add explicit destructor and (for
26284           windows compiles) a declare a helper method to calculate the
26285           number of milliseconds until a timeout.
26286         * net/remoteconnection.cc: Implement windows versions for functions
26287           which need it: constructor and destructor now do create and close
26288           the overlapped IO stuff, read_at_least() and send_message() have
26289           windows specific implementations.
26291 Fri Mar 30 13:05:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26293         * More code adapted from Mark Hammond's patch
26294         * common/safewindows.h: When remote databases are compiled in,
26295           include the winsock stuff, and define some useful bits and pieces
26296           for using it.
26297         * common/remoteconnection.h: Add a member to RemoteConnection on
26298           windows to hold an overlapped IO structure.
26299         * net/progclient.cc: Don't include winsock stuff directly (it's now
26300           brought in by "safewindows.h"), and don't include <sys/wait.h> on
26301           windows.
26302         * net/remoteserver.cc: Ignore more SIGPIPE stuff on windows.
26304 Fri Mar 30 12:37:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26306         * Patch from Mark Hammond
26307         * backends/dbfactory_remote.cc: Ignore code to handle SIGPIPE on
26308           windows, where it doesn't exist.
26309         * backends/remote/remote-database.cc: Raise UnimplementedError on
26310           windows if a progclient backend is requested.
26312 Fri Mar 30 12:11:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26314         * tests/harness/testsuite.cc: Fix srcdir guessing on windows -
26315           search for windows style directory separators, and remove .exe
26316           suffix from executable name.  Adapted from Mark Hammond's patch.
26318 Thu Mar 29 18:32:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26320         * Changes related to Mark Hammond's patch:
26321         * common/safeerrno.h: Define a new inline function "socket_errno()"
26322           which returns an error number relating to the last error caused
26323           by a socket function on platforms which make such a distinction,
26324           and the value of errno on other platforms.
26325         * net/tcpclient.cc,net/tcpserver.cc: Use the socket_errno()
26326           function instead of checking the value of errno.  Also, check for
26327           WSAEWOULDBLOCK instead of EINPROGRESS on windows.
26329 Thu Mar 29 15:36:45 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26331         * bin/xapian-tcpsrv.cc,tests/harness/testsuite.cc: First of many
26332           parts of a large patch from Mark Hammond working towards enabling
26333           remote databases on windows.  When displaying errors which might
26334           be socket errors, display the error number as well as the output
26335           of strerror - on windows, strerror doesn't display useful
26336           information for socket errors.
26337         * AUTHORS: Add Mark Hammond
26339 Thu Mar 29 06:07:35 BST 2007  Olly Betts <olly@survex.com>
26341         * api/omqueryinternal.cc: Unserialisation shouldn't reject a
26342           serialised query which ends after a termname.
26343         * tests/internaltest.cc: Add regression test.
26345 Wed Mar 28 17:17:42 BST 2007  Olly Betts <olly@survex.com>
26347         * tests/queryparsertest.cc: Add feature tests for "prefer_mdy" and
26348           "epoch" arguments of DateValueRangeProcessor.
26350 Wed Mar 28 04:52:34 BST 2007  Olly Betts <olly@survex.com>
26352         * tests/queryparsertest.cc: Add more test cases for parsing of value
26353           ranges.
26355 Wed Mar 28 04:18:14 BST 2007  Olly Betts <olly@survex.com>
26357         * languages/compiler/generator.c,languages/compiler/header.h,
26358           languages/steminternal.cc,languages/steminternal.h: For among with
26359           functions (only used by finnish and lovins stemmers currently),
26360           change to generating an array of unsigned byte offsets into an array
26361           of function pointers rather than just an array of function pointers
26362           - this generally requires a lot less space.
26364 Wed Mar 28 03:28:37 BST 2007  Olly Betts <olly@survex.com>
26366         * queryparser/queryparser.lemony: Fix parsing of `hello a..b'.
26367         * tests/queryparsertest.cc: Add regression test for above.  Refactor
26368           qp_value_range1 to use a table of queries.
26370 Wed Mar 28 00:35:50 BST 2007  Olly Betts <olly@survex.com>
26372         * languages: Update svn:ignore for recent romanian changes.
26374 Wed Mar 28 00:08:11 BST 2007  Olly Betts <olly@survex.com>
26376         * api/valuerangeproc.cc: Need #include <stdio.h> for snprintf or
26377           sprintf.
26379 Tue Mar 27 23:53:18 BST 2007  Olly Betts <olly@survex.com>
26381         * queryparser/queryparser.lemony: Fix infinite loop in value range
26382           processing.  Fix value range to work as a filter when used with a
26383           probabilistic query.
26384         * tests/queryparsertest.cc: Add regression tests for the above two
26385           issues.  Refactor qp_value_range2 to use a table of queries.
26387 Tue Mar 27 22:09:57 BST 2007  Olly Betts <olly@survex.com>
26389         * api/valuerangeproc.cc: Assume that the start date is before the
26390           end date to help decide ambiguous cases.
26392 Tue Mar 27 21:49:15 BST 2007  Olly Betts <olly@survex.com>
26394         * api/valuerangeproc.cc: Refactor to simplify and reduce duplication.
26396 Tue Mar 27 21:41:38 BST 2007  Olly Betts <olly@survex.com>
26398         * configure.ac: datarootdir is new in 2.60 too, so use datadir when
26399           setting docdir for 2.59.
26401 Tue Mar 27 18:39:11 BST 2007  Olly Betts <olly@survex.com>
26403         * api/Makefile.mk,api/valuerangeproc.cc,include/xapian/queryparser.h:
26404           Move NumberValueRangeProcessor::operator()() out of the header as
26405           it's too complex for sane inlining.  Implement handling of dmy and
26406           mdy dates and epochs for 2 digit years.
26407         * tests/queryparsertest.cc: Add tests.
26409 Tue Mar 27 11:57:53 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26411         * languages/romanian.sbl: Add Martin Porter's new romanian stemming
26412           algorithm.
26413         * languages/romanian1.sbl,languages/romanian2.sbl: Remove old
26414           romanian stemming algorithms.
26415         * languages/Makefile.mk: Replace romanian1 and romanian2 by
26416           romanian.
26417         * languages/stem.cc: Use romanian stemmer when asked for "ro" or
26418           "romanian".  No longer give a stemmer for "romanian1" or
26419           "romanian2".
26421 Tue Mar 27 04:50:36 BST 2007  Olly Betts <olly@survex.com>
26423         * languages/german2.sbl: Copy over "hop 3" in utf-8 case from
26424           snowball's latest version.
26426 Tue Mar 27 04:44:52 BST 2007  Olly Betts <olly@survex.com>
26428         * tests/stemtest.cc: Remove lower casing of dictionary words before
26429           stemming - instead we'll make sure the dictionary is already the
26430           right case.
26432 Tue Mar 27 04:28:10 BST 2007  Olly Betts <olly@survex.com>
26434         * languages/compiler/analyser.c,languages/compiler/generator.c,
26435           languages/compiler/header.h,languages/steminternal.cc,
26436           languages/steminternal.h: Add handling of among with functions.
26437           We use a "shim" functions for each method we want to call in
26438           this way.  The shim function is passed the "this" pointer and
26439           calls a particular method on this.  Split the functions into
26440           an optional separate array, since they're not used by most of
26441           the stemming algorithms.
26442         * languages/Makefile.mk,languages/stem.cc: Enable the finnish
26443           and lovins stemmers.
26445 Tue Mar 27 04:24:37 BST 2007  Olly Betts <olly@survex.com>
26447         * languages/steminternal.cc: Fix typo bug in slice_to - if we needed
26448           to increase the capacity of a snowball string variable, we trashed
26449           the variable with p (bug discovered while trying to enable the
26450           finnish stemmer).
26452 Tue Mar 27 02:55:51 BST 2007  Olly Betts <olly@survex.com>
26454         * include/xapian/queryparser.h: Implement handling of ISO format dates
26455           in DateValueRangeProcessor.
26456         * tests/queryparsertest.cc: Add feature tests.
26458 Tue Mar 27 01:47:36 BST 2007  Olly Betts <olly@survex.com>
26460         * include/xapian/queryparser.h: Implement prefix and suffix handling
26461           for NumberValueRangeProcessor.
26462         * tests/queryparsertest.cc: Add feature tests.
26464 Mon Mar 26 22:26:48 BST 2007  Olly Betts <olly@survex.com>
26466         * queryparser/utf8itor.h: Add is_currency() predicate function.
26467         * queryparser/queryparser.lemony: Rejig parsing of RANGE_START to
26468           allow all characters which are likely to be required.
26469         * tests/queryparsertest.cc: Test RANGE_START can contain "/".
26470         * queryparser/queryparser.lemony: Set "syntax=yacc" for vim, which
26471           give fairly decent syntax highlighting.
26473 Mon Mar 26 15:43:50 BST 2007  Olly Betts <olly@survex.com>
26475         * configure.ac: Use m4 comments not shell (dnl not #).
26477 Mon Mar 26 15:41:41 BST 2007  Olly Betts <olly@survex.com>
26479         * configure.ac: Add code to ensure that docdir is set for autoconf
26480           2.59 (starting from 2.60, it is defined as standard).
26481         * docs/Makefile.am: Use docdir for installing docs.
26483 Sun Mar 25 15:41:16 BST 2007  Olly Betts <olly@survex.com>
26485         * bin/xapian-compact.cc: Prune unused docids off the start of each
26486           source database's range of docid.
26488 Sat Mar 24 23:07:42 GMT 2007  Olly Betts <olly@survex.com>
26490         * include/xapian/base.h: Add a note explaining why it's OK that
26491           RefCntBase doesn't have a virtual destructor.
26493 Sat Mar 24 01:30:17 GMT 2007  Olly Betts <olly@survex.com>
26495         * HACKING,configure.ac: Bump the automake required version to 1.9.5.
26496           It was in Debian sarge, so any modern Linux distro should include
26497           packages, and we've actually been bootstrapping with 1.9.6 for ages.
26499 Thu Mar 22 00:53:35 GMT 2007  Olly Betts <olly@survex.com>
26501         * configure.ac: Disable probes for f77 more completely by preventing
26502           the probe code from even appearing in configure.  Similarly
26503           eliminate the code for gcj and rc probes - in total these changes
26504           reduce the size of configure by 209KB (~25%).
26506 Fri Mar 09 14:28:01 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26508         * Makefile.am: Add include/xapian/error.h to list of headers to
26509           install.
26511 Thu Mar 08 17:16:08 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26513         * generate-exceptions.in,exception_data.pm: Split definitions of
26514           the exception hierarchy into a separate file, so it can be reused
26515           elsewhere.
26516         * Makefile.am: Add exception_data.pm as a dependency for generating
26517           error.h, and add it to EXTRA_DIST.
26519 Fri Mar 09 06:42:40 GMT 2007  Olly Betts <olly@survex.com>
26521         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: We
26522           always ignore the return value from FlintCursor::get_key() because
26523           we only call it when it shouldn't fail, so restructure the code so
26524           it can't fail and change the return value to void.
26526 Fri Mar 09 06:33:09 GMT 2007  Olly Betts <olly@survex.com>
26528         * configure.ac: Suppress another aCC warning.
26530 Thu Mar 08 20:39:46 GMT 2007  Olly Betts <olly@survex.com>
26532         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow
26533           arbitrary characters in a range end (anything except whitespace
26534           and ')').
26536 Thu Mar 08 19:46:46 GMT 2007  Olly Betts <olly@survex.com>
26538         * Makefile.am,languages/Makefile.mk: Depend on the autoconf
26539           substituted version of a script, not the template version.  The
26540           only thing we substitute is @PERL@, but configure won't update
26541           a substituted file which hasn't changed so it's better to put
26542           the dependency on the script itself where it belongs.
26544 Thu Mar 08 17:09:21 GMT 2007  Olly Betts <olly@survex.com>
26546         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Keep any
26547           non-whitespace, non-term prefix for a term in case it turns out
26548           to be the start of a range, so "$50..100" works.
26550 Thu Mar 08 16:21:14 GMT 2007  Olly Betts <olly@survex.com>
26552         * HACKING: Add my "create docs/GNUmakefile" trick to avoid doxygen
26553           delays.
26555 Thu Mar 08 16:13:39 GMT 2007  Olly Betts <olly@survex.com>
26557         * HACKING: A few more coding guidelines.
26559 Thu Mar 08 14:26:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26561         * HACKING: Adjust wording to indicate that the build system is
26562           indended not to break after SVN updates.
26564 Thu Mar 08 07:34:22 GMT 2007  Olly Betts <olly@survex.com>
26566         * include/xapian/queryparser.h,tests/queryparsertest.cc: Add simple
26567           implementations of DateValueRangeProcessor and
26568           NumberValueRangeProcessor and add qp_value_range2 to check that
26569           chaining ValueRangeProcessor subclasses works as intended.
26571 Thu Mar 08 06:06:15 GMT 2007  Olly Betts <olly@survex.com>
26573         * docs/overview.html: Fix links to error classes in generated API
26574           documentation.
26576 Thu Mar 08 05:37:13 GMT 2007  Olly Betts <olly@survex.com>
26578         * include/xapian/queryparser.h,queryparser/queryparser.cc,
26579           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
26580           tests/queryparsertest.cc: Add the ability to parse "value ranges"
26581           to the QueryParser (e.g. "10..50") which translate into a Query
26582           with operator OP_VALUE_RANGE.
26584 Thu Mar 08 04:27:54 GMT 2007  Olly Betts <olly@survex.com>
26586         * include/xapian/queryparser.h,queryparser/queryparser.cc: Remove
26587           QueryParser::set_stemming_options() which has been deprecated
26588           since 0.9.0.
26590 Thu Mar 08 03:37:07 GMT 2007  Olly Betts <olly@survex.com>
26592         * backends/flint/flint_lock.cc: Handle write failing to send a single
26593           byte down down the pipe to tell the parent we've got the lock (a
26594           potential bug noticed by _FORTIFY_SOURCE!)  Handle read() failing
26595           with an unexpected error on the parent side by failing the lock
26596           attempt rather than risking an infinite loop.
26598 Thu Mar 08 02:52:26 GMT 2007  Olly Betts <olly@survex.com>
26600         * include/xapian/types.h: Rewritten, with more accurate documentation
26601           comments.  Add constant Xapian::BAD_VALUENO which is -1 cast to
26602           Xapian::valueno.
26603         * api/omenquire.cc,include/xapian/enquire.h,matcher/multimatch.cc: Use
26604           Xapian::BAD_VALUENO instead of Xapian::valueno(-1).
26606 Thu Mar 08 01:47:08 GMT 2007  Olly Betts <olly@survex.com>
26608         * docs/Makefile.am: Try putting apidoc/html in EXTRA_DIST instead of
26609           using dist-hook.
26611 Wed Mar 07 23:16:52 GMT 2007  Olly Betts <olly@survex.com>
26613         * docs/Makefile.am: Stop shipping docs/apidoc/latex/* in the
26614           xapian-core tarballs since it's just useless bloat.  Removing it
26615           more than halves the size of the tarball (55% reduction!)
26617 Wed Mar 07 22:07:31 GMT 2007  Olly Betts <olly@survex.com>
26619         * tests/runtest.in: If we aren't using valgrind, turn on
26620           MALLOC_CHECK_ and MALLOC_PERTURB_ for glibc.
26622 Wed Mar 07 20:02:31 GMT 2007  Olly Betts <olly@survex.com>
26624         * INSTALL: CVS -> SVN.
26626 Wed Mar 07 20:00:37 GMT 2007  Olly Betts <olly@survex.com>
26628         * configure.ac: Define _FORTIFY_SOURCE in config.h if GCC is in use
26629           and it's not already set.  That way the user can easily override.
26630         * INSTALL: Document this.
26632 Wed Mar 07 19:53:15 GMT 2007  Olly Betts <olly@survex.com>
26634         * INSTALL: Remove reference to muscat36 backend.
26636 Wed Mar 07 17:37:07 GMT 2007  Olly Betts <olly@survex.com>
26638         * configure.ac: Note GCC and glibc versions needed for _FORTIFY_SOURCE
26639           support.
26641 Wed Mar 07 16:29:02 GMT 2007  Olly Betts <olly@survex.com>
26643         * queryparser/lemon.c: Increase the length allowed for the filename
26644           in an error message, as it was being truncated which makes for a
26645           confusing error message and stops editors jumping to the line with
26646           the error in.
26648 Wed Mar 07 15:57:15 GMT 2007  Olly Betts <olly@survex.com>
26650         * common/Makefile.mk: Ship common/msvc_posix_wrapper.h and
26651           common/msvc_posix_wrapper.cc.
26653 Wed Mar 07 10:01:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26655         * configure.ac: Add -D_FORTIFY_SOURCE to AM_CXXFLAGS for GCC
26656           builds.  According to glibc CVS support for this was added in
26657           October 2004, but it doesn't seem to be documented very well,
26658           other than in features.h.  This adds some extra checking for
26659           array bounds, partially at compile time, but doesn't currently
26660           find any problems (or cause any noticeable slowdown).
26662 Wed Mar 07 04:49:01 GMT 2007  Olly Betts <olly@survex.com>
26664         * api/omqueryinternal.cc: Include str_parameter in swap() and the copy
26665           constructor.
26666         * tests/api_anydb.cc: get_mset(0, 20) not get_mset(1, 20)!  Also check
26667           that we didn't miss any documents which should match the filter, not
26668           just that we didn't get any documents which shouldn't.
26670 Wed Mar 07 03:07:49 GMT 2007  Olly Betts <olly@survex.com>
26672         * tests/harness/unixcmds.h: Fixed reverse sense include guard test.
26673         * tests/api_db.cc: Still need #include "utils.h".
26674         * tests/harness/backendmanager.cc: Update for rmdir.h -> unixcmds.h
26675           and rmdir() -> rm_rf().
26677 Wed Mar 07 02:22:30 GMT 2007  Olly Betts <olly@survex.com>
26679         * backends/quartz/btree.cc,backends/quartz/quartz_database.cc,
26680           backends/quartz/quartz_log.cc,common/utils.h,net/remoteconnection.cc,
26681           net/tcpclient.cc,tests/api_db.cc,tests/btreetest.cc,tests/harness/,
26682           tests/quartztest.cc: Rename rmdir() to rm_rf() since it does the
26683           same as "rm -rf" not "rmdir".  The "touch()" function is only used
26684           in the testsuite so move it from common/utils.h into
26685           tests/harness/rmdir.cc and rename rmdir.cc to unixcmds.cc.
26686           common/utils.h no longer include safefcntl.h, so add explicit
26687           includes to the files which were previous relying on utils.h pulling
26688           it in.
26690 Wed Mar 07 02:21:18 GMT 2007  Olly Betts <olly@survex.com>
26692         * xapian.spec.in: Include ChangeLog.examples.
26694 Wed Mar 07 02:17:59 GMT 2007  Olly Betts <olly@survex.com>
26696         * docs/index.html,docs/internals.html: Create a separate index page
26697           for the "internal" documentation.
26699 Tue Mar 06 23:47:58 GMT 2007  Olly Betts <olly@survex.com>
26701         * common/utils.cc,common/utils.h: Remove map_string_to_value() which
26702           is no longer used.
26703         * common/utils.h: Remove prototype for rmdir() which I failed to
26704           remove with the earlier commit.
26706 Tue Mar 06 22:51:51 GMT 2007  Olly Betts <olly@survex.com>
26708         * tests/harness/rmdir.cc: Fix rmdir() on Unix to not be O(n^2) in the
26709           worst case.
26711 Tue Mar 06 22:46:30 GMT 2007  Olly Betts <olly@survex.com>
26713         * docs/Makefile.am: Use the "inline test || echo" idiom to merge the
26714           VPATH and non-VPATH cases for distributing and installing the HTML
26715           apidocs.
26717 Tue Mar 06 22:13:03 GMT 2007  Olly Betts <olly@survex.com>
26719         * api/omqueryinternal.cc: Fix Query::get_description() on an
26720           OP_VALUE_RANGE query.
26722 Tue Mar 06 09:03:33 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26724         * HACKING: Note on running preautoreconf and autoreconf to keep SVN
26725           builds working.
26726         * PLATFORMS: Update with success reports for windows builds.
26728 Tue Mar 06 01:57:23 GMT 2007  Olly Betts <olly@survex.com>
26730         * tests/internaltest.cc: Comment out the "unsigned long long" testcase
26731           in tostring1 since the library doesn't currently have (or need) the
26732           utility function for that case.
26734 Tue Mar 06 01:49:55 GMT 2007  Olly Betts <olly@survex.com>
26736         * common/utils.cc,tests/btreetest.cc,tests/harness/,
26737           tests/quartztest.cc: rmdir() is only used in the test suite, and not
26738           in the library code, so move it into the testsuite.  Also, bow out
26739           early if the pathname passed is empty, and on Unix protect against
26740           filenames which start with "-".
26742 Mon Mar 05 02:52:49 GMT 2007  Olly Betts <olly@survex.com>
26744         * configure.ac: Suppress more unhelpful aCC warnings.
26746 Mon Mar 05 02:15:29 GMT 2007  Olly Betts <olly@survex.com>
26748         * tests/internaltest.cc: Add testcase autoptr1 which tests that an
26749           autoptr correctly handles self-assignment.
26751 Mon Mar 05 02:05:53 GMT 2007  Olly Betts <olly@survex.com>
26753         * tests/internaltest.cc: Rename "omtostring1" to "tostring1" (we don't
26754           want to perpetuate references to "om"!)  Add more test cases to this
26755           test.
26757 Mon Mar 05 01:18:17 GMT 2007  Olly Betts <olly@survex.com>
26759         * configure.ac: Update in line with 0.9.10.
26761 Sun Mar 04 23:58:29 GMT 2007  Olly Betts <olly@survex.com>
26763         * AUTHORS: Add reporters of bugs fixed in 0.9.10 to the "thanks" list.
26765 Sun Mar 04 00:44:17 GMT 2007  Olly Betts <olly@survex.com>
26767         * api/errorhandler.cc,include/xapian/errorhandler.h: Move virtual
26768           dtor for ErrorHandler out of the header.  Same reasons as previous
26769           commit.
26771 Sun Mar 04 00:40:44 GMT 2007  Olly Betts <olly@survex.com>
26773         * api/omenquire.cc,include/xapian/enquire.h,matcher/Makefile.mk,
26774           matcher/weight.cc: Move virtual method definitions out of headers
26775           for MatchDecider, ExpandDecider, Weight, BoolWeight.  This fixes
26776           warnings from aCC, and it's rare that the compiler would be able
26777           to inline a virtual method anyway.
26779 Sat Mar 03 21:40:43 GMT 2007  Olly Betts <olly@survex.com>
26781         * configure.ac: For HP's aCC, we no longer need to suppress warning
26782           #336 (empty translation unit) since dummy.cc is history.  But we
26783           do want to suppress a couple of frequently reported "remarks" which
26784           are unavoidable and don't indicate a problem.  Experimentally, add
26785           "+wlint" for "link-like" warnings.
26787 Sat Mar 03 21:38:52 GMT 2007  Olly Betts <olly@survex.com>
26789         * include/xapian.h,include/xapian/version_h.cc: Move function
26790           prototypes into a non-generated header.
26791         * configure.ac,msvc/version.h.in: Generate version.h suitable for use
26792           with MSVC.
26793         * Makefile.am: Distribute msvc/version.h.
26795 Sat Mar 03 19:49:11 GMT 2007  Olly Betts <olly@survex.com>
26797         * tests/harness/backendmanager.cc: Rework how we start and handle
26798           xapian-tcpsrv - it's now started by exec from a child process.
26799           This means that the mechanism to try higher port numbers works
26800           reliably, and we no longer leak file descriptors (which was causing
26801           tests to fail on some platforms).
26803 Sat Mar 03 19:46:03 GMT 2007  Olly Betts <olly@survex.com>
26805         * bin/xapian-tcpsrv.cc: Put "e.get_errno()" in a variable for clearer
26806           code.
26808 Sat Mar 03 16:01:17 GMT 2007  Olly Betts <olly@survex.com>
26810         * common/msvc_posix_wrapper.cc: Change `#include <fcntl.h>' to
26811           `#include "safefcntl.h"' (currently makes no difference on
26812           Windows, but it's more consistent to always use the safeXXX
26813           headers).
26814         * common/msvc_posix_wrapper.cc: Merge two ECHILD cases.
26815         * common/msvc_posix_wrapper.cc: Make sure dwCreationDisposition
26816           is initialised even if flags has a bogus value.
26817         * common/msvc_posix_wrapper.cc: Be consistent and always use O_CREAT,
26818           etc, instead of sometimes using the MS alternative forms _O_CREAT,
26819           etc.
26821 Sat Mar 03 03:25:05 GMT 2007  Olly Betts <olly@survex.com>
26823         * generate-exceptions.in: The GCC visibility docs aren't clear whether
26824           you need to make *thrown* exception types visible, or also *caught*
26825           exception types.  But I've just been having odd problems catching
26826           Xapian::DocNotFoundError with "const Xapian::Error &", so let's mark
26827           the exception virtual baseclass Xapian::Error as visible too.
26829 Fri Mar 02 22:34:04 GMT 2007  Olly Betts <olly@survex.com>
26831         * languages/Makefile.mk,languages/generate-allsnowballheaders.in:
26832           Convert unreadable make rule for generating allsnowballheaders.h
26833           to a perl script.
26834         * configure.ac: Substitute languages/allsnowballheaders.
26836 Fri Mar 02 14:31:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26838         * tests/internaltest.cc: Add a test for om_tostring(), mainly
26839           aimed at 64 bit types on windows platforms.  Mingw builds report
26840           a warning in this code, which merits further investigation - see
26841           Bug #112 for details.
26843 Fri Mar 02 14:15:44 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26845         * common/msvc_posix_wrapper.cc: Improve accuracy of emulation of
26846           posix open, and fix a bug which caused it to misinterpret the
26847           "flags" argument - files were always being opened for writing:
26848           O_RDONLY is 0, so the old test (flags & O_RDONLY) always
26849           failed.
26851 Fri Mar 02 12:44:33 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26853         * common/msvc_posix_wrapper.cc: Fix whitespace issues.
26855 Fri Mar 02 12:18:42 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26857         * HACKING: Add note about how to generate ChangeLog timestamps
26858           using the unix date command - and I've started generating them in
26859           the same format as Olly is. (I hope.)
26861 Fri Mar  2 11:49:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26863         * common/msvc_posix_wrapper.h,common/safeerrno.h,
26864           common/msvc_posix_wrapper.cc,backends/quartz/btree.cc,
26865           backends/flint/flint_table.cc,backends/flint/flint_btreebase.cc:
26866           Move MSVC specific code for opening files into
26867           msvc_posix_wrapper.cc, and just leave a few conditional includes
26868           and function calls elsewhere.
26870 Thu Mar 01 22:51:42 GMT 2007  Olly Betts <olly@survex.com>
26872         * queryparser/queryparser.lemony: Add casts to U_isupper(), etc to
26873           suppress warnings from aCC.
26874         * queryparser/queryparser.lemony: Use U_isdigit() instead of
26875           C_isdigit(), etc - the truncation to a char can cause false
26876           positives.
26877         * tests/queryparsertest.cc: Add a (rather contrived) regression test
26878           for the above change.
26880 Thu Mar 01 21:49:37 GMT 2007  Olly Betts <olly@survex.com>
26882         * queryparser/utf8itor.h: Add cast to suppress warning from aCC.
26884 Thu Mar  1 15:27:09 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26886         * common/utils.c,common/utils.h: For windows, add an om_tostring()
26887           function for 64 bit integers: time() and GetProcessId() return
26888           these, and without this, backends/quartz/quartz_log.cc reports
26889           an error.
26891 Thu Mar  1 13:48:46 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26893         * queryparser/queryparser.lemony: Fix handling of hated wildcards
26894           which don't expand to any terms.
26896 Thu Mar  1 13:45:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26898         * tests/queryparsertest.cc: Fix last two test cases for hated
26899           wildcards to check for exactly what should be returned.
26901 Thu Mar  1 12:02:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26903         * common/safeerrno.h: Some of Microsoft's C++ compiler versions
26904           earlier than 2005 do not have _set_errno, so #define it in this
26905           case.
26907 Thu Mar 01 04:28:23 GMT 2007  Olly Betts <olly@survex.com>
26909         * backends/quartz/btree.h: Correct comment ("read" -> "write").
26911 Thu Mar 01 04:21:52 GMT 2007  Olly Betts <olly@survex.com>
26913         * backends/flint/flint_table.h: Correct comment ("read" -> "write").
26915 Thu Mar 01 01:30:02 GMT 2007  Olly Betts <olly@survex.com>
26917         * tests/queryparsertest.cc: Add some test cases for hated wildcards
26918           which don't expand to any terms.
26920 Thu Mar 01 01:21:42 GMT 2007  Olly Betts <olly@survex.com>
26922         * api/omqueryinternal.cc: Complete truncated comment.  Prefer
26923           preincrement to postincrement.
26925 Wed Feb 28 20:13:35 GMT 2007  Olly Betts <olly@survex.com>
26927         * api/omdocument.cc: Really tweak OmDocumentTerm::add_position() so
26928           that adding position 0 to an empty termlist takes the shortcut.
26930 Wed Feb 28 15:04:25 GMT 2007  Olly Betts <olly@survex.com>
26932         * common/safeerrno.h: Correct <safeerrno.h> to "safeerrno.h" in
26933           message in #error directive.
26935 Wed Feb 28 14:59:29 GMT 2007  Olly Betts <olly@survex.com>
26937         * include/xapian/query.h: Removed documentation comment for
26938           Xapian::Query::Internal which is no longer relevant (Query objects
26939           are now immutable once constructed, so parameters can no longer be
26940           set separately).
26942 Wed Feb 28 02:42:31 GMT 2007  Olly Betts <olly@survex.com>
26944         * api/omqueryinternal.cc: Add support for serialising OP_VALUE_RANGE
26945           queries.  Add support for OP_VALUE_RANGE queries to
26946           Query::get_description().  If an OP_VALUE_RANGE query has a start
26947           bound strictly greater than its end bound, simplify it by knowing
26948           that it can't match anything.
26949         * common/remoteprotocol.h,docs/remote_protocol.html: Bump remote
26950           protocol version to 24.
26952 Wed Feb 28 01:15:00 GMT 2007  Olly Betts <olly@survex.com>
26954         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
26955           matcher/: Add new Query operator OP_VALUE_RANGE which allows
26956           a query to be filtered by checking if a value lies between
26957           two limits.
26958         * tests/api_anydb.cc: Add feature test valuerange1.
26960 Wed Feb 28 01:07:53 GMT 2007  Olly Betts <olly@survex.com>
26962         * tests/harness/testsuite.cc: Only hook the testsuite into valgrind if
26963           env var XAPIAN_TESTSUITE_VALGRIND is set, to make it simple to run a
26964           test program under valgrind normally.
26965         * tests/runtest.in: Set XAPIAN_TESTSUITE_VALGRIND if automatically
26966           running a test program under valgrind.
26968 Tue Feb 27 23:51:34 GMT 2007  Olly Betts <olly@survex.com>
26970         * tests/Makefile.am: Turn subdir-objects back on here so that the
26971           harness objects end up in the harness subdirectory.
26973 Tue Feb 27 22:45:04 GMT 2007  Olly Betts <olly@survex.com>
26975         * examples/delve.cc: Rename "-k" to "-V" since "keys" were renamed to
26976           "values" long ago.  Keep "-k" as an alias for now, but don't
26977           advertise it.  Add handling so "-V3" shows value #3 for every
26978           document in the database.
26980 Tue Feb 27 21:35:35 GMT 2007  Olly Betts <olly@survex.com>
26982         * tests/Makefile.am,tests/remotetest.cc: Get rid of remotetest since
26983           it no longer does anything.
26985 Tue Feb 27 21:28:28 GMT 2007  Olly Betts <olly@survex.com>
26987         * tests/api_db.cc,tests/remotetest.cc: Move netstats1 from remotetest
26988           to apitest.  It will now run for "remotetcp" as well as "remote".
26990 Tue Feb 27 21:27:17 GMT 2007  Olly Betts <olly@survex.com>
26992         * tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
26993           Inline trivial getter and setter methods in the header.  Make
26994           getter method const.
26996 Tue Feb 27 20:22:58 GMT 2007  Olly Betts <olly@survex.com>
26998         * examples/delve.cc: Change to not stem terms by default.  Add
26999           "-s/--stemmer" option to allow a stemmer to be specified.
27001 Tue Feb 27 17:50:13 GMT 2007  Olly Betts <olly@survex.com>
27003         * backends/flint/flint_table.cc: Test revision_supplied rather than
27004           revision_ so that behaviour matches comments.
27006 Tue Feb 27 16:58:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27008         * tests/api_wrdb.cc: Enhance crashrecovery1 to check that the
27009           readers reference a database with the expected number of
27010           documents.  This checks that the base files which were removed
27011           were the correct ones to leave the current database valid.
27013 Tue Feb 27 16:54:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27015         * backends/quartz/btree.cc,backends/quartz/btree.h,
27016           backends/quartz/quartz_database.cc: Apply fix for opening
27017           databases while under heavy modification to quartz, using Olly's
27018           attachment to bug #108:
27019           http://www.xapian.org/cgi-bin/bugzilla/attachment.cgi?id=43
27020           Verified with loadtest that this resolves the issue.
27022 Tue Feb 27 13:12:31 GMT 2007  Olly Betts <olly@survex.com>
27024         * tests/harness/backendmanager.h: Add get_dbtype() method to allow the
27025           current backend type to be read.
27026         * tests/apitest.cc,tests/apitest.h: Add get_dbtype() function to allow
27027           BackendManager::get_dbtype() to be called by tests.
27028         * tests/api_wrdb.cc: Add new test crashrecovery1 to verify that the
27029           backend can recover from the latest revision missing some of the
27030           base files.
27032 Tue Feb 27 12:45:00 GMT 2007  Olly Betts <olly@survex.com>
27034         * tests/harness/backendmanager.cc: Fix how we start xapian-progsrv
27035           when running under valgrind.
27037 Tue Feb 27 11:34:22 GMT 2007  Olly Betts <olly@survex.com>
27039         * backends/flint/flint_database.cc: Remove the old throw for
27040           DatabaseOpeningError so the new throw for DatabaseModifiedError will
27041           actually be used.
27043 Tue Feb 27 09:22:52 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27045         * flint_table.cc,flint_table.h,flint_database.cc: If a database is
27046           being frequently modified (ie, transactions committed extremely
27047           frequently), flint can fail open all the tables at a consistent
27048           revision on the first attempt.  The code to handle this in
27049           flint_database.cc was not firing because flint_table.cc was
27050           reporting all failures to open a table for reading by throwing an
27051           exception.  This commit changes flint_table.cc to report failure
27052           to open at a specific revision by returning false.
27054           In addition, there was a bug in flint_database.cc which caused
27055           the attempts to re-try opening a database in this situation to
27056           fail.  This is now fixed.
27058           Finally, flint_database.cc now throws a DatabaseModified error if
27059           100 attempts to reopen the database fail because of continual
27060           modifications - previously, it would have thrown a
27061           DatabaseOpening error.
27063           There is no easy regression test - but my "loadtest.cc" program
27064           attached to bug #108 shows the problem (if you comment out the
27065           code which ignores DatabaseOpeningErrors).
27067 Tue Feb 27 01:25:00 GMT 2007  Olly Betts <olly@survex.com>
27069         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Need to
27070           define DOXYGEN so that the previous change to the generated
27071           errordispatch.h works.  Remove obsolete macros from
27072           EXPAND_AS_DEFINED and PREDEFINED.
27073         * docs/doxygen_full_conf.in: Increase MAX_DOT_GRAPH_WIDTH from
27074           800 to 1024 to match doxygen_api_conf.in.
27076 Tue Feb 27 00:41:47 GMT 2007  Olly Betts <olly@survex.com>
27078         * matcher/multimatch.cc: Fix warning with SGI's CC.
27080 Tue Feb 27 00:35:06 GMT 2007  Olly Betts <olly@survex.com>
27082         * generate-exceptions.in: Wrap errordispatch.h in "#ifndef DOXYGEN"
27083           and "#endif" because doxygen gets confused by a header full of
27084           code.
27086 Mon Feb 26 21:53:41 GMT 2007  Olly Betts <olly@survex.com>
27088         * tests/findheaders.pl: Remove long unused perl script.
27090 Mon Feb 26 19:23:50 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27092         * tests/api_wrdb.c: test_emptyterm2 used to delete a writable
27093           database whilst the database was open.  Unfortunately, this
27094           doesn't work on windows (and it doesn't seem to be easy to make
27095           it work), so this patch changes the test to close each database
27096           before opening the next writable database at the same path.
27097           Fortunately, this seems to be the only test which behaves like
27098           this.  Also, added a note to the win32 README file to document
27099           this restriction.
27101 Mon Feb 26 19:19:34 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27103         * docs/Makefile.am: touch apidoc/html/index.html after apidoc.pdf
27104           is created so that make doesn't attempt to regenerate it due to
27105           the dependency of apidoc/html/index.html on apidoc.pdf.
27106           Similarly for sourcedoc/html/index.html.
27108 Mon Feb 26 18:36:22 GMT 2007  Olly Betts <olly@survex.com>
27110         * tests/harness/backendmanager.cc: Indent with tabs not spaces.
27111         * tests/harness/index_utils.cc: Add missing space after "if";
27112           prefer "X.empty()" to "X.size() == 0".
27114 Mon Feb 26 16:10:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27116         * tests/harness/index_utils.cc,tests/harness/backendmanager.cc:
27117           Fix for windows: windows file handling seems to have a bug
27118           causing end of file conditions in ifstream to be missed.  As a
27119           result, an empty string was being returned from the get_paragraph
27120           function in the test harness, resulting in an out-of-bounds error
27121           when generating a value from the paragraph.  Add a check that the
27122           paragraph returned isn't empty, and return an empty document if
27123           it is.  Then, check for empty documents (ie, contain some terms)
27124           before adding them to the test database.
27126 Mon Feb 26 16:05:07 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27128         * backends/quartz/btree_base.cc,backends/flint/flint_btreebase.cc:
27129           Fix for windows: string append method with a pointer and length
27130           causes a segfault-type error on windows if the pointer is NULL,
27131           even if the length is also 0.  Check for this case when appending
27132           the bitmap to the base block, since a NULL pointer is passed for
27133           an empty bitmap when a new database is being created.
27135           Also, initialise the bit_map0 and bitmap members to 0 in the
27136           FlintTable_base constructor which takes a string and a char
27137           argument - they had been omitted from this and were only being
27138           initialised by the constructor which takes no argument.  This
27139           didn't seem to be having any negative effect, but doing it makes
27140           the code neater.
27142 Sun Feb 25 23:21:11 GMT 2007  Olly Betts <olly@survex.com>
27144         * backends/inmemory/inmemory_database.cc: Create the RefCntPtr to this
27145           as an explicit variable to make the code more readable.
27147 Sun Feb 25 19:20:33 GMT 2007  Olly Betts <olly@survex.com>
27149         * matcher/multimatch.cc: Fix inconsistent ordering between pages with
27150           set_sort_by_value_then_relevance (fixes bug#110).
27151         * tests/api_wrdb.cc: Enabled test consistency2.
27153 Sun Feb 25 17:28:09 GMT 2007  Olly Betts <olly@survex.com>
27155         * matcher/: Also apply the "decreasing weights with remote database"
27156           optimisations which we use in the sort_by_relevance case in the
27157           sort_by_relevance_then_value case.
27159 Sat Feb 24 19:35:41 GMT 2007  Olly Betts <olly@survex.com>
27161         * backends/inmemory/inmemory_database.cc: If replace_document is used
27162           to set the docid of a newly added document which has previously
27163           existed, then we need to mark that document as valid (caught by
27164           existing test replacedoc4 in a debug build).
27166 Sat Feb 24 17:11:22 GMT 2007  Olly Betts <olly@survex.com>
27168         * tests/api_wrdb.cc: Add regression test consistency2 for bug#110
27169           (currently skipped since the bug isn't fixed yet).
27171 Thu Feb 22 15:18:53 GMT 2007  Olly Betts <olly@survex.com>
27173         * configure.ac: Add proper detection for SGI's C++ (check stderr
27174           output of "CC -v").  Automatically pass -ptused in CXXFLAGS for
27175           xapian-core and any applications using xapian-config --cxxflags
27176           since it seems to be required to avoid template linking errors.
27178 Thu Feb 22 09:04:30 GMT 2007  Olly Betts <olly@survex.com>
27180         * docs/Makefile.am: Ship generated RSTHTML files.
27182 Wed Feb 21 19:01:06 GMT 2007  Olly Betts <olly@survex.com>
27184         * languages/turkish.sbl: Make some simplifications to the code of the
27185           turkish stemmer.
27187 Wed Feb 21 19:00:11 GMT 2007  Olly Betts <olly@survex.com>
27189         * languages/Makefile.mk,languages/stem.cc,languages/turkish.sbl:
27190           Add turkish stemmer.
27192 Wed Feb 21 18:55:03 GMT 2007  Olly Betts <olly@survex.com>
27194         * languages/compiler/generator.c: Number m_test and c_test variables
27195           to avoid variable shadowing warnings.
27197 Wed Feb 21 18:07:50 GMT 2007  Olly Betts <olly@survex.com>
27199         * languages/compiler/generator.c: Remove duplicate copy of function
27200           resulting from ham-fisted reverting and applying of patches.
27202 Wed Feb 21 18:03:12 GMT 2007  Olly Betts <olly@survex.com>
27204         * languages/compiler/generator.c,languages/compiler/header.h: Number
27205           mlimit variables to avoid variable shadowing warnings.
27206         * languages/compiler/generator.c: Use "if (foo() == -1) return -1;"
27207           which avoids a temporary variable (improving readability of
27208           generated code) and producing very slightly faster code.
27209         * languages/compiler/header.h: Use "#ifdef DISABLE_JAVA" around Java
27210           generator specific struct members and prototypes.
27212 Wed Feb 21 17:47:13 GMT 2007  Olly Betts <olly@survex.com>
27214         * languages/compiler/generator.c: Add "~C" comments to generated
27215           source for more operations.
27217 Tue Feb 20 20:24:30 GMT 2007  Olly Betts <olly@survex.com>
27219         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Ensure
27220           both_bases is set to false if we don't have both bases when
27221           opening a table using an existing object.
27223 Tue Feb 20 15:57:05 GMT 2007  Olly Betts <olly@survex.com>
27225         * preautoreconf: Fix to handle generating dependencies on generated
27226           objects, at least for the "checked out tree from SVN" case.  Fixing
27227           this fully is trickier, but currently this is stopped snapshots
27228           from bootstrapping.
27230 Tue Feb 20 14:28:02 GMT 2007  Charlie Hull
27232         * backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc,
27233           backends/quartz/btree.cc: Use MS Windows API calls to delete
27234           files and open files we might want to delete while they are
27235           still open (i.e. the flint and quartz btree base files).  This
27236           fixes a problem when a writer can't discard an old revision at the
27237           exact moment a reader is opening it (bug #108).
27239 Tue Feb 20 14:13:43 GMT 2007  Richard Boulton <richard@tartarus.org>
27241         * .: Add generate-exceptions to svn:ignore property.
27243 Tue Feb 20 13:36:27 GMT 2007  Olly Betts <olly@survex.com>
27245         * generate-exceptions.in: Add missing '}' to close 'namespace Xapian'
27246           in generated header 'xapian/error.h'.
27248 Tue Feb 20 13:26:19 GMT 2007  Olly Betts <olly@survex.com>
27250         * Makefile.am: Put generated exception headers in BUILT_SOURCES.
27252 Tue Feb 20 12:10:18 GMT 2007  Olly Betts <olly@survex.com>
27254         * Makefile.am,configure.ac,generate-exceptions.in,include/Makefile.mk,
27255           include/xapian/error.h,include/xapian/errortypes.h,net/serialise.cc:
27256           Replace macro gymnastics with errortypes.h by a perl script which
27257           generates the headers we require.  It's more flexible, and easier to
27258           get doxygen to generate documentation from.
27259         * queryparser/queryparser.cc,tests/queryparsertest.cc: Throw new
27260           Error subclass QueryParserError instead of throwing const char *
27261           (fixes bug#101).
27263 Tue Feb 20 10:37:54 GMT 2007  Olly Betts <olly@survex.com>
27265         * languages/steminternal.cc: p is never NULL once the class is
27266           successfully constructed, so just use Assert() to confirm this.
27268 Tue Feb 20 10:29:25 GMT 2007  Olly Betts <olly@survex.com>
27270         * queryparser/lemon.c: Fix compiler warnings.
27272 Mon Feb 19 18:50:12 GMT 2007  Olly Betts <olly@survex.com>
27274         * common/serialise-double.cc,net/remoteconnection.cc: Throw
27275           NetworkError rather than InternalError for invalid data received
27276           over the remote protocol.
27278 Mon Feb 19 18:12:21 GMT 2007  Olly Betts <olly@survex.com>
27280         * tests/internaltest.cc: Just disable serialisequery1 if the remote
27281           backend is disabled, like we do for serialiselength1 and
27282           serialisedoc1 rather than assuming InternalError is due to the
27283           code being disabled.
27285 Mon Feb 19 09:48:02 GMT 2007  Olly Betts <olly@survex.com>
27287         * docs/Makefile.am,docs/XapianAdminNotes.txt,docs/admin_notes.rst:
27288           Generated file "XapianAdminNotes.html" doesn't fit the naming
27289           conventions of other files at all, so renamed to "admin_notes.html".
27290           Rename the source to ".rst" so we can use an implicit rule for
27291           the conversion, in anticipation of other documentation in ReST
27292           format.
27294 Mon Feb 19 09:10:48 GMT 2007  Olly Betts <olly@survex.com>
27296         * docs/Makefile.am: Fix typos which stopped parallel make from working
27297           correctly in "docs" subdirectory.
27299 Sun Feb 18 22:36:46 GMT 2007  Olly Betts <olly@survex.com>
27301         * common/Makefile.mk,common/omstringstream.h,common/output.h,
27302           include/Makefile.mk,include/xapian/output.h: Move
27303           "<xapian/output.h>" to being an internal header in "common/" since
27304           it hasn't been included by "<xapian.h>" since 0.7.0.
27306 Sun Feb 18 22:18:33 GMT 2007  Olly Betts <olly@survex.com>
27308         * include/xapian/dbfactory.h: Add documentation comment for the "prog"
27309           form of Remote::open_writable().
27311 Sun Feb 18 19:31:20 GMT 2007  Olly Betts <olly@survex.com>
27313         * tests/queryparsertest.cc: Add test for "associative NEAR".
27315 Sun Feb 18 18:27:40 GMT 2007  Olly Betts <olly@survex.com>
27317         * tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
27318           Merge BackendManager::change_names_to_paths() into
27319           index_files_to_database() and make the latter a method of
27320           class BackendManager.
27321         * tests/harness/backendmanager.cc: Remove mention of muscat36 backends
27322           from error message listing valid backends.
27323         * tests/harness/backendmanager.h: Comment out prototypes for currently
27324           disabled methods getdb_inmemoryerr, getwritedb_inmemory, etc.
27326 Sat Feb 17 15:38:05 GMT 2007  Olly Betts <olly@survex.com>
27328         * backends/flint/flint_table.cc: new throws if allocation fails
27329           so we don't need to check the return value.
27331 Sat Feb 17 02:08:22 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27333         * backends/flint/flint_table.cc: Fix memory double-frees if
27334           FlintTable::close() is called twice on a table (without an open()
27335           being called in between).  This was happening after a transaction
27336           failed when the table was next opened.
27337         * backends/quartz/btree.cc: Fix double-frees, similarly.
27339 Fri Feb 16 20:11:13 GMT 2007  Olly Betts <olly@survex.com>
27341         * languages/compiler/generator.c: Add missing "~Z" for compatibility
27342           with C code generation (which we don't use for Xapian).
27344 Fri Feb 16 19:51:26 GMT 2007  Olly Betts <olly@survex.com>
27346         * queryparser/tclUniData.h,queryparser/utf8itor.h: The tcl unicode
27347           routines only have tables for characters in the BMP.  For other
27348           characters, assume they're word characters, but can't be forced to
27349           lowercase.
27351 Fri Feb 16 19:26:00 GMT 2007  Olly Betts <olly@survex.com>
27353         * queryparser/utf8itor.cc: Fix bug in decoding of 4 byte utf-8
27354           sequences - the returned value was 0x400000 too large!
27356 Thu Feb 15 19:37:26 GMT 2007  Olly Betts <olly@survex.com>
27358         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Keep
27359           embedded apostrophe's in terms rather than generating a phrase
27360           search for them.
27362 Thu Feb 15 18:42:49 GMT 2007  Olly Betts <olly@survex.com>
27364         * languages/compiler/generator.c,languages/steminternal.cc,
27365           languages/steminternal.h: Tweak the "grouping" functions to allow
27366           skipping past multiple occurrences and use this to implement "goto"
27367           or "gopast" followed by a grouping or "non" grouping more
27368           efficiently.
27370 Thu Feb 15 17:57:43 GMT 2007  Olly Betts <olly@survex.com>
27372         * languages/compiler/generator.c,languages/steminternal.cc,
27373           languages/steminternal.h: Inline lose_s().  Since lose_s()
27374           checks if p is NULL, remove checks prior to calling lose_s().
27375         * languages/steminternal.h: Cast from symbol * to int * via
27376           void * to try to suppress over-eager warnings about alignment.
27378 Thu Feb 15 12:43:04 GMT 2007  Olly Betts <olly@survex.com>
27380         * languages/stem.cc: Add support for two letter ISO 639 codes.
27382 Thu Feb 15 10:40:40 GMT 2007  Olly Betts <olly@survex.com>
27384         * docs/Makefile.am: Don't try to ship mkdoc.pl.
27386 Thu Feb 15 09:58:48 GMT 2007  Olly Betts <olly@survex.com>
27388         * docs/gen_codestructure_doc.in: Fix to work in a VPATH build.
27390 Thu Feb 15 09:54:55 GMT 2007  Olly Betts <olly@survex.com>
27392         * languages/compiler/generator.c: Fix Stem::get_description() to
27393           return the right string.
27395 Thu Feb 15 09:44:54 GMT 2007  Olly Betts <olly@survex.com>
27397         * docs/gen_codestructure_doc.in: Add links to viewvcs on
27398           svn.xapian.org.
27400 Thu Feb 15 09:26:07 GMT 2007  Olly Betts <olly@survex.com>
27402         * configure.ac,docs/Makefile.am,docs/gen_codestructure_doc.in,
27403           docs/mkdoc.pl,preautoreconf: Rework how code_structure.html
27404           is generated.  Nicer output, and the html document is now
27405           regenerated if any of the dir_contents files change.
27407 Thu Feb 15 07:43:39 GMT 2007  Olly Betts <olly@survex.com>
27409         * Makefile.am,bin/Makefile.mk,configure.ac,examples/Makefile.mk,
27410           makemanpage.in: Add "makemanpage" script which takes care of all
27411           the magic needed to generate a man page using help2man.  This
27412           script is written in perl, but so is help2man, and they're both
27413           only used in maintainer-mode.
27415 Thu Feb 15 06:33:41 GMT 2007  Olly Betts <olly@survex.com>
27417         * bin/Makefile.mk: Fix typos in man page generation rules.
27419 Thu Feb 15 06:30:54 GMT 2007  Olly Betts <olly@survex.com>
27421         * examples/Makefile.mk: Fix typos in previous commit.
27423 Thu Feb 15 06:03:35 GMT 2007  Olly Betts <olly@survex.com>
27425         * Makefile.am,configure.ac,examples/Makefile,examples/Makefile.am,
27426           examples/Makefile.mk: Convert examples subdirectory to use
27427           non-recursive make.  Fixes wishlist bug#97.
27429 Thu Feb 15 05:48:38 GMT 2007  Olly Betts <olly@survex.com>
27431         * Makefile.am,bin/Makefile,bin/Makefile.am,bin/Makefile.mk,
27432           configure.ac: Convert bin subdirectory to use non-recursive make.
27434 Wed Feb 14 19:08:49 GMT 2007  Olly Betts <olly@survex.com>
27436         * tests/Makefile.am: There's no longer a need to remove the temporary
27437           directories for muscat36 backend tests, since we've removed the
27438           muscat36 backend code.
27440 Wed Feb 14 18:58:31 GMT 2007  Olly Betts <olly@survex.com>
27442         * languages/Makefile.mk: Move adjusting of INCLUDES to the top of the
27443           file.
27444         * queryparser/Makefile.mk: Adjust INCLUDES for a VPATH build.
27446 Wed Feb 14 18:38:16 GMT 2007  Olly Betts <olly@survex.com>
27448         * languages/Makefile.mk: Need -Ilanguages for VPATH builds from SVN.
27450 Wed Feb 14 18:37:54 GMT 2007  Olly Betts <olly@survex.com>
27452         * languages/steminternal.cc,languages/steminternal.h: Add
27453           SET_CAPACITY() macro.
27455 Wed Feb 14 17:39:50 GMT 2007  Olly Betts <olly@survex.com>
27457         * languages/steminternal.h: Don't cast away const.
27459 Wed Feb 14 17:14:14 GMT 2007  Olly Betts <olly@survex.com>
27461         * include/Makefile: Add stub makefile.
27463 Wed Feb 14 17:12:41 GMT 2007  Olly Betts <olly@survex.com>
27465         * configure.ac: ac_abs_srcdir, etc aren't available in configure
27466           itself, so we have to do the work ourselves.
27468 Wed Feb 14 12:54:26 GMT 2007  Olly Betts <olly@survex.com>
27470         * configure.ac: Fix typo in last commit.
27472 Wed Feb 14 12:19:18 GMT 2007  Olly Betts <olly@survex.com>
27474         * Makefile.am,configure.ac,languages/Makefile.mk: Define automake
27475           conditional VPATH_BUILD so we can only add extra entries to
27476           INCLUDES in VPATH builds.
27478 Wed Feb 14 11:59:02 GMT 2007  Olly Betts <olly@survex.com>
27480         * languages/Makefile.mk: Ick, we need $(top_srcdir)/languages in
27481           INCLUDES as the generated sources need to find non-generated
27482           headers.
27484 Wed Feb 14 11:46:43 GMT 2007  Olly Betts <olly@survex.com>
27486         * backends/database.cc,backends/remote/remote-database.cc,
27487           common/database.h,common/remote-database.h,common/remoteprotocol.h,
27488           docs/remote_protocol.html,net/remoteserver.cc: Support
27489           get_lastdocid() on remote databases.
27491 Wed Feb 14 11:20:33 GMT 2007  Olly Betts <olly@survex.com>
27493         * Makefile.am,configure.ac,include/Makefile.am,include/Makefile.mk:
27494           Convert include subdirectory to use non-recursive make.
27496 Wed Feb 14 11:05:00 GMT 2007  Olly Betts <olly@survex.com>
27498         * Makefile.am,bin/Makefile.am,configure.ac,examples/Makefile.am,
27499           getopt/Makefile,getopt/Makefile.am,getopt/Makefile.mk,
27500           tests/Makefile.am: Convert getopt subdirectory to use non-recursive
27501           make.
27503 Wed Feb 14 10:56:15 GMT 2007  Olly Betts <olly@survex.com>
27505         * tests/harness/Makefile.am: Remove as no longer used.
27507 Wed Feb 14 10:38:27 GMT 2007  Olly Betts <olly@survex.com>
27509         * backends/quartz/Makefile.mk,bin/Makefile.am,tests/Makefile.am: Move
27510           backends/quartz/libbtreecheck.la to libquartzcheck.la.
27511         * getopt/Makefile.am: Distribute getopt/dir_contents.
27513 Wed Feb 14 10:20:14 GMT 2007  Olly Betts <olly@survex.com>
27515         * preautoreconf: Handle variables set with "+=" and ":=".
27517 Wed Feb 14 10:16:29 GMT 2007  Olly Betts <olly@survex.com>
27519         * include/xapian/database.h: Add documentation comments for DB_*
27520           constants.
27522 Wed Feb 14 10:11:37 GMT 2007  Olly Betts <olly@survex.com>
27524         * examples/.cvsignore: Remove lingering relic of CVS days.
27526 Wed Feb 14 10:07:14 GMT 2007  Olly Betts <olly@survex.com>
27528         * Makefile.am,configure.ac,net/Makefile,net/Makefile.am,
27529           net/Makefile.mk: Convert net subdirectory to use non-recursive make.
27530           Now libxapian.la is built completely non-recursively.
27531         * docs/Makefile.am,docs/mkdoc.pl: Fix mkdoc.pl to handle directories
27532           which use non-recursive make.
27534 Wed Feb 14 09:10:27 GMT 2007  Olly Betts <olly@survex.com>
27536         * Makefile.am,backends/Makefile,backends/Makefile.am,
27537           backends/Makefile.mk,backends/flint/Makefile,
27538           backends/flint/Makefile.am,backends/flint/Makefile.mk,
27539           backends/inmemory/Makefile,backends/inmemory/Makefile.am,
27540           backends/inmemory/Makefile.mk,backends/multi/Makefile,
27541           backends/multi/Makefile.am,backends/multi/Makefile.mk,
27542           backends/quartz/Makefile,backends/quartz/Makefile.am,
27543           backends/quartz/Makefile.mk,backends/remote/Makefile,
27544           backends/remote/Makefile.am,backends/remote/Makefile.mk,
27545           configure.ac: Convert backends subdirectory (and subdirectories
27546           thereof) to non-recursive make.
27548 Wed Feb 14 08:49:02 GMT 2007  Olly Betts <olly@survex.com>
27550         * preautoreconf: Fix handling of backslash at the end of a line in
27551           included files.
27552         * preautoreconf: Our handling of which directory a nested include is
27553           sought from is consistent with automake, so remove the FIXME comment
27554           about it.
27556 Wed Feb 14 08:07:07 GMT 2007  Olly Betts <olly@survex.com>
27558         * Makefile.am,configure.ac,matcher/Makefile,matcher/Makefile.am,
27559           matcher/Makefile.mk: Convert matcher subdirectory to non-recursive
27560           make.
27562 Wed Feb 14 07:50:19 GMT 2007  Olly Betts <olly@survex.com>
27564         * Makefile.am,api/Makefile,api/Makefile.am,api/Makefile.mk,
27565           configure.ac: Convert api subdirectory to non-recursive make.
27567 Wed Feb 14 07:48:45 GMT 2007  Olly Betts <olly@survex.com>
27569         * preautoreconf: No need to `chdir' to the current directory.
27570         * preautoreconf: Don't bother looking at the file we generate
27571           when considering included files.
27572         * preautoreconf: Add included files to the dependency list.
27574 Wed Feb 14 07:38:19 GMT 2007  Olly Betts <olly@survex.com>
27576         * preautoreconf: Generate dummy rules for the files which
27577           preautoreconf depends on, so that "make" still works if one
27578           of them is removed (by build system restructuring).
27580 Wed Feb 14 07:24:07 GMT 2007  Olly Betts <olly@survex.com>
27582         * common,languages,tests/harness: svn:ignore: We do need to ignore
27583           .dirstamp files after all.
27585 Wed Feb 14 07:22:29 GMT 2007  Olly Betts <olly@survex.com>
27587         * Makefile.am,common/Makefile,common/Makefile.am,common/Makefile.mk,
27588           configure.ac: Convert common subdirectory to non-recursive make.
27590 Wed Feb 14 07:03:27 GMT 2007  Olly Betts <olly@survex.com>
27592         * .: svn:ignore: Ignore all vim swapfiles.  No need to ignore .deps
27593           now that dummy.cc is history.
27595 Wed Feb 14 06:34:44 GMT 2007  Olly Betts <olly@survex.com>
27597         * tests/stemtest.cc: Force ASCII capitals in sample vocabulary to
27598           lower case before stemming.
27600 Wed Feb 14 06:14:42 GMT 2007  Olly Betts <olly@survex.com>
27602         * Makefile.am,configure.ac,queryparser/Makefile,
27603           queryparser/Makefile.am,queryparser/Makefile.mk:
27604           Convert queryparser subdirectory to non-recursive make.
27605         * Makefile.am: Enable automake option "subdir-objects" so
27606           that built objects for a non-recursively made directory
27607           go into that directory.
27609 Wed Feb 14 06:12:29 GMT 2007  Olly Betts <olly@survex.com>
27611         * tests/harness: svn:ignore: remove .dirstamp and depcomp.
27613 Wed Feb 14 06:10:44 GMT 2007  Olly Betts <olly@survex.com>
27615         * languages/Makefile.mk: In maintainer-mode, remove snowball and
27616           generated allsnowballheaders.h on "make clean".  When not in
27617           maintainer-mode, remove them on "make maintainer-clean".
27618         * languages/: svn:ignore all vim swap files.
27620 Wed Feb 14 05:54:32 GMT 2007  Olly Betts <olly@survex.com>
27622         * languages/Makefile.mk: Distribute the stub languages/Makefile.
27623         * tests/harness/Makefile.mk: No need to explicitly distribute
27624           harness/Makefile.mk.
27626 Wed Feb 14 05:52:08 GMT 2007  Olly Betts <olly@survex.com>
27628         * languages/Makefile.mk: Distribute languages/dir_contents.
27630 Wed Feb 14 05:44:10 GMT 2007  Olly Betts <olly@survex.com>
27632         * api/Makefile.am,api/vectortermlist.h,common/Makefile.am,
27633           queryparser/Makefile.am: We use vectortermlist.h from the
27634           queryparser directory, so move it from api to common.
27636 Wed Feb 14 05:27:13 GMT 2007  Olly Betts <olly@survex.com>
27638         * languages/Makefile.mk,languages/stem.cc: Disable finnish and lovins
27639           temporarily, until I sort out merging the support for among with
27640           functions properly.
27642 Wed Feb 14 05:24:36 GMT 2007  Olly Betts <olly@survex.com>
27644         * languages/steminternal.cc,languages/steminternal.h: Temporarily
27645           back out the changes to handling of among with functions.
27647 Tue Feb 13 19:11:57 GMT 2007  Olly Betts <olly@survex.com>
27649         * tests/harness/testsuite.cc: If a test throws an unknwon exception,
27650           say so in the test failure message.  If it throws std::string,
27651           report the first 40 character (or first line) of the string.
27653 Tue Feb 13 17:48:11 GMT 2007  Olly Betts <olly@survex.com>
27655         * languages/steminternal.cc: Fix decoding of 3 byte utf-8 sequences.
27657 Tue Feb 13 17:47:22 GMT 2007  Olly Betts <olly@survex.com>
27659         * languages/Makefile.mk: Fix dependency of generated
27660           languages/allsnowballheaders.h to be on languages/Makefile.mk.
27662 Tue Feb 13 17:46:42 GMT 2007  Olly Betts <olly@survex.com>
27664         * languages/compiler/generator.c: Fix missing ";" in generated
27665           code.
27667 Tue Feb 13 15:40:15 GMT 2007  Olly Betts <olly@survex.com>
27669         * languages/Makefile.mk,languages/compiler/driver.c,
27670           languages/compiler/generator.c,languages/compiler/header.h:
27671           Changes towards getting C++ generation working.
27673 Tue Feb 13 15:39:23 GMT 2007  Olly Betts <olly@survex.com>
27675         * languages/steminternal.cc,languages/steminternal.h: Revert to match
27676           currently generated code.
27678 Tue Feb 13 14:09:31 GMT 2007  Olly Betts <olly@survex.com>
27680         * languages/compiler/: Sync with current snowball SVN + submitted
27681           patches.
27683 Tue Feb 13 10:53:34 GMT 2007  Olly Betts <olly@survex.com>
27685         * tests/harness/backendmanager.cc: If we fail to start
27686           xapian-tcpsrv, report why (give errno or the error output).
27688 Tue Feb 13 10:28:43 GMT 2007  Olly Betts <olly@survex.com>
27690         * tests/remotetest.cc: Prune test cases which are redundant now that
27691           apitest tests remote and remotetcp: apitest's simplequery1 performs
27692           a superset of what netmatch1 and tcpmatch1 do; apitest's multidb1
27693           performs a superset of what netmatch2 does; and the coverage given
27694           by our netexpand1 is provided by various apitest tests.
27696 Mon Feb 12 06:36:58 GMT 2007  Olly Betts <olly@survex.com>
27698         * languages/compiler/generator.c: In backward mode, among
27699           can't match if there are fewer characters before the current
27700           position than the minimum length string in the among.
27702 Mon Feb 12 05:56:31 GMT 2007  Olly Betts <olly@survex.com>
27704         * configure.ac: Make sure that the languages subdirectory exists in
27705           case this is a fresh SVN checkout and srcdir != builddir.
27707 Mon Feb 12 05:46:49 GMT 2007  Olly Betts <olly@survex.com>
27709         * languages/Makefile.mk,languages/compiler/driver.c: -DDISABLE_JAVA
27710           to not compile in Java support (inline with Richard's patch to
27711           the upstream snowball sources).
27712         * languages/Makefile.mk: Remove inaccurate comment about processing
27713           with automake.  Fix -n option we pass (remove directory name).
27714           Use "" instead of <> in generated file allsnowballheaders.h.  Remove
27715           snowball compiler and generated files on "make maintainer-clean".
27717 Mon Feb 12 01:08:50 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27719         * languages/compiler/header.h: Remove commented out header for
27720           sort() prototype, to match snowball sources.
27722 Sun Feb 11 19:28:50 GMT 2007  Olly Betts <olly@survex.com>
27724         * languages/api.h,languages/header.h: Remove headers which are no
27725           longer used.
27727 Sun Feb 11 19:26:50 GMT 2007  Olly Betts <olly@survex.com>
27729         * languages/api.cc,languages/utilities.cc: Remove sources which are
27730           no longer used.
27732 Sun Feb 11 16:22:16 GMT 2007  Olly Betts <olly@survex.com>
27734         * languages/compiler/driver.c: Use #ifdef instead of #if.
27736 Sun Feb 11 16:20:44 GMT 2007  Olly Betts <olly@survex.com>
27738         * languages/compiler/driver.c: Disable java support, since we don't
27739           use it and it means one less source file.
27741 Sun Feb 11 16:08:49 GMT 2007  Olly Betts <olly@survex.com>
27743         * languages/compiler/analyser.c,languages/compiler/header.h: Use qsort
27744           instead the snowball's own sort implementation to reduce the number
27745           of source files we need for the snowball compiler.
27747 Sun Feb 11 16:04:19 GMT 2007  Olly Betts <olly@survex.com>
27749         * languages/Makefile: Add stub Makefile to allow "make", "make check",
27750           and "make clean" from the languages subdirectory.
27752 Sun Feb 11 16:00:51 GMT 2007  Olly Betts <olly@survex.com>
27754         * languages/compiler/analyser.c: Cast the arguments, not the function
27755           pointer as ISO C allows `void*' and `struct amongvec*' to have
27756           different representations.
27758 Sun Feb 11 15:43:49 GMT 2007  Olly Betts <olly@survex.com>
27760         * languages/compiler/space.c: Fix a typo of a function name in a
27761           comment.
27763 Sun Feb 11 15:23:51 GMT 2007  Olly Betts <olly@survex.com>
27765         * languages/compiler/header.h,languages/compiler/tokeniser.c: Give
27766           syswords and syswords2 .h extensions for clarity.
27768 Sun Feb 11 15:17:28 GMT 2007  Olly Betts <olly@survex.com>
27770         * Makefile.am,api/Makefile.am,api/omstem.cc,configure.ac,dummy.cc,
27771           languages/Makefile.am,languages/Makefile.mk,languages/compiler/,
27772           languages/: Update the stemmers to use utf-8 and the latest snowball
27773           version (based on r421 from snowball SVN).  Further patches are
27774           required to generate C++ classes from snowball, I'm checking in the
27775           vanilla compiler first to help us track the patches.
27777 Sun Feb 11 14:16:35 GMT 2007  Olly Betts <olly@survex.com>
27779         * api/omstem.cc: Add definition for Xapian::Stem::stem_word().
27781 Sun Feb 11 13:15:11 GMT 2007  Olly Betts <olly@survex.com>
27783         * tests/api_anydb.cc,tests/api_db.cc,tests/api_posdb.cc: Prefer
27784           Xapian::Stem::operator() to Xapian::Stem::stem_word().
27786 Sat Feb 10 19:10:31 GMT 2007  Olly Betts <olly@survex.com>
27788         * queryparser/queryparser.lemony: Prefer Xapian::Stem::operator() to
27789           Xapian::Stem::stem_word().
27791 Sat Feb 10 18:34:41 GMT 2007  Olly Betts <olly@survex.com>
27793         * include/xapian/stem.h: Make Xapian::Stem::Internal as @internal for
27794           doxygen.  Mark Xapian::Stem::stem_word() as deprecated.
27796 Sat Feb 10 18:34:05 GMT 2007  Olly Betts <olly@survex.com>
27798         * HACKING: Add brief note about coding style.
27800 Sat Feb 10 18:24:28 GMT 2007  Olly Betts <olly@survex.com>
27802         * preautoreconf: Add licence and copyright notice.  Add support for
27803           automake include directives.  Warn about unknown variables.
27805 Sat Feb 10 18:19:26 GMT 2007  Olly Betts <olly@survex.com>
27807         * tests/harness/testsuite.cc: Conditionalise all the valgrind specific
27808           code on RUNNING_ON_VALGRIND to minimise the overhead if valgrind
27809           is installed but we aren't running tests under it.
27811 Sat Feb 10 17:42:05 GMT 2007  Olly Betts <olly@survex.com>
27813         * tests/harness/index_utils.cc,tests/stemtest.cc: Prefer
27814           Xapian::Stem::operator() to Xapian::Stem::stem_word().
27816 Sat Feb 10 17:27:27 GMT 2007  Olly Betts <olly@survex.com>
27818         * examples/delve.cc,examples/simpleindex.cc,examples/simplesearch.cc:
27819           Prefer Xapian::Stem::operator() to Xapian::Stem::stem_word().
27821 Wed Feb 07 04:23:09 GMT 2007  Olly Betts <olly@survex.com>
27823         * queryparser/queryparser.lemony,queryparser/queryparser.lt: Use
27824           new/delete instead of malloc/free to allocate struct yyParser
27825           and pass it around as "yyParser *" instead of "void *".
27827 Wed Feb 07 03:44:16 GMT 2007  Olly Betts <olly@survex.com>
27829         * include/xapian/queryparser.h,queryparser/queryparser.cc,
27830           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
27831           tests/queryparsertest.cc: Allow the default prefix to be specified
27832           so you can use QueryParser to parse a text entry box for "author"
27833           etc.
27834         * configure.ac: Note API change for LIBRARY_VERSION_INFO updating.
27836 Wed Feb 07 01:14:37 GMT 2007  Olly Betts <olly@survex.com>
27838         * common/safeunistd.h: Add '#include <sys/types.h>' so that we've seen
27839           a typedef for off_t before we hide it behind a #define to avoid a
27840           compilation error if <sys/types.h> or <wchar.h> is included after
27841           we are.
27843 Tue Feb 06 06:26:24 GMT 2007  Olly Betts <olly@survex.com>
27845         * INSTALL: Mention MSVC makefiles.  Note that we still test build with
27846           GCC 2.95.4 even though we recommend using a newer version.
27848 Tue Feb 06 06:13:48 GMT 2007  Olly Betts <olly@survex.com>
27850         * AUTHORS,HACKING,backends/flint/,backends/quartz/btree.cc,
27851           backends/quartz/quartz_database.cc,bin/quartzcompact.cc,
27852           bin/xapian-compact.cc,common/,tests/btreetest.cc,
27853           tests/harness/backendmanager.cc,tests/harness/testsuite.cc,
27854           tests/quartztest.cc: Support large files in stat() and fstat()
27855           when building with MSVC.  Factor MSVC specific header magic
27856           into new replacement headers "safeunistd.h" and "safesysstat.h".
27857         * AUTHORS: Thanks to Charlie Hull for the original patch to support
27858           stat() on large files with MSVC (and past MSVC related stuff!)
27860 Sat Jan 13 02:06:15 GMT 2007  Olly Betts <olly@survex.com>
27862         * include/xapian/database.h: Add pointer from
27863           WritableDatabase::add_document() to replace_document() in case the
27864           user wants to specify the docid themselves.  Also improve the
27865           wording of the warning about changes not being committed to disk
27866           right away.
27868 Tue Jan  2 15:49:43 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27870         * backends/quartz/btree.cc,backends/flint/flint_io.h: Patches from
27871           Charlie Hull to allow 2GB+ index files work when compiled using
27872           Visual C++.
27874 Sat Dec 30 13:48:54 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27876         * queryparser/queryparser.lemony,include/xapian/queryparser.h:
27877           Add support for partially entered queries, to better support
27878           incremental searching.  Also fix a typo in a comment.
27879         * docs/queryparser.html: Document the new partial query option, and
27880           what it's useful for.
27881         * tests/queryparsertest.cc: Test partial queries.
27883 Wed Dec 20 16:42:24 GMT 2006  Olly Betts <olly@survex.com>
27885         * PLATFORMS: Updated with success reports from debian buildds.
27887 Wed Dec 20 00:53:19 GMT 2006  Olly Betts <olly@survex.com>
27889         * api/omqueryinternal.cc: Fix "unused parameter" warning when building
27890           with the remote backend disabled.  Also update a comment - the query
27891           serialisation isn't really one line of text since we now store term
27892           names with the length prefixed, and they can contain arbitrary
27893           characters including linefeeds.
27895 Tue Dec 19 20:40:27 GMT 2006  Olly Betts <olly@survex.com>
27897         * tests/Makefile.am: Need libgetopt.la for test programs which
27898           use the test harness for platforms where GNU getopt isn't in
27899           the standard C library.
27901 Tue Dec 19 20:34:16 GMT 2006  Olly Betts <olly@survex.com>
27903         * queryparser/utf8itor.h: Need <string.h> for strlen.
27905 Tue Dec 19 16:35:58 GMT 2006  Olly Betts <olly@survex.com>
27907         * common/omstringstream.h: Fix "warning: comparison between signed and
27908           unsigned".
27910 Tue Dec 19 15:33:19 GMT 2006  Olly Betts <olly@survex.com>
27912         * backends/flint/flint_positionlist.cc: Turn the second (and
27913           potentially slightly deeper) recursion in encode_interpolative
27914           and decode_interpolative into explicit iteration in case the
27915           compiler fails to optimise the tail recursion.
27917 Mon Dec 18 03:39:41 GMT 2006  Olly Betts <olly@survex.com>
27919         * matcher/: Add ExactPhrasePostList to handle the common special case
27920           where the window size of OP_PHRASE is equal to the number of terms
27921           in the phrase.
27923 Mon Dec 18 02:21:32 GMT 2006  Olly Betts <olly@survex.com>
27925         * tests/harness/testsuite.cc: Remove accidentally committed "NO
27926           PROBLEM" message when running under valgrind.
27928 Wed Dec 13 21:15:57 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27930         * include/xapian/document.h: Another tweak to the documentation
27931           comment.
27933 Wed Dec 13 18:07:51 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27935         * include/xapian/document.h: Improve documentation comment for
27936           Document::get_value().
27938 Wed Dec 13 03:38:37 GMT 2006  Olly Betts <olly@survex.com>
27940         * include/xapian/enquire.h: In the description of the TradWeight
27941           class, replace reference to "Muscat 3.6" (meaningless to most
27942           people) with a generally useful explanation.
27944 Wed Dec 13 03:27:14 GMT 2006  Olly Betts <olly@survex.com>
27946         * docs/: svn:ignore XapianAdminNotes.html.
27948 Wed Dec 13 03:16:44 GMT 2006  Olly Betts <olly@survex.com>
27950         * configure.ac: Yet more valgrind test improvements!  Give up testing
27951           valgrind features if VALGRIND_COUNT_LEAKS isn't supported.  Fix the
27952           common shortcut case to not try logging to /dev/null.<pid> so it
27953           can actually get used.  Also don't use /dev/null in the --logfile
27954           case either as it will probably cause problems there too (though I
27955           don't have an old enough valgrind handy to verify this).  Also report
27956           results of valgrind tests in a couple more places.
27958 Wed Dec 13 00:31:04 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27960         * docs/Makefile.am: New rules for generating XapianAdminNotes.html
27961           from XapianAdminNotes.txt
27962         * configure.ac: Check for rst2html, and require it in maintainer
27963           mode.
27964         * HACKING: document rst2html as a requirement.
27966 Tue Dec 12 23:58:13 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27968         * docs/XapianAdminNotes.txt: Add new document giving an
27969           introduction to Xapian concepts for system administrators.
27971 Tue Dec 12 21:33:38 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27973         * docs/quartzdesign.html: Fix an unmatched bracket.
27975 Tue Dec 12 21:18:54 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27977         * backends/quartz/quartz_alldocspostlist.cc: Fix memory leak
27978           discovered by valgrind in QuartzAllDocsPostList constructor: was
27979           failing to delete the Bcursor.
27981 Tue Dec 12 21:05:47 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27983         * queryparser/queryparser.lemony: Fix parsing of queries of the
27984           form "+foo* bar", where no terms in the database match the
27985           wildcard "foo*", but bar does exist in the database.  Previously,
27986           such queries would be equivalent to "bar".  Now, they will match
27987           no documents.  This required using a new "QpQuery" object
27988           internally so we can distinguish between deliberately "match
27989           nothing" queries, and empty lists of queries.
27990         * tests/api_anydb.cc,tests/queryparsertest.cc: Test above fix, and
27991           general parsing of wildcard queries with +terms, and test
27992           performing a match with a query resulting from a wildcard query
27993           which matches nothing.
27995 Tue Dec 12 21:05:15 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27997         * tests/api_nodb.cc,api/omqueryinternal.cc,api/omquery.cc: Fix some
27998           copyright assertions I missed.
28000 Tue Dec 12 19:38:39 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28002         * include/xapian/query.h,api/omqueryinternal.cc,api/omquery.cc: Add
28003           two static Query objects: Xapian::Query::MatchAll and
28004           Xapian::Query::MatchNothing, which match all documents and no
28005           documents in the database, respectively.  (Equivalent to
28006           Query("") and Query()).  Allow empty queries such as MatchNothing
28007           to be combined with other queries.  Change methods of
28008           Xapian::Query::Internal to use pointers to query internals
28009           instead of references, so they can handle the NULL pointer
28010           internals of an empty query.
28011         * tests/api_nodb.cc: Test combining of MatchNothing queries with
28012           other queries with OP_AND and OP_OR.
28014 Tue Dec 12 20:01:58 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28016         * configure.ac: Fix valgrind better: --log-file-exactly isn't what
28017           is wanted, because it messes up if multiple processes are traced.
28018           Instead, use a temporary file instead of /dev/null, so we don't
28019           get the permission denied error.
28021 Tue Dec 12 19:15:20 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28023         * configure.ac: Fix detection of valgrind for newer valgrind.  My
28024           version of valgrind (valgrind-3.2.1-Debian, from ubuntu feisty)
28025           treats the parameter supplied to --log-file as a base path, and
28026           appends a process ID. This caused the test for the log-file
28027           option to fail with permission denied errors due to trying to
28028           write to files of the form '/dev/null.16098'.  Solution - test
28029           for the --log-file-exactly option, and use that.  Also, change
28030           configure.ac to display the result of the tests for valgrind; was
28031           displaying that it had found it, but not mentioning that it
28032           couldn't make it work.
28034 Tue Dec 05 21:12:12 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28036         * include/xapian/query.h,api/omqueryinternal.cc: Fix query
28037           serialisation bug.  Was failing to propagate "curpos" parameter
28038           across subqueries, resulting in incorrect serialisation of
28039           termpositions.
28040         * tests/internaltest.cc: Regression test for this bug.
28042 Tue Dec 05 01:34:07 GMT 2006  Olly Betts <olly@survex.com>
28044         * HACKING: Clarify how XAPIAN_DEBUG_FLAGS works.
28046 Tue Dec 05 01:23:12 GMT 2006  Olly Betts <olly@survex.com>
28048         * examples/quest.cc: Add "--stemmer" option to allow stemming language
28049           to be set, or stemming to be disabled.
28051 Sun Dec 03 00:34:27 GMT 2006  Olly Betts <olly@survex.com>
28053         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Add entries
28054           to the "unstem" map for prefixed boolean filters (e.g. type:html).
28055           Also don't corrupt non-ASCII characters in a prefixed boolean
28056           filter.
28058 Sat Nov 25 04:17:23 GMT 2006  Olly Betts <olly@survex.com>
28060         * backends/flint/flint_database.cc,backends/flint/flint_version.cc:
28061           The "my_fls()" change actually results in a different interpolative
28062           encoding in a few cases - the old encoding could vary between
28063           architectures so we have to change it.  So bump the FLINT_VERSION
28064           and change the "flicklock" file to be "flintlock" as it should have
28065           been all along!
28067 Wed Nov 22 18:55:42 GMT 2006  Olly Betts <olly@survex.com>
28069         * xapian-config.in: Improve --version output so that help2man produces
28070           a better man page.
28072 Mon Nov 20 07:21:07 GMT 2006  Olly Betts <olly@survex.com>
28074         * backends/flint/flint_positionlist.cc: Fix another off-by-one
28075           error (> should be >=).
28077 Mon Nov 20 07:12:11 GMT 2006  Olly Betts <olly@survex.com>
28079         * backends/flint/flint_positionlist.cc: Fix off-by-one error in code
28080           which calls my_fls().
28082 Sat Nov 18 08:32:08 GMT 2006  Olly Betts <olly@survex.com>
28084         * backends/flint/flint_positionlist.cc: "const static" -> "static
28085           const".
28087 Sat Nov 18 08:05:17 GMT 2006  Olly Betts <olly@survex.com>
28089         * backends/flint/flint_positionlist.cc: Make decode_interpolative
28090           a member function of BitReader.
28092 Sat Nov 18 07:45:19 GMT 2006  Olly Betts <olly@survex.com>
28094         * backends/flint/flint_positionlist.cc: Add highly optimised fls()
28095           implementation and make use of it.
28097 Thu Nov 16 04:22:36 GMT 2006  Olly Betts <olly@survex.com>
28099         * m4/xapian.m4: If XAPIAN_CONFIG wasn't specified and xapian-config
28100           wasn't found, see if the library seems to be present - if so give
28101           a different error message which suggests the user needs to install
28102           a -dev or -devel package.
28104 Thu Nov 16 02:11:34 GMT 2006  Olly Betts <olly@survex.com>
28106         * docs/install.html: omega tarball is now xapian-omega.
28108 Tue Nov 14 22:42:05 GMT 2006  Olly Betts <olly@survex.com>
28110         * tests/harness/Makefile: Add static Makefile so you can make all,
28111           check, and clean from the subdirectory.
28112         * tests/harness/Makefile.mk: Ship Makefile.mk and Makefile.
28114 Tue Nov 14 21:53:45 GMT 2006  Olly Betts <olly@survex.com>
28116         * tests/: Remove muscat36 temporary directories from svn:ignore
28117           property.
28119 Tue Nov 14 19:47:30 GMT 2006  Olly Betts <olly@survex.com>
28121         * configure.ac,tests/Makefile.am,tests/harness/Makefile.mk: Use
28122           non-recursive make to build the test harness, so it only gets
28123           built if "make check" is run.
28125 Tue Nov 14 19:43:48 GMT 2006  Olly Betts <olly@survex.com>
28127         * tests/quartztest.cc: Removed unused static function unlink_table.
28129 Tue Nov 14 17:41:26 GMT 2006  Olly Betts <olly@survex.com>
28131         * include/xapian/queryparser.h,queryparser/queryparser.lemony,
28132           tests/queryparsertest.cc: Add QueryParser::FLAG_PURE_NOT to allow
28133           pure NOT queries to be enabled (they are now disabled by default).
28135 Tue Nov 14 04:19:40 GMT 2006  Olly Betts <olly@survex.com>
28137         * backends/database.cc,backends/flint/dir_contents,
28138           backends/quartz/dir_contents,docs/overview.html,
28139           docs/quartzdesign.html,docs/scalability.html: Make flint the default
28140           backend.
28142 Tue Nov 14 03:25:19 GMT 2006  Olly Betts <olly@survex.com>
28144         * tests/api_nodb.cc: Xapian::Query("") now builds a query which
28145           matches all documents rather than throwing InvalidArgumentError
28146           so fix emptyquery1 test.
28148 Tue Nov 14 02:03:29 GMT 2006  Olly Betts <olly@survex.com>
28150         * api/omdocument.cc: Tweak OmDocumentTerm::add_position() so that
28151           adding position 0 to an empty termlist takes the shortcut.
28153 Mon Nov 13 05:46:15 GMT 2006  Olly Betts <olly@survex.com>
28155         * docs/queryparser.html: Document the new pure NOT feature.
28157 Mon Nov 13 05:24:30 GMT 2006  Olly Betts <olly@survex.com>
28159         * api/omqueryinternal.cc,queryparser/queryparser.lemony,
28160           tests/queryparsertest.cc: Allow "pure NOT" queries - e.g.
28161           "NOT apples".  Fixes bug #99.
28163 Mon Nov 13 04:54:04 GMT 2006  Olly Betts <olly@survex.com>
28165         * api/omqueryinternal.cc: Undo changes accidentally committed in last
28166           check-in.
28168 Mon Nov 13 04:47:57 GMT 2006  Olly Betts <olly@survex.com>
28170         * api/omqueryinternal.cc,backends/Makefile.am,backends/database.cc,
28171           backends/muscat36/,configure.ac,docs/overview.html,
28172           docs/quartzdesign.html,docs/tests.html,include/xapian/dbfactory.h,
28173           include/xapian/version_h.cc,tests/api_anydb.cc,tests/apitest.cc,
28174           tests/harness/backendmanager.cc,tests/harness/backendmanager.h,
28175           tests/harness/index_utils.cc: Remove support for the old Muscat 3.6
28176           backends.
28178 Mon Nov 13 04:02:27 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28180         * common/database.h,api/omdatabase.cc,
28181           backends/inmemory/inmemory_database.cc,
28182           backends/inmemory/inmemory_database.h,
28183           backends/quartz/Makefile.am,backends/quartz/quartz_database.cc,
28184           backends/quartz/quartz_alldocspostlist.h,
28185           backends/quartz/quartz_alldocspostlist.cc,
28186           backends/flint/Makefile.am,backends/flint/flint_database.cc,
28187           backends/flint/flint_alldocspostlist.cc,
28188           backends/flint/flint_alldocspostlist.h:
28189           Implement posting lists which return a list of all documents in
28190           the database.  Such a posting list is obtained by calling
28191           Xapian::Database::postlist_begin() with an empty term (ie, "").
28192           Also, all Xapian::Database methods which take a termname now
28193           accept an empty term, and return appropriate values (ie,
28194           get_termfreq("") and get_collection_freq("") return the number of
28195           documents in the database, and term_exists("") returns true
28196           unless the database is empty).  Fixes Bug #47.
28197         * docs/quartzdesign.html: Document the inefficiency of all-document
28198           postlists for Quartz.
28199         * tests/api_anydb.cc,tests/api_db.cc,tests/api_wrdb.cc: Add tests for
28200           all-document postlists, and for passing an empty term to all the
28201           applicable database methods.  This defines the new tests
28202           allpostlist1, allpostlist2, emptyterm1, and emptyterm2.  These
28203           tests currently skip for the remote backend where postlist_begin()
28204           isn't yet implemented.
28206 Mon Nov 13 02:06:03 GMT 2006  Olly Betts <olly@survex.com>
28208         * Merge in utf8 branch:
28210         Thu Sep 14 23:49:48 BST 2006  Olly Betts <olly@survex.com>
28212                 * queryparser/,tests/queryparsertest.cc: Update to work with
28213                   UTF-8.  Stop normalising accents - the general sentiment
28214                   seems to be firmly against it, and where it is still
28215                   appropriate we should get the stemmers to do it.
28217 Sun Nov 12 22:38:56 GMT 2006  Olly Betts <olly@survex.com>
28219         * NEWS: Update from ChangeLog file in preparation for branching and
28220           merging.
28222 Sun Nov 12 19:32:01 GMT 2006  Olly Betts <olly@survex.com>
28224         * backends/flint/flint_database.cc,
28225           backends/inmemory/inmemory_database.cc,
28226           backends/inmemory/inmemory_database.h,
28227           backends/quartz/quartz_database.cc: Fix replace_document() not to
28228           lose positional information for a document if it is replaced with
28229           itself with unmodified postings.
28230         * tests/api_wrdb.cc: Add testcase replace_document5 as regression test
28231           for the replace_document bug.
28232         * backends/remote/remote-database.cc: Fix
28233           RemoteDatabase::has_positions() to refetch the cached value if it
28234           might be out of date.
28236 Sun Nov 12 17:07:00 GMT 2006  Olly Betts <olly@survex.com>
28238         * docs/Makefile.am: Need to increase pool_size further still to build
28239           sourcedoc.pdf (2000000 now).
28241 Sun Nov 12 16:24:15 GMT 2006  Olly Betts <olly@survex.com>
28243         * HACKING: Add "update ReleaseNotes on wiki" to release checklist.
28245 Sun Nov 12 16:23:19 GMT 2006  Olly Betts <olly@survex.com>
28247         * xapian.spec.in: Remove "." from end of "Summary:".  Package
28248           new man page for xapian-progsrv.
28250 Sun Nov 12 00:43:36 GMT 2006  Olly Betts <olly@survex.com>
28252         * docs/stemming.html: Update another "CVS" reference to say "SVN".
28254 Sun Nov 12 00:42:22 GMT 2006  Olly Betts <olly@survex.com>
28256         * docs/install.html: Update reference to "CVS" to say "SVN".
28258 Thu Nov 09 01:11:52 GMT 2006  Olly Betts <olly@survex.com>
28260         * HACKING: Reorder the release checklist a little.  I've fixed
28261           update_website.sh to get the latest version from version.php, so
28262           now only version.php needs updating.
28264 Thu Nov 09 00:17:35 GMT 2006  Olly Betts <olly@survex.com>
28266         * NEWS,PLATFORMS,configure.ac: Update for 0.9.9.
28268 Wed Nov 08 20:54:31 GMT 2006  Olly Betts <olly@survex.com>
28270         * xapian.spec.in: Apply changes from Neal Becker to run "autoreconf
28271           --force" so that we don't set rpath for /usr/lib64, and add "libs"
28272           to %post and %postun.
28273         * AUTHORS: Thank Neal Becker.
28275 Wed Nov 08 04:27:17 GMT 2006  Olly Betts <olly@survex.com>
28277         * docs/tests.html: Update for "testsuite" -> "tests/harness".  Mark
28278           paths and programs with <code>...</code>.  Improve wording in a few
28279           places.
28281 Wed Nov 08 03:10:37 GMT 2006  Olly Betts <olly@survex.com>
28283         * bin/xapian-tcpsrv.cc: Need '#include "safeerrno.h"' for EADDRINUSE.
28285 Wed Nov 08 02:36:59 GMT 2006  Olly Betts <olly@survex.com>
28287         * bin/Makefile.am,bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc:
28288           xapian-progsrv now uses getopt for option processing, and we can
28289           now generate a man page using help2man.  Fixes Bug #98.
28291 Wed Nov 08 01:47:19 GMT 2006  Olly Betts <olly@survex.com>
28293         * bin/xapian-tcpsrv.cc: If the port requested is in use, exit with
28294           code 69 (EX_UNAVAILABLE) which is useful if you're trying to
28295           automate launching of xapian-tcpsrv instances.
28296         * tests/harness/backendmanager.cc: If we can't start xapian-tcpsrv
28297           because the port is in use, try higher numbered ports.
28298         * tests/harness/testsuite.cc: Catch and report std::string exceptions.
28300 Tue Nov 07 22:40:58 GMT 2006  Olly Betts <olly@survex.com>
28302         * net/tcpclient.cc: Turn on TCP_NODELAY for the client too.
28304 Tue Nov 07 21:46:39 GMT 2006  Olly Betts <olly@survex.com>
28306         * net/tcpserver.cc: Turn on TCP_NODELAY for xapian-tcpsrv which
28307           increases throughput for the remote backend over tcp.
28309 Tue Nov 07 21:08:57 GMT 2006  Olly Betts <olly@survex.com>
28311         * backends/flint/flint_btreebase.cc: Add missing '#include'-s.
28313 Tue Nov 07 17:57:22 GMT 2006  Olly Betts <olly@survex.com>
28315         * backends/quartz/btree_base.cc: Add missing '#include'-s.
28317 Tue Nov 07 05:12:40 GMT 2006  Olly Betts <olly@survex.com>
28319         * backends/flint/flint_positionlist.h,backends/flint/flint_table.cc,
28320           backends/quartz/btree.cc: Add missing '#include <vector>' which
28321           "utils.h" was implicitly pulling in.
28322         * common/utils.h: Move '#include "safefcntl.h"' to more logical place.
28324 Tue Nov 07 04:18:27 GMT 2006  Olly Betts <olly@survex.com>
28326         * common/safefcntl.h: Actually add the new file to SVN.
28328 Tue Nov 07 03:36:59 GMT 2006  Olly Betts <olly@survex.com>
28330         * HACKING,backends/flint/flint_io.h,backends/flint/flint_lock.cc,
28331           backends/flint/flint_lock.h,backends/muscat36/io_system.cc,common/,
28332           net/tcpserver.cc,tests/harness/backendmanager.cc,
28333           tests/harness/testsuite.cc: Create "safefcntl.h" as a replacement
28334           for <fcntl.h> instead of using "utils.h" for this purpose, since
28335           "utils.h" pulls in many other things we often don't want.
28336         * common/utils.cc,common/utils.h,net/progclient.cc: Move split_words
28337           to progclient.cc which is the only user of it.  Rewrite it to not
28338           modified the string being split which risks being O(n^2).
28339         * net/progclient.cc,common/progclient.h: Pass std::string by const
28340           reference.
28341         * configure.ac: Fix DJGPP build (fork is present but always fails).
28343 Tue Nov 07 03:21:24 GMT 2006  Olly Betts <olly@survex.com>
28345         * matcher/biaspostlist.h: Don't need '#include "utils.h"'.
28347 Tue Nov 07 01:15:14 GMT 2006  Olly Betts <olly@survex.com>
28349         * common/c_strtod.cc: Remove file which was checked in but is unused!
28351 Mon Nov 06 15:24:02 GMT 2006  Olly Betts <olly@survex.com>
28353         * tests/internaltest.cc: Disable serialiselength1 and serialisedoc1
28354           when the remote backend is disabled.
28356 Mon Nov 06 15:23:40 GMT 2006  Olly Betts <olly@survex.com>
28358         * tests/Makefile.am: Fix typo in recent check-in.
28360 Mon Nov 06 01:43:37 GMT 2006  Olly Betts <olly@survex.com>
28362         * tests/Makefile.am: Need "harness" in "$(srcdir)" for VPATH builds to
28363           work.
28365 Sun Nov 05 19:55:26 GMT 2006  Olly Betts <olly@survex.com>
28367         * backends/quartz/Makefile.am: Remove explicit dependency of
28368           libbtreecheck.la on libxapian.la.  We always link in libxapian.la
28369           and the explicit dependency makes it hard to build things in a
28370           sane order.
28372 Sun Nov 05 19:29:17 GMT 2006  Olly Betts <olly@survex.com>
28374         * net/tcpserver.cc: Don't define on_SIGCHLD() unless we'll use it.
28375         * tests/harness/backendmanager.cc: Use a proper signal handler for
28376           SIGCHLD if we have waitpid() - POSIX leaves the semantics of
28377           SIG_IGN on SIGCHLD unspecified.
28379 Sun Nov 05 19:11:36 GMT 2006  Olly Betts <olly@survex.com>
28381         * backends/quartz/Makefile.am,backends/quartz/btreecheck.cc,
28382           backends/quartz/btreecheck.h,bin/Makefile.am,tests/Makefile.am,
28383           tests/harness/: Use _exit(0) instead of exit(0) in the child
28384           process which closes the pipe to xapian-tcpsrv in BackendManager
28385           since we don't want to call atexit functions from the child.  Move
28386           btreecheck stuff into backends/quartz.
28388 Sun Nov 05 17:12:05 GMT 2006  Olly Betts <olly@survex.com>
28390         * Makefile.am,bin/Makefile.am,configure.ac,tests/Makefile.am,
28391           tests/harness/Makefile.am,tests/harness/dir_contents,testsuite/:
28392           Move the testsuite harness from "testsuite/" to "tests/harness/".
28394 Sun Nov 05 16:36:56 GMT 2006  Olly Betts <olly@survex.com>
28396         * testsuite/backendmanager.cc,testsuite/backendmanager.h: Now needs
28397           <stdio.h>.  Set SIG_IGN for SIG_CHLD so we don't get zombie child
28398           processes.
28400 Sun Nov 05 03:53:24 GMT 2006  Olly Betts <olly@survex.com>
28402         * tests/apitest.cc: Make backendmanager static.
28404 Sun Nov 05 03:51:36 GMT 2006  Olly Betts <olly@survex.com>
28406         * bin/xapian-tcpsrv.cc: Output "Listening..." once the socket is
28407           open and read for connections.
28408         * testsuite/backendmanager.cc: Use popen() to run xapian-tcpsrv
28409           and wait for "Listening..." before returning rather than just
28410           sleeping for 1 second and hoping that's enough.
28412 Sun Nov 05 02:54:23 GMT 2006  Olly Betts <olly@survex.com>
28414         * tests/api_db.cc: Remove unnecessary inclusion of backendmanager.h.
28416 Fri Nov 03 02:09:26 GMT 2006  Olly Betts <olly@survex.com>
28418         * HACKING: Update debian packaging checklist.
28420 Fri Nov 03 00:57:35 GMT 2006  Olly Betts <olly@survex.com>
28422         * docs/Makefile.am: Building sourcedoc.pdf needs a larger pool_size
28423           now.
28425 Thu Nov 02 19:12:34 GMT 2006  Olly Betts <olly@survex.com>
28427         * AUTHORS: Updated.
28429 Thu Nov 02 15:41:46 GMT 2006  Olly Betts <olly@survex.com>
28431         * HACKING,NEWS,configure.ac: Update for 0.9.8.
28433 Thu Nov 02 15:20:05 GMT 2006  Olly Betts <olly@survex.com>
28435         * PLATFORMS: Update from tinderbox.
28437 Thu Nov 02 11:53:53 GMT 2006  Olly Betts <olly@survex.com>
28439         * configure.ac: GCC's -Wendif-labels is enabled by default on versions
28440           which support it, which simplifies our tests.
28442 Thu Nov 02 00:22:44 GMT 2006  Olly Betts <olly@survex.com>
28444         * backends/remote/dir_contents: Update.
28446 Wed Nov 01 15:33:12 GMT 2006  Olly Betts <olly@survex.com>
28448         * common/omstringstream.h: Fix our implementation of om_ostringstream
28449           to work with OmTime.
28451 Wed Nov 01 03:27:36 GMT 2006  Olly Betts <olly@survex.com>
28453         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Don't
28454           require a prefixed boolean term to start with an alphanumeric
28455           - allow the same set of characters as we do for the second and
28456           subsequent characters.
28458 Sat Oct 28 04:12:13 BST 2006  Olly Betts <olly@survex.com>
28460         * bin/quartzcheck.cc: Add catch for unknown exceptions.
28462 Sat Oct 28 03:49:19 BST 2006  Olly Betts <olly@survex.com>
28464         * HACKING,configure.ac,docs/Makefile.am,docs/doxygen_api_conf.in,
28465           docs/doxygen_full_conf.in: Produce a PDF for apidoc rather than
28466           PostScript, since the PDF is smaller, and easier to view for most
28467           users.  Use pdflatex to generate the PDF directly rather than
28468           going via a DVI file.  This also avoids problems on some Linux
28469           distros where latex is a symlink to pdfelatex (bug#81, bug#95).
28471 Thu Oct 26 22:12:20 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28473         * bin/quartzcheck.cc: Catch (and display) any exceptions which are
28474           of type "const char *error".  btreecheck.cc raises an exception
28475           of this type if a btree error is found, and this avoids
28476           quartzcheck dying quite so horribly in this case.
28478 Wed Oct 25 23:30:26 BST 2006  Olly Betts <olly@survex.com>
28480         * configure.ac: -Wendif-labels is new in GCC 3.3.
28481         * configure.ac: Revert accidental change which turned on -Werror in
28482           non-maintainer builds.
28483         * configure.ac: Avoid non-portable use of double quotes in
28484           double-quoted backticks.
28486 Wed Oct 25 01:19:24 BST 2006  Olly Betts <olly@survex.com>
28488         * configure.ac: Redhat's GCC 2.96 doesn't support -Wundef even
28489           though real GCC version before and after it do!  Also, use
28490           -Wshadow and -Wendif-labels even when not in maintainer mode.
28492 Tue Oct 24 04:17:58 BST 2006  Olly Betts <olly@survex.com>
28494         * backends/flint/flint_lock.cc,bin/quartzcheck.cc: Eliminate
28495           a couple of variables whose value is never used.
28497 Tue Oct 24 00:31:25 BST 2006  Olly Betts <olly@survex.com>
28499         * backends/quartz/quartz_database.cc: Only force a flush on
28500           WritableDatabase::allterms_begin() if there are actually pending
28501           changes.
28503 Mon Oct 23 23:49:52 BST 2006  Olly Betts <olly@survex.com>
28505         * backends/flint/flint_database.cc: Only force a flush on
28506           WritableDatabase::allterms_begin() if there are actually pending
28507           changes.
28509 Mon Oct 23 02:24:12 BST 2006  Olly Betts <olly@survex.com>
28511         * configure.ac: When checking if we need -lm, don't use a constant
28512           argument to log as the compiler might simply evaluate the whole
28513           expression at compile time.
28515 Sat Oct 21 20:42:52 BST 2006  Olly Betts <olly@survex.com>
28517         * HACKING: Mention automake 1.10 is out but we've not tested it yet.
28519 Sat Oct 21 20:39:57 BST 2006  Olly Betts <olly@survex.com>
28521         * HACKING: Add entries to release checklist: make sure new API methods
28522           are wrapped by the bindings, and that bug submitters are thanked.
28524 Fri Oct 20 13:56:50 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28526         * backends/flint/flint_io.cc: Fix compilation on windows (needs to
28527           #include "safewindows.h" to get definition of SSIZE_T).
28529 Tue Oct 17 02:16:37 BST 2006  Olly Betts <olly@survex.com>
28531         * testsuite/backendmanager.cc: Fix compilation when valgrind is
28532           detected by configure.
28534 Thu Oct 12 13:30:05 BST 2006  Olly Betts <olly@survex.com>
28536         * xapian.spec.in: Package xapian-progsrv.
28538 Thu Oct 12 00:49:47 BST 2006  Olly Betts <olly@survex.com>
28540         * HACKING: Note that on Debian, tetex-extra is needed for
28541           fancyhdr.sty.
28542         * HACKING: Note that dch can be used to update debian/changelog.
28544 Wed Oct 11 23:35:08 BST 2006  Olly Betts <olly@survex.com>
28546         * docs/Makefile.am: If running latex on refman.ps fails, cat
28547           refman.log since that is likely to show what failed.
28549 Tue Oct 10 17:24:00 BST 2006  Olly Betts <olly@survex.com>
28551         * NEWS: Bump release date.
28553 Sun Oct 08 21:41:04 BST 2006  Olly Betts <olly@survex.com>
28555         * NEWS,PLATFORMS,configure.ac: Update for 0.9.7.
28557 Sun Oct 08 10:06:51 BST 2006  Olly Betts <olly@survex.com>
28559         * testsuite/testsuite.cc: Use lseek() to skip existing valgrind output
28560           instead of repeated calls to read.  Handle the old valgrind naming
28561           convention for log files.
28563 Sun Oct 08 09:35:59 BST 2006  Olly Betts <olly@survex.com>
28565         * matcher/multimatch.cc: Fix a couple of typos in comments.
28567 Sun Oct 08 05:36:36 BST 2006  Olly Betts <olly@survex.com>
28569         * configure.ac: Disable probing and short-cut tests for a FORTRAN
28570           compiler.  We don't use one, but current libtool versions always
28571           check for it regardless.
28573 Sat Oct 07 21:19:35 BST 2006  Olly Betts <olly@survex.com>
28575         * configure.ac,tests/runtest.in,testsuite/backendmanager.cc,
28576           testsuite/testsuite.cc: Fix testsuite harness to show valgrind
28577           output when a test fails (when running under valgrind in verbose
28578           mode).  This probably stopped working due to changes in valgrind 3.
28579         * testsuite/backendmanager.cc: Run xapian-tcpsrv under valgrind if
28580           apitest is.
28582 Fri Oct  6 18:27:13 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28584         * tests/runtest.in: export $LIBTOOL, $VALGRIND and $VG_LOG_FD.
28585         * testsuite/backendmanager.cc: If $LIBTOOL, $VALGRIND and
28586           $VG_LOG_FD are set, run progsrv under valgrind.  Fixes
28587           Bug #94.
28588         * net/remoteserver.cc: Use an AutoPtr to hold the unserialised
28589           query, so it gets deleted if an exception is thrown.
28590         * api/omqueryinternal.cc: Use AutoPtr in one place, and a try-catch
28591           in another, to ensure that partially unserialised queries get
28592           deleted if exceptions are thrown.
28593         * tests/internaltest.cc: Add copyright notices to file for recent
28594           change.
28595         * AUTHORS: Add myself as a current developer, now that I've started
28596           committing to the core again.
28598 Fri Oct 06 17:44:21 BST 2006  Olly Betts <olly@survex.com>
28600         * api/omqueryinternal.cc: Fix memory leak in query unserialisation.
28602 Fri Oct  6 17:34:59 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28604         * tests/runtest.in: Cache result of test for $VG_LOG_FD if we
28605           find the new option.  Saves 2 seconds for each invocation on my
28606           machine, which is half the time when running just a single simple
28607           test.
28609 Fri Oct  6 16:35:46 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28611         * tests/internaltest.cc: Check serialisation and unserialisation of
28612           Query objects.  Currently fails under valgrind due to a memory
28613           leak somewhere in the unserialisation code.
28615 Thu Oct 05 14:13:55 BST 2006  Olly Betts <olly@survex.com>
28617         * include/xapian/error.h: Only enable the SWIG visibility hook when
28618           using GCC 4 or later.
28620 Wed Oct 04 20:32:43 BST 2006  Olly Betts <olly@survex.com>
28622         * m4/xapian.m4: Remove overquoting.
28624 Wed Oct  4 13:28:09 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28626         * common/utils.h: MSVC seems to #define open.  However, the
28627           workaround for this problem implemented for old versions of
28628           solaris doesn't work for windows, so avoid applying the fix for
28629           windows, and just #undef open.  (Windows seems to define some
28630           open() functions, as well as #defining open!)
28632 Wed Oct  4 13:26:18 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28634         * net/serialise.cc: Use "unsigned char" instead of "char" when
28635           serialising lengths, to avoid problems on platforms where char is
28636           signed (eg, windows).
28638 Wed Oct 04 12:25:51 BST 2006  Olly Betts <olly@survex.com>
28640         * backends/flint/flint_version.cc: Remove "100" from start of file so
28641           it actually compiles.
28643 Mon Oct 02 13:57:56 BST 2006  Olly Betts <olly@survex.com>
28645         * xapian-config.in: Fix typo - "@libdir" should be "@libdir@".
28646           This would lead to -L/usr/lib not being pruned, which is really
28647           just a cosmetic problem (the typo was introduced in 0.9.3).
28649 Thu Sep 28 02:00:05 BST 2006  Olly Betts <olly@survex.com>
28651         * matcher/multimatch.cc: Reserve the right number of entries in the
28652           subrsets vector.
28654 Fri Sep 22 07:48:32 BST 2006  Olly Betts <olly@survex.com>
28656         * common/serialise-double.cc: Fix warning with aCC.
28658 Fri Sep 22 04:43:06 BST 2006  Olly Betts <olly@survex.com>
28660         * HACKING: Expand note on _GLIBCXX_DEBUG;  Now using autoconf 2.60 for
28661           snapshots and releases;  Now using a libtool patch which improves
28662           support for -library=stlport4 with Sun's C++;  Give URL to Alexandre
28663           Duret-Lutz's autotools tutorial, which is much more up-to-date than
28664           the "goat book".
28666 Fri Sep 22 04:42:08 BST 2006  Olly Betts <olly@survex.com>
28668         * common/serialise-double.cc: Fix a few compiler warnings.
28670 Fri Sep 22 04:29:18 BST 2006  Olly Betts <olly@survex.com>
28672         * backends/flint/flint_lock.cc: Retry on EINTR from fcntl or waitpid.
28674 Fri Sep 22 03:39:12 BST 2006  Olly Betts <olly@survex.com>
28676         * include/xapian/version_h.cc: Only check _GLIBCXX_DEBUG for GCC 3.4
28677           and later (which are the versions which support it).
28679 Fri Sep 22 03:37:02 BST 2006  Olly Betts <olly@survex.com>
28681         * bin/xapian-tcpsrv.cc: Report errno if we catch a Xapian::Error which
28682           has it set.
28684 Fri Sep 22 03:30:25 BST 2006  Olly Betts <olly@survex.com>
28686         * configure.ac: Turn on -Wportability to help ensure our Makefile.am's
28687           are written in a portable way.
28689 Fri Sep 22 03:29:25 BST 2006  Olly Betts <olly@survex.com>
28691         * tests/runtest.in: Turn on GLIBCXX_FORCE_NEW when running tests under
28692           valgrind.
28694 Tue Sep 19 06:28:47 BST 2006  Olly Betts <olly@survex.com>
28696         * tests/internaltest.cc: Check that the the destructor on a temporary
28697           object gets called at the correct time (Sun C++ deliberately gets
28698           this wrong by default).
28700 Tue Sep 19 04:32:04 BST 2006  Olly Betts <olly@survex.com>
28702         * include/xapian/enquire.h: Revert change to Xapian::Weight's copy
28703           constructor because it prevents Omega from compiling.
28705 Tue Sep 19 04:01:14 BST 2006  Olly Betts <olly@survex.com>
28707         * configure.ac: Make the argument of log() a double to avoid
28708           potential compiler warnings.
28710 Mon Sep 18 22:58:19 BST 2006  Olly Betts <olly@survex.com>
28712         * include/xapian/enquire.h: Xapian::Weight's copy constructor should
28713           be private not protected (direct copying isn't allowed).
28715 Mon Sep 18 07:03:51 BST 2006  Olly Betts <olly@survex.com>
28717         * configure.ac: We reportedly need "-lm" to get maths functions on
28718           some versions of Sun's C++ compiler.
28720 Sat Sep 16 12:08:25 BST 2006  Olly Betts <olly@survex.com>
28722         * configure.ac: Sun's C++ compiler implements non-standards-conforming
28723           lifetimes for temporary objects (for "backwards compatibility" with
28724           old Sun C++ specific code).  We don't care about such code, so
28725           always pass "-features=tmplife" for Sun C++.
28727 Sat Sep 16 03:04:57 BST 2006  Olly Betts <olly@survex.com>
28729         * bin/xapian-progsrv.cc: Oops, fix compilation error.
28731 Sat Sep 16 02:13:22 BST 2006  Olly Betts <olly@survex.com>
28733         * bin/xapian-progsrv.cc: Fix messages send by xapian-progsrv if an
28734           exception is thrown while opening the database.
28736 Fri Sep 15 06:29:55 BST 2006  Olly Betts <olly@survex.com>
28738         * tests/internaltest.cc: 1/DBL_MAX may be less than DBL_MIN but on
28739           platforms like x86 which hold results in registers with extra
28740           precision, this is still representable, but not reliably so
28741           the test sometimes fails.
28743 Fri Sep 15 02:40:52 BST 2006  Olly Betts <olly@survex.com>
28745         * backends/flint/flint_btreebase.cc: Avoid copying beyond the end of
28746           the bitmap block.
28748 Thu Sep 14 02:01:58 BST 2006  Olly Betts <olly@survex.com>
28750         * backends/flint/flint_version.cc: Fix warning from GCC 4.1.0.
28752 Wed Sep 13 18:12:43 BST 2006  Olly Betts <olly@survex.com>
28754         * backends/flint/flint_io.cc,backends/flint/flint_io.h,
28755           backends/flint/flint_version.cc: Fix compiler warnings.
28757 Wed Sep 13 06:09:40 BST 2006  Olly Betts <olly@survex.com>
28759         * backends/flint/flint_version.cc,backends/flint/flint_version.h:
28760           Actually commit the new files!
28762 Wed Sep 13 05:21:04 BST 2006  Olly Betts <olly@survex.com>
28764         * backends/flint/,common/utils.h: Rewrite some of flint's low level IO
28765           functions, and the "iamflint" handling class.
28767 Tue Sep 12 20:22:57 BST 2006  Olly Betts <olly@survex.com>
28769         * backends/remote/remote-database.cc: Fix to compile.
28771 Tue Sep 12 18:56:16 BST 2006  Olly Betts <olly@survex.com>
28773         * backends/remote/remote-database.cc,common/remote-database.h:
28774           Fix bug in remote backend which incorrectly returned an empty MSet
28775           under certain circumstances!
28777 Tue Sep 12 11:51:31 BST 2006  Olly Betts <olly@survex.com>
28779         * matcher/msetcmp.cc: "static inline" -> "inline" since the static is
28780           superfluous and Sun's C++ warns.
28782 Mon Sep 11 23:42:28 BST 2006  Olly Betts <olly@survex.com>
28784         * configure.ac: Check $CXX not $CC to identify which C++ compiler we
28785           have.
28787 Mon Sep 11 16:32:37 BST 2006  Olly Betts <olly@survex.com>
28789         * api/omenquire.cc,api/vectortermlist.h,
28790           backends/flint/flint_positionlist.cc,configure.ac,
28791           net/remoteconnection.cc,net/tcpclient.cc,
28792           queryparser/queryparser.lemony,tests/api_anydb.cc,tests/api_db.cc,
28793           tests/api_nodb.cc: I've discovered that -library=stlport4 puts
28794           Sun's compiler into an "ANSI C++ compliant" mode, so do that
28795           automatically in configure and throw away all the annoying special
28796           bits of alternative code we'd accumulated just for this one
28797           compiler.
28799 Mon Sep 11 16:01:20 BST 2006  Olly Betts <olly@survex.com>
28801         * tests/api_wrdb.cc: Speed up deldoc4 when run in verbose mode
28802           - some stringstream implementations are very inefficient when
28803           the string grows long.
28805 Mon Sep 11 05:30:29 BST 2006  Olly Betts <olly@survex.com>
28807         * HACKING: Add some advice regarding debugging using -D_GLIBCXX_DEBUG,
28808           valgrind, and gdb.
28810 Sun Sep 10 02:24:47 BST 2006  Olly Betts <olly@survex.com>
28812         * configure.ac: Fix last check-in to actually work.
28814 Sat Sep 09 04:19:44 BST 2006  Olly Betts <olly@survex.com>
28816         * configure.ac: Ensure that if _GLIBCXX_DEBUG has been specified that
28817           it also passed when generating version.h.
28819 Sat Sep 09 04:01:40 BST 2006  Olly Betts <olly@survex.com>
28821         * tests/internaltest.cc: Give more useful output should the double
28822           serialisation test fail.
28824 Sat Sep 09 03:19:20 BST 2006  Olly Betts <olly@survex.com>
28826         * include/xapian/version_h.cc: Add a check that _GLIBCXX_DEBUG is
28827           set compatibly if we're compiling with GNU C++.
28829 Sat Sep 09 02:55:38 BST 2006  Olly Betts <olly@survex.com>
28831         * backends/flint/flint_modifiedpostlist.cc: Fix potential access to
28832           iterator which has already reached its end.
28834 Fri Sep 08 04:05:28 BST 2006  Olly Betts <olly@survex.com>
28836         * backends/remote/remote-database.cc,common/,matcher/bm25weight.cc,
28837           matcher/tradweight.cc,net/,tests/internaltest.cc: Split the double
28838           serialisation code off into its own file - it is used by BM25Weight
28839           and TradWeight, so it needs to be compiled in even when the remote
28840           backend is disabled.
28842 Thu Sep 07 00:09:41 BST 2006  Olly Betts <olly@survex.com>
28844         * testsuite/backendmanager.cc: Discard stderr from xapian-tcpsrv
28845           so we don't get "write error" messages appearing in the testsuite
28846           output when we've just closed the connection at the client side.
28848 Tue Sep 05 21:07:40 BST 2006  Olly Betts <olly@survex.com>
28850         * api/omqueryinternal.cc: Fix warning when remote backend
28851           is disabled.
28853 Tue Sep 05 20:58:52 BST 2006  Olly Betts <olly@survex.com>
28855         * docs/Makefile.am: Add extra dependencies so that parallel make
28856           doesn't try to run latex twice simultaneously.
28858 Tue Sep 05 20:58:13 BST 2006  Olly Betts <olly@survex.com>
28860         * AUTHORS: Updated.
28862 Tue Sep 05 20:56:50 BST 2006  Olly Betts <olly@survex.com>
28864         * Makefile.am: Fix typo.
28866 Tue Sep 05 03:23:14 BST 2006  Olly Betts <olly@survex.com>
28868         * docs/queryparser.html,queryparser/queryparser.lemony,
28869           tests/queryparsertest.cc: Implement "ADJ" operator - like
28870           "NEAR" except the terms must appear in matching documents in the
28871           same order as in the query.
28873 Tue Sep 05 03:19:12 BST 2006  Olly Betts <olly@survex.com>
28875         * backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
28876           matcher/bm25weight.cc,matcher/tradweight.cc,net/remoteserver.cc,
28877           net/serialise.cc,tests/internaltest.cc: Change how doubles are
28878           serialised by TradWeight, BM25Weight, and in the remote backend
28879           protocol.  The new encoding allows us to transfer any double
28880           value which can be represented by both machines precisely and
28881           compactly.
28883 Tue Sep 05 02:27:36 BST 2006  Olly Betts <olly@survex.com>
28885         * docs/queryparser.html,queryparser/queryparser.lemony,
28886           tests/queryparsertest.cc: Allow a distance to be specified
28887           for NEAR - e.g. "cats NEAR/3 dogs" (bug#92).
28889 Fri Sep 01 00:29:10 BST 2006  Olly Betts <olly@survex.com>
28891         * backends/remote/remote-database.cc,common/remote-database.h:
28892           Fix RemoteDatabase::reopen() to not be const so it actually
28893           overrides the virtual method it is supposed to.
28895 Thu Aug 31 21:40:53 BST 2006  Olly Betts <olly@survex.com>
28897         * testsuite/backendmanager.h: Remove unneeded BackendManager::
28898           qualifications.
28900 Thu Aug 31 17:08:16 BST 2006  Olly Betts <olly@survex.com>
28902         * matcher/msetpostlist.cc,matcher/msetpostlist.h: Move #include
28903           "omenquireinternal.h" into the header to fix compilation error
28904           with older versions of GCC.
28906 Thu Aug 31 16:38:33 BST 2006  Olly Betts <olly@survex.com>
28908         * PLATFORMS: Added success report for Nexenta (alpha 5).
28910 Wed Aug 30 23:41:08 BST 2006  Olly Betts <olly@survex.com>
28912         * configure.ac: Fix generation of version.h to work with Solaris sed.
28914 Sat Aug 26 15:28:22 BST 2006  Olly Betts <olly@survex.com>
28916         * docs/index.html: Add links to the wiki.
28918 Sun Jul 16 03:48:26 BST 2006  Olly Betts <olly@survex.com>
28920         * common/Makefile.am: Ship remoteprotocol.h.
28922 Sun Jul 16 02:23:54 BST 2006  Olly Betts <olly@survex.com>
28924         * common/remote-database.h: Add new file I missed in the previous
28925           commit.
28927 Sun Jul 16 01:58:25 BST 2006  Olly Betts <olly@survex.com>
28929         * Makefile.am,api/,backends/Makefile.am,backends/database.cc,
28930           backends/dbfactory_remote.cc,backends/flint/flint_database.cc,
28931           backends/flint/flint_termlist.cc,backends/flint/flint_termlist.h,
28932           backends/inmemory/inmemory_database.cc,
28933           backends/inmemory/inmemory_database.h,
28934           backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
28935           backends/net/,backends/quartz/quartz_termlist.cc,
28936           backends/quartz/quartz_termlist.h,backends/remote/,bin/Makefile.am,
28937           bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/,configure.ac,
28938           docs/remote_protocol.html,include/xapian/,matcher/,net/,tests/,
28939           testsuite/backendmanager.cc,testsuite/backendmanager.h: Rewrite
28940           most of the remote backend.  It now supports most operations
28941           which a local database does (including writing!), the protocol
28942           used is more compact, and a number of layers of classes have
28943           been eliminated and the sequences of method calls simplified, so the
28944           code should be easier to understand and maintain despite doing more.
28945           A number of bugs have been fixed in the process.
28947 Sat Jul 15 05:10:38 BST 2006  Olly Betts <olly@survex.com>
28949         * tests/api_nodb.cc: Doesn't need <iostream>.
28951 Sat Jul 15 01:06:27 BST 2006  Olly Betts <olly@survex.com>
28953         * README: Add link to the wiki.  Tweak wording.
28955 Fri Jul 14 15:21:39 BST 2006  Olly Betts <olly@survex.com>
28957         * configure.ac: Note in error message that dot is in graphviz.
28959 Fri Jul 14 15:17:36 BST 2006  Olly Betts <olly@survex.com>
28961         * docs/overview.html: Add discussion of uses of terms vs values.
28963 Fri Jul 14 15:01:04 BST 2006  Olly Betts <olly@survex.com>
28965         * docs/overview.html: Rewrite the section on Xapian::Document to
28966           remove some very out-of-date information and make it clearer.
28968 Tue Jul 11 18:41:07 BST 2006  Olly Betts <olly@survex.com>
28970         * queryparser/queryparser.lemony: Fix problem I believe was introduced
28971           by previous fix.
28972         * tests/queryparsertest.cc: Add regression test and some additional
28973           related test cases.
28975 Tue Jul 11 03:32:48 BST 2006  Olly Betts <olly@survex.com>
28977         * queryparser/queryparser.lemony: Fix bug in how we handle prefixed
28978           quoted phrases and prefixed brackets.
28979         * tests/queryparsertest.cc: Add regression tests.
28981 Mon Jul 10 23:17:58 BST 2006  Olly Betts <olly@survex.com>
28983         * include/xapian/database.h: Note that automatically allocated
28984           document IDs don't reuse IDs from deleted document.
28986 Wed Jul 05 01:06:35 BST 2006  Olly Betts <olly@survex.com>
28988         * tests/api_wrdb.cc: Tweak whitespace.
28990 Mon Jun 26 23:56:02 BST 2006  Olly Betts <olly@survex.com>
28992         * PLATFORMS: Added success reports for MSVC and sparc linux.
28994 Sat Jun 17 02:01:35 BST 2006  Olly Betts <olly@survex.com>
28996         * Makefile.am,tests/Makefile.am: Tweak new check-* rules to be more
28997           portable and robust.
28999 Sun Jun 11 23:29:48 BST 2006  Olly Betts <olly@survex.com>
29001         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix parsing
29002           of loved and hated prefixed phrases and bracketted expressions.  Fix
29003           handling of stopwords in boolean expressions.  Don't ignore a
29004           stopword if it's the only query term.  Add regression tests for all
29005           these cases.
29007 Fri Jun 09 15:21:07 BST 2006  Olly Betts <olly@survex.com>
29009         * docs/queryparser.html: Add pointer to set_database when describing
29010           FLAG_WILDCARD.
29012 Fri Jun 09 13:51:03 BST 2006  Olly Betts <olly@survex.com>
29014         * include/xapian/queryparser.h: Add note that FLAG_WILDCARD requires
29015           you to call set_database.
29017 Fri Jun 09 13:49:34 BST 2006  Olly Betts <olly@survex.com>
29019         * api/omqueryinternal.cc: Don't compile query serialisation if the
29020           remote backend is disabled.
29022 Fri Jun 09 01:48:25 BST 2006  Olly Betts <olly@survex.com>
29024         * api/omdocument.cc,tests/api_nodb.cc: add_value failed to replace an
29025           existing value with the same number, contrary to what the
29026           documentation says (bug #82).
29028 Thu Jun 08 21:36:54 BST 2006  Olly Betts <olly@survex.com>
29030         * matcher/multimatch.cc: Don't fetch the document data when fetching
29031           the value to sort on.  Simple benchmarking showed this to speed
29032           up sort by value by a factor of between 3 and 9!
29034 Sun Jun 04 17:36:01 BST 2006  Olly Betts <olly@survex.com>
29036         * backends/flint/: Remove forced flush when iterating the posting list
29037           of a term which has modified posting pending.
29039 Sat Jun 03 21:38:43 BST 2006  Olly Betts <olly@survex.com>
29041         * backends/flint/flint_database.cc,backends/flint/flint_termlist.cc,
29042           backends/quartz/quartz_database.cc,tests/api_wrdb.cc: We can't flush
29043           during a transaction, which means that we can't use flush to avoid
29044           having to handle corner cases (like deleting a document right after
29045           adding it before it's been flushed) so handle corner cases properly
29046           (except for postlist_begin() and allterms_begin() which are
29047           harder - these now throw UnimplementedError at least...)
29048         * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
29049           replace_document(did, doc) was double-incrementing the "changes"
29050           counter when document did didn't exist - fixed.
29052 Sat Jun 03 17:53:41 BST 2006  Olly Betts <olly@survex.com>
29054         * HACKING: Document "make check-flint" and "make check-quartz".
29056 Sat Jun 03 17:49:25 BST 2006  Olly Betts <olly@survex.com>
29058         * Makefile.am,tests/Makefile.am: Added make targets "check-flint" and
29059           "check-quartz" which run the subset of tests which test the flint
29060           and quartz backends respectively.
29062 Sat Jun 03 04:03:00 BST 2006  Olly Betts <olly@survex.com>
29064         * api/omdatabase.cc,backends/database.cc,
29065           backends/flint/flint_database.cc,backends/flint/flint_database.h,
29066           backends/inmemory/inmemory_database.cc,
29067           backends/inmemory/inmemory_database.h,backends/quartz/dir_contents,
29068           backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
29069           common/database.h,include/xapian/database.h,tests/apitest.cc:
29070           Rework transactions to support "unflushed" transactions, and so
29071           they work with quartz as well as with flint.
29073 Sat Jun 03 03:18:22 BST 2006  Olly Betts <olly@survex.com>
29075         * HACKING: Document "make check-remote".
29077 Sat Jun 03 00:23:46 BST 2006  Olly Betts <olly@survex.com>
29079         * backends/database.cc,backends/flint/dir_contents,
29080           backends/flint/flint_database.cc,backends/flint/flint_database.h,
29081           backends/quartz/dir_contents,common/database.h,
29082           include/xapian/database.h,tests/: Implement transactions for
29083           flint.
29085 Sat Jun 03 00:14:37 BST 2006  Olly Betts <olly@survex.com>
29087         * tests/apitest.cc: Run tests on flint if flint is enabled, rather
29088           than if quartz is enabled.
29090 Sun May 28 23:01:45 BST 2006  Olly Betts <olly@survex.com>
29092         * common/omtime.h: Add operator+ and operator+= with argument of
29093           type Xapian::timeout.
29095 Sun May 28 22:02:30 BST 2006  Olly Betts <olly@survex.com>
29097         * include/xapian/errorhandler.h: Fix typos in private assignment
29098           operator and copy ctor (Error -> ErrorHandler!)
29100 Sun May 28 21:54:05 BST 2006  Olly Betts <olly@survex.com>
29102         * Makefile.am,tests/Makefile.am: Add "check-remote" target which runs
29103           the subset of tests which test the remote backend.
29105 Thu May 25 16:06:06 BST 2006  Olly Betts <olly@survex.com>
29107         * api/omdatabase.cc,backends/database.cc,common/database.h:
29108           Merge Xapian::Internal::open_database() into the Xapian::Database
29109           ctor which calls it; merge Xapian::Internal::open_writable_database()
29110           into the Xapian::WritableDatabase ctor which calls it.
29112 Wed May 24 08:28:40 BST 2006  Olly Betts <olly@survex.com>
29114         * net/socketserver.cc: OmLineBuf -> OmSocketLineBuf.
29116 Wed May 24 08:27:22 BST 2006  Olly Betts <olly@survex.com>
29118         * common/socketserver.h: OmLineBuf -> OmSocketLineBuf.
29120 Wed May 24 07:50:51 BST 2006  Olly Betts <olly@survex.com>
29122         * common/Makefile.am,common/omlinebuf.h,common/socketcommon.h,
29123           net/Makefile.am,net/omlinebuf.cc,net/socketcommon.cc:
29124           Merge OmLineBuf into OmSocketLineBuf.
29125         * common/Makefile.am: Fix netutils.cc to be conditionally included
29126           when the remote backend is enabled, not the quartz backend!
29128 Tue May 23 18:59:09 BST 2006  Olly Betts <olly@survex.com>
29130         * api/Makefile.am,api/errorhandler.cc,api/omerror.cc,
29131           include/xapian/error.h,include/xapian/errorhandler.h:
29132           Redo the Xapian::Error and Xapian::ErrorHandler classes.
29133           The new versions have better, clearer documentation comments
29134           and are cleaner internally.
29135         * include/xapian/error.h: Add hook to allow SWIG bindings to
29136           be built using GCC's visibility support.
29138 Tue May 23 10:08:02 BST 2006  Olly Betts <olly@survex.com>
29140         * backends/quartz/btree.cc: Remove superfluous '#include <autoptr.h>'.
29142 Tue May 23 09:42:52 BST 2006  Olly Betts <olly@survex.com>
29144         * backends/Makefile.am,backends/database.cc,
29145           backends/dbfactory_remote.cc,backends/net/net_database.cc,
29146           backends/net/net_termlist.cc,backends/net/net_termlist.h,common/,
29147           include/xapian/dbfactory.h,matcher/,net/socketclient.cc,
29148           net/socketcommon.cc: Eliminate the NetClient class by merging
29149           it into NetDatabase.
29151 Mon May 22 08:51:16 BST 2006  Olly Betts <olly@survex.com>
29153         * common/omtime.h: Fix OmTime::operator> which failed to return false
29154           if the seconds were strictly less but the microsecond fraction was
29155           more.
29157 Sun May 21 11:53:29 BST 2006  Olly Betts <olly@survex.com>
29159         * Makefile.am,bin/Makefile.am,docs/Makefile.am,examples/Makefile.am:
29160           Make use of the dist_ prefix to avoid having to list files in
29161           EXTRA_DIST as well as in *_DATA and man_MANS.
29163 Sun May 21 05:55:00 BST 2006  Olly Betts <olly@survex.com>
29165         * api/dir_contents,getopt/dir_contents,queryparser/dir_contents:
29166           Add missing dir_contents files.
29168 Sun May 21 05:45:44 BST 2006  Olly Betts <olly@survex.com>
29170         * tests/remotetest.cc: Remove unnecessary "#include <sys/wait.h>".
29172 Sat May 20 11:02:43 BST 2006  Olly Betts <olly@survex.com>
29174         * docs/Makefile.am: doxygen_api_conf and doxygen_full_conf are
29175           generated, so aren't in srcdir!
29177 Sat May 20 10:14:52 BST 2006  Olly Betts <olly@survex.com>
29179         * docs/Makefile.am: automake adds suitable rules for rebuilding
29180           doxygen_api_conf and doxygen_source_conf, so remove our less
29181           accurate versions.
29183 Fri May 19 14:43:47 BST 2006  Olly Betts <olly@survex.com>
29185         * docs/Makefile.am,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in:
29186           Remove "XAPIAN_DEPRECATED" from generated documentation.
29187         * docs/Makefile.am: Fix dependencies for regenerating the doxygen
29188           documentation.
29190 Fri May 19 08:12:51 BST 2006  Olly Betts <olly@survex.com>
29192         * docs/scalability.html: quartzcompact and xapian-compact now allow
29193           you to set the blocksize, so there's no need to use copydatabase
29194           if you want to migrate a database to a larger blocksize.  Mention
29195           gmane.  Other minor tweaks.
29197 Fri May 19 07:52:23 BST 2006  Olly Betts <olly@survex.com>
29199         * bin/quartzcompact.cc: Add --blocksize option to allow the blocksize
29200           to be set (default is 8K as before.)
29202 Fri May 19 07:47:13 BST 2006  Olly Betts <olly@survex.com>
29204         * bin/xapian-compact.cc: Add --blocksize option to allow the blocksize
29205           to be set (default is 8K as before.)
29207 Thu May 18 11:24:17 BST 2006  Olly Betts <olly@survex.com>
29209         * api/vectortermlist.h: Whitespace tweak.
29211 Tue May 16 10:09:53 BST 2006  Olly Betts <olly@survex.com>
29213         * HACKING: Update details of the debian stable backport version
29214           numbering scheme.
29216 Tue May 16 06:55:14 BST 2006  Olly Betts <olly@survex.com>
29218         * configure.ac: Remove unused variable from snprintf testing code.
29220 Tue May 16 04:32:34 BST 2006  Olly Betts <olly@survex.com>
29222         * HACKING: Expand on the debian package building checklist.
29224 Tue May 16 04:32:07 BST 2006  Olly Betts <olly@survex.com>
29226         * include/xapian/enquire.h: Note that "set_sort_by_relevance" is the
29227           default setting.
29229 Mon May 15 06:59:01 BST 2006  Olly Betts <olly@survex.com>
29231         * HACKING: Update debian package building checklist.
29233 Mon May 15 03:53:53 BST 2006  Olly Betts <olly@survex.com>
29235         * PLATFORMS: Update one more result before the actual release.
29237 Mon May 15 02:15:18 BST 2006  Olly Betts <olly@survex.com>
29239         * NEWS,configure.ac: Updated for 0.9.6.
29241 Mon May 15 01:35:33 BST 2006  Olly Betts <olly@survex.com>
29243         * PLATFORMS: Updated in preparation for the next release.
29245 Sun May 14 19:05:37 BST 2006  Olly Betts <olly@survex.com>
29247         * backends/flint/flint_lock.h: Added workaround for newlib header bug.
29249 Sat May 13 07:04:14 BST 2006  Olly Betts <olly@survex.com>
29251         * configure.ac: Fix snprintf tests.
29253 Sat May 13 04:52:53 BST 2006  Olly Betts <olly@survex.com>
29255         * configure.ac: Tweak version.h generation to cope with CXXCPP putting
29256           carriage returns into its output as can happen on cygwin.
29258 Fri May 12 21:49:33 BST 2006  Olly Betts <olly@survex.com>
29260         * HACKING: Update with the libtool patches we're now using.
29262 Fri May 12 21:43:02 BST 2006  Olly Betts <olly@survex.com>
29264         * include/xapian/version_h.cc: Trim trailing whitespace.
29266 Fri May 12 20:43:47 BST 2006  Olly Betts <olly@survex.com>
29268         * configure.ac,include/xapian/version_h.cc: Replace @@ with " instead
29269           of @, so we can write @deprecated.  Fix more compilation problems.
29271 Fri May 12 19:00:08 BST 2006  Olly Betts <olly@survex.com>
29273         * include/xapian/version_h.cc: Fix compilation problem.
29275 Fri May 12 01:19:14 BST 2006  Olly Betts <olly@survex.com>
29277         * api/version.cc,include/xapian/version_h.cc: Rename
29278           Xapian::xapian_version_string() and companions to
29279           Xapian::version_string().  Keep the old functions as aliases
29280           which are marked as deprecated.
29282 Wed May 10 18:25:59 BST 2006  Olly Betts <olly@survex.com>
29284         * include/xapian/enquire.h: Remove bogus documentation for a
29285           parameter which doesn't exist.
29287 Tue May 09 19:17:23 BST 2006  Olly Betts <olly@survex.com>
29289         * bin/Makefile.am: Remove trailing whitespace.
29290         * bin/xapian-compact.cc: Fix renaming of "iamflint.tmp" for MS Windows
29291           where you can't rename an open file.
29293 Tue May 09 15:57:26 BST 2006  Olly Betts <olly@survex.com>
29295         * configure.ac: Fix reversed conditional in test for snprintf (which
29296           affects cygwin).
29298 Mon May 01 21:49:46 BST 2006  Olly Betts <olly@survex.com>
29300         * tests/queryparsertest.cc: Add another prefix testcase to improve
29301           coverage.
29303 Sat Apr 29 20:16:46 BST 2006  Olly Betts <olly@survex.com>
29305         * docs/remote_protocol.html: Document keep-alive messages.
29307 Thu Apr 13 14:49:48 BST 2006  Olly Betts <olly@survex.com>
29309         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Add rules
29310           to handle a boolean filter with a "+" in front (such as
29311           +site:xapian.org).
29313 Wed Apr 12 18:42:31 BST 2006  Olly Betts <olly@survex.com>
29315         * PLATFORMS: More updates for 0.9.5.
29317 Tue Apr 11 19:56:16 BST 2006  Olly Betts <olly@survex.com>
29319         * matcher/Makefile.am: Need to add "-I${top_builddir}/include" to
29320           INCLUDES so that xapian/version.h is found.
29322 Tue Apr 11 19:24:59 BST 2006  Olly Betts <olly@survex.com>
29324         * backends/database.cc,configure.ac,include/xapian/version_h.cc,
29325           matcher/multimatch.cc,matcher/stats.cc,tests/apitest.cc,
29326           testsuite/backendmanager.cc,testsuite/backendmanager.h:
29327           Eliminate XAPIAN_BUILD_BACKEND_* from config.h and just use
29328           XAPIAN_HAS_*_BACKEND from xapian/version.h instead.
29330 Tue Apr 11 18:32:52 BST 2006  Olly Betts <olly@survex.com>
29332         * include/Makefile.am: Add xapian/version.h.timestamp as a dependency
29333           on all-local so that xapian/version.h actually gets regenerated
29334           when required.
29336 Tue Apr 11 17:52:24 BST 2006  Olly Betts <olly@survex.com>
29338         * api/omenquire.cc,backends/flint/flint_btreebase.cc,
29339           backends/quartz/btree_base.cc,common/utils.h,configure.ac:
29340           Disable MSVC warning 4800 (on int to bool conversions) in config.h
29341           and then we can remove the "fixes" elsewhere.
29343 Tue Apr 11 16:28:01 BST 2006  Olly Betts <olly@survex.com>
29345         * configure.ac: Simpler check for VALGRIND being set to empty value.
29347 Tue Apr 11 01:04:32 BST 2006  Olly Betts <olly@survex.com>
29349         * PLATFORMS: Add a summary.
29351 Tue Apr 11 00:45:55 BST 2006  Olly Betts <olly@survex.com>
29353         * PLATFORMS: Updates from boxes which were down when I did the
29354           release.
29356 Mon Apr 10 17:06:46 BST 2006  Olly Betts <olly@survex.com>
29358         * api/omenquire.cc,backends/flint/flint_btreebase.cc,
29359           backends/flint/flint_utils.h,backends/quartz/btree_base.cc,
29360           backends/quartz/quartz_utils.h,common/omassert.h:
29361           Fix more MSVC7 warnings (I spoke too soon).
29363 Mon Apr 10 15:56:52 BST 2006  Olly Betts <olly@survex.com>
29365         * include/xapian/query.h: Another MSVC7 warning fix.  Should be free
29366           of warnings now.
29368 Mon Apr 10 14:46:34 BST 2006  Olly Betts <olly@survex.com>
29370         * backends/flint/flint_database.cc,backends/flint/flint_utils.h,
29371           backends/quartz/quartz_utils.h,bin/quartzcompact.cc,
29372           bin/xapian-compact.cc,common/omdebug.h,common/utils.h,
29373           include/xapian/query.h,languages/header.h,matcher/multimatch.cc:
29374           Fix assorted MSVC7 warnings.
29376 Sun Apr 09 04:56:09 BST 2006  Olly Betts <olly@survex.com>
29378         * HACKING: Expand on details of what's required when changing Xapian
29379           (discuss documentation requirements, expand on why feature tests
29380           are vital).
29381         * HACKING: Update section on building debian packages.
29383 Sat Apr 08 20:02:19 BST 2006  Olly Betts <olly@survex.com>
29385         * NEWS,PLATFORMS,configure.ac: Updated for 0.9.5.
29387 Fri Apr 07 23:53:08 BST 2006  Olly Betts <olly@survex.com>
29389         * tests/api_anydb.cc,tests/api_db.cc,tests/btreetest.cc: Correct
29390           spelling of "existant" to "existent".
29392 Fri Apr 07 19:13:24 BST 2006  Olly Betts <olly@survex.com>
29394         * configure.ac: We don't use strcasecmp, so don't probe for it.
29396 Fri Apr 07 18:30:40 BST 2006  Olly Betts <olly@survex.com>
29398         * common/utils.h: Fixes for MSVC7 compilation.
29400 Fri Apr 07 17:19:43 BST 2006  Olly Betts <olly@survex.com>
29402         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Fixes for
29403           MSVC compilation.
29405 Fri Apr 07 16:04:08 BST 2006  Olly Betts <olly@survex.com>
29407         * backends/flint/flint_cursor.h: Fix incorrect example code in
29408           documentation comment.
29409         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
29410           Remove unused method FlintTable::find_key().
29412 Fri Apr 07 16:02:40 BST 2006  Olly Betts <olly@survex.com>
29414         * AUTHORS: Updated.
29416 Fri Apr 07 15:58:31 BST 2006  Olly Betts <olly@survex.com>
29418         * debian/control.in: copydatabase and xapian-compact are packaged
29419           in xapian-tools, so add them to the documented list of tools
29420           included.
29422 Fri Apr 07 15:12:43 BST 2006  Olly Betts <olly@survex.com>
29424         * net/tcpserver.cc: Set xapian-tcpsrv to allow 5 connections in the
29425           listen queue instead of just one.
29427 Fri Apr 07 13:28:15 BST 2006  Olly Betts <olly@survex.com>
29429         * tests/remotetest.cc: Check mset size in tcpmatch1.
29431 Fri Apr 07 01:26:03 BST 2006  Olly Betts <olly@survex.com>
29433         * xapian.spec.in: Man pages may be gzipped.
29435 Thu Apr 06 14:41:29 BST 2006  Olly Betts <olly@survex.com>
29437         * HACKING: aclocal is part of automake, not autoconf.
29439 Thu Apr 06 01:29:21 BST 2006  Olly Betts <olly@survex.com>
29441         * bin/,examples/copydatabase.cc,examples/delve.cc,examples/quest.cc:
29442           In the "--help" output, add "Options:" before the list of options.
29444 Thu Apr 06 01:11:31 BST 2006  Olly Betts <olly@survex.com>
29446         * xapian-config.in: Tweak to improve help2man output.
29448 Wed Apr 05 16:26:15 BST 2006  Fabrice Colin
29450         * xapian.spec.in: Package man pages.
29452 Wed Apr 05 16:23:49 BST 2006  Olly Betts <olly@survex.com>
29454         * Makefile.am,bin/Makefile.am,examples/Makefile.am: Include generated
29455           man pages in the distribution tarball.
29457 Wed Apr 05 02:48:27 BST 2006  Olly Betts <olly@survex.com>
29459         * debian/TODO: Updated.
29461 Wed Apr 05 02:44:15 BST 2006  Olly Betts <olly@survex.com>
29463         * ./,examples: svn:ignore man pages.
29465 Wed Apr 05 02:43:08 BST 2006  Olly Betts <olly@survex.com>
29467         * bin/Makefile.am,examples/Makefile.am: No need to make man pages
29468           depend on config.h, since the binaries will already.
29470 Wed Apr 05 02:42:42 BST 2006  Olly Betts <olly@survex.com>
29472         * Makefile.am: Generate man page for xapian-config.
29474 Wed Apr 05 00:59:53 BST 2006  Olly Betts <olly@survex.com>
29476         * examples/Makefile.am: Use help2man to generate manpages for the
29477           installed binaries in examples.
29479 Wed Apr 05 00:56:11 BST 2006  Olly Betts <olly@survex.com>
29481         * bin/omtcpsrv.cc: Rename to bin/xapian-tcpsrv.cc.
29482         * bin/omprogsrv.cc: Rename to bin/xapian-progsrv.cc.
29483         * HACKING,bin/Makefile.am,configure.ac: Use help2man to generate
29484           manpages for the installed binaries in bin.
29486 Tue Apr 04 16:44:54 BST 2006  Olly Betts <olly@survex.com>
29488         * include/xapian/enquire.h: Note example of BM25Weight parameters
29489           which make set_sort_by_relevance_then_value useful.
29491 Tue Apr 04 16:35:58 BST 2006  Olly Betts <olly@survex.com>
29493         * api/omenquire.cc,include/xapian/enquire.h,matcher/,tests/api_db.cc:
29494           Implement Enquire::set_sort_by_relevance_then_value().
29496 Tue Apr 04 01:05:41 BST 2006  Olly Betts <olly@survex.com>
29498         * common/omenquireinternal.h: sort_key no longer needs to be mutable
29499           now that MSetSortCmp has been removed.
29501 Mon Apr 03 02:03:12 BST 2006  Olly Betts <olly@survex.com>
29503         * matcher/multimatch.cc: Removed dead code (class MSetSortCmp).
29505 Sun Apr 02 16:37:38 BST 2006  Olly Betts <olly@survex.com>
29507         * net/tcpserver.cc: Don't perform a name lookup on the IP address
29508           which an incoming connection is from as that could easily slow
29509           down the search response - instead just print the IP address itself
29510           if output is verbose.
29512 Sun Apr 02 13:28:31 BST 2006  Olly Betts <olly@survex.com>
29514         * api/omenquire.cc,common/,docs/remote_protocol.html,
29515           matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h,
29516           net/socketclient.cc,net/socketserver.cc: Change bool
29517           sort_by_relevance to enum sort_by in preparation for adding
29518           "sort_by_relevance_then_value".
29520 Fri Mar 31 22:32:16 BST 2006  Olly Betts <olly@survex.com>
29522         * examples/copydatabase.cc,examples/quest.cc: Add --help and --version
29523           options.
29524         * examples/delve.cc: Tidy up output from --help and --version options.
29526 Fri Mar 31 19:01:25 BST 2006  Olly Betts <olly@survex.com>
29528         * bin/quartzcheck.cc: Fix SEGV when run with no arguments (introduced
29529           by last change).
29531 Fri Mar 31 17:57:27 BST 2006  Olly Betts <olly@survex.com>
29533         * bin/quartzcheck.cc: Add --version option.  Tidy up output from
29534           --help.
29536 Fri Mar 31 17:43:25 BST 2006  Olly Betts <olly@survex.com>
29538         * bin/quartzcompact.cc: Include --help and --version in --help output.
29539         * bin/quartzdump.cc: Add --help and --version options.  Terminate list
29540           of long options so that "quartzdump --foo" no longer segfaults.
29542 Fri Mar 31 17:27:09 BST 2006  Olly Betts <olly@survex.com>
29544         * bin/quartzcompact.cc: Tweak --help and --version output for
29545           consistency with other binaries.  Terminate list of long options so
29546           that "quartzcompact --foo" no longer segfaults.
29548 Fri Mar 31 16:47:02 BST 2006  Olly Betts <olly@survex.com>
29550         * bin/omtcpsrv.cc: Make OPT_HELP and OPT_VERSION positive numbers.
29551           Only give synopsis line for --help, not for syntax error.
29552         * bin/xapian-compact.cc: List --help and --version in --help output.
29553           Terminate list of long options so that "xapian-compact --foo" no
29554           longer segfaults.
29556 Fri Mar 31 16:20:24 BST 2006  Olly Betts <olly@survex.com>
29558         * bin/omtcpsrv.cc: Added --help and --version options.
29560 Thu Mar 30 11:51:21 BST 2006  Philip Neustrom
29562         * docs/remote_protocol.html: Document messages for requesting and
29563           sending a termlist and a document.
29565 Wed Mar 29 19:39:05 BST 2006  Olly Betts <olly@survex.com>
29567         * backends/flint/flint_termlist.cc,backends/quartz/quartz_termlist.cc:
29568           Add missing spaces in debug output.
29570 Fri Mar 17 09:22:54 GMT 2006  Olly Betts <olly@survex.com>
29572         * api/vectortermlist.h,backends/net/net_termlist.cc,
29573           backends/net/net_termlist.h,common/alltermslist.h,common/termlist.h,
29574           matcher/branchtermlist.h: Make TermList::positionlist_begin() pure
29575           virtual and put dummy implementations in BranchTermList and other
29576           subclasses which can't (or don't) implement it.  This makes it
29577           hard to accidentally fail to implement it in a backend's TermList
29578           subclass.
29579         * backends/net/net_termlist.h: positionlist_begin() now throws
29580           UnimplementedError instead of InvalidOperationError.
29582 Fri Mar 17 08:46:52 GMT 2006  Olly Betts <olly@survex.com>
29584         * api/omdatabase.cc: There's no need for the MultiTermList wrapper in
29585           the common case where we're only dealing with a single database.
29587 Fri Mar 17 07:54:54 GMT 2006  Olly Betts <olly@survex.com>
29589         * backends/net/net_termlist.h: Remove unused "positions" member.
29591 Fri Mar 17 07:07:57 GMT 2006  Olly Betts <olly@survex.com>
29593         * backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
29594           tests/api_posdb.cc: Fix TermIterator::positionlist_begin() to work
29595           on TermIterator from Database::termlist_begin().
29597 Fri Mar 17 03:47:04 GMT 2006  Olly Betts <olly@survex.com>
29599         * include/xapian/enquire.h: Fix "unused parameter" warning from
29600           previous change.
29602 Thu Mar 16 05:20:16 GMT 2006  Olly Betts <olly@survex.com>
29604         * api/omenquire.cc,include/xapian/enquire.h:  Move
29605           Enquire::get_matching_terms_end() inline in header.
29607 Thu Mar 16 04:28:20 GMT 2006  Olly Betts <olly@survex.com>
29609         * api/omdocument.cc,configure.ac,include/xapian/document.h: Move
29610           Document::termlist_end() inline in header.
29612 Fri Mar 10 04:55:57 GMT 2006  Olly Betts <olly@survex.com>
29614         * INSTALL: Improve wording.
29616 Fri Mar 10 04:49:09 GMT 2006  Olly Betts <olly@survex.com>
29618         * backends/quartz/bcursor.h: Fix incorrect method name in
29619           documentation comment.
29621 Fri Mar 10 04:39:45 GMT 2006  Olly Betts <olly@survex.com>
29623         * backends/quartz/btree.cc,backends/quartz/btree.h: Btree::find_key()
29624           is unused so remove it.
29626 Fri Mar 10 04:29:46 GMT 2006  Olly Betts <olly@survex.com>
29628         * HACKING: Note that we now use a lightly patched version of libtool
29629           1.5.22.
29631 Fri Mar 10 02:55:48 GMT 2006  Olly Betts <olly@survex.com>
29633         * docs/overview.html: Bring up to date.
29635 Wed Mar 08 02:32:49 GMT 2006  Olly Betts <olly@survex.com>
29637         * queryparser/queryparser.lemony: Fix FLAG_BOOLEAN_ANY_CASE to really
29638           allow any case combination - previously it only allowed all
29639           uppercase or all lowercase.
29640         * tests/queryparsertest.cc: Add feature and regression tests for
29641           FLAG_BOOLEAN_ANY_CASE.
29642         * tests/queryparsertest.cc: Rename test cases to more descriptive
29643           names.
29645 Tue Mar 07 19:59:54 GMT 2006  Olly Betts <olly@survex.com>
29647         * queryparser/queryparser.lemony,tests/queryparsertest.cc:
29648           Fix QueryParser's handling of terms with trailing "#", "+",
29649           or "-" when set_database has been called and the term doesn't
29650           exist in the database with the suffix.
29652 Tue Feb 21 21:14:22 GMT 2006  Olly Betts <olly@survex.com>
29654         * include/xapian/deprecated.h: Allow xapian-bindings to override
29655           deprecation warnings.
29657 Tue Feb 21 17:55:17 GMT 2006  Olly Betts <olly@survex.com>
29659         * backends/flint/flint_database.cc: Note that "flicklock" should be
29660           "flintlock"!
29662 Tue Feb 21 14:13:08 GMT 2006  Olly Betts <olly@survex.com>
29664         * PLATFORMS: Updated.
29666 Tue Feb 21 14:12:47 GMT 2006  Olly Betts <olly@survex.com>
29668         * HACKING: Update the "how to do a release" list.
29670 Tue Feb 21 00:17:40 GMT 2006  Olly Betts <olly@survex.com>
29672         * NEWS,PLATFORMS,configure.ac: Updated for 0.9.4.
29674 Mon Feb 20 21:15:46 GMT 2006  Olly Betts <olly@survex.com>
29676         * api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/,
29677           queryparser/queryparser.cc: GCC 3.2 actually doesn't like
29678           __attribute__((deprecated)) on method definitions, so just
29679           put declarations of deprecated methods in the headers, and
29680           move definitions into the library.
29682 Mon Feb 20 16:04:33 GMT 2006  Olly Betts <olly@survex.com>
29684         * tests/api_anydb.cc,tests/api_db.cc,tests/api_nodb.cc: Update uses
29685           of deprecated methods and functions.
29687 Mon Feb 20 15:47:31 GMT 2006  Olly Betts <olly@survex.com>
29689         * include/xapian/document.h: __attribute__((deprecated)) doesn't
29690           work on method definitions with default parameters on GCC 3.2
29691           so fix header to overload instead.
29693 Mon Feb 20 13:44:14 GMT 2006  Olly Betts <olly@survex.com>
29695         * include/xapian/enquire.h: Add documentation comment for
29696           Enquire::set_sort_by_value_then_relevance().
29698 Sun Feb 19 23:18:09 GMT 2006  Olly Betts <olly@survex.com>
29700         * include/Makefile.am,include/xapian/: Flag deprecated methods such
29701           that the compiler gives a warning, for compilers which support
29702           such a feature.
29704 Sun Feb 19 22:58:55 GMT 2006  Olly Betts <olly@survex.com>
29706         * COPYING: Update second occurrence of old FSF address.
29708 Sun Feb 19 22:46:49 GMT 2006  Olly Betts <olly@survex.com>
29710         * README: Add pointer to HACKING.  Change "CVS access" to "SVN
29711           access".
29713 Sun Feb 19 01:46:00 GMT 2006  Olly Betts <olly@survex.com>
29715         * api/version.cc: Correct typo in name of function xapian_revision().
29717 Thu Feb 16 10:23:59 GMT 2006  Olly Betts <olly@survex.com>
29719         * xapian-config.in: Oops, fix previous fix (I'd pasted the substituted
29720           result from testing the patch...)
29722 Thu Feb 16 10:16:31 GMT 2006  Olly Betts <olly@survex.com>
29724         * PLATFORMS: Updated from tinderbox.
29726 Thu Feb 16 10:15:51 GMT 2006  Olly Betts <olly@survex.com>
29728         * xapian-config.in: Need to set exec_prefix and prefix at top of
29729           script as they're used by various @SUBSTITUTIONS@.
29731 Thu Feb 16 00:09:34 GMT 2006  Olly Betts <olly@survex.com>
29733         * NEWS,PLATFORMS,configure.ac: Updated for 0.9.3.
29735 Wed Feb 15 21:58:23 GMT 2006  Olly Betts <olly@survex.com>
29737         * xapian-config.in: Fix option loop to work on shells other than bash.
29739 Wed Feb 15 21:38:38 GMT 2006  Olly Betts <olly@survex.com>
29741         * include/xapian/database.h: Tweak wording of a documentation comment.
29743 Wed Feb 15 21:34:55 GMT 2006  Olly Betts <olly@survex.com>
29745         * include/xapian/queryparser.h: Fix documentation comments for the
29746           values of QueryParser::feature_flag so doxygen actually pulls out
29747           the documentation for them.  Add documentation for the parameters
29748           of QueryParser::parse_query().
29750 Wed Feb 15 21:26:48 GMT 2006  Olly Betts <olly@survex.com>
29752         * bin/quartzcheck.cc: If the database is too broken to open, emit a
29753           warning message and bump the error count.
29755 Wed Feb 15 21:23:38 GMT 2006  Olly Betts <olly@survex.com>
29757         * docs/queryparser.html: Document right-truncation.
29759 Wed Feb 15 21:08:37 GMT 2006  Olly Betts <olly@survex.com>
29761         * xapian-config.in: Fixed to output usage correctly if no arguments
29762           are specified.
29764 Mon Feb 13 17:43:08 GMT 2006  Olly Betts <olly@survex.com>
29766         * xapian-config.in: Expand dependency_libs recursively.  It's not
29767           *that* hard, and we're just storing up problems for the future
29768           by ignoring the issue.
29770 Mon Feb 13 16:57:36 GMT 2006  Olly Betts <olly@survex.com>
29772         * HACKING: Devlopers also need makeindex installed for documentation
29773           building.  Note that dvips and makeindex are usually packaged with
29774           TeX.
29776 Mon Feb 13 15:16:02 GMT 2006  Olly Betts <olly@survex.com>
29778         * configure.ac,xapian-config.in: Some Linux distros have an
29779           unhelpful policy of not packaging .la files, and on Linux
29780           link_all_deplibs_CXX=no so we don't actually need to link
29781           in the dependency_libs.  So use the value of link_all_deplibs_CXX
29782           from configure to control whether we link against dependency_libs.
29783         * xapian-config.in: Factor out common code into shell functions,
29784           and tidy up --help output.
29785         * xapian-config.in: Re entry "Tue May 11 20:55:56 BST 2004": the (C)
29786           dates I mined from CVS included a BrightStation (C), but the few
29787           fragments of that version which survive are actually from
29788           glib-config (or one of the myriad of *-config scripts which look
29789           very like it), and are just standard Bourne shell idioms anyway.
29791 Mon Feb 13 13:59:02 GMT 2006  Olly Betts <olly@survex.com>
29793         * PLATFORMS: td174 is gone.
29794         * PLATFORMS: Compaq C++ 7.1 seems to have better template support
29795           (but fails to link binaries).
29797 Mon Feb 13 12:22:23 GMT 2006  Olly Betts <olly@survex.com>
29799         * HACKING,testsuite/testsuite.cc: XAPIAN_TESTSUITE_PLAIN_OUTPUT
29800           -> XAPIAN_TESTSUITE_OUTPUT=plain.
29802 Sun Feb 12 18:29:55 GMT 2006  Olly Betts <olly@survex.com>
29804         * backends/database.cc,tests/api_nodb.cc: Trying to open a database
29805           for reading which doesn't exist now fails with DatabaseOpeningError
29806           instead of FeatureUnavailableError.  Added regression test
29807           nosuchdb1.
29809 Thu Feb 09 10:48:10 GMT 2006  Olly Betts <olly@survex.com>
29811         * net/socketserver.cc: Add missing '#include <iostream>'
29812           when TIMING_PATCH is defined.
29814 Wed Feb 08 08:22:09 GMT 2006  Olly Betts <olly@survex.com>
29816         * HACKING: Now use libtool 1.5.22 for generating snapshots and
29817           releases (includes a number of bug-fixes).
29818         * HACKING,docs/doxygen_api_header.html_tmpl,
29819           docs/doxygen_full_header.html_tmpl: Now use doxygen 1.4.6 for
29820           generating snapshots and releases (nicer output).
29821         * docs/doxygen_full_header.html_tmpl: Title "Internal Source
29822           Documentation" rather than "Full source documentation".
29824 Sun Feb 05 06:19:29 GMT 2006  Olly Betts <olly@survex.com>
29826         * queryparser/queryparser.lemony,tests/queryparsertest.cc: The
29827           QueryParser now recognises "AND NOT" as a synonym for "NOT".
29829 Mon Jan 16 18:19:26 GMT 2006  Olly Betts <olly@survex.com>
29831         * backends/quartz/quartz_utils.h: Fix compiler warning.
29833 Mon Jan 16 18:17:27 GMT 2006  Olly Betts <olly@survex.com>
29835         * HACKING,backends/flint/,backends/muscat36/,backends/quartz/,
29836           bin/quartzcompact.cc,bin/xapian-compact.cc,common/Makefile.am,
29837           common/safeerrno.h,net/,tests/btreetest.cc,tests/quartztest.cc,
29838           testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out
29839           a cleaner workaround for Compaq C++'s <errno.h> oddity.
29841 Mon Jan 16 17:18:56 GMT 2006  Olly Betts <olly@survex.com>
29843         * common/safewindows.h: Fix typo in file description.
29845 Mon Jan 16 13:29:48 GMT 2006  Olly Betts <olly@survex.com>
29847         * backends/quartz/quartz_database.cc: Reverse order of errno includes
29848           which seems to make Compaq's C++ compiler happier.
29850 Sun Jan 15 23:52:01 GMT 2006  Olly Betts <olly@survex.com>
29852         * backends/flint/flint_database.cc,backends/flint/flint_table.cc,
29853           backends/quartz/btree.cc,backends/quartz/quartz_database.cc,
29854           backends/quartz/quartz_log.cc,configure.ac,net/socketcommon.cc,
29855           net/tcpclient.cc,testsuite/backendmanager.cc: Compaq C++ requires
29856           sys/errno.h to get ENOENT and most other EXXX codes defined.
29858 Sun Jan 15 23:41:15 GMT 2006  Olly Betts <olly@survex.com>
29860         * bin/xapian-compact.cc: Initialise 2 variables to avoid compiler
29861           warnings.
29863 Sun Jan 15 23:38:11 GMT 2006  Olly Betts <olly@survex.com>
29865         * xapian-config.in: If libxapian.la's dependency_libs contains
29866           another .la file, crudely transform to a pair of -L and -l
29867           options.  Ideally we should recursively pull in dependency_libs
29868           from that .la file, but that's too hard to do in sh.
29870 Sun Jan 15 21:43:26 GMT 2006  Olly Betts <olly@survex.com>
29872         * queryparser/queryparser.lemony,queryparser/queryparser.lt:
29873           Eliminate ParseAlloc's mallocProc parameter and ParseFree's freeProc
29874           parameter - we always pass malloc and free, and get warnings from
29875           some compilers because we're passing a C-linkage function for a
29876           C++-linkage function pointer.
29877         * testsuite/testsuite.cc,testsuite/testsuite.h: Fix functions
29878           registered as signal handlers and pass to atexit to have C linkage.
29880 Sun Jan 15 14:49:45 GMT 2006  Olly Betts <olly@survex.com>
29882         * backends/quartz/quartz_log.cc: #include <string.h> for strerror.
29884 Sun Jan 15 04:36:49 GMT 2006  Olly Betts <olly@survex.com>
29886         * include/xapian/queryparser.h,queryparser/queryparser.cc:
29887           Add Stopper::get_description() and SimpleStopper::get_description().
29889 Sat Jan 14 21:43:32 GMT 2006  Olly Betts <olly@survex.com>
29891         * configure.ac: Fix backwards logic in snprintf configure test.
29892           Also define SNPRINTF_ISO to be an snprintf with ISO C90 semantics
29893           for the return value (if one exists), with SNPRINTF being defined
29894           to any snprintf which at least performs truncation (which in many
29895           cases is sufficient).
29897 Sat Jan 14 04:47:33 GMT 2006  Olly Betts <olly@survex.com>
29899         * queryparser/queryparser.lt: Fix aCC warnings.
29901 Sat Jan 14 04:47:00 GMT 2006  Olly Betts <olly@survex.com>
29903         * common/utils.h: Fix aCC warning.
29905 Fri Jan 13 18:25:04 GMT 2006  Olly Betts <olly@survex.com>
29907         * configure.ac: Turn on more warnings for aCC; suppress existing
29908           warning ("Entire translation unit was empty") since it's not
29909           useful to us.
29911 Fri Jan 13 03:22:26 GMT 2006  Olly Betts <olly@survex.com>
29913         * configure.ac: The configure test for snprintf uses memcmp, so
29914           we need to "#include <string.h>" for it to work reliably.
29916 Wed Jan 11 03:14:30 GMT 2006  Olly Betts <olly@survex.com>
29918         * configure.ac: If not cross-compiling, try to actually run a test
29919           program built with the C++ compiler, not just link one.
29921 Wed Jan 11 03:06:28 GMT 2006  Olly Betts <olly@survex.com>
29923         * configure.ac: Note the library version info which 0.9.3 will
29924           probably need.
29926 Tue Jan 10 22:41:36 GMT 2006  Olly Betts <olly@survex.com>
29928         * configure.ac: Fix to actually skip the check for valgrind if
29929           VALGRIND is set to an empty value.
29931 Tue Jan 10 01:08:10 GMT 2006  Olly Betts <olly@survex.com>
29933         * PLATFORMS: Updates from the tinderbox.
29935 Mon Jan 09 01:35:57 GMT 2006  Olly Betts <olly@survex.com>
29937         * backends/muscat36/io_system.cc,bin/xapian-compact.cc,
29938           common/omdebug.cc: More sprintf tweaks.
29940 Mon Jan 09 00:58:33 GMT 2006  Olly Betts <olly@survex.com>
29942         * bin/xapian-compact.cc: Use snprintf if we have it.
29944 Sun Jan 08 03:51:52 GMT 2006  Olly Betts <olly@survex.com>
29946         * testsuite/backendmanager.cc: Fix conditional compilation of
29947           flint backend to use XAPIAN_BUILD_BACKEND_FLINT instead
29948           of XAPIAN_BUILD_BACKEND_QUARTZ.
29950 Sun Jan 08 02:11:30 GMT 2006  Olly Betts <olly@survex.com>
29952         * configure.ac: Disable flint backend by default if building for
29953           djgpp or msdos.
29955 Sun Jan 08 02:09:48 GMT 2006  Olly Betts <olly@survex.com>
29957         * backends/flint/flint_lock.cc: Cast NULL to (void*) to avoid
29958           "missing sentinel" warning from GCC4.
29960 Sat Jan 07 19:09:33 GMT 2006  Olly Betts <olly@survex.com>
29962         * HACKING,docs/tests.html: Merge the "running tests" section of
29963           docs/tests.html into the similar section in HACKING, and make
29964           docs/tests.html refer the reader to HACKING for more information.
29965         * HACKING,tests/apitest.cc: Remove OM_TEST_BACKEND.  You can now
29966           use the "-b" switch to apitest to control which backend is used
29967           so it's pretty much redundant.
29968         * HACKING,testsuite/testsuite.cc: Rename XAPIAN_SIG_DFL to
29969           XAPIAN_TESTSUITE_SIG_DFL.
29970         * HACKING,testsuite/testsuite.cc: Add XAPIAN_TESTSUITE_PLAIN_OUTPUT
29971           to disable use of ANSI escape sequences in test output.
29973 Sat Jan 07 09:13:06 GMT 2006  Olly Betts <olly@survex.com>
29975         * tests/queryparsertest.cc: Write top-bit set characters using \xXX
29976           notation to avoid warnings from Intel's C++ compiler.
29978 Sat Jan 07 07:13:25 GMT 2006  Olly Betts <olly@survex.com>
29980         * configure.ac: TYPE_SOCKLEN_T fails hard, so only run it if we've
29981           successfully run other socket tests.
29983 Sat Jan 07 05:29:39 GMT 2006  Olly Betts <olly@survex.com>
29985         * queryparser/accentnormalisingitor.h: #include <limits.h> for
29986           CHAR_BIT.
29988 Fri Jan 06 21:24:01 GMT 2006  Olly Betts <olly@survex.com>
29990         * bin/xapian-compact.cc: Fix printf type mismatch on 64 bit platforms.
29992 Fri Jan 06 18:05:30 GMT 2006  Olly Betts <olly@survex.com>
29994         * queryparser/queryparser.cc,queryparser/queryparser.lemony,
29995           queryparser/queryparser_internal.h: Replace pair<bool, string>
29996           with a simple class BoolAndString - the pair results in a
29997           4328 byte symbol on HP-UX which gets truncated (to 4000 bytes).
29999 Fri Jan 06 12:55:37 GMT 2006  Olly Betts <olly@survex.com>
30001         * PLATFORMS: Updated from tinderbox.
30003 Thu Jan 05 16:12:00 GMT 2006  Olly Betts <olly@survex.com>
30005         * configure.ac: Oops, remove hack left over from testing.
30007 Thu Jan 05 16:09:06 GMT 2006  Olly Betts <olly@survex.com>
30009         * configure.ac: Add sanity check for MS Windows that "find" is
30010           Unix-like find, not MSDOS-like.
30012 Thu Jan 05 04:27:29 GMT 2006  Olly Betts <olly@survex.com>
30014         * INSTALL,PLATFORMS,README: Updated.
30016 Mon Dec 19 12:53:38 GMT 2005  Olly Betts <olly@survex.com>
30018         * AUTHORS,PLATFORMS: Add success report for Fedora Core 4.
30020 Mon Dec 19 12:52:55 GMT 2005  Olly Betts <olly@survex.com>
30022         * include/xapian/database.h: Improve a couple of documentation
30023           comments.
30025 Sun Dec 11 01:33:58 GMT 2005  Olly Betts <olly@survex.com>
30027         * queryparser/queryparser.lemony: Fix handling of "+" terms in a query
30028           when the default query operator is AND.
30029         * tests/queryparsertest.cc: Add regression test.
30031 Fri Dec 09 05:54:33 GMT 2005  Olly Betts <olly@survex.com>
30033         * languages/api.cc: Check for malloc and calloc failing to allocate
30034           memory and throw an exception.  Richard has fix this upstream in
30035           snowball, so this is a temporary fix until we import a new version
30036           of snowball.
30038 Fri Dec 09 02:15:38 GMT 2005  Olly Betts <olly@survex.com>
30040         * api/omenquire.cc: Added assertions that the internal ptr isn't NULL
30041           to ESet::end() and ESet::get_description().
30043 Fri Dec 09 02:14:13 GMT 2005  Olly Betts <olly@survex.com>
30045         * HACKING: Note platforms valgrind now has solid support for; Improve
30046           phrasing in a few places.
30048 Thu Dec 08 23:13:09 GMT 2005  Olly Betts <olly@survex.com>
30050         * INSTALL: Update URL for stlport to sourceforge site, which seems to
30051           be where the action is now.
30053 Thu Dec 08 04:13:11 GMT 2005  Olly Betts <olly@survex.com>
30055         * testsuite/testsuite.cc: Fix testsuite harness to work with valgrind
30056           on 64 bit platforms (it's not documented, but VALGRIND_COUNT_LEAKS
30057           requires the count parameters to be 64 bit on such platforms - i.e.
30058           long rather than int as we were using).
30060 Tue Nov 01 13:22:50 GMT 2005  Olly Betts <olly@survex.com>
30062         * PLATFORMS: Sourceforge have a ppc64 linux box.  Xapian builds and
30063           works out of the box, so add success report for this platform.
30065 Thu Oct 27 09:32:24 BST 2005  Fabrice Colin
30067         * xapian.spec.in: Invoke %setup correctly.
30069 Sat Oct 01 03:25:50 BST 2005  Olly Betts <olly@survex.com>
30071         * bin/xapian-compact.cc: Added "--multipass" option to merge postlists
30072           in pairs or triples until all are merged.  Generally this is faster
30073           than an N-way merge, but it does require more disk space for
30074           temporary files so it's not the default.
30076 Fri Sep 30 18:02:32 BST 2005  Olly Betts <olly@survex.com>
30078         * include/xapian/enquire.h: Give pointer to replacements for the
30079           deprecated Enquire sorting methods.
30081 Wed Sep 28 02:16:03 BST 2005  Olly Betts <olly@survex.com>
30083         * bin/xapian-compact.cc: Use a vector<string> to store the list of
30084           source databases, in preparation for merging multiple postlist
30085           tables in more than one pass.
30087 Mon Sep 26 22:22:24 BST 2005  Olly Betts <olly@survex.com>
30089         * .: svn:ignore docsource.mk.
30091 Mon Sep 26 19:54:15 BST 2005  Olly Betts <olly@survex.com>
30093         * bin/: svn:ignore xapian-compact.
30095 Mon Sep 26 19:50:13 BST 2005  Olly Betts <olly@survex.com>
30097         * backends/flint/flint_positionlist.cc: Remove trailing whitespace.
30099 Wed Sep 21 01:31:23 BST 2005  Olly Betts <olly@survex.com>
30101         * api/Makefile.am: Fixed VPATH build which was broken by the addition
30102           of version.cc.
30104 Tue Sep 20 23:38:05 BST 2005  Olly Betts <olly@survex.com>
30106         * backends/flint/flint_lock.cc: Don't pass NULL for second parameter
30107           of execl().
30109 Tue Sep 20 21:32:04 BST 2005  Olly Betts <olly@survex.com>
30111         * api/Makefile.am,api/version.cc,include/xapian/version_h.cc: Add 4
30112           functions to report version information for the library version
30113           being used (which may not be the same as that compiled against
30114           if shared libraries are in use):  xapian_version_string(),
30115           xapian_major_version(), xapian_minor_version(), xapian_revision().
30117 Sat Sep 17 14:07:32 BST 2005  Richard Boulton <richard@tartarus.org>
30119         * backends/flint/flint_lock.cc: Pass two NULLs to execl() to avoid
30120           getting a warning ("not enough variable arguments to fit a
30121           sentinel", observed on Ubuntu breezy powerpc).  Reported by
30122           Sidnei da Silva.
30124 Wed Sep 14 23:54:14 BST 2005  Olly Betts <olly@survex.com>
30126         * HACKING: Now generate snapshots and releases with automake 1.9.6
30127           (was 1.9.5) and libtool 1.5.20 (was 1.5.18).
30129 Tue Aug 30 14:01:55 BST 2005  Olly Betts <olly@survex.com>
30131         * backends/inmemory/inmemory_database.h: Forward declare class
30132           InMemoryDatabase to fix compilation with GCC 4.0.1.
30134 Fri Aug 19 12:13:39 BST 2005  Olly Betts <olly@survex.com>
30136         * backends/quartz/quartz_postlist.cc,backends/flint/flint_postlist.cc:
30137           Correct uses of termcount which should be doccount.
30139 Fri Aug 19 11:48:51 BST 2005  Olly Betts <olly@survex.com>
30141         * include/xapian/enquire.h: Fix prototype for ESet::operator[] to
30142           take parameter of type termcount instead of doccount.
30144 Wed Aug 17 11:50:54 BST 2005  Olly Betts <olly@survex.com>
30146         * common/safewindows.h: Fix compilation for cygwin.
30148 Tue Aug 16 16:01:36 BST 2005  Olly Betts <olly@survex.com>
30150         * backends/flint/flint_types.h,backends/quartz/quartz_types.h:  Using
30151           a double to hold the total document length would be a bad idea as
30152           we need to store it exactly so kill FIXME comments that suggest
30153           perhaps we should.
30155 Fri Jul 15 11:11:35 BST 2005  Olly Betts <olly@survex.com>
30157         * configure.ac,NEWS,PLATFORMS: Updated for 0.9.2.
30159 Fri Jul 15 02:31:11 BST 2005  Olly Betts <olly@survex.com>
30161         * preautoreconf: Change directory to the directory that the
30162           preautoreconf script is in before doing anything else.
30164 Fri Jul 15 01:02:29 BST 2005  Olly Betts <olly@survex.com>
30166         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in,configure.ac:
30167           Eliminate TOP_SRCDIR and TOP_BUILDDIR - it's better to just use
30168           top_srcdir and top_builddir directly.
30170 Fri Jul 15 00:48:39 BST 2005  Olly Betts <olly@survex.com>
30172         * configure.ac: Fix superfluous shell quoting.
30174 Fri Jul 15 00:28:40 BST 2005  Olly Betts <olly@survex.com>
30176         * configure.ac,docs/Makefile.am,preautoreconf,Makefile.am: Generate
30177           the list of source files to feed to doxygen by inspecting all the
30178           Makefile.am files prior to running autoreconf rather than by using
30179           "find" when the user runs ./configure.  This speeds up configure,
30180           avoids generating docs for random .cc and .h files which aren't
30181           part of xapian-core, and avoids problems with picking up FIND.EXE
30182           on MS Windows.
30184 Thu Jul 14 12:49:36 BST 2005  Olly Betts <olly@survex.com>
30186         * common/,matcher/multimatch.cc,matcher/networkmatch.cc,
30187           matcher/networkmatch.h,net/socketclient.cc,net/socketserver.cc,
30188           tests/api_db.cc: Implement sorting on a value with the remote
30189           backend.
30191 Wed Jul 13 01:25:17 BST 2005  Olly Betts <olly@survex.com>
30193         * include/xapian/database.h,include/xapian/dbfactory.h,
30194           net/socketclient.cc: Regularise horizontal whitespace.
30196 Tue Jul 05 03:03:57 BST 2005  Olly Betts <olly@survex.com>
30198         * include/xapian/queryparser.h: Oops, failed to check in header
30199           changes for last change.
30201 Mon Jul 04 15:50:55 BST 2005  Olly Betts <olly@survex.com>
30203         * queryparser/queryparser.lemony,queryparser/queryparser.cc:
30204           Add flag FLAG_BOOLEAN_ANY_CASE which tells the QueryParser that
30205           boolean operators such as "AND", "OR", and "NEAR" should be
30206           recognised even if they aren't fully capitalised (so "and",
30207           "And", "aNd", etc will work too).  Add flag FLAG_WILDCARD which
30208           tells the QueryParser to allow right truncation e.g. "xap*".
30209         * tests/queryparsertest.cc: Add tests for FLAG_WILDCARD.
30211 Sun Jul 03 15:24:12 BST 2005  Olly Betts <olly@survex.com>
30213         * backends/database.cc: Fixed to auto-detect database type when
30214           opening an existing Flint database as a WritableDatabase.
30216 Sat Jul 02 18:49:22 BST 2005  Olly Betts <olly@survex.com>
30218         * tests/queryparsertest.cc: Add test case: "-site:xapian.org mail".
30220 Sat Jul 02 18:49:03 BST 2005  Olly Betts <olly@survex.com>
30222         * common/Makefile.am: Ship safewindows.h header.
30224 Sat Jul 02 18:04:18 BST 2005  Olly Betts <olly@survex.com>
30226         * bin/quartzcompact.cc,bin/xapian-compact.cc,
30227           backends/muscat36/io_system.cc,backends/quartz/btree.cc,
30228           backends/quartz/quartz_log.cc,backends/quartz/quartz_database.cc,
30229           backends/flint/,common/,net/,tests/,testsuite/backendmanager.cc,
30230           testsuite/testsuite.cc: Assorted tweaks towards allowing
30231           compilation with MSVC.
30233 Sat Jul 02 05:08:54 BST 2005  Olly Betts <olly@survex.com>
30235         * backends/quartz/: Always define WIN32_LEAN_AND_MEAN before
30236           including windows.h to reduce the amount of stuff it includes
30237           and speed up builds; Eliminate Btree::max_key_len as MSVC
30238           doesn't like the way we define it and it actually seems
30239           simpler to just use BTREE_MAX_KEY_LEN everywhere anyway.
30240         * backends/quartz/btree.cc: Added a few more assertions.
30242 Sat Jul 02 04:11:01 BST 2005  Olly Betts <olly@survex.com>
30244         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fixed to
30245           handle "-site:microsoft.com" where site is a boolean prefix.
30246         * queryparser/Makefile.am: Add dependency to generate
30247           queryparser_token.h.
30249 Thu Jun 30 02:14:16 BST 2005  Olly Betts <olly@survex.com>
30251         * testsuite/testsuite.cc: Update URL for valgrind FAQ in comment.
30253 Thu Jun 30 00:11:52 BST 2005  Olly Betts <olly@survex.com>
30255         * include/xapian/enquire.h: More explicit explanation of the
30256           "descending docid with boolean weighting" trick for fast
30257           date ordered searching.
30259 Wed Jun 29 13:16:13 BST 2005  Olly Betts <olly@survex.com>
30261         * NEWS: Fix typo: "configurec" -> "configure".
30263 Mon Jun 27 04:21:34 BST 2005  Olly Betts <olly@survex.com>
30265         * xapian.spec.in: Package xapian-compact.
30267 Mon Jun 27 03:41:23 BST 2005  Olly Betts <olly@survex.com>
30269         * backends/flint/flint_positionlist.cc,tests/api_wrdb.cc: Fixed
30270           mispacking of length for Flint positionlists with more than 127
30271           entries, and added regression test longpositionlist1.
30273 Sun Jun 26 02:04:33 BST 2005  Olly Betts <olly@survex.com>
30275         * bin/xapian-compact.cc,backends/flint/flint_cursor.h: Let
30276           PostlistCursor take ownership of the FlintTable it's iterating over
30277           which makes clean-up tidier.
30278         * bin/xapian-compact.cc: We were accidentally skipping the first
30279           entry in various tables (which essentially meant the first
30280           document from each database would go missing when merging
30281           databases).
30283 Sat Jun 25 23:45:42 BST 2005  Olly Betts <olly@survex.com>
30285         * api/omdatabase.cc: Tweak get_lastdocid() code to be a little
30286           clearer.
30288 Wed Jun 22 20:50:43 BST 2005  Olly Betts <olly@survex.com>
30290         * configure.ac,include/xapian/version.h.in,include/xapian/version_h.cc,
30291           include/Makefile.am: Eliminate use of "ln -s" when generating
30292           include/xapian/version.h since it seems to cause problems on Solaris
30293           in some setups and isn't really necessary.  Also add dependency
30294           mechanism so version.h gets regenerated when the template is
30295           changed.
30297 Wed Jun 22 18:47:05 BST 2005  Olly Betts <olly@survex.com>
30299         * docs/intro_ir.html: Citeseer has moved, so update link.
30301 Mon Jun 20 13:33:42 BST 2005  Olly Betts <olly@survex.com>
30303         * configure.ac: -Wshadow causes false positives with GCC 3.0.4, so
30304           only enable it for 3.1 and up.
30306 Mon Jun 20 03:09:07 BST 2005  Olly Betts <olly@survex.com>
30308         * queryparser/queryparser.lemony: "utilpy" -> "utility"!
30310 Fri Jun 17 19:54:44 BST 2005  Olly Betts <olly@survex.com>
30312         * COPYING: Update FSF address.
30314 Thu Jun 16 18:43:33 BST 2005  Olly Betts <olly@survex.com>
30316         * backends/flint/flint_table.cc: Fix warnings from older GCC versions.
30317         * backends/flint/flint_lock.cc: '#include <signal.h>' so that SIGHUP
30318           gets defined reliably.
30320 Thu Jun 16 17:54:39 BST 2005  Olly Betts <olly@survex.com>
30322         * bin/Makefile.am,bin/xapian-compact.cc: Added new "xapian-compact"
30323           program which can compact and merge flint databases in a similar
30324           way to how quartzcompact does for quartz databases.
30326 Thu Jun 16 01:22:45 BST 2005  Olly Betts <olly@survex.com>
30328         * configure.ac: Check for spaces in build directory, source directory,
30329           or install prefix and die with a helpful message.
30331 Wed Jun 15 01:00:11 BST 2005  Olly Betts <olly@survex.com>
30333         * backends/flint/flint_lock.cc: It seems we need to explicitly kill
30334           the child process.  Otherwise when we have two databases locked
30335           just closing the connection doesn't cause the child to die.  I
30336           don't understand why it's needed, but this fix is at least clean.
30338 Mon Jun 13 00:13:33 BST 2005  Olly Betts <olly@survex.com>
30340         * backends/flint/flint_alltermslist.cc,
30341           backends/flint/flint_alltermslist.h,
30342           backends/flint/flint_database.cc: Rewrite of FlintAllTermsList
30343           with several fewer member variables.  Also fixes a bug (the old
30344           version wasn't ignoring the metainfo entry so tests were failing).
30346 Sun Jun 12 13:08:16 BST 2005  Olly Betts <olly@survex.com>
30348         * backends/quartz/quartz_alltermslist.cc: Disable assertion which is
30349           incorrect in a corner case.
30350         * tests/api_db.cc: Add test_specialterms2 as a regression test.
30352 Sun Jun 12 02:03:52 BST 2005  Olly Betts <olly@survex.com>
30354         * backends/flint/flint_positionlist.cc: Encoding and decoding of
30355           position list size, and first and last entries didn't match.
30356           Reworked to match using a slightly smaller encoding.
30357         * backends/flint/flint_metafile.cc: Bumped format version.
30359 Sun Jun 12 02:02:35 BST 2005  Olly Betts <olly@survex.com>
30361         * backends/flint/flint_table.cc: We were failing to append "DB" to the
30362           path when opening a table for reading - fixed.
30364 Sun Jun 12 02:00:30 BST 2005  Olly Betts <olly@survex.com>
30366         * testsuite/backendmanager.cc: When a flint database was requested, we
30367           were incorrectly creating a quartz database instead - fixed.
30369 Sat Jun 11 17:53:12 BST 2005  Olly Betts <olly@survex.com>
30371         * bin/quartzcompact.cc: Fix mis-repacking of keys in positionlist
30372           table when merging several databases.
30374 Thu Jun 09 01:06:35 BST 2005  Olly Betts <olly@survex.com>
30376         * Makefile.am,configure.ac: Pass automake options to AM_INIT_AUTOMAKE
30377           rather than specifying them in Makefile.am.  This way, the version
30378           requirements for autoconf and automake are stated close together.
30380 Mon Jun 06 19:49:36 BST 2005  Olly Betts <olly@survex.com>
30382         * HACKING: Minor updates to release checklist.
30384 Mon Jun 06 17:44:19 BST 2005  Olly Betts <olly@survex.com>
30386         * NEWS,configure.ac: Updated for 0.9.1.
30388 Mon Jun 06 17:28:34 BST 2005  Olly Betts <olly@survex.com>
30390         * configure.ac: Describe CC_FOR_BUILD in configure --help output.
30392 Mon Jun 06 16:00:26 BST 2005  Olly Betts <olly@survex.com>
30394         * PLATFORMS: Updated for 0.9.1.
30396 Fri Jun 03 03:49:33 BST 2005  Olly Betts <olly@survex.com>
30398         * backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Fixed
30399           compilation failure on mingw.
30401 Fri Jun 03 01:58:08 BST 2005  Olly Betts <olly@survex.com>
30403         * PLATFORMS: Updated from tinderbox.
30405 Fri Jun 03 00:46:00 BST 2005  Olly Betts <olly@survex.com>
30407         * HACKING,NEWS: Snapshot and release tarballs are now bootstrapped
30408           using libtool 1.5.18 and automake 1.9.5 (though neither is currently
30409           an enforced requirement for bootstrapping).
30411 Thu Jun 02 17:36:36 BST 2005  Olly Betts <olly@survex.com>
30413         * NEWS: First draft of release notes for 0.9.1.
30415 Thu Jun 02 02:05:47 BST 2005  Olly Betts <olly@survex.com>
30417         * backends/flint/flint_record.cc: Fix get_doccount() to not return
30418           one too low now that the special entry is no longer in the record
30419           table!
30421 Wed Jun 01 12:41:59 BST 2005  Olly Betts <olly@survex.com>
30423         * backends/flint/flint_positionlist.cc: Placate Sun's C++ compiler.
30425 Tue May 31 19:31:24 BST 2005  Olly Betts <olly@survex.com>
30427         * backends/flint/flint_positionlist.h,
30428           backends/flint/flint_positionlist.cc,
30429           backends/flint/flint_metafile.cc: positionlist entries are now
30430           stored using interpolative coding (which is significantly more
30431           compact).
30433 Mon May 30 01:48:17 BST 2005  Olly Betts <olly@survex.com>
30435         * backends/flint/flint_lock.cc,backends/flint/flint_lock.h:  Added
30436           locking code for MS Windows (untested).
30438 Sun May 29 01:00:41 BST 2005  Olly Betts <olly@survex.com>
30440         * HACKING,NEWS,testsuite/testsuite.h: Fixed spelling mistakes.
30442 Sat May 28 22:51:15 BST 2005  Olly Betts <olly@survex.com>
30444         * tests/: svn:ignore .flint/ subdirectory.
30445         * tests/Makefile.am: Remove .flint subdirectory on 'make clean'.
30447 Sat May 28 22:45:24 BST 2005  Olly Betts <olly@survex.com>
30449         * docs/quartzdesign.html: Remove warning that quartz is still in
30450           development.
30452 Sat May 28 16:24:43 BST 2005  Olly Betts <olly@survex.com>
30454         * backends/flint/flint_lock.h: Removed unused FlintLock method
30455           'operator int()' which was confusing Sun's C++ compiler.
30457 Sat May 28 16:18:11 BST 2005  Olly Betts <olly@survex.com>
30459         * include/xapian/query.h: Removed superfluous "Query::" which was
30460           causing the build to fail with aCC.
30462 Sat May 28 14:31:33 BST 2005  Olly Betts <olly@survex.com>
30464         * backends/flint/flint_metafile.cc: Added missing '#include <errno.h>'.
30466 Sat May 28 14:15:36 BST 2005  Olly Betts <olly@survex.com>
30468         * backends/flint/flint_positionlist.cc: Simplify code a bit.
30470 Sat May 28 02:01:12 BST 2005  Olly Betts <olly@survex.com>
30472         * backends/flint/: Move the special item holding the total document
30473           length and doc id high water mark from the record table to the
30474           postlist table.  This means that when appending documents, the
30475           insertion point will now always be at the end of the record table.
30476           We need to jump around the postlist table to merge anyway.
30478 Sat May 28 00:42:25 BST 2005  Olly Betts <olly@survex.com>
30480         * backends/flint/flint_metafile.cc: Change metafile magic to be
30481           different from quartz, and make the metafile version a datestamp
30482           which we'll change each time the format changes; check the return
30483           value of close on the metafile.
30485 Fri May 27 22:09:45 BST 2005  Olly Betts <olly@survex.com>
30487         * backends/Makefile.am,backends/flint/: Implement new fork+fcntl+exec
30488           based locking;  Fix new GCC warnings.
30490 Fri May 27 22:06:14 BST 2005  Olly Betts <olly@survex.com>
30492         * api/omquery.cc: Missed a warning fix.
30494 Fri May 27 22:04:18 BST 2005  Olly Betts <olly@survex.com>
30496         * backends/quartz/btree.cc,backends/quartz/btree.h,
30497           backends/quartz/quartz_postlist.cc,common/omtime.h,matcher/,
30498           net/socketserver.cc,net/socketcommon.cc,net/socketclient.cc,
30499           testsuite/btreecheck.h,testsuite/testsuite.cc: Fix GCC warnings
30500           from new flags.
30502 Fri May 27 20:06:52 BST 2005  Olly Betts <olly@survex.com>
30504         * queryparser/queryparser.lemony: Add missing '#include <config.h>'.
30506 Fri May 27 12:20:03 BST 2005  Olly Betts <olly@survex.com>
30508         * common/omdebug.h: Oops, change to static_cast reveals that we were
30509           discarding const (harmlessly).
30511 Fri May 27 12:16:03 BST 2005  Olly Betts <olly@survex.com>
30513         * common/omdebug.h: Replace C style cast with static_cast<>.
30515 Fri May 27 12:07:48 BST 2005  Olly Betts <olly@survex.com>
30517         * configure.ac: -Wendif should be -Wendif-labels.
30519 Wed May 25 20:41:39 BST 2005  Olly Betts <olly@survex.com>
30521         * configure.ac: Pass more -W flags to g++ (including -Wundef which
30522           caught the getopt problem fixed by the previous commit).
30524 Wed May 25 20:32:35 BST 2005  Olly Betts <olly@survex.com>
30526         * getopt/getopt.cc: Added accidentally pruned #define so that getopt
30527           code isn't compiled in when the system uses glibc.
30529 Wed May 25 18:36:41 BST 2005  Olly Betts <olly@survex.com>
30531         * configure.ac: Add -Wredundant-decls to the default CXXFLAGS for GCC.
30533 Wed May 25 03:33:34 BST 2005  Olly Betts <olly@survex.com>
30535         * tests/apitest.cc,tests/api_db.cc,tests/api_db.h,
30536           testsuite/backendmanager.cc,testsuite/backendmanager.h:
30537           apitest now runs tests on flint as well.
30539 Wed May 25 03:20:12 BST 2005  Olly Betts <olly@survex.com>
30541         * backends/database.cc: When automatically determining which backend
30542           to use when creating a WritableDatabase, don't try to open it as
30543           both Flint *AND* Quartz (an "else" was missing).
30545 Wed May 25 03:19:21 BST 2005  Olly Betts <olly@survex.com>
30547         * backends/flint/flint_btreebase.cc: Fix typo in code which prevented
30548           a flint database from being opened.
30550 Wed May 25 01:10:51 BST 2005  Olly Betts <olly@survex.com>
30552         * include/xapian/version.h.in,include/xapian/dbfactory.h,
30553           include/xapian/queryparser.h,backends/quartz/,backends/flint/:
30554           Flint backend hooked in fully, and everything now builds once
30555           more.
30557 Tue May 24 02:30:39 BST 2005  Olly Betts <olly@survex.com>
30559         * HACKING: Add "email Fabrice" to the release checklist so that RPM
30560           spec files don't lag behind.  The new svn-tag-release script
30561           actually builds the release tarballs rather than just copying
30562           snapshots like cvs-tag-release did, so document that.
30564 Tue May 24 01:21:18 BST 2005  Olly Betts <olly@survex.com>
30566         * include/xapian/queryparser.h: Added missing documentation comments.
30568 Mon May 23 02:36:06 BST 2005  Olly Betts <olly@survex.com>
30570         * configure.ac,backends/database.cc,backends/Makefile.am,
30571           backends/flint/: Cloned the quartz backend to form the basis of the
30572           new flint backend.  Currently it's the same except that the quartz
30573           log feature has been removed.  When creating a database without a
30574           specified backend, quartz is still used unless the environmental
30575           variable XAPIAN_PREFER_FLINT is set to a non-empty value.
30577 Sat May 21 20:58:48 BST 2005  Olly Betts <olly@survex.com>
30579         * xapian.spec.in: Remove bogus %setup line left over from when we
30580           packaged xapian-core and xapian-examples together from separate
30581           tarballs.
30583 Thu May 19 01:12:27 BST 2005  Olly Betts <olly@survex.com>
30585         * bin/quartzcheck.cc: Fixed corner case where you couldn't check a
30586           single Btree table which was just the DB and baseA/baseB files
30587           in a directory (Xapian doesn't produce anything like this, but
30588           btreetest does while unit testing the Btree code).
30590 Wed May 18 16:59:23 BST 2005  Olly Betts <olly@survex.com>
30592         * api/omquery.cc,include/xapian/query.h: Put Query::get_terms_end()
30593           inline in header.
30595 Wed May 18 16:41:56 BST 2005  Olly Betts <olly@survex.com>
30597         * api/omquery.cc,tests/api_nodb.cc: Fix SEGV on get_terms_begin()
30598           on an empty Query object.
30600 Mon May 16 22:58:09 BST 2005  Olly Betts <olly@survex.com>
30602         * api/omqueryinternal.cc: Fixed compilation with --enable-debug.
30604 Sat May 14 01:02:33 BST 2005  Olly Betts <olly@survex.com>
30606         * docs/doxygen_full_conf.in: Fix lingering DOXYGEN_HAVE_DOT reference.
30608 Sat May 14 00:36:14 BST 2005  Olly Betts <olly@survex.com>
30610         * HACKING: Update information about the SVN tag name to use for
30611           debian files.
30613 Fri May 13 23:21:54 BST 2005  Olly Betts <olly@survex.com>
30615         * HACKING: Updated release instructions to refer to SVN.
30617 Fri May 13 20:58:15 BST 2005  Olly Betts <olly@survex.com>
30619         * PLATFORMS: Updated for 0.9.0.
30621 Fri May 13 02:47:42 BST 2005  Olly Betts <olly@survex.com>
30623         * include/xapian/queryparser.h: Fix for Sun's C++ compiler.
30625 Fri May 13 00:09:07 BST 2005  Olly Betts <olly@survex.com>
30627         * NEWS,configure.ac: Updated for 0.9.0.
30629 Thu May 12 18:54:11 BST 2005  Olly Betts <olly@survex.com>
30631         * docs/doxygen_api_conf.in,docs/Makefile.am: Fix to generate docs
30632           for all backend factory functions like 0.8.5 did.
30634 Thu May 12 16:59:22 BST 2005  Olly Betts <olly@survex.com>
30636         * backends/database.cc,backends/Makefile.am,include/xapian/database.h,
30637           include/xapian/dbfactory.h,include/xapian.h,include/Makefile.am:
30638           Split off database factory methods into xapian/dbfactory.h - this
30639           allows us to fix recent breakage in VPATH builds (caused by the
30640           need to include the generated file xapian/version.h from
30641           xapian/database.h) without modifying almost every Makefile.am.
30643 Wed May 11 16:52:41 BST 2005  Olly Betts <olly@survex.com>
30645         * queryparser/queryparser.lemony: Move prefixed, bracketed
30646           subexpression to be an alternative for stop_term which allows
30647           "term prefix:(term2 term3)" to parse correctly. Also move
30648           non-prefixed, bracketed subexpression to be an alternative
30649           for stop_term - this doesn't change how things parse, but
30650           makes the grammar simpler.
30651         * tests/queryparsertest.cc: Added regression test for the above.
30652         * tests/Makefile.am,tests/queryparsertest.cc: Reworked queryparsertest
30653           to use the standard testsuite harness.
30655 Wed May 11 16:09:32 BST 2005  Olly Betts <olly@survex.com>
30657         * include/xapian/query.h: Fix OP_ELITE_SET at 10 (the value it had
30658           in 0.8.5).
30660 Tue May 10 22:56:45 BST 2005  Olly Betts <olly@survex.com>
30662         * docs/Makefile.am: Removed check for DOXYGEN_HAVE_DOT which I removed
30663           recently.
30665 Tue May 10 01:09:01 BST 2005  Olly Betts <olly@survex.com>
30667         * queryparser/queryparser.lemony: Removed state parameter from
30668           TermList::add_term() since it is no longer used.
30670 Mon May 09 20:56:40 BST 2005  Olly Betts <olly@survex.com>
30672         * docs/Makefile.am: Explicitly set the pool_size for latex, because we
30673           seem to overflow the default setting on many systems.
30674         * docs/Makefile.am: Use $(MAKE) instead of make.
30676 Sun May 08 23:22:37 BST 2005  Olly Betts <olly@survex.com>
30678         * configure.ac: Corrected $CC -> $CXX to fix bogus message "Checking
30679           for  option to enable ANSI C++ mode".
30680         * configure.ac: If any tools needed for documentation are missing
30681           and we're in maintainer mode, die with a suitable error in
30682           configure rather than with strange errors when building the
30683           documentation.
30685 Sun May 08 01:43:55 BST 2005  Olly Betts <olly@survex.com>
30687         * include/xapian/queryparser.h,queryparser/queryparser.lemony,
30688           queryparser/queryparser_internal.h,queryparser/queryparser.cc:
30689           Remove QueryParser::termlist_begin() and termlist_end() since
30690           you can just use Query::terms_begin() and terms_end() on the
30691           Query object returned by QueryParser::parse_query().
30693 Thu May 05 01:00:26 BST 2005  Olly Betts <olly@survex.com>
30695         * common/utils.cc: On WIN32, don't define NOMINMAX if it is already
30696           defined.
30698 Wed May 04 00:52:04 BST 2005  Olly Betts <olly@survex.com>
30700         * matcher/bm25weight.cc: Avoid needing document length if we're simply
30701           going to multiply it by zero!
30703 Tue May 03 14:07:20 BST 2005  Olly Betts <olly@survex.com>
30705         * HACKING: CVS -> SVN;  Note that tabs should be 8 spaces.
30707 Thu Apr 28 21:13:17 BST 2005  Olly Betts <olly@survex.com>
30709         * include/xapian/database.h: Don't declare the backend factory
30710           functions if the corresponding backend has been disabled.  This
30711           means that trying to use a disabled backend will be caught at
30712           compile time rather than link time.
30714 Thu Apr 28 21:12:43 BST 2005  Olly Betts <olly@survex.com>
30716         * docs/intro_ir.html: Corrected two errors.
30718 Wed Apr 27 23:04:53 BST 2005  Olly Betts <olly@survex.com>
30720         * configure.ac,include/xapian/version.h.in: Define
30721           XAPIAN_HAS_xxx_BACKEND for each backend which is enabled.  The
30722           bindings need this, and user code might find it useful too.
30724 Wed Apr 27 03:31:50 BST 2005  Olly Betts <olly@survex.com>
30726         * api/omdatabase.cc,api/ompostlistiterator.cc,
30727           api/omtermlistiterator.cc,include/xapian/,
30728           queryparser/queryparser.cc: Where end iterator is just
30729           FooIterator(NULL) put it inline in the header for efficiency.
30730           If we ever need to change an implementation, we can easily move
30731           methods back into the library and bump the library version suitably.
30733 Wed Apr 27 02:40:43 BST 2005  Olly Betts <olly@survex.com>
30735         * examples/quest.cc,include/xapian/queryparser.h,
30736           queryparser/queryparser.cc,tests/queryparsertest.cc: Rename
30737           QueryParser::set_stemming_options() to set_stemming_strategy()
30738           - it's a better name and avoids confusion with the old deprecated
30739           method called set_stemming_options().
30740         * examples/quest.cc: Added stopword handling.
30742 Wed Apr 27 02:39:33 BST 2005  Olly Betts <olly@survex.com>
30744         * include/xapian/enquire.h: Fixed documentation comment.
30746 Sun Apr 24 03:02:47 BST 2005  Olly Betts <olly@survex.com>
30748         * api/omstem.cc: Simplified Xapian::Stem::Internal.
30750 Sun Apr 24 02:21:22 BST 2005  Olly Betts <olly@survex.com>
30752         * tests/api_nodb.cc: Extended stemlang1 to check that trying to create
30753           a stemmer for a non-existent language throws InvalidArgumentError.
30755 Fri Apr 22 01:20:57 BST 2005  Olly Betts <olly@survex.com>
30757         * include/xapian/document.h: Clearer documentation comments.
30759 Thu Apr 21 15:03:42 BST 2005  Olly Betts <olly@survex.com>
30761         * docs/overview.html,include/xapian/query.h: Removed lingering
30762           references to OP_WEIGHT_CUTOFF.
30764 Thu Apr 21 01:46:51 BST 2005  Olly Betts <olly@survex.com>
30766         * PLATFORMS: Added success report for Ubuntu 5.04 on x86_64.
30768 Mon Apr 18 02:54:10 BST 2005  Olly Betts <olly@survex.com>
30770         * docs/stemming.html: Stemming appears to be applicable to Japanese
30771           so don't say it isn't!
30773 Sat Apr 16 01:08:22 BST 2005  Olly Betts <olly@survex.com>
30775         * PLATFORMS: Updated from tinderbox.
30777 Fri Apr 15 23:18:58 BST 2005  Olly Betts <olly@survex.com>
30779         * languages/: Remove lingering .c versions of snowball generated
30780           sources.
30782 Fri Apr 15 02:05:27 BST 2005  Olly Betts <olly@survex.com>
30784         * include/xapian/queryparser.h,queryparser/queryparser_internal.h,
30785           queryparser/queryparser.cc: Implemented QueryParser::set_database()
30786           method.
30787         * queryparser/queryparser.lemony: Allow searches for C#, etc.  If a
30788           database has been set, for this and + and - suffixes, check if the
30789           term actually exists, and if not, ignore the suffix if the
30790           unsuffixed term exists.
30791         * tests/queryparsertest.cc: Added tests for # suffix.
30793 Thu Apr 14 23:39:57 BST 2005  Olly Betts <olly@survex.com>
30795         * include/xapian/stem.h: Rewritten with better documentation comments.
30796         * include/xapian/stem.h: Added operator() as preferred alternative
30797           to stem_word().
30798         * api/omstem.cc,include/xapian/stem.h: Simplified by restructuring
30799           to eliminate a few internal methods.
30801 Thu Apr 14 23:35:47 BST 2005  Olly Betts <olly@survex.com>
30803         * queryparser/queryparser.cc: Make get_description() debug tracing
30804           message category INTRO not API.
30806 Thu Apr 14 19:57:06 BST 2005  Olly Betts <olly@survex.com>
30808         * include/xapian/queryparser.h,queryparser/queryparser.cc: Added
30809           QueryParser::get_description() method (not very descriptive yet!)
30811 Thu Apr 14 03:30:09 BST 2005  Olly Betts <olly@survex.com>
30813         * include/xapian/queryparser.h: Fixed to only include the xapian
30814           headers we actually depend on.
30815         * include/xapian/queryparser.h: Added \file and \brief documentation
30816           comments.
30818 Thu Apr 14 02:50:36 BST 2005  Olly Betts <olly@survex.com>
30820         * examples/quest.cc,include/xapian.h,tests/queryparsertest.cc:
30821           Change xapian.h to automatically include xapian/queryparser.h
30822           and fix direct includes of xapian/queryparser.h in tests and
30823           examples.
30825 Thu Apr 14 01:48:39 BST 2005  Olly Betts <olly@survex.com>
30827         * include/xapian/queryparser.h: Added Xapian::SimpleStopper which
30828           should be sufficient for the majority of uses.
30829         * include/xapian/queryparser.h,queryparser/queryparser_internal.h,
30830           queryparser/queryparser.cc: Changed QueryParser::set_stopper() to
30831           take a const pointer.
30833 Thu Apr 07 15:57:15 BST 2005  Olly Betts <olly@survex.com>
30835         * api/omenquire.cc,common/omenquireinternal.h,common/multimatch.h,
30836           matcher/multimatch.cc,net/socketserver.cc: Tidy up after sort_bands.
30838 Thu Apr 07 15:15:27 BST 2005  Olly Betts <olly@survex.com>
30840         * api/omenquire.cc,common/,include/xapian/enquire.h,
30841           matcher/networkmatch.cc,matcher/multimatch.cc,matcher/networkmatch.h,
30842           net/socketserver.cc,net/socketclient.cc,tests/api_db.cc:
30843           Enhanced Enquire sorting API and added ability to reverse sort on
30844           a value.
30845         * api/omenquire.cc: Enquire::get_description() now includes output of
30846           Enquire::Internal::get_description().
30848 Thu Apr 07 13:55:56 BST 2005  Olly Betts <olly@survex.com>
30850         * HACKING: Fixed a typo.
30852 Thu Apr 07 13:37:02 BST 2005  Olly Betts <olly@survex.com>
30854         * backends/quartz/btree.cc,backends/quartz/btree.h,
30855           bin/quartzcompact.cc: The "fuller compaction" code needs changes
30856           to btree.h which I'd failed to check in.  Also document --fuller
30857           in 'quartzcompact --help'.
30859 Thu Apr 07 03:35:36 BST 2005  Olly Betts <olly@survex.com>
30861         * bin/quartzcompact.cc: Added "fuller compaction" mode, which ignores
30862           the usual "at least 4 items per block" rule.
30864 Thu Apr 07 03:28:32 BST 2005  Olly Betts <olly@survex.com>
30866         * PLATFORMS: Added success result for GCC 3.2.3 on FreeBSD 4.8; fixed
30867           a typo.
30869 Wed Apr 06 23:04:15 BST 2005  Olly Betts <olly@survex.com>
30871         * queryparser/queryparser.lemony: Added FIXME comment.
30873 Wed Apr 06 22:52:53 BST 2005  Olly Betts <olly@survex.com>
30875         * ./: Removed ylwrap from svn:ignore.
30877 Tue Apr 05 22:34:16 BST 2005  Olly Betts <olly@survex.com>
30879         * queryparser/queryparsertest.cc,queryparser/Makefile.am,
30880           tests/Makefile.am: Moved queryparsertest into tests/.
30882 Tue Apr 05 22:15:05 BST 2005  Olly Betts <olly@survex.com>
30884         * examples/: Updated svn:ignore property.
30886 Tue Apr 05 21:34:13 BST 2005  Olly Betts <olly@survex.com>
30888         * queryparser/Makefile.am,configure.ac,extra/xapian/queryparser.h,
30889           extra/,include/Makefile.am,Makefile.am: Move extra/ to queryparser/;
30890           Merge extra/xapian/ into include/xapian/.
30892 Tue Apr 05 16:37:32 BST 2005  Olly Betts <olly@survex.com>
30894         * m4/xapian.m4: Fix m4 quoting (argh!)
30896 Tue Apr 05 16:28:06 BST 2005  Olly Betts <olly@survex.com>
30898         * m4/xapian.m4: Fix XO_LIB_XAPIAN to trim off any _svn6789 from
30899           XAPIAN_VERSION.
30901 Tue Apr 05 16:17:31 BST 2005  Olly Betts <olly@survex.com>
30903         * configure.ac: Fix m4 quoting.
30905 Tue Apr 05 15:16:38 BST 2005  Olly Betts <olly@survex.com>
30907         * configure.ac: #define VERSION in version.h shouldn't include any
30908           _svn6789 suffix.
30910 Tue Apr 05 13:28:23 BST 2005  Olly Betts <olly@survex.com>
30912         * configure.ac: Snapshot generator now appends _svn6789 or similar to
30913           the version string, so take that into account when finding REVISION.
30915 Tue Apr 05 12:55:52 BST 2005  Olly Betts <olly@survex.com>
30917         * ChangeLog.examples,Makefile.am,examples/ChangeLog: Move
30918           xapian-examples ChangeLog to ChangeLog.examples in the top-level
30919           and include in the tarball.
30921 Tue Apr 05 02:18:08 BST 2005  Olly Betts <olly@survex.com>
30923         * examples/dir_contents,examples/README: Converted xapian-examples
30924           README into a dir_contents file.
30926 Tue Apr 05 02:12:31 BST 2005  Olly Betts <olly@survex.com>
30928         * docs/overview.html,docs/install.html,configure.ac,Makefile.am,
30929           xapian.spec.in,examples/Makefile.am: Moved xapian-examples module
30930           to examples subdirectory of xapian-core.
30932 Tue Apr 05 00:37:05 BST 2005  Olly Betts <olly@survex.com>
30934         * m4/.cvsignore,debian/.cvsignore,matcher/.cvsignore,docs/.cvsignore,
30935           tests/.cvsignore,bin/.cvsignore,.cvsignore,autoconf/.cvsignore,
30936           extra/.cvsignore,include/xapian/.cvsignore,include/.cvsignore,
30937           net/.cvsignore,common/.cvsignore,testsuite/.cvsignore,
30938           getopt/.cvsignore,languages/.cvsignore,api/.cvsignore,
30939           backends/inmemory/.cvsignore,backends/muscat36/.cvsignore,
30940           backends/net/.cvsignore,backends/quartz/.cvsignore,
30941           backends/multi/.cvsignore,backends/.cvsignore: Remove .cvsignore
30942           files, as they're not used by SVN.
30944 Thu Mar 10 01:48:20 GMT 2005  Olly Betts <olly@survex.com>
30946         * testsuite/backendmanager.cc,testsuite/index_utils.cc,
30947           testsuite/index_utils.h: Rewrite of index_utils code, removing
30948           unused and unusual features.
30949         * tests/testdata/: Cleaned up data for apitest now that paragraphs
30950           don't have the odd minimum number of lines!
30951         * tests/testdata/apitest_space.txt: New index_utils code has C-like
30952           \ escapes for control characters rather than ^ escapes.
30954 Wed Mar 09 22:04:08 GMT 2005  Olly Betts <olly@survex.com>
30956         * common/utils.h: Added C_isxdigit and C_isnotxdigit.
30958 Wed Mar 09 15:22:35 GMT 2005  Olly Betts <olly@survex.com>
30960         * testsuite/index_utils.cc: Fixed ^x to actually decode hex values
30961           correctly.
30963 Tue Mar 08 16:57:25 GMT 2005  Olly Betts <olly@survex.com>
30965         * matcher/multimatch.cc: Minor code tidy.
30967 Tue Mar 08 15:48:38 GMT 2005  Olly Betts <olly@survex.com>
30969         * api/omenquire.cc,docs/matcherdesign.html,include/xapian/enquire.h,
30970           matcher/multimatch.cc,tests/api_db.cc: Removed sort_bands support.
30972 Tue Mar 08 04:13:03 GMT 2005  Olly Betts <olly@survex.com>
30974         * bin/quartzcompact.cc: Fixed to add items for all tables in key order
30975           which produces results around 40% more compact (previously in the
30976           merge case, this was only happening for the postlist table).
30978 Tue Mar 08 03:30:06 GMT 2005  Olly Betts <olly@survex.com>
30980         * testsuite/btreecheck.cc: Make default check output fit on a single
30981           line (at least for many databases).
30983 Tue Mar 08 02:34:41 GMT 2005  Olly Betts <olly@survex.com>
30985         * matcher/multimatch.cc: Fix warning from newer versions of GCC.
30987 Sat Mar 05 00:25:07 GMT 2005  Olly Betts <olly@survex.com>
30989         * api/omenquire.cc,common/omenquireinternal.h,include/xapian/enquire.h,
30990           matcher/multimatch.cc,tests/api_db.cc: Fixed Xapian::RSet to have
30991           the same "it's a handle" copy semantics as most of the other
30992           classes.
30994 Sat Mar 05 00:23:47 GMT 2005  Olly Betts <olly@survex.com>
30996         * testsuite/testsuite.h: Fixed TEST_EQUAL_DOUBLE to use DBL_EPSILON
30997           correctly.
30999 Fri Mar 04 21:06:38 GMT 2005  Olly Betts <olly@survex.com>
31001         * tests/testdata/etext.txt: Stripped carriage returns.
31003 Fri Mar 04 21:04:25 GMT 2005  Olly Betts <olly@survex.com>
31005         * PLATFORMS: Assorted updates.
31007 Thu Mar 03 01:17:07 GMT 2005  Olly Betts <olly@survex.com>
31009         * bin/quartzcompact.cc: Fixed to allow compacting a single database.
31010           Fixed handling of very last term when merging postlists.
31012 Wed Mar 02 03:18:30 GMT 2005  Olly Betts <olly@survex.com>
31014         * backends/quartz/quartz_values.cc: Values are stored in sorted order
31015           so we can stop unpacking the list once we get to one after the one
31016           we're looking for.
31018 Wed Mar 02 02:59:23 GMT 2005  Olly Betts <olly@survex.com>
31020         * bin/quartzcheck.cc: Now checks the structure of all the tables, not
31021           just the postlist table, and cross-checks doclen values between
31022           termlist and postlist tables.  Recognises "--help" option.  Should
31023           now continue after an error (typically it would crash before), and
31024           counts the number of errors found.  Now exits with non-zero status
31025           if any errors were found.
31027 Tue Mar 01 18:48:25 GMT 2005  Olly Betts <olly@survex.com>
31029         * xapian.spec.in: '/usr/share' -> '%{_datadir}'.
31031 Tue Mar 01 16:21:07 GMT 2005  Olly Betts <olly@survex.com>
31033         * tests/api_db.cc: Fixed warning from Sun's C++ compiler.
31035 Tue Mar 01 02:02:15 GMT 2005  Olly Betts <olly@survex.com>
31037         * bin/quartzcompact.cc: Extended to allow merging several quartz
31038           databases to produce a single compact quartz database.  This
31039           allows for faster building - simple index in chunks, then merge
31040           the chunks.
31042 Tue Mar 01 00:08:12 GMT 2005  Olly Betts <olly@survex.com>
31044         * xapian.spec.in: Put the .so in the -devel package (it's only useful
31045           for linking to - the .so.* files are all that's needed at runtime).
31047 Tue Mar 01 00:05:25 GMT 2005  Olly Betts <olly@survex.com>
31049         * Makefile.am,xapian-config.in,xapian.spec.in,extra/.cvsignore,
31050           extra/Makefile.am: Eliminated the extra library for the queryparser
31051           - it's tiny compared to the main library and having it around just
31052           complicates things.
31054 Mon Feb 28 23:52:19 GMT 2005  Olly Betts <olly@survex.com>
31056         * tests/api_anydb.cc: More set_length() changes.
31058 Mon Feb 28 20:31:13 GMT 2005  Olly Betts <olly@survex.com>
31060         * net/socketclient.cc,net/socketserver.cc,api/omenquire.cc,
31061           api/omquery.cc,api/omqueryinternal.cc,common/,
31062           include/xapian/enquire.h,include/xapian/query.h,matcher/:
31063           Remove Query::set_length() in favour of an optional length
31064           parameter to Enquire::set_query().
31066 Mon Feb 28 15:32:32 GMT 2005  Olly Betts <olly@survex.com>
31068         * api/omqueryinternal.cc,common/Makefile.am,common/deleter_vector.h:
31069           Removed deleter_vector as it's no longer used anywhere.
31071 Mon Feb 28 15:27:42 GMT 2005  Olly Betts <olly@survex.com>
31073         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
31074           matcher/localmatch.cc,tests/api_anydb.cc,tests/api_nodb.cc:
31075           Eliminated Query::set_elite_set_size().
31077 Mon Feb 28 15:15:45 GMT 2005  Olly Betts <olly@survex.com>
31079         * HACKING: Note how to disable use of VALGRIND on the make check
31080           command line, or when using runtest directly.
31082 Mon Feb 28 13:36:07 GMT 2005  Olly Betts <olly@survex.com>
31084         * common/omqueryinternal.h: Removed out-of-date commented out version
31085           of Xapian::Query::Internal.
31087 Mon Feb 28 13:07:42 GMT 2005  Olly Betts <olly@survex.com>
31089         * backends/quartz/quartz_alltermslist.cc,tests/api_db.cc: Updated (C)
31090           dates for changes earlier this year.
31092 Mon Feb 28 13:04:41 GMT 2005  Olly Betts <olly@survex.com>
31094         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
31095           matcher/localmatch.cc,matcher/localmatch.h,tests/api_anydb.cc,
31096           tests/api_nodb.cc,tests/api_posdb.cc: Eliminated Query::set_window
31097           in favour of an optional parameter to the constructor, with the aim
31098           of making Query objects immutable once constructed.
31100 Mon Feb 28 12:32:26 GMT 2005  Olly Betts <olly@survex.com>
31102         * extra/queryparser.lemony: Updated 2 uses of Query::set_window().
31104 Mon Feb 28 04:43:20 GMT 2005  Olly Betts <olly@survex.com>
31106         * api/omquery.cc,api/omqueryinternal.cc,common/socketcommon.h,
31107           include/xapian/query.h,matcher/,tests/api_anydb.cc:
31108           Removed OP_WEIGHT_CUTOFF, since it doesn't actually seem to
31109           add useful functionality over using Enquire::set_cutoff().
31111 Mon Feb 28 04:31:58 GMT 2005  Olly Betts <olly@survex.com>
31113         * matcher/weightcutoffpostlist.cc: Fix updating of docid in
31114           WeightCutoffPostList - the current code works, but can end up doing
31115           lots (potentially millions) of pointless loop iterations.
31117 Mon Feb 28 02:57:29 GMT 2005  Olly Betts <olly@survex.com>
31119         * docs/queryparser.html: Note that + and - work on phrases and
31120           bracketed expressions.
31122 Fri Feb 25 17:06:23 GMT 2005  Olly Betts <olly@survex.com>
31124         * backends/quartz/quartz_alltermslist.cc: Fix skip_to on an allterms
31125           TermIterator to set the current term when the skip_to-ed term is
31126           in the database.
31127         * tests/api_db.cc: Add regression test for this (allterms5).
31129 Wed Feb 23 19:07:30 GMT 2005  Olly Betts <olly@survex.com>
31131         * configure.ac: Suppress 2 Intel C++ warnings which we can't easily
31132           code around, and enable -Werror automatically with
31133           --enable-maintainer-mode.
31134         * configure.ac: Check that the C++ compiler can actually link a
31135           program.  AC_LANG_CXX doesn't, and if it can't find a C++ compiler
31136           it'll just return "g++" which just leads to a later configure
31137           test failing in a confusing way.
31139 Tue Feb 22 13:39:07 GMT 2005  Olly Betts <olly@survex.com>
31141         * include/xapian/enquire.h: Improved documentation comments.
31142         * api/omenquire.cc,include/xapian/enquire.h: MSet::max_size() (which
31143           only exists so that MSet is an STL compiler) now returns
31144           MSet::size() and is inlined from the header.
31145         * include/xapian/enquire.h: Added ESet::max_size() (for STL
31146           compatibility).
31148 Tue Feb 22 00:18:33 GMT 2005  Olly Betts <olly@survex.com>
31150         * configure.ac: corrected "none known for yes" or "none known for no"
31151           to "none known for g++-3.2" or similar.
31152         * configure.ac: autoconf identifies Intel's C++ compiler as GCC, so
31153           probe for which it actually is.
31155 Mon Feb 21 21:54:29 GMT 2005  Olly Betts <olly@survex.com>
31157         * PLATFORMS: Updated.
31159 Mon Feb 21 16:06:32 GMT 2005  Olly Betts <olly@survex.com>
31161         * PLATFORMS: Added success report for Intel C++ 8.1 on ia64 Linux
31162           (and also GCC 3.2.3 on ia64 Linux).
31164 Mon Feb 21 05:33:46 GMT 2005  Olly Betts <olly@survex.com>
31166         * backends/multi/: Don't delare methods in headers if they're virtual
31167           or large.
31169 Mon Feb 21 04:11:23 GMT 2005  Olly Betts <olly@survex.com>
31171         * backends/inmemory/inmemory_database.cc,
31172           backends/inmemory/inmemory_database.h: Don't delare methods in
31173           headers if they're virtual or large.
31175 Sun Feb 20 21:13:40 GMT 2005  Olly Betts <olly@survex.com>
31177         * common/multimatch.h: Removed unused "class SocketServer;".
31179 Sun Feb 20 19:47:01 GMT 2005  Olly Betts <olly@survex.com>
31181         * net/socketserver.cc: Fixed typo in debug code.
31183 Sat Feb 19 18:44:17 GMT 2005  Olly Betts <olly@survex.com>
31185         * PLATFORMS: Added minimal testcase which fails to compile with
31186           Compaq's C++ compiler (cxx).
31188 Sat Feb 19 04:23:51 GMT 2005  Olly Betts <olly@survex.com>
31190         * backends/quartz/btree.cc,backends/quartz/btree.h: Change
31191           Btree::find_in_block to take a bool indicating if this is a leaf
31192           block rather than an offset to subtract when it is.
31194 Fri Feb 18 04:27:16 GMT 2005  Olly Betts <olly@survex.com>
31196         * HACKING: Added better description of how reference-counted API
31197           classes are structured.
31198         * include/xapian/postingiterator.h,include/xapian/termiterator.h:
31199           More (and better) documentation comments.
31201 Fri Feb 18 03:05:40 GMT 2005  Olly Betts <olly@survex.com>
31203         * backends/quartz/btree.cc: Made full compaction a tiny bit more
31204           compact.  Improved compaction by a few % in non-full case.
31205           Tighter bound on amount of memory to reserve to read the tag
31206           into.
31208 Fri Feb 18 00:47:41 GMT 2005  Olly Betts <olly@survex.com>
31210         * api/omenquire.cc: Removed duplicate "#include <xapian/enquire.h>".
31212 Thu Feb 17 01:33:01 GMT 2005  Olly Betts <olly@survex.com>
31214         * extra/queryparser_internal.h: Further Sun C++ fixes.
31216 Wed Feb 16 05:32:40 GMT 2005  Olly Betts <olly@survex.com>
31218         * extra/queryparser.lemony: Attempted fix for Sun's C++ compiler.
31220 Tue Feb 15 02:10:35 GMT 2005  Olly Betts <olly@survex.com>
31222         * extra/queryparser.cc,extra/queryparser.lemony,
31223           extra/queryparser_internal.h: Fixed namespace stuff to keep Sun's C++
31224           compiler happy.
31226 Mon Feb 14 21:21:08 GMT 2005  Olly Betts <olly@survex.com>
31228         * api/vectortermlist.h: Workaround a shortcoming in Sun's C++
31229           compiler.
31231 Mon Feb 14 21:16:05 GMT 2005  Olly Betts <olly@survex.com>
31233         * PLATFORMS: Results from upgraded sourceforge x86_64 box.
31235 Mon Feb 14 18:36:40 GMT 2005  Olly Betts <olly@survex.com>
31237         * extra/xapian/queryparser.h: Fixed compilation error.
31239 Mon Feb 14 18:00:12 GMT 2005  Olly Betts <olly@survex.com>
31241         * extra/xapian/queryparser.h: Added backward compatibility wrapper for
31242           old version of QueryParser::set_stemming_options().
31244 Mon Feb 14 17:50:47 GMT 2005  Olly Betts <olly@survex.com>
31246         * extra/xapian/queryparser.h: Added dummy QueryParser::set_database()
31247           (currently it ignores the parameter).
31249 Mon Feb 14 15:34:13 GMT 2005  Olly Betts <olly@survex.com>
31251         * extra/lemon.c: C90, not C99!
31253 Mon Feb 14 15:20:11 GMT 2005  Olly Betts <olly@survex.com>
31255         * extra/lemon.c: C, not C++.
31257 Mon Feb 14 05:49:50 GMT 2005  Olly Betts <olly@survex.com>
31259         * extra/: Tweak lemon so we can avoid generating files in builddir
31260           in a VPATH build.
31262 Mon Feb 14 02:44:17 GMT 2005  Olly Betts <olly@survex.com>
31264         * extra/Makefile.am: Update to reflect lempar.c -> queryparser.lt.
31266 Mon Feb 14 02:25:53 GMT 2005  Olly Betts <olly@survex.com>
31268         * extra/lempar.c,extra/queryparser.lt: Rename lemon template to .lt
31269           which is more sensible than calling it lempar.c and should work
31270           with VPATH builds.
31272 Mon Feb 14 02:12:51 GMT 2005  Olly Betts <olly@survex.com>
31274         * extra/Makefile.am: Fixes for VPATH builds.
31276 Mon Feb 14 01:43:59 GMT 2005  Olly Betts <olly@survex.com>
31278         * configure.ac: Need to AC_SUBST(CC_FOR_BUILD).
31280 Mon Feb 14 00:19:45 GMT 2005  Olly Betts <olly@survex.com>
31282         * extra/Makefile.am: Added dependency for building queryparser.h.
31284 Sun Feb 13 23:30:02 GMT 2005  Olly Betts <olly@survex.com>
31286         * extra/queryparser.cc,extra/queryparser_internal.h,
31287           extra/xapian/queryparser.h: Fixed to compile with GCC 3.3.
31289 Sun Feb 13 23:09:15 GMT 2005  Olly Betts <olly@survex.com>
31291         * configure.ac: Enhanced valgrind test to (a) see if --tool=memcheck
31292           is needed and (b) see if valgrind actually works (we don't want to
31293           try to use an x86 valgrind on an x86_64 box).
31295 Mon Jan 17 03:21:29 GMT 2005  Olly Betts <olly@survex.com>
31297         * api/vectortermlist.h,extra/,extra/xapian/queryparser.h: Rewritten
31298           QueryParser class.  Uses Lemon instead of Bison to generate the
31299           parser, which enables us to stop using static data, so this class
31300           is at last reentrant.  It now uses a PIMPL style with reference
31301           counted internals like most of the other Xapian classes.  And
31302           direct access to member variables has gone, which unfortunately
31303           forces an API change (bug #39).  The rewrite also supports more
31304           features than the original did.
31305         * HACKING,configure.ac: No longer need Bison.
31306         * configure.ac: Need CC_FOR_BUILD to compile Lemon with.
31308 Mon Jan 17 02:40:40 GMT 2005  Olly Betts <olly@survex.com>
31310         * PLATFORMS: IRIX + SGI C++ now compiles with just two warnings -
31311           unused variables in Snowball generated code.
31313 Sun Jan 16 03:19:56 GMT 2005  Olly Betts <olly@survex.com>
31315         * xapian.spec.in: Don't say "%makeinstall" in a comment since rpm
31316           tries to expand it and explodes.
31318 Sat Jan 15 03:30:33 GMT 2005  Olly Betts <olly@survex.com>
31320         * docs/Makefile.am: Clearer rules for making Postscript doxygen docs.
31322 Sat Jan 15 02:45:19 GMT 2005  Olly Betts <olly@survex.com>
31324         * HACKING: Note that '#include <limits>' isn't supported by GCC 2.95,
31325           and other assorted minor tweaks.
31327 Sat Jan 08 16:09:10 GMT 2005  Olly Betts <olly@survex.com>
31329         * api/maptermlist.h,backends/inmemory/inmemory_database.h,
31330           backends/quartz/quartz_postlist.h,common/,matcher/localmatch.h,
31331           matcher/mergepostlist.h,matcher/phrasepostlist.h,net/progclient.cc:
31332           Fixes for SGI C++ warnings.
31334 Fri Jan  7 13:02:49 GMT 2005  Richard Boulton <richard@tartarus.org>
31336         * common/positionlist.h: Correct out-of-date documentation comment.
31338 Tue Jan 04 03:05:26 GMT 2005  Olly Betts <olly@survex.com>
31340         * matcher/multimatch.cc: Removed unnecessary class declaration.
31342 Tue Jan 04 03:02:02 GMT 2005  Olly Betts <olly@survex.com>
31344         * configure.ac: Automatically enable ANSI C++ mode for SGI's compiler
31345           with '-LANG:std'; check that any automatically determined flags
31346           for ANSI C++ mode actually allow us to compile a trivial program
31347           - if they don't it probably means the compiler isn't the one we
31348           were expecting, but one installed with the same name, so we now
31349           drop the flags in this case.
31351 Thu Dec 30 00:50:58 GMT 2004  Olly Betts <olly@survex.com>
31353         * extra/queryparser.yy: QueryParser::parse_query() was failing to
31354           clear termlist and unstem.
31356 Fri Dec 24 00:07:28 GMT 2004  Olly Betts <olly@survex.com>
31358         * PLATFORMS: Updated from tinderbox.
31360 Thu Dec 23 21:13:46 GMT 2004  Olly Betts <olly@survex.com>
31362         * backends/quartz/btree.cc: Fixed GCC compilation warning.
31364 Thu Dec 23 17:22:15 GMT 2004  Olly Betts <olly@survex.com>
31366         * INSTALL,README: Updated.
31367         * README: Don't quote chunks of the GPL - just refer people to the
31368           full text in COPYING.
31370 Thu Dec 23 16:55:03 GMT 2004  Olly Betts <olly@survex.com>
31372         * NEWS,PLATFORMS,configure.ac: Updated for 0.8.5 release.
31374 Tue Dec 21 13:26:55 GMT 2004  Olly Betts <olly@survex.com>
31376         * docs/quickstart.html: Improved wording.
31378 Tue Dec 21 13:03:06 GMT 2004  Olly Betts <olly@survex.com>
31380         * HACKING: Updated to reflect extra jobs which cvs-tag-release now
31381           does.
31383 Mon Dec 20 16:25:21 GMT 2004  Olly Betts <olly@survex.com>
31385         * bin/Makefile.am: quartzcompact now uses getopt, so need to link
31386           it in our version to build on non-glibc platforms.
31388 Mon Dec 20 16:23:28 GMT 2004  Olly Betts <olly@survex.com>
31390         * backends/quartz/btree.cc: Added comment noting why we can't
31391           truncate separating keys at higher levels.
31393 Thu Dec 16 14:46:28 GMT 2004  Olly Betts <olly@survex.com>
31395         * HACKING: Fixed a typo, and improved wording.
31397 Mon Dec 13 02:52:52 GMT 2004  Olly Betts <olly@survex.com>
31399         * backends/multi/multi_postlist.cc: Updated (C) date.
31401 Mon Dec 13 02:50:44 GMT 2004  Olly Betts <olly@survex.com>
31403         * languages/: Added missing '#include <config.h>' to .cc files
31404           (probably harmless, but it should be included as the first thing any
31405           source file does).
31407 Mon Dec 13 02:21:28 GMT 2004  Olly Betts <olly@survex.com>
31409         * bin/quartzdump.cc: Mark the long options as const.
31411 Mon Dec 13 02:20:08 GMT 2004  Olly Betts <olly@survex.com>
31413         * bin/quartzcompact.cc: Tables sizes will always be a whole number of
31414           Kbytes, since the blocksize is, so report the size in K.  Also
31415           report the change in size as well as the before and after sizes.
31417 Mon Dec 13 02:11:59 GMT 2004  Olly Betts <olly@survex.com>
31419         * common/netutils.cc: Added missing '#include <config.h>' (probably
31420           harmless, but it should be included as the first thing any source
31421           file does).
31423 Mon Dec 13 01:39:53 GMT 2004  Olly Betts <olly@survex.com>
31425         * backends/quartz/btree.cc,backends/quartz/btree.h: Renamed
31426           Btree::compress() to Btree::compact() for consistency with
31427           "full_compaction" and "quartzcompact".  Also, "compress" is
31428           confusing since use "compact" and we use that term in the zlib
31429           patch.
31430         * backends/quartz/btree.cc: When full_compaction is enabled, don't
31431           fill the last few bytes of a block if that would mean we needed
31432           an extra item and the overhead for that item would use up more
31433           of the next block than we save.  This reduces the table size
31434           after full compaction by up to 0.2% in my tests!
31436 Mon Dec 13 01:39:02 GMT 2004  Olly Betts <olly@survex.com>
31438         * backends/multi/multi_postlist.cc: Fixed to build with AssertParanoid
31439           enabled.
31441 Mon Dec 13 00:41:28 GMT 2004  Olly Betts <olly@survex.com>
31443         * bin/quartzcompact.cc: Added missing '#include <config.h>' so that
31444           largefile support is enabled and we report compression statistics
31445           for tables > 2G.
31446         * bin/quartzcompact.cc: Added --no-full / -n option to disable full
31447           compaction.  This may be useful if you want to update the database
31448           after compacting it (need to test to see if this option is actually
31449           useful).
31451 Sun Dec 12 21:26:27 GMT 2004  Olly Betts <olly@survex.com>
31453         * xapian-config.in: Previous attempted fix to --libs output was wrong
31454           - made it actually work.
31456 Sun Dec 12 21:24:44 GMT 2004  Olly Betts <olly@survex.com>
31458         * xapian.spec.in: %makeinstall puts the wrong paths in the .la files
31459           so use "make DESTDIR=... install" instead.
31461 Wed Dec 08 15:59:44 GMT 2004  Olly Betts <olly@survex.com>
31463         * NEWS: Bumped the 0.8.4 release date.
31465 Wed Dec 08 15:32:46 GMT 2004  Olly Betts <olly@survex.com>
31467         * xapian-config.in: Make sure that --libs output doesn't include
31468           libxapian.la (from libxapianqueryparser.la's dependencies).
31470 Tue Dec 07 18:18:26 GMT 2004  Olly Betts <olly@survex.com>
31472         * backends/quartz/quartz_log.cc: Fixed to compile on mingw.
31474 Tue Dec 07 15:57:44 GMT 2004  Olly Betts <olly@survex.com>
31476         * NEWS: Updated.
31477         * api/omdatabase.cc,backends/database.cc,bin/omtcpsrv.cc,
31478           common/database.h,docs/,include/xapian/database.h,tests/api_db.cc:
31479           Added constructors to Database and WritableDatabase which fulfil the
31480           role that the Auto::open() factory functions currently do.
31481           Auto::open() is now deprecated.
31482         * api/,backends/inmemory/inmemory_database.cc,
31483           backends/quartz/quartz_database.cc,backends/quartz/quartz_postlist.h,
31484           common/expandweight.h,common/stats.h,include/xapian.h:
31485           #include <xapian.h> no longer pulls in xapian/output.h - this
31486           removes the external ability to write a Xapian object to an
31487           ostream directly, as it's little used and potentially dangerous
31488           ('cout << mset[i];' will compile, but you almost certainly meant
31489           'cout << *mset[i];').  You can get the old effect by writing
31490           'cout << obj->get_description();' instead of 'cout << obj;'.
31491           Adjusted all the library sources which relied on xapian/output.h
31492           pulling in various other xapian/ headers.
31493         * backends/muscat36/da_database.cc,backends/muscat36/db_database.cc:
31494           Debug output tweaks.
31495         * common/emptypostlist.h,matcher/mergepostlist.cc,matcher/multimatch.cc:
31496           Added EmptyPostList::get_maxweight() which always returns 0, so you
31497           no longer need to explicitly set a weighting scheme on an
31498           EmptyPostList.
31499         * common/omdebug.h: Only include omstringstream.h if
31500           XAPIAN_DEBUG_VERBOSE is in effect.
31501         * extra/Makefile.am: queryparsertest needs to link to libxapian.la
31502           explicitly.
31503         * net/progclient.cc: Whitespace tweak.
31504         * testsuite/: Eliminated barely used sources indexer.h,
31505           textfile_indexer.h, and textfile_indexer.cc.
31506         * testsuite/backendmanager.cc: Removed unused functions
31507           make_strvec() and index_file_to_database().
31509 Wed Dec 01 07:15:46 GMT 2004  Olly Betts <olly@survex.com>
31511         * PLATFORMS: SF CF x86_64 machine no longer needs --disable-shared.
31513 Tue Nov 30 21:53:33 GMT 2004  Olly Betts <olly@survex.com>
31515         * NEWS,PLATFORMS,configure.ac: Updated for 0.8.4 release.
31517 Tue Nov 30 03:07:43 GMT 2004  Olly Betts <olly@survex.com>
31519         * configure.ac,backends/database.cc,backends/quartz/bcursor.cc,
31520           backends/quartz/quartz_database.cc,
31521           backends/quartz/quartz_postlist.cc,common/omassert.h,
31522           common/omdebug.cc,common/omdebug.h,docs/doxygen_full_conf.in,
31523           matcher/localmatch.cc,matcher/multimatch.cc,matcher/stats.cc,
31524           tests/apitest.cc,tests/btreetest.cc,testsuite/backendmanager.cc,
31525           testsuite/backendmanager.h,testsuite/testsuite.cc: Rename all the
31526           MUS_xxx defines to XAPIAN_xxx.
31528 Tue Nov 30 02:36:33 GMT 2004  Olly Betts <olly@survex.com>
31530         * configure.ac,backends/quartz/btree.cc: Get configure to probe for
31531           the prototypes (if any) needed for pread and pwrite.
31533 Tue Nov 30 01:09:26 GMT 2004  Olly Betts <olly@survex.com>
31535         * backends/quartz/btree.cc: Instead of trying to coax pread/pwrite
31536           prototypes out of the system headers, let's try just providing our
31537           own!
31539 Mon Nov 29 19:51:13 GMT 2004  Olly Betts <olly@survex.com>
31541         * extra/Makefile.am: Moved -no-undefined to the right place, plus we
31542           also need to pass @ldflags@ and ../libxapian.la in
31543           libxapianqueryparser_la_LIBADD.
31545 Mon Nov 29 18:28:57 GMT 2004  Olly Betts <olly@survex.com>
31547         * AUTHORS: Updated.
31549 Mon Nov 29 18:27:12 GMT 2004  Olly Betts <olly@survex.com>
31551         * extra/Makefile.am: Added -no-undefined to
31552           libxapianqueryparser_la_LDFLAGS so it builds on mingw.
31554 Mon Nov 29 17:46:54 GMT 2004  Olly Betts <olly@survex.com>
31556         * tests/Makefile.am: Don't try to run "runtest" as a test - it just
31557           needs to be a dependency of the tests.
31559 Sat Nov 27 02:58:28 GMT 2004  Olly Betts <olly@survex.com>
31561         * backends/inmemory/dir_contents: Trimmed whitespace.
31563 Sat Nov 27 02:05:51 GMT 2004  Olly Betts <olly@survex.com>
31565         * NEWS: Updated ready for 0.8.4 release.
31567 Sat Nov 27 02:03:40 GMT 2004  Olly Betts <olly@survex.com>
31569         * tests/Makefile.am: Added a dependency so "make check" regenerates
31570           runtest if necessary.
31572 Sat Nov 27 02:02:58 GMT 2004  Olly Betts <olly@survex.com>
31574         * AUTHORS: Updated.
31576 Sat Nov 27 01:59:18 GMT 2004  Olly Betts <olly@survex.com>
31578         * README: Minor tweak.
31580 Sat Nov 27 01:58:53 GMT 2004  Olly Betts <olly@survex.com>
31582         * configure.ac: Improved a couple of comments.
31584 Sat Nov 27 01:42:32 GMT 2004  Olly Betts <olly@survex.com>
31586         * docs/: Trimmed trailing whitespace.
31588 Sat Nov 27 01:41:33 GMT 2004  Olly Betts <olly@survex.com>
31590         * docs/stemming.html: Reworded text from BrightStation times which
31591           talked about "the open source release".
31593 Fri Nov 26 17:32:55 GMT 2004  Olly Betts <olly@survex.com>
31595         * docs/indexerquickstart.html: Removed dead documentation.
31597 Fri Nov 26 17:11:19 GMT 2004  Olly Betts <olly@survex.com>
31599         * PLATFORMS: Updated with new cygwin report.
31601 Fri Nov 26 17:07:21 GMT 2004  Olly Betts <olly@survex.com>
31603         * tests/api_anydb.cc,tests/api_nodb.cc,docs/bm25.html,
31604           include/xapian/enquire.h,matcher/bm25weight.cc: Renamed BM25
31605           parameters to match standard naming in papers and elsewhere
31606           (A->k3, B->k1, C->k2, D->b), eliminated the extra factor of 2
31607           which our C had, and reordered the parameters to k1, k2, k3.
31608           This is an incompatible API change for BM25Weight(), so if
31609           you are using custom parameters for BM25 you'll need to
31610           update your code.
31612 Fri Nov 26 15:20:16 GMT 2004  Olly Betts <olly@survex.com>
31614         * tests/runtest.in: Allow VALGRIND environmental variable to override
31615           the value we got from configure.
31617 Fri Nov 26 03:50:36 GMT 2004  Olly Betts <olly@survex.com>
31619         * matcher/bm25weight.cc,matcher/tradweight.cc: termfreq is always
31620           exact for matching (we only approximate it for query expansion)
31621           so replace code to work around bad approximations with Assert() to
31622           make sure this never happens.
31624 Fri Nov 26 00:19:22 GMT 2004  Olly Betts <olly@survex.com>
31626         * matcher/expandweight.cc,matcher/tradweight.cc: If we estimate the
31627           term frequency, ensure it has a sane value (>= r and <= N - R + r)
31628           rather than bodging around the problem later on.
31630 Thu Nov 25 01:29:36 GMT 2004  Olly Betts <olly@survex.com>
31632         * backends/quartz/quartz_database.cc: Fixed recent cygwin change to
31633           actually compile.
31635 Thu Nov 25 01:06:03 GMT 2004  Olly Betts <olly@survex.com>
31637         * bin/quartzcompact.cc: Added --help and --version; Check that the
31638           source path and desitination path aren't the same; Report each table
31639           name when we start compacting it, and some simple stats on the
31640           compaction achieved when we finish.
31642 Tue Nov 23 16:19:09 GMT 2004  Olly Betts <olly@survex.com>
31644         * configure.ac: Fixed m4 quoting problem.
31646 Tue Nov 23 12:47:54 GMT 2004  Olly Betts <olly@survex.com>
31648         * configure.ac: Fix the test for GCC3 used to turn on -Werror with
31649           --enable-maintainer-mode.
31651 Mon Nov 22 03:08:10 GMT 2004  Olly Betts <olly@survex.com>
31653         * PLATFORMS: Assorted updates.
31655 Mon Nov 22 02:15:22 GMT 2004  Olly Betts <olly@survex.com>
31657         * tests/quartztest.cc: Test with DB_CREATE_OR_OPEN in writelock1.
31659 Mon Nov 22 01:37:13 GMT 2004  Olly Betts <olly@survex.com>
31661         * common/utils.cc: define NOMINMAX as a cleaner way to prevent
31662           windows.h from polluting the namespace and colliding with ANSI C++.
31664 Sat Nov 20 14:36:43 GMT 2004  Olly Betts <olly@survex.com>
31666         * tests/runtest.in: --logfile-fd was renamed to --log-fd in valgrind
31667           2.1.2 with no support for the old option name, so we must probe
31668           to decide which to use.
31670 Fri Nov 19 13:18:43 GMT 2004  Olly Betts <olly@survex.com>
31672         * backends/quartz/bcursor.cc,backends/quartz/bcursor.h: Eliminated
31673           Bcursor::get_tag() - it's an internal method only used from one
31674           other method, and it now just a trivial wrapper around
31675           Btree::read_tag().
31677 Fri Nov 19 04:20:39 GMT 2004  Olly Betts <olly@survex.com>
31679         * backends/quartz/bcursor.cc,backends/quartz/btree.cc,
31680           backends/quartz/btree.h: Factored out near identical code from
31681           Btree::find_tag() and Bcursor::get_tag() into Btree::read_tag().
31683 Thu Nov 18 03:27:52 GMT 2004  Olly Betts <olly@survex.com>
31685         * backends/quartz/btree.cc: Applied the Quartz "DANGEROUS" patch, but
31686           disabled for now.  This way it won't keep being broken by changes
31687           to the code.
31689 Tue Nov 16 04:29:25 GMT 2004  Olly Betts <olly@survex.com>
31691         * backends/quartz/btree.cc: Ah, it's __sun__/__sun/sun, not
31692           __solaris__ (at least for x86 Solaris 9).
31694 Tue Nov 16 02:56:44 GMT 2004  Olly Betts <olly@survex.com>
31696         * backends/quartz/btree.cc: Solaris defines __solaris__ not
31697           __SOLARIS__.
31699 Mon Nov 15 12:40:38 GMT 2004  Olly Betts <olly@survex.com>
31701         * tests/api_db.cc: Added new test userweight1 to test user defined
31702           matching schemes.
31704 Sun Nov 14 05:20:34 GMT 2004  Olly Betts <olly@survex.com>
31706         * backends/quartz/quartz_metafile.cc,
31707           backends/quartz/quartz_metafile.h: Removed unused
31708           QuartzMetaFile::erase() method.
31710 Sun Nov 14 04:55:05 GMT 2004  Olly Betts <olly@survex.com>
31712         * backends/quartz/quartz_database.cc: For cygwin, use the underlying
31713           MoveFile API call for locking, as link() doesn't work on FAT
31714           partitions.  And don't rely on HAVE_LINK to control whether we
31715           use link() otherwise - if the configure test somehow misfires, a
31716           compilation error is better than using rename() on Unix as that
31717           would cause a second writer to smash the lock of the first.
31719 Thu Nov 11 06:58:41 GMT 2004  Olly Betts <olly@survex.com>
31721         * backends/quartz/btree.cc: Removed superfluous statement.
31723 Tue Nov 09 23:50:10 GMT 2004  Olly Betts <olly@survex.com>
31725         * backends/quartz/btree.cc: Need to include sys/types.h to define
31726           ssize_t, size_t, and off_t before we prototype pread and pwrite
31727           for OSF.
31729 Tue Nov 09 22:39:00 GMT 2004  Olly Betts <olly@survex.com>
31731         * backends/quartz/btree.cc: Tweaked the pread/pwrite mess to try to
31732           get it to work on OSF and x86 Solaris while not breaking it
31733           elsewhere.
31735 Tue Nov 09 19:29:37 GMT 2004  Olly Betts <olly@survex.com>
31737         * backends/quartz/btree.cc,backends/quartz/btree.h: More refactoring.
31739 Tue Nov 09 17:13:10 GMT 2004  Olly Betts <olly@survex.com>
31741         * backends/quartz/: More refactoring.  Also rearranged the contents
31742           of the quartz and btree headers, eliminating btree_types.h in the
31743           process.
31745 Tue Nov 09 16:47:13 GMT 2004  Olly Betts <olly@survex.com>
31747         * backends/quartz/quartz_metafile.cc: Using fdcloser is less clear in
31748           trivial cases.
31750 Tue Nov 09 16:38:47 GMT 2004  Olly Betts <olly@survex.com>
31752         * backends/quartz/quartz_database.cc: Close the fd of the lock file
31753           before trying to rename it on Windows.
31755 Tue Nov 09 07:58:02 GMT 2004  Olly Betts <olly@survex.com>
31757         * backends/quartz/btree.cc,backends/quartz/btree.h,
31758           backends/quartz/btree_util.h: More refactoring.
31760 Tue Nov 09 03:24:59 GMT 2004  Olly Betts <olly@survex.com>
31762         * xapian-config.in: Added --swigflags option for use with SWIG.
31764 Mon Nov 08 22:54:55 GMT 2004  Olly Betts <olly@survex.com>
31766         * configure.ac,xapian-config.in: If flags are needed to select ANSI
31767           mode with the current compiler, then make xapian-config --cxxflags
31768           include them so that Xapian users don't have to jump through the
31769           same hoops we do.
31771 Mon Nov 08 04:49:21 GMT 2004  Olly Betts <olly@survex.com>
31773         * backends/inmemory/inmemory_database.cc,
31774           backends/inmemory/inmemory_database.h,backends/muscat36/,
31775           backends/net/net_database.cc,backends/quartz/quartz_database.cc,
31776           backends/quartz/quartz_database.h,common/database.h,
31777           common/net_database.h,matcher/localmatch.cc: If a database contains
31778           no positional information, change NEAR and PHRASE queries into AND
31779           queries (as otherwise they'd return no matches at all) (bug#56).
31780         * tests/api_wrdb.cc: Added feature test phraseorneartoand1.
31782 Mon Nov 08 04:09:04 GMT 2004  Olly Betts <olly@survex.com>
31784         * configure.ac,backends/quartz/btree.cc: Improved what we do to
31785           turn on pread and pwrite declarations in unistd.h so that it works
31786           on OSF and doesn't need the HAVE_GLIBC test, yet still works on
31787           OpenBSD.
31789 Mon Nov 08 03:55:51 GMT 2004  Olly Betts <olly@survex.com>
31791         * backends/quartz/,testsuite/btreecheck.cc: More refactoring.
31793 Sun Nov 07 20:42:32 GMT 2004  Olly Betts <olly@survex.com>
31795         * configure.ac: One more tweak.
31797 Sun Nov 07 18:18:19 GMT 2004  Olly Betts <olly@survex.com>
31799         * configure.ac,include/xapian/version.h.in: Another tweak to hopefully
31800           get version.h generation to work everywhere.
31802 Sun Nov 07 15:01:23 GMT 2004  Olly Betts <olly@survex.com>
31804         * configure.ac,include/xapian/version.h.in: Terminating lines with 'N'
31805           makes Sun's C++ unhappy.  Try ',' instead.
31807 Sun Nov 07 03:54:42 GMT 2004  Olly Betts <olly@survex.com>
31809         * tests/api_nodb.cc: Added test_weight1 which tests the built-in
31810           Xapian::Weight subclasses (bug#8).
31812 Sun Nov 07 03:36:19 GMT 2004  Olly Betts <olly@survex.com>
31814         * backends/quartz/btree.cc,backends/quartz/btree_util.h,
31815           testsuite/btreecheck.cc: More refactoring.
31817 Sun Nov 07 03:33:24 GMT 2004  Olly Betts <olly@survex.com>
31819         * matcher/bm25weight.cc,matcher/tradweight.cc: Fixed definitions to
31820           match declarations after recent change.
31822 Sun Nov 07 02:33:50 GMT 2004  Olly Betts <olly@survex.com>
31824         * configure.ac: Noted LIBRARY_VERSION_INFO which 0.8.4 will get.
31826 Sun Nov 07 02:28:38 GMT 2004  Olly Betts <olly@survex.com>
31828         * include/xapian/enquire.h: BoolWeight::unserialise() returns
31829           BoolWeight*, etc.  BoolWeight::clone() returns BoolWeight *.
31831 Sun Nov 07 02:24:17 GMT 2004  Olly Betts <olly@survex.com>
31833         * HACKING: Note that C++ style casts are preferable to C style casts;
31834           Improve wording in a few places.
31836 Sun Nov 07 01:05:58 GMT 2004  Olly Betts <olly@survex.com>
31838         * backends/quartz/btree.cc,backends/quartz/btree_util.h,
31839           testsuite/btreecheck.cc: Moved set_block_given_by()
31840           and block_given_by() into Item class.
31842 Sat Nov 06 21:16:15 GMT 2004  Olly Betts <olly@survex.com>
31844         * configure.ac,include/xapian/version.h.in: Fix generation of
31845           version.h to work with aCC -E which concatenates adjacent literal
31846           strings.
31848 Sat Nov 06 20:58:00 GMT 2004  Olly Betts <olly@survex.com>
31850         * backends/quartz/,testsuite/btreecheck.cc: Started to refactor the
31851           Btree manager by introducing Item and Key classes which take care
31852           of handling the on-disk format.
31854 Sat Nov 06 15:40:05 GMT 2004  Olly Betts <olly@survex.com>
31856         * xapian-config.in,m4/xapian.m4: Pass across ac_top_srcdir and use it
31857           if provided to say "configure.ac" or "configure.in" rather than
31858           "configure.in (or configure.ac)" in the "Add AC_PROG_LIBTOOL"
31859           error message.
31861 Sat Nov 06 14:49:05 GMT 2004  Olly Betts <olly@survex.com>
31863         * configure.ac: Updated comment - we now find SOURCEDOC in 2 goes (as
31864           there are no longer any C sources).
31866 Sat Nov 06 14:43:16 GMT 2004  Olly Betts <olly@survex.com>
31868         * configure.ac: Oops, STLPORT_CXXFLAGS *is* used (in xapian-config.in)
31869           so revert the change which removes it.
31871 Sat Nov 06 13:37:23 GMT 2004  Olly Betts <olly@survex.com>
31873         * include/xapian/enquire.h,matcher/bm25weight.cc,
31874           matcher/tradweight.cc: Move virtual methods of BM25Weight and
31875           TradWeight out of the header.
31877 Sat Nov 06 13:19:32 GMT 2004  Olly Betts <olly@survex.com>
31879         * configure.ac,include/xapian/version.h.in: Another rework of how
31880           include/xapian/version.h is generated - this time to make it work
31881           with Sun's C++ compiler again; XAPIAN_VERSION is now a string;
31882           Define XAPIAN_REVISION (which is 4 for version 0.8.4).
31884 Sat Nov 06 04:22:57 GMT 2004  Olly Betts <olly@survex.com>
31886         * configure.ac: Don't AC_SUBST(STLPORT_CXXFLAGS) as it is never used
31887           that way (it's included in AM_CXXFLAGS).
31889 Sat Nov 06 01:03:53 GMT 2004  Olly Betts <olly@survex.com>
31891         * testsuite/testsuite.h: Removed incorrect comment about how STRINGIZE
31892           is used.
31894 Fri Nov 05 14:41:59 GMT 2004  Olly Betts <olly@survex.com>
31896         * include/xapian/database.h: Removed a default parameter value from one
31897           variant of open_db so that there's only one candidate for
31898           open_db(string).
31900 Fri Nov 05 14:40:38 GMT 2004  Olly Betts <olly@survex.com>
31902         * backends/database.cc: Renamed parameter from keys to values to
31903           reflect current external naming.
31905 Fri Nov 05 14:38:07 GMT 2004  Olly Betts <olly@survex.com>
31907         * include/xapian/version.h.in,configure.ac: Fixed generation of
31908           include/xapian/version.h to work with aCC.
31910 Thu Nov 04 12:17:50 GMT 2004  Olly Betts <olly@survex.com>
31912         * configure.ac: Try "-std strict_ansi" for Compaq C++.
31914 Thu Nov 04 11:22:52 GMT 2004  Olly Betts <olly@survex.com>
31916         * configure.ac: Fourth argument to AC_CHECK_HEADERS must be non-empty
31917           to make a difference.
31919 Thu Nov 04 10:21:25 GMT 2004  Olly Betts <olly@survex.com>
31921         * configure.ac: Found clean fix for inttypes.h problem (previous bodge
31922           didn't work anyway).
31924 Thu Nov 04 01:18:55 GMT 2004  Olly Betts <olly@survex.com>
31926         * configure.ac: Eliminated use of \( \) in sed expression as it
31927           appears to cause problems on HP-UX.
31929 Thu Nov 04 00:54:11 GMT 2004  Olly Betts <olly@survex.com>
31931         * configure.ac: Added icky workaround to Compaq C++ oddness - cc can
31932           find inttypes.h but cxx can't.
31934 Wed Nov 03 23:58:48 GMT 2004  Olly Betts <olly@survex.com>
31936         * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
31937           net/socketserver.cc: Tweaked to compile with Compaq C++.
31939 Wed Nov 03 22:55:04 GMT 2004  Olly Betts <olly@survex.com>
31941         * configure.ac: Need to put flags to select ANSI C++ mode in CXXFLAGS
31942           not AM_CXXFLAGS.
31944 Wed Nov 03 22:27:08 GMT 2004  Olly Betts <olly@survex.com>
31946         * api/omenquire.cc: Fixed typo.
31948 Wed Nov 03 21:58:53 GMT 2004  Olly Betts <olly@survex.com>
31950         * api/omenquire.cc: Added explicit cast to try to help Compaq C++
31951           build.
31953 Wed Nov 03 21:38:29 GMT 2004  Olly Betts <olly@survex.com>
31955         * configure.ac: Probe for C++ compiler switches for ANSI mode as early
31956           as possible.  With Compaq's C++, we need -D__USE_STD_IOSTREAM to
31957           successfully #include <streambuf>.
31959 Wed Nov 03 21:07:43 GMT 2004  Olly Betts <olly@survex.com>
31961         * configure.ac: Fixed snprintf configure test.
31963 Wed Nov 03 19:37:32 GMT 2004  Olly Betts <olly@survex.com>
31965         * common/utils.cc: Fixed typo.
31967 Wed Nov 03 19:27:22 GMT 2004  Olly Betts <olly@survex.com>
31969         * configure.ac,common/utils.cc: Improved snprintf checking.
31971 Wed Nov 03 15:43:54 GMT 2004  Olly Betts <olly@survex.com>
31973         * getopt/getopt.cc: Fixed to compile when not using glibc.
31975 Wed Nov 03 14:55:29 GMT 2004  Olly Betts <olly@survex.com>
31977         * bin/omtcpsrv.cc,bin/quartzdump.cc,common/Makefile.am,common/getopt.h,
31978           common/gnu_getopt.h,getopt/,testsuite/testsuite.cc: Major overhaul
31979           of getopt use.  Move from getopt(), getopt_long(), getopt_long_only()
31980           to gnu_getopt(), etc so we don't need to dance around avoiding
31981           clashes with getopt() stuff in system headers.  The new gnu_getopt.h
31982           header is cruft free and hopefully won't trip up assorted compilers
31983           or platforms.
31985 Wed Nov 03 14:53:39 GMT 2004  Olly Betts <olly@survex.com>
31987         * tests/Makefile.am: quartztest doesn't use getopt directly, so no
31988           need to link it.
31990 Wed Nov 03 12:56:56 GMT 2004  Olly Betts <olly@survex.com>
31992         * tests/stemtest.cc: Prune unused #includes.
31994 Wed Nov 03 03:47:46 GMT 2004  Olly Betts <olly@survex.com>
31996         * getopt/getopt.cc: Defining _NO_PROTO is a really bad idea for C++
31997           code!
31999 Wed Nov 03 03:34:06 GMT 2004  Olly Betts <olly@survex.com>
32001         * configure.ac: Removed AC_HEADER_STDC - Compaq's C++ compiler can't
32002           find inttypes.h, but their C compiler can!
32004 Wed Nov 03 02:48:04 GMT 2004  Olly Betts <olly@survex.com>
32006         * net/tcpclient.cc,net/tcpserver.cc: Use SOCKLEN_T for the type we
32007           need to pass to various socket calls, since HPUX defines socklen_t
32008           yet wants int in those calls.
32010 Wed Nov 03 02:43:26 GMT 2004  Olly Betts <olly@survex.com>
32012         * autoconf/type_socklen_t.m4,matcher/networkmatch.cc,net/: If
32013           __WIN32__ is defined, we want winsock2.h instead of sys/socket.h.
32014           Mingw doesn't seem to even have the latter, so I think previously
32015           we've been compiling by picking one up from somewhere random!
32017 Wed Nov 03 01:10:01 GMT 2004  Olly Betts <olly@survex.com>
32019         * autoconf/type_socklen_t.m4: Rewritten to work with HPUX which
32020           helpfully defines socklen_t but doesn't use it!
32022 Tue Nov 02 21:29:40 GMT 2004  Olly Betts <olly@survex.com>
32024         * getopt/getopt.cc: Fixes for Compaq C++.
32026 Tue Nov 02 18:51:43 GMT 2004  Olly Betts <olly@survex.com>
32028         * getopt/getopt.cc: Protect getopt definition for possible getopt
32029           macro declared in getopt.h.
32031 Tue Nov 02 16:52:21 GMT 2004  Olly Betts <olly@survex.com>
32033         * configure.ac: AM_CONFIG_HEADER -> AC_CONFIG_HEADERS; removed
32034           commented out AC_LANG_SAVE and AC_LANG_RESTORE.
32036 Tue Nov 02 15:56:02 GMT 2004  Olly Betts <olly@survex.com>
32038         * configure.ac: # comments -> dnl comments.
32040 Tue Nov 02 15:54:46 GMT 2004  Olly Betts <olly@survex.com>
32042         * configure.ac: $GCC -> $GXX; $CC -> $CXX.
32044 Tue Nov 02 15:38:21 GMT 2004  Olly Betts <olly@survex.com>
32046         * configure.ac,docs/Makefile.am: Removed SOURCEDOC_C_SRC.
32048 Tue Nov 02 06:51:39 GMT 2004  Olly Betts <olly@survex.com>
32050         * getopt/getopt.cc,getopt/getopt1.cc: Fixed function declarations to
32051           not use K&R C syntax.
32053 Tue Nov 02 05:31:57 GMT 2004  Olly Betts <olly@survex.com>
32055         * getopt/getopt.cc: Make _getopt_internal extern "C" too.
32057 Tue Nov 02 04:43:08 GMT 2004  Olly Betts <olly@survex.com>
32059         * Makefile.am,configure.ac,HACKING,PLATFORMS,backends/muscat36/,
32060           getopt/Makefile.am,getopt/getopt.cc,getopt/getopt1.cc,languages/:
32061           Change the few C sources to be C++.  This way we don't need to
32062           worry about configure choosing a mismatching pair of compilers,
32063           or about whether configure tests with the C compiler don't apply
32064           to the C++ compiler, or vice versa.
32066 Tue Nov 02 04:31:49 GMT 2004  Olly Betts <olly@survex.com>
32068         * backends/muscat36/: More C casts converted to C++ casts.
32070 Tue Nov 02 04:28:07 GMT 2004  Olly Betts <olly@survex.com>
32072         * matcher/bm25weight.cc,matcher/tradweight.cc: More C casts converted
32073           to C++ casts.
32075 Tue Nov 02 03:22:52 GMT 2004  Olly Betts <olly@survex.com>
32077         * backends/muscat36/: Removed unused test harness sources.
32079 Tue Nov 02 02:44:34 GMT 2004  Olly Betts <olly@survex.com>
32081         * languages/pool.c,languages/pool.h: Removed unused sources.
32083 Tue Nov 02 01:51:30 GMT 2004  Olly Betts <olly@survex.com>
32085         * configure.ac: AC_TYPE_SIZE_T causes problems with Compaq C++ when it
32086           fails to spot size_t (which is there) and the "#define size_t
32087           unsigned long" it adds to config.h breaks "using std::size_t;".
32088           Also removed AC_C_CONST as I don't believe that's needed either
32089           in a largely C++ library.  Both of these have been in configure.in
32090           since the very first version so I suspect autoscan decided we wanted
32091           them.
32093 Mon Nov 01 05:44:02 GMT 2004  Olly Betts <olly@survex.com>
32095         * matcher/multimatch.cc: Fixed compilation problem on alpha Linux.
32097 Mon Nov 01 03:16:36 GMT 2004  Olly Betts <olly@survex.com>
32099         * api/omqueryinternal.cc,api/omstem.cc,
32100           backends/inmemory/inmemory_database.h,
32101           backends/multi/multi_termlist.h,backends/quartz/,
32102           extra/queryparser.yy,matcher/,net/tcpserver.cc,tests/api_anydb.cc,
32103           tests/api_db.cc,tests/quartztest.cc,testsuite/backendmanager.cc,
32104           testsuite/btreecheck.cc,testsuite/testsuite.cc: Changed C style
32105           casts to C++ style.  The syntax is ugly, but they do make the intent
32106           clearer which is a good thing.
32108 Mon Nov 01 02:56:31 GMT 2004  Olly Betts <olly@survex.com>
32110         * configure.ac: Select ANSI iostream implementation for Compaq C++.
32112 Mon Nov 01 02:41:58 GMT 2004  Olly Betts <olly@survex.com>
32114         * configure.ac: Compaq's C++ compiler doesn't know snprintf, yet their
32115           C compiler does.  Let's try running *all* the configure checks with
32116           the C++ compiler, since that's what we compile most code with.
32118 Mon Nov 01 01:12:43 GMT 2004  Olly Betts <olly@survex.com>
32120         * common/netutils.cc: Fixed to compile.
32122 Mon Nov 01 01:06:13 GMT 2004  Olly Betts <olly@survex.com>
32124         * common/Makefile.am,common/netutils.cc,common/netutils.h:
32125           encode_tname() and decode_tname() aren't really sensible candidates
32126           for inlining so move them out of a header.
32128 Sun Oct 31 15:34:18 GMT 2004  Olly Betts <olly@survex.com>
32130         * configure.ac: Turn on -AA when compiling with HP's aCC.
32132 Sun Oct 31 15:10:02 GMT 2004  Olly Betts <olly@survex.com>
32134         * testsuite/testutils.cc: Fixed mset_range_is_same() and
32135           mset_range_is_same_weights() which were only comparing the
32136           first items in the range.  Luckily the tests still all pass
32137           so this wasn't hiding any bugs.
32139 Sat Oct 30 19:15:48 BST 2004  Olly Betts <olly@survex.com>
32141         * configure.ac: Disable pread/pwrite on HP-UX as they don't work when
32142           LFS in enabled, and we definitely want LFS.
32144 Sat Oct 30 16:42:24 BST 2004  Olly Betts <olly@survex.com>
32146         * backends/quartz/bcursor.cc: Fix Bcursor::del() which didn't always
32147           leave the cursor on the next item like it should.
32148         * backends/quartz/quartz_postlist.cc: If we're removing a posting
32149           list entirely, often there will only be one chunk, so avoid
32150           creating a Bcursor in this case.
32152 Sat Oct 30 16:55:19 BST 2004  Olly Betts <olly@survex.com>
32154         * languages/header.h: Removed unused #define MAXINT and MININT which
32155           were clashing with some header on HP-UX.
32157 Sat Oct 30 07:09:33 BST 2004  Olly Betts <olly@survex.com>
32159         * docs/bm25.html,docs/intro_ir.html: Reworked to talk about Xapian
32160           rather than Muscat.  Also improved the appearance of the formulae.
32162 Sat Oct 30 06:07:14 BST 2004  Olly Betts <olly@survex.com>
32164         * backends/quartz/btree.cc: Btree::read_block - debug log the value
32165           of p, not the irrelevant contents of the block it points to.
32167 Fri Oct 29 22:37:31 BST 2004  Olly Betts <olly@survex.com>
32169         * backends/quartz/quartz_postlist.cc: Improved comments.
32171 Fri Oct 29 05:10:02 BST 2004  Olly Betts <olly@survex.com>
32173         * backends/quartz/btree.cc: Fixed ultra-obscure bug in the code which
32174           finds a key suitable to discriminating between two blocks in a
32175           B-tree branch (discovered by reading the code).  Comparing the keys
32176           didn't consider the length of the second, so it is possible the code
32177           would miscompare.  But in reality this is extremely unlikely to
32178           happen, and even then would probably just mean that the
32179           discriminating key wouldn't be as short as it could be.
32181 Fri Oct 29 04:12:09 BST 2004  Olly Betts <olly@survex.com>
32183         * backends/quartz/btree.cc: Simplified Btree::compare_keys() by
32184           removing the last case which was dead code as it was covered by
32185           an earlier case.
32187 Wed Oct 27 21:17:12 BST 2004  Olly Betts <olly@survex.com>
32189         * HACKING,tests/runtest.in:
32190           Enhanced runtest to allow it to run test programs under valgrind
32191           and other tools (gdb was already supported).
32192         * testsuite/testsuite.cc: Point the user to the runtest script if
32193           srcdir can't be guessed.  And no longer look for the test program
32194           in the tests subdirectory of the current directory.
32195         * common/omdebug.cc: Removed compatibility code for checking
32196           OM_DEBUG_FILE and OM_DEBUG_TYPES.
32197         * HACKING: Document that %% in XAPIAN_DEBUG_LOG is substituted with
32198           the process-id, and that setting XAPIAN_DEBUG_FLAGS to -1 enables
32199           all debug messages.
32200         * HACKING: Valgrind now supports x86 FreeBSD and PowerPC Linux.
32201         * HACKING: Removed mentions of long-dead configure options
32202           --enable-profiling, --enable-purify and --enable-insure.
32204 Wed Oct 27 21:16:10 BST 2004  Olly Betts <olly@survex.com>
32206         * include/xapian/enquire.h: Document parameters of
32207           Enquire::register_match_decider().
32209 Wed Oct 27 21:14:32 BST 2004  Olly Betts <olly@survex.com>
32211         * PLATFORMS: Updated.
32213 Wed Oct 13 20:21:38 BST 2004  Olly Betts <olly@survex.com>
32215         * backends/quartz/btree.cc,backends/quartz/btree.h: Revert the
32216           previous change as runtime sized arrays are a g++ extension.
32217           Calling new and delete on every call to add_item() is probably
32218           unwise.
32220 Tue Oct 12 23:40:36 BST 2004  Olly Betts <olly@survex.com>
32222         * backends/quartz/btree.cc,backends/quartz/btree.h: split_p is only
32223           used by Btree::add_item(), so make it a temporary in that method
32224           rather than a class member variable which we need to take care to
32225           allocate and deallocate.
32227 Mon Oct 11 16:32:10 BST 2004  Olly Betts <olly@survex.com>
32229         * tests/btreetest.cc: Fix memory leaks in test_cursor1.
32231 Mon Oct 11 02:24:50 BST 2004  Olly Betts <olly@survex.com>
32233         * docs/quartzdesign.html: Use 5 tables in the example for how we keep
32234           revisions in step, since we use 5 tables in quartz.
32236 Thu Oct 07 22:51:28 BST 2004  Olly Betts <olly@survex.com>
32238         * backends/quartz/btree.cc: An interrupted update could cause any
32239           further updates to fail with "New revision too low" because the
32240           new revision was being calculated incorrectly - fixed.
32242 Wed Oct 06 15:42:31 BST 2004  Olly Betts <olly@survex.com>
32244         * backends/quartz/btree.cc,include/xapian/database.h: Check that any
32245           user specified block size is a power of 2.  And if the block size
32246           passed is invalid, use the default of 8192 rather than throwing an
32247           exception.
32249 Wed Oct 06 12:19:39 BST 2004  Olly Betts <olly@survex.com>
32251         * PLATFORMS: Updated from tinderbox.
32253 Wed Oct 06 01:10:46 BST 2004  Olly Betts <olly@survex.com>
32255         * backends/quartz/btree.cc,backends/quartz/quartz_document.cc,
32256           matcher/multimatch.cc,common/multimatch.h: Fix some warnings
32257           from Sun's C++ compiler.
32259 Thu Sep 30 22:16:37 BST 2004  Olly Betts <olly@survex.com>
32261         * common/utils.cc,common/utils.h: Fixes for win32 and sun's c++
32262           compiler.
32264 Thu Sep 30 18:24:20 BST 2004  Olly Betts <olly@survex.com>
32266         * common/utils.h,extra/queryparser.yy: Fixed bug which caused
32267           misparsing of certain prefixed queries, introduced by C_isXXXXX
32268           change.
32270 Thu Sep 30 11:09:17 BST 2004  Olly Betts <olly@survex.com>
32272         * tests/api_anydb.cc: Modified version of changequery1 fails - the
32273           fix is tricky, so just make it SKIP for now.
32275 Wed Sep 29 21:33:29 BST 2004  Olly Betts <olly@survex.com>
32277         * extra/Makefile.am: Fixed to work when srcdir != builddir.
32279 Wed Sep 29 18:52:04 BST 2004  Olly Betts <olly@survex.com>
32281         * PLATFORMS,docs/Makefile.am: Workaround odd latex problem.
32283 Wed Sep 29 17:10:00 BST 2004  Olly Betts <olly@survex.com>
32285         * configure.ac,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in:
32286           Updated doxygen conf files for doxygen 1.3.8.
32288 Wed Sep 29 16:52:53 BST 2004  Olly Betts <olly@survex.com>
32290         * common/utils.cc,common/utils.h,extra/Makefile.am,
32291           extra/queryparser.yy,tests/api_anydb.cc,testsuite/index_utils.cc:
32292           Provide our own C_isalpha(), etc replacements for isalpha(), etc
32293           which always work in the C locale and avoid signed char problems.
32295 Tue Sep 28 00:04:11 BST 2004  Olly Betts <olly@survex.com>
32297         * common/utils.cc,common/utils.h: rmdir() isn't a sensible candidate
32298           for inlining so move it out of the header.
32300 Mon Sep 27 17:33:23 BST 2004  Olly Betts <olly@survex.com>
32302         * extra/queryparser.yy: Be smarter about when to add a ':' when adding
32303           a term prefix.
32305 Mon Sep 27 16:01:37 BST 2004  Olly Betts <olly@survex.com>
32307         * docs/scalability.html: Added note warning about benchmarking from
32308           cold.
32310 Mon Sep 27 15:20:13 BST 2004  Olly Betts <olly@survex.com>
32312         * HACKING: Note that we use doxygen 1.3.8 for snapshots and releases;
32313           Note that --enable-maintainer-mode now automatically enables -Werror
32314           with GCC 3.0 or newer.
32316 Wed Sep 22 16:49:20 BST 2004  Olly Betts <olly@survex.com>
32318         * matcher/: Pruned unneeded #include-s and other tidying, some
32319           enabled by the previous change.
32321 Wed Sep 22 14:04:27 BST 2004  Olly Betts <olly@survex.com>
32323         * common/positionlist.h,matcher/: Moved all of the implementations
32324           of the XXXPostList classes from the .h files into the .cc files.
32325           All the methods are virtual, so we aren't going to gain anything
32326           from being able to inline them.
32328 Wed Sep 22 02:58:59 BST 2004  Olly Betts <olly@survex.com>
32330         * configure.ac: Automatically add -Werror to CFLAGS and CXXFLAGS if
32331           maintainer mode is enabled and we're using GCC3 or newer.  Don't
32332           do this for older GCCs as GCC 2.95 issues spurious warnings.
32334 Wed Sep 22 02:41:41 BST 2004  Olly Betts <olly@survex.com>
32336         * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h:
32337           Introduced CASSERT_TYPE_UNSIGNED to replace the common use of
32338           CASSERT to assert at compile time that a type is unsigned.
32340 Tue Sep 21 15:58:05 BST 2004  Olly Betts <olly@survex.com>
32342         * PLATFORMS: Removed reports from versions prior to 0.7.0.  So much
32343           has changed that these are of little value.
32345 Mon Sep 20 15:24:27 BST 2004  Olly Betts <olly@survex.com>
32347         * NEWS,PLATFORMS,configure.ac: Version 0.8.3.
32349 Mon Sep 20 15:13:34 BST 2004  Olly Betts <olly@survex.com>
32351         * AUTHORS: Updated.
32353 Mon Sep 20 14:26:35 BST 2004  Olly Betts <olly@survex.com>
32355         * xapian.spec.in: Removed reference to xapian-examples' createdatabase
32356           (which is no longer in xapian-examples).
32358 Mon Sep 20 13:06:59 BST 2004  Olly Betts <olly@survex.com>
32360         * xapian.spec.in: Updated version from Fabrice Colin (incorporating
32361           changes from Alan Cox's RPM spec files): split off libs into a
32362           separate package to allow 32 and 64 bit versions to be installed
32363           concurrently; include binaries from xapian-examples; updated source
32364           URLs.
32366 Mon Sep 20 03:25:44 BST 2004  Olly Betts <olly@survex.com>
32368         * tests/api_anydb.cc: Added regression test for previous bug (test
32369           checkatleast1).
32371 Mon Sep 20 03:16:14 BST 2004  Olly Betts <olly@survex.com>
32373         * matcher/multimatch.cc: Fixed segfault with check_at_least when there
32374           were no matches.
32376 Sun Sep 19 17:54:52 BST 2004  Olly Betts <olly@survex.com>
32378         * api/omenquire.cc,common/omdebug.cc: Fixed to compile with debug
32379           tracing enabled.
32381 Sat Sep 18 19:02:54 BST 2004  Olly Betts <olly@survex.com>
32383         * tests/api_db.cc: Updated missed use of omprogsrv to xapian-progsrv.
32385 Tue Sep 14 18:09:19 BST 2004  Olly Betts <olly@survex.com>
32387         * xapian.spec.in,bin/.cvsignore,bin/Makefile.am,debian/control.in,
32388           debian/xapian-tools.install,docs/remote.html,tests/remotetest.cc,
32389           testsuite/backendmanager.cc: Rename omtcpsrv to xapian-tcpsrv and
32390           omprogsrv to xapian-progsrv.
32392 Tue Sep 14 16:25:06 BST 2004  Olly Betts <olly@survex.com>
32394         * xapian.spec.in: Fixed mangled URL in last checkin.
32396 Tue Sep 14 15:35:00 BST 2004  Olly Betts <olly@survex.com>
32398         * xapian.spec.in: Updated URL for tarball.
32400 Tue Sep 14 02:49:34 BST 2004  Olly Betts <olly@survex.com>
32402         * HACKING: Updated the "how to do a release" tasklist.
32404 Mon Sep 13 03:19:47 BST 2004  Olly Betts <olly@survex.com>
32406         * NEWS,PLATFORMS,configure.ac: Version 0.8.2.
32408 Sat Sep 11 16:39:08 BST 2004  Olly Betts <olly@survex.com>
32410         * include/xapian/version.h.in: GCC 3.1 reported the wrong value for
32411           __GXX_ABI_VERSION (100 not 101) so check 3.0 and 3.1 by version
32412           number, keeping the __GXX_ABI_VERSION check for newer versions.
32414 Sat Sep 11 02:57:48 BST 2004  Olly Betts <olly@survex.com>
32416         * backends/quartz/bcursor.cc: Fixed and reenabled Bcursor::prev()
32417           (not currently used, but it will be useful for running posting
32418           lists backwards!)
32420 Fri Sep 10 13:13:51 BST 2004  Olly Betts <olly@survex.com>
32422         * tests/Makefile.am: Need to ship test data for new test.
32424 Thu Sep 09 21:58:37 BST 2004  Olly Betts <olly@survex.com>
32426         * tests/api_db.cc: Extended feature test sortrel1 to check interaction
32427           with Enquire::set_sort_forward(false).
32429 Thu Sep 09 21:46:12 BST 2004  Olly Betts <olly@survex.com>
32431         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
32432           include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc,
32433           tests/api_db.cc,tests/testdata/apitest_sortrel.txt: You can now
32434           specify to sort by value, then relevance, then docid instead of
32435           by value then docid.
32437 Thu Sep 09 19:30:07 BST 2004  Olly Betts <olly@survex.com>
32439         * docs/todo.xml: Removed unused file - todo entries are now in
32440           bugzilla.
32442 Thu Sep 09 13:11:52 BST 2004  Olly Betts <olly@survex.com>
32444         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
32445           include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc:
32446           Added optional "checkatleast" parameter to Enquire::get_mset()
32447           which allows Omega's MIN_HITS functionality to be implemented
32448           in the matcher (a bit more efficient).
32450 Thu Sep 09 04:18:32 BST 2004  Olly Betts <olly@survex.com>
32452         * NEWS: Updated.
32454 Thu Sep 09 03:39:52 BST 2004  Olly Betts <olly@survex.com>
32456         * PLATFORMS: Updated from the tinderbox.  Sun's C++ compiler can
32457           now build Xapian on sparc!
32459 Thu Sep 09 02:19:43 BST 2004  Olly Betts <olly@survex.com>
32461         * tests/api_wrdb.cc: Added feature test for
32462           WritableDatabase::replace_document() and delete_document() with
32463           a unique term (apitest:uniqueterm1.
32464         * backends/inmemory/inmemory_alltermslist.cc,
32465           backends/inmemory/inmemory_database.cc,
32466           backends/inmemory/inmemory_database.h:
32467           Fixed bugs thrown up by the new test.
32469 Wed Sep 08 19:45:37 BST 2004  Olly Betts <olly@survex.com>
32471         * HACKING: Updated details of Solaris open workaround.
32473 Wed Sep 08 19:42:15 BST 2004  Olly Betts <olly@survex.com>
32475         * common/utils.h,backends/quartz/btree.cc,
32476           backends/quartz/quartz_database.cc,backends/quartz/quartz_log.cc:
32477           New version of the Solaris open dance - now we always pass in
32478           const char * for the filename, and we don't need the dance on
32479           new versions, so only dance if open is defined.
32481 Wed Sep 08 16:26:15 BST 2004  Olly Betts <olly@survex.com>
32483         * api/omquery.cc,include/xapian/query.h: Renamed Query::is_empty()
32484           to Query::empty() for consistency.  Keep Query::is_empty() for
32485           now as a deprecated alias.
32487 Wed Sep 08 16:24:44 BST 2004  Olly Betts <olly@survex.com>
32489         * tests/api_wrdb.cc: replace_doc -> replace_doc1; added new test
32490           replace_doc2 to test using replace_doc to add a document with
32491           a specified docid.
32493 Wed Sep 08 16:23:50 BST 2004  Olly Betts <olly@survex.com>
32495         * backends/inmemory/inmemory_database.h: Removed unused member
32496           variable "indexing".
32498 Wed Sep 08 16:14:47 BST 2004  Olly Betts <olly@survex.com>
32500         * backends/quartz/quartz_database.cc: If replace_document() is used
32501           to add a document with did greater than lastdocid, raise lastdocid
32502           so future calls to add_document() won't clash.
32504 Wed Sep 08 16:13:51 BST 2004  Olly Betts <olly@survex.com>
32506         * backends/inmemory/inmemory_database.cc: Fixed bug
32507           Database::replace_document() to work with a document id greater
32508           than lastdocid.
32510 Wed Sep 08 05:10:01 BST 2004  Olly Betts <olly@survex.com>
32512         * common/utils.h: The latest fcntl.h dance causes a compile error on
32513           mingw, so don't use it there.
32515 Wed Sep 08 03:38:20 BST 2004  Olly Betts <olly@survex.com>
32517         * common/utils.h: Use a namespace as an extra step in the Sun fcntl
32518           open64 dance.
32520 Tue Sep 07 02:33:50 BST 2004  Olly Betts <olly@survex.com>
32522         * tests/test.da: Another cruft file removed.
32524 Tue Sep 07 02:21:49 BST 2004  Olly Betts <olly@survex.com>
32526         * tests/btreetest.cc,tests/quartztest.cc: Moved overwrite1 from
32527           quartztest to btreetest.  Added const in a few places.
32529 Tue Sep 07 02:07:43 BST 2004  Olly Betts <olly@survex.com>
32531         * tests/quartztest.cc: Removed overwrite2 test.  Digging back in CVS
32532           it's been disabled since the day after it added.  After all this
32533           time it's hard to guess exactly what it was intended to test, so
32534           just removing it seems simplest.  We already have overwrite1 to test
32535           getting DatabaseModifiedError.
32537 Tue Sep 07 01:52:25 BST 2004  Olly Betts <olly@survex.com>
32539         * tests/btreetest.cc: Cleaned up paths to temporary Btrees.
32541 Mon Sep 06 17:51:27 BST 2004  Olly Betts <olly@survex.com>
32543         * tests/btreetest.cc,tests/quartztest.cc: Now that QuartzTable,
32544           QuartzDiskTable, QuartzBufferedTable, QuartzCursor,
32545           QuartzDiskCursor, and QuartzBufferedCursor are gone, move
32546           quartztest tests which now just use Btree and Bcursor to btreetest.
32547           This is more logical and should help make quartztest less of a
32548           monster to compile.
32550 Mon Sep 06 12:47:47 BST 2004  Olly Betts <olly@survex.com>
32552         * tests/Makefile.am: Ship testdata/apitest_allterms4.txt.
32554 Mon Sep 06 02:46:32 BST 2004  Olly Betts <olly@survex.com>
32556         * tests/quartztest.cc: Xapian::Database will create the directory for
32557           the database so there's no need to create it ourselves.
32559 Mon Sep 06 02:40:57 BST 2004  Olly Betts <olly@survex.com>
32561         * tests/,tests/testdata/apitest_allterms4.txt: Split off tests which
32562           require a writable database backend and tests which should work with
32563           any database backend from api_db.cc as it was getting rather large.
32564           Fixed simplequery2 to work with backends which don't return the
32565           document length (such as the muscat36 backends).  Fixed allterms4
32566           to work with muscat36 backends.
32568 Mon Sep 06 02:39:29 BST 2004  Olly Betts <olly@survex.com>
32570         * backends/muscat36/da_database.cc,backends/muscat36/db_database.cc:
32571           Fixed to compile now that internal_end_session() has gone.
32573 Mon Sep 06 00:59:36 BST 2004  Olly Betts <olly@survex.com>
32575         * tests/runtest.in: Added support for running gdb on a test program,
32576           automatically sorting out srcdir and libtool.
32578 Mon Sep 06 00:49:11 BST 2004  Olly Betts <olly@survex.com>
32580         * tests/apitest_parser.pm: Removed long unused file.
32582 Sun Sep 05 22:53:27 BST 2004  Olly Betts <olly@survex.com>
32584         * include/xapian/enquire.h: Tweaked documentation comment to stop
32585           doxygen parsing a hyphen as a single entry bullet point list.
32587 Sun Sep 05 20:20:01 BST 2004  Olly Betts <olly@survex.com>
32589         * testsuite/backendmanager.h: Added missing "std::" so code will
32590           compile with GCC >= 3.
32592 Sun Sep 05 13:54:58 BST 2004  Olly Betts <olly@survex.com>
32594         * testsuite/backendmanager.h: Removed superfluous "BackendManager::".
32596 Sun Sep 05 01:54:49 BST 2004  Olly Betts <olly@survex.com>
32598         * common/utils.cc,common/utils.h: Removed now unused files_exist()
32599           function.
32601 Sun Sep 05 01:50:35 BST 2004  Olly Betts <olly@survex.com>
32603         * tests/api_db.cc,tests/apitest.cc,tests/apitest.h,
32604           testsuite/backendmanager.cc,testsuite/backendmanager.h:
32605           Cleaned up BackendManager by removing complications only required
32606           by absentfile1 test, which can be implemented more directly anyway.
32608 Sun Sep 05 01:33:16 BST 2004  Olly Betts <olly@survex.com>
32610         * tests/quartztest.cc: Cleaned up rather odd code which is a hangover
32611           from when keys and tags weren't simply C++ strings.
32613 Sat Sep 04 12:35:12 BST 2004  Olly Betts <olly@survex.com>
32615         * HACKING: Updated details of which autotools we require.
32617 Fri Sep 03 17:51:59 BST 2004  Olly Betts <olly@survex.com>
32619         * configure.ac: Require autoconf 2.59.  Noted LIBRARY_VERSION_INFO
32620           which 0.8.2 will probably have.
32621         * Makefile.am: Require automake 1.8.5.
32623 Fri Sep 03 16:40:11 BST 2004  Olly Betts <olly@survex.com>
32625         * PLATFORMS: Updated with results from tinderbox.
32627 Fri Sep 03 14:34:00 BST 2004  Olly Betts <olly@survex.com>
32629         * autoconf/definedir.m4,autoconf/rjb_find_stlport.m4: Quote macro
32630           names to fix warning from newer aclocal.  Removed comments about
32631           future autodetection of stlport, as the user will always need to
32632           decide between the STL supplied with the compiler and stlport.
32634 Thu Sep 02 17:55:33 BST 2004  Olly Betts <olly@survex.com>
32636         * matcher/andpostlist.cc: Initialise lmax and rmax to 0.  Hopefully
32637           this will fix SIGFPE on apitest's qterminfo2 on alpha linux.
32639 Thu Sep 02 14:50:20 BST 2004  Olly Betts <olly@survex.com>
32641         * backends/quartz/quartz_database.cc: Not storing the document length
32642           and last docid on every add means that the magic key won't always
32643           exists when there are records and
32644           QuartzWritableDatabase::get_doccount() is sometimes off by one.  Fix
32645           crudely for now by making sure that the magic key does always exist.
32646           Longer term the magic key probably should be in the postlist table
32647           but that's an incompatible change.
32649 Wed Sep 01 16:15:23 BST 2004  Olly Betts <olly@survex.com>
32651         * backends/quartz/: Change QuartzWritableDatabase to store the total
32652           document length and the last docid itself rather than tallying added
32653           and removed document length and writing the last docid back every
32654           time a document is added.  This gives cleaner code and a small
32655           performance win.  Removed XAPIAN_FLUSH_THRESHOLD_LENGTH as we no
32656           longer tally the length changes, and made the default flush
32657           threshold 10000 documents (was 1000).
32659 Wed Sep 01 14:21:19 BST 2004  Olly Betts <olly@survex.com>
32661         * backends/quartz/btree.cc: Turn on previously commented-out code to
32662           make the first key null for blocks more than 1 away from the leaves.
32663           It saves disk space for a tiny CPU and RAM cost so is bound to be
32664           a win overall.
32666 Tue Aug 31 13:55:58 BST 2004  Olly Betts <olly@survex.com>
32668         * backends/quartz/btree.cc,backends/quartz/btree.h,
32669           backends/quartz/btree_util.h: Merged Btree::make_index_item() into
32670           Btree::enter_key().
32672 Tue Aug 31 01:07:19 BST 2004  Olly Betts <olly@survex.com>
32674         * NEWS: Updated in preparation for a release.
32676 Tue Aug 31 00:53:35 BST 2004  Olly Betts <olly@survex.com>
32678         * backends/quartz/btree.cc: Short-cutting Btree::cancel causes
32679           problems so disable that for the time being at least.
32681 Fri Aug 27 13:09:56 BST 2004  Olly Betts <olly@survex.com>
32683         * testsuite/btreecheck.cc: Fixed %% to % (presumably a hangover from
32684           converting printf to cout).
32686 Thu Aug 26 18:11:50 BST 2004  Olly Betts <olly@survex.com>
32688         * backends/quartz/quartz_postlist.cc: Reduce quartz postlist chunk
32689           threshold from 2048 to 2000 so that chunks won't get split by the
32690           Btree.
32692 Thu Aug 26 18:10:27 BST 2004  Olly Betts <olly@survex.com>
32694         * backends/quartz/quartz_record.cc: Throw DocNotFoundError if we
32695           try to delete a record which doesn't exist.
32697 Thu Aug 26 17:18:56 BST 2004  Olly Betts <olly@survex.com>
32699         * configure.ac: Don't define DATADIR - we no longer use it and clashes
32700           with more recent mingw headers.
32702 Wed Aug 25 22:47:06 BST 2004  Olly Betts <olly@survex.com>
32704         * docs/quartzdesign.html: Started section on quartzcompact.
32706 Wed Aug 25 22:45:48 BST 2004  Olly Betts <olly@survex.com>
32708         * api/omdatabase.cc,include/xapian/database.h: Changed new
32709           WritableDatabase::replace_document(term, doc) method to return
32710           the docid which the document was given.
32712 Tue Aug 24 13:45:52 BST 2004  Olly Betts <olly@survex.com>
32714         * api/omenquire.cc,include/xapian/enquire.h: Added new ESet methods
32715           swap(), back() and operator[].
32716         * include/xapian/enquire.h: Added documentation comments for
32717           MSet methods size(), empty(), swap(), begin(), end(), back().
32718         * include/xapian/enquire.h: Removed bogus documentation saying
32719           that some Enquire methods can throw DatabaseOpeningError.
32721 Tue Aug 24 10:24:30 BST 2004  Olly Betts <olly@survex.com>
32723         * HACKING: Noted automake 1.8 may be problematic.  Tweaked list of
32724           release tasks.
32726 Tue Aug 24 10:16:38 BST 2004  Olly Betts <olly@survex.com>
32728         * matcher/multimatch.cc: If a matchdecider is specified and no matches
32729           are requested, the lower bound on the number of matches must be 0
32730           (since the matchdecider could reject all the matches).
32732 Mon Aug 23 23:03:12 BST 2004  Olly Betts <olly@survex.com>
32734         * backends/quartz/btree.cc: Improved the "Db block overwritten"
32735           message.  The DatabaseCorruptError version now suggests multiple
32736           writers may be the cause, while the DatabaseModifiedError version
32737           uses less alarming wording and says to call Database::reopen().
32739 Sun Aug 22 14:07:35 BST 2004  Olly Betts <olly@survex.com>
32741         * indexer/: Removed the old XML-based indexer framework.  It's not
32742           worked for ages, and nobody seems interested in ressurecting it.
32743           If anyone ever is, they can fetch it back from CVS, but otherwise
32744           it's just bulking up CVS checkouts.
32746 Sun Aug 22 13:02:25 BST 2004  Olly Betts <olly@survex.com>
32748         * Makefile.am,configure.ac,extra/Makefile.am: Moved the older library
32749           version information into configure.ac.
32751 Sun Aug 22 12:58:21 BST 2004  Olly Betts <olly@survex.com>
32753         * HACKING,configure.in,configure.ac,backends/Makefile.am,
32754           docs/Makefile.am: Renamed configure.in to configure.ac.
32756 Sun Aug 22 12:47:43 BST 2004  Olly Betts <olly@survex.com>
32758         * xapian-config.in: Add "(or configure.ac)" in message telling the
32759           user to add a line to their configure.in.
32761 Sun Aug 22 11:38:55 BST 2004  Olly Betts <olly@survex.com>
32763         * backends/quartz/btree.cc,backends/quartz/btree_util.h: Adjusted
32764           some Asserts to check c is within blocksize rather than
32765           65536.  Added a FIXME for those which can't be trivially changed.
32767 Sun Aug 22 10:56:56 BST 2004  Olly Betts <olly@survex.com>
32769         * backends/quartz/quartz_database.cc: No need to force a flush on
32770           QuartzWritableDatabase::open_document() (the document will read
32771           things lazily from the database, and that may trigger a forced
32772           flush).
32773         * backends/quartz/quartz_database.cc,
32774           backends/quartz/quartz_database.h: Eliminated
32775           QuartzDatabase::open_post_list_internal() and
32776           QuartzDatabase::open_term_list_internal().
32778 Sun Aug 22 01:33:05 BST 2004  Olly Betts <olly@survex.com>
32780         * backends/quartz/quartz_database.cc,backends/quartz/quartz_record.cc,
32781           backends/quartz/quartz_record.h: WritableDatabase::get_avlength()
32782           no longer forces pending changes to be flushed.  This means you can
32783           now search a modified WritableDatabase without causing a flush
32784           unless the search includes a term whose postlist has pending
32785           modifications.
32787 Fri Aug 20 20:03:59 BST 2004  Olly Betts <olly@survex.com>
32789         * backends/quartz/btree_util.h,common/,docs/overview.html,
32790           docs/quickstart.html,include/xapian/enquire.h,
32791           matcher/branchpostlist.h,matcher/multimatch.cc,tests/api_db.cc:
32792           Corrected multiple occurrences of "an Xapian::XXX" to "a Xapian::XXX"
32793           (presumably these all resulted from replacing "Om" with "Xapian::").
32795 Fri Aug 20 17:38:15 BST 2004  Olly Betts <olly@survex.com>
32797         * backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc,
32798           bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc:
32799           Merged QuartzCursor into Bcursor.
32801 Fri Aug 20 13:43:04 BST 2004  Olly Betts <olly@survex.com>
32803         * NEWS,backends/quartz/: Fixed the problem with "lazy tag reading"
32804           in QuartzCursor and reenable that code.  The problem was with
32805           deleting the current key, so added QuartzCursor::del() which
32806           deletes the current key, leaving the cursor on the next item.
32808 Fri Aug 20 13:04:33 BST 2004  Olly Betts <olly@survex.com>
32810         * tests/api_db.cc: Reenabled test allterms2, but with the iterator
32811           copying parts removed - TermIterator is an input_iterator so
32812           that part was invalid.
32814 Thu Aug 19 19:19:48 BST 2004  Olly Betts <olly@survex.com>
32816         * NEWS: Updated from recent ChangeLog entries.
32818 Thu Aug 19 14:09:28 BST 2004  Olly Betts <olly@survex.com>
32820         * tests/api_db.cc: Added regression test for bug #37.
32822 Thu Aug 19 13:31:37 BST 2004  Olly Betts <olly@survex.com>
32824         * matcher/localmatch.cc: Fixed problems handling termweights in
32825           queries with the same term repeated (bug #37).
32827 Thu Aug 19 13:22:12 BST 2004  Olly Betts <olly@survex.com>
32829         * backends/quartz/quartz_table.cc: Disable the "lazy tag reading" in
32830           QuartzCursor for the time being - it seems to cause problems.
32832 Thu Aug 19 12:58:10 BST 2004  Olly Betts <olly@survex.com>
32834         * bin/quartzcheck.cc,bin/quartzdump.cc: Added calls to
32835           QuartzCursor::read_tag().
32837 Thu Aug 19 12:56:53 BST 2004  Olly Betts <olly@survex.com>
32839         * matcher/multimatch.cc: Removed superfluous clear() of a map.
32841 Thu Aug 19 12:56:08 BST 2004  Olly Betts <olly@survex.com>
32843         * tests/api_db.cc: Corrected a comment - a pure boolean query has all
32844           weights set to 0, not 1.
32846 Mon Aug 16 15:41:33 BST 2004  Olly Betts <olly@survex.com>
32848         * docs/: Removed unused and very out of date class diagrams in dia
32849           format.  Doxygen generates similar but up-to-date diagrams
32850           automatically anyway.
32852 Mon Aug 16 15:27:30 BST 2004  Olly Betts <olly@survex.com>
32854         * xapian.spec.in,debian/libxapianVERSION-dev.install,
32855           extra/.cvsignore,extra/Makefile.am,extra/omparsequery.h,
32856           include/Makefile.am,include/om/.cvsignore,include/om/dir_contents,
32857           include/om/om.h,m4/xapian.m4: Removed the compatibility layer which
32858           allowed programs written against the pre-0.7.0 API to be compiled.
32860 Mon Aug 16 15:08:08 BST 2004  Olly Betts <olly@survex.com>
32862         * backends/quartz/quartz_table.cc: Fixed QuartzCursor::find()
32863           to work again after the last change.
32865 Mon Aug 16 14:43:08 BST 2004  Olly Betts <olly@survex.com>
32867         * backends/quartz/,tests/quartztest.cc: QuartzCursor no longer
32868           automatically reads the tag - you have to call read_tag() to
32869           get it read.  This speeds up iterator over all the terms in
32870           a database.  Also commented out QuartzCursor::prev as it's
32871           unused and untested (at least in its latest form).
32873 Mon Aug 16 12:39:56 BST 2004  Olly Betts <olly@survex.com>
32875         * backends/quartz/btree_types.h: Made Bcursor.rewrite bool rather than
32876           int.
32878 Mon Aug 16 12:35:07 BST 2004  Olly Betts <olly@survex.com>
32880         * backends/quartz/btree.cc,backends/quartz/btree.h: Calculate and
32881           store the latest revision number, rather than storing the other
32882           one and working out which is newer every time we're asked.
32884 Mon Aug 16 12:32:59 BST 2004  Olly Betts <olly@survex.com>
32886         * docs/install.html: We haven't "only [...] UNIX" for ages, so don't
32887           claim we are.  We use libtool as well as autoconf and automake.
32888           Link to the CVS snapshots.  And also mention downloading omega.
32890 Mon Aug 16 12:20:04 BST 2004  Olly Betts <olly@survex.com>
32892         * docs/index.html: exaplains -> explains.
32894 Mon Aug 16 12:18:34 BST 2004  Olly Betts <olly@survex.com>
32896         * docs/overview.html: Removed references to "our company" (meaning
32897           BrightStation) and to the now defunct special parameters which
32898           the inmemory backend accepted to cause deliberate errors for
32899           testing.
32901 Sun Aug 15 23:48:20 BST 2004  Olly Betts <olly@survex.com>
32903         * tests/btreetest.cc: item_count -> get_entry_count(); revision_number
32904           -> get_open_revision_number().
32906 Sun Aug 15 23:15:34 BST 2004  Olly Betts <olly@survex.com>
32908         * backends/Makefile.am,backends/inmemory/Makefile.am: Fixed to compile
32909           with --disable-inmemory (bug #33).
32911 Sat Aug 14 18:56:06 BST 2004  Olly Betts <olly@survex.com>
32913         * Makefile.am: Improved library versioning comment.
32915 Sat Aug 14 18:55:17 BST 2004  Olly Betts <olly@survex.com>
32917         * docs/overview.html: Fixed om_queryop to Xapian::Query::op, and added
32918           missing OP_* codes to the list.
32920 Sat Aug 14 17:44:39 BST 2004  Olly Betts <olly@survex.com>
32922         * backends/quartz/bcursor.h,backends/quartz/btree.cc,
32923           backends/quartz/btree.h,bin/quartzcompact.cc,docs/quartzdesign.html:
32924           Updated quartz design docs to reflect recent changes.  Also pulled
32925           out the Btree and Bcursor API docs and slotted them in as doxygen
32926           documentation comments - this way they're much more likely to
32927           be kept up-to-date.
32929 Sat Aug 14 15:59:07 BST 2004  Olly Betts <olly@survex.com>
32931         * backends/quartz/btree.cc,backends/quartz/btree.h: Removed unused
32932           Btree default ctor.
32934 Sat Aug 14 15:45:28 BST 2004  Olly Betts <olly@survex.com>
32936         * backends/quartz/btree.cc,backends/quartz/btree.h: Don't redundantly
32937           store next_revision - it's always just revision_number + 1.
32939 Sat Aug 14 15:30:30 BST 2004  Olly Betts <olly@survex.com>
32941         * backends/quartz/btree.cc: Implemented Btree::cancel directly rather
32942           than closing and reopening the Btree.
32944 Sat Aug 14 14:46:43 BST 2004  Olly Betts <olly@survex.com>
32946         * backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc,
32947           bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc,
32948           testsuite/btreecheck.cc,testsuite/btreecheck.h: Eliminated
32949           QuartzTable which had become just a thin wrapper around Btree.
32951 Fri Aug 13 19:19:02 BST 2004  Olly Betts <olly@survex.com>
32953         * backends/quartz/quartz_postlist.cc:
32954           QuartzPostList::move_to_chunk_containing now calls next_chunk if
32955           required, rather than forcing the caller to do the fix-up.
32957 Fri Aug 13 17:54:53 BST 2004  Olly Betts <olly@survex.com>
32959         * backends/quartz/quartz_database.cc,
32960           backends/quartz/quartz_database.h: Added tunable flush thresholds
32961           - set XAPIAN_FLUSH_THRESHOLD=5000 to flush every 5000 documents
32962           or XAPIAN_FLUSH_THRESHOLD_LENGTH=1000000 to flush every 1000000
32963           total change in document length.  Set both to flush whichever is
32964           reached first.  Set neither and the default is to flush every
32965           1000 documents as before.
32967 Fri Aug 13 15:54:21 BST 2004  Olly Betts <olly@survex.com>
32969         * backends/quartz/: Removed no-longer-used Btree::erase and
32970           QuartzTable::erase methods.
32972 Fri Aug 13 15:37:15 BST 2004  Olly Betts <olly@survex.com>
32974         * backends/quartz/btree.cc,backends/quartz/quartz_database.cc:
32975           Changed Btree::create() to remove any pre-existing alternate base
32976           file, so we no longer need to call Btree::erase before
32977           Btree::create.
32979 Fri Aug 13 15:37:15 BST 2004  Olly Betts <olly@survex.com>
32981         * NEWS: Updated with changes since last release.
32983 Fri Aug 13 15:36:04 BST 2004  Olly Betts <olly@survex.com>
32985         * tests/api_posdb.cc,tests/quartztest.cc: Reworked quartztest's
32986           positionlist1 into a generic api test as apitest's poslist3.
32988 Thu Aug 12 16:26:42 BST 2004  Olly Betts <olly@survex.com>
32990         * backends/quartz/quartz_table.cc,backends/quartz/quartz_table.h,
32991           bin/quartzcheck.cc,bin/quartzdump.cc: QuartzCursor now has a
32992           Bcursor member, rather than an AutoPtr<Bcursor> member.
32994 Thu Aug 12 14:13:37 BST 2004  Olly Betts <olly@survex.com>
32996         * tests/btreetest.cc: Fixed up in line with the recent refactoring.
32998 Thu Aug 12 13:23:31 BST 2004  Olly Betts <olly@survex.com>
33000         * m4/xapian.m4: XO_LIB_XAPIAN now AC_SUBSTs XAPIAN_VERSION.
33002 Thu Aug 12 13:21:36 BST 2004  Olly Betts <olly@survex.com>
33004         * backends/quartz/,tests/quartztest.cc: Refactored, replacing
33005           Quartz*Manager with Quartz*Table.
33007 Thu Aug 12 02:00:58 BST 2004  Olly Betts <olly@survex.com>
33009         * backends/quartz/: Merged QuartzTableManager into QuartzDatabase.
33011 Wed Aug 11 23:40:34 BST 2004  Olly Betts <olly@survex.com>
33013         * backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h:
33014           Eliminated buffered_tables member of QuartzWritableDatabase.
33016 Wed Aug 11 21:26:35 BST 2004  Olly Betts <olly@survex.com>
33018         * backends/inmemory/inmemory_database.cc,
33019           backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
33020           docs/todo.xml: WritableDatabase::replace_document can now be used
33021           to add a document with a specific docid (to allow keeping docids
33022           in sync with numeric UIDs from another system).
33024 Wed Aug 11 20:09:15 BST 2004  Olly Betts <olly@survex.com>
33026         * api/omdatabase.cc,include/xapian/database.h: Added replace_document
33027           and delete_document variants which take a unique id term name rather
33028           than a document id.
33029         * include/xapian/database.h: Better documentation for replace_document
33030           and delete_document.
33032 Wed Aug 11 16:15:10 BST 2004  Olly Betts <olly@survex.com>
33034         * backends/quartz/,bin/quartzcheck.cc,bin/quartzdump.cc,
33035           tests/quartztest.cc: Eliminated QuartzBufferedTable.
33037 Wed Jun 30 20:34:08 BST 2004  Olly Betts <olly@survex.com>
33039         * NEWS: Fixed an unwrapped line.
33041 Wed Jun 30 20:32:31 BST 2004  Olly Betts <olly@survex.com>
33043         * HACKING: Added note about the cvs-tag-release script.
33045 Wed Jun 30 19:05:45 BST 2004  Olly Betts <olly@survex.com>
33047         * HACKING,NEWS,PLATFORMS,configure.in: Version 0.8.1.
33049 Wed Jun 30 14:23:20 BST 2004  Olly Betts <olly@survex.com>
33051         * AUTHORS,PLATFORMS: Updated.
33053 Tue Jun 29 23:24:59 BST 2004  Olly Betts <olly@survex.com>
33055         * tests/api_nodb.cc: Make emptyquery1 check that Query("") causes an
33056           InvalidArgumentError exception.
33058 Tue Jun 29 17:29:03 BST 2004  Richard Boulton <richard@tartarus.org>
33060         * Makefile.am: Remove Debian files from distribution tarballs,
33061           since there will often be multiple patch releases for each
33062           release.  Debian files will be available from an apt repository
33063           in future.
33065 Mon Jun 28 01:29:00 BST 2004  Olly Betts <olly@survex.com>
33067         * NEWS: Mostly updated for 0.8.1 release.
33069 Sun Jun 27 23:37:01 BST 2004  Olly Betts <olly@survex.com>
33071         * backends/quartz/quartz_postlist.cc: Fixed bug in postlist merging.
33073 Sat Jun 26 00:51:04 BST 2004  Olly Betts <olly@survex.com>
33075         * AUTHORS: Add Malcolm Baldridge (helped fix a problem with building
33076           the PHP bindings with newer versions of SWIG and PHP).
33078 Fri Jun 26 00:29:10 BST 2004  Olly Betts <olly@survex.com>
33080         * HACKING,api/ompositionlistiterator.cc,api/ompostlistiterator.cc,
33081           api/omtermlistiterator.cc,include/xapian/: MSetIterator and
33082           ESetIterator are now bidirectional iterators (rather than
33083           just input iterators);  Fixed post-increment forms of
33084           PostingIterator, TermIterator, PositionIterator, and ValueIterator
33085           so that *i++ works (as it must for them to be true input iterators).
33087 Thu Jun 24 18:03:46 BST 2004  Olly Betts <olly@survex.com>
33089         * PLATFORMS: Added success report for Slackware Linux 9.1.
33091 Mon Jun 21 16:33:16 BST 2004  Olly Betts <olly@survex.com>
33093         * backends/quartz/quartz_postlist.cc: Corrected -> to . so code
33094           compiles with debug enabled.
33096 Mon Jun 21 03:25:24 BST 2004  Olly Betts <olly@survex.com>
33098         * backends/quartz/btree.cc: Eliminated two calls to abort() - throw
33099           exceptions instead.
33101 Mon Jun 21 03:21:14 BST 2004  Olly Betts <olly@survex.com>
33103         * backends/quartz/quartz_postlist.cc: Finish backing out incorrect
33104           change from "Fri May 07 03:16:29 BST 2004" - failed to change two
33105           lines back before.
33107 Fri Jun 18 16:48:10 BST 2004  Richard Boulton <richard@tartarus.org>
33109         * configure.in: Fix typo (STLPORT_CXXLAGS -> STLPORT_CXXFLAGS)
33111 Thu Jun 17 03:46:32 BST 2004  Olly Betts <olly@survex.com>
33113         * backends/quartz/quartz_database.cc: Cleaned up code to track
33114           add vs delete vs modify of a posting list entry since we now
33115           force a flush if an entry is about to be retouched.
33117 Thu Jun 17 03:44:21 BST 2004  Olly Betts <olly@survex.com>
33119         * backends/quartz/quartz_postlist.cc: Back out incorrect change from
33120           "Fri May 07 03:16:29 BST 2004".  We do need to call get_or_make_tag
33121           in this case because we're modifying the tag.
33123 Wed Jun 16 15:40:21 BST 2004  Olly Betts <olly@survex.com>
33125         * backends/inmemory/inmemory_database.h: Implemented get_lastdocid()
33126           for InMemory backend.
33128 Wed Jun 16 02:39:41 BST 2004  Olly Betts <olly@survex.com>
33130         * configure.in: Note the value of LIBRARY_VERSION_INFO which 0.8.1
33131           would get if it were released now.
33133 Wed Jun 16 02:39:11 BST 2004  Robert Pollak <robert.pollak@fabasoft.com>
33135         * api/omdatabase.cc, include/xapian/database.h,
33136           backends/database.cc, common/database.h,
33137           backends/quartz/quartz_database.cc, backends/quartz/quartz_database.h,
33138           backends/quartz/quartz_record.cc, backends/quartz/quartz_record.h:
33139           New method Database::get_lastdocid for re-synchronizing an old
33140           quartz index.
33142 Wed Jun 16 02:05:07 BST 2004  Richard Boulton <richard@tartarus.org>
33144         * matcher/multimatch.cc: When collapsing, keep track of the number
33145           of collapses performed, and use this information to modify the
33146           bounds and estimate of the number of matches.
33147         * tests/api_db.cc: Added tests for this.
33148         * include/xapian/enquire.h: Update documentation comments for
33149           MSet::get_matches_*() functions to make clear that collapsing and
33150           cutoffs are taken into account.  (Previously, the most likely
33151           interpretation of the comments was that they wouldn't be taken
33152           into account, but the implementation was that percentage cutoffs
33153           were taken into account.)  Due to this ambiguity, I think it is
33154           reasonable to say this isn't an API change.
33156 Wed Jun 16 01:55:29 BST 2004  Olly Betts <olly@survex.com>
33158         * matcher/multimatch.cc: Rearranged code so that the behaviour can
33159           be easily seen to be unchanged, but so that it's closer to the
33160           result of applying Richard's patch for bug #31.
33162 Wed Jun 16 01:27:09 BST 2004  Olly Betts <olly@survex.com>
33164         * matcher/multimatch.cc: Trimmed extra whitespace.
33166 Tue Jun 15 15:40:11 BST 2004  Olly Betts <olly@survex.com>
33168         * backends/quartz/quartz_postlist.cc: Fixed PostlistChunkReader to
33169           take a copy of the postlist data being read to avoid problems with
33170           reading data from a string that's been deleted.
33172 Tue Jun 15 15:26:54 BST 2004  Olly Betts <olly@survex.com>
33174         * HACKING: Updated the list of tasks required for a new release.
33176 Tue Jun 15 15:24:04 BST 2004  Olly Betts <olly@survex.com>
33178         * Makefile.am,configure.in,extra/Makefile.am: Unify the shlib version
33179           numbers (the small benefit of tracking them individually makes it
33180           hard to justify the extra work required, and having one version
33181           simplifies debian packaging too).
33183 Tue Jun 15 14:52:36 BST 2004  Robert Pollak <robert.pollak@fabasoft.com>
33185         * extra/xapian/queryparser.h: Fixed memory leaked upon QueryParser
33186           destruction.
33188 Fri Jun 11 02:18:35 BST 2004  Olly Betts <olly@survex.com>
33190         * backends/quartz/quartz_postlist.cc: Refactored a loop.
33192 Fri Jun 11 02:17:05 BST 2004  Olly Betts <olly@survex.com>
33194         * backends/quartz/quartz_postlist.cc: Fixed bug which meant we
33195           sometimes failed to remove a posting when deleting or replacing
33196           a document.
33198 Fri Jun 11 02:16:16 BST 2004  Olly Betts <olly@survex.com>
33200         * backends/quartz/quartz_postlist.cc,
33201           backends/quartz/quartz_postlist.h: Merged move_to() into skip_to().
33203 Fri Jun 11 02:14:56 BST 2004  Olly Betts <olly@survex.com>
33205         * backends/quartz/quartz_postlist.cc: Fixed typo in comment.
33207 Thu May 27 15:41:45 BST 2004  Olly Betts <olly@survex.com>
33209         * backends/quartz/btree.cc,backends/quartz/btree.h: Eliminated the
33210           split cursor - we only actually need a single block buffer to
33211           handle splitting blocks.
33213 Wed May 26 04:02:18 BST 2004  Olly Betts <olly@survex.com>
33215         * include/om/om.h,include/xapian/errortypes.h: Removed several unused
33216           Xapian::Error subclasses (these were used by the indexer framework
33217           which we decided was a failed experiment).
33219 Wed May 26 01:54:13 BST 2004  Olly Betts <olly@survex.com>
33221         * backends/quartz/btree.cc,backends/quartz/btree.h: More DEBUGCALL
33222           tracing added; split_root now uses level member rather than a
33223           parameter.
33225 Sun May 23 00:56:41 BST 2004  Olly Betts <olly@survex.com>
33227         * backends/quartz/btree.cc,backends/quartz/btree.h: Merge split_off()
33228           into add_item().
33230 Sat May 22 01:28:58 BST 2004  Olly Betts <olly@survex.com>
33232         * backends/quartz/btree.cc: Another DEBUGCALL.
33233         * backends/quartz/quartz_table.h: Improved comments.
33235 Fri May 21 23:17:01 BST 2004  Olly Betts <olly@survex.com>
33237         * backends/quartz/btree.cc: Removed unnecessary assignment which is
33238           a hangover from the shared level code we removed long ago.
33240 Fri May 21 20:31:56 BST 2004  Olly Betts <olly@survex.com>
33242         * backends/quartz/,docs/quartzdesign.html,testsuite/btreecheck.cc:
33243           Removed overwritten flag (unused as we throw an exception anyway).
33244           If Btree is writable, throw DatabaseCorruptError if we detect
33245           overwritten.  Make use of bool return types consistent.  Removed
33246           documentation of Btree error codes (the error codes themselves
33247           were removed a month ago).
33249 Thu May 20 03:50:46 BST 2004  Olly Betts <olly@survex.com>
33251         * include/xapian/database.h: Remove references to sessions in doxygen
33252           comments.
33254 Thu May 20 03:44:28 BST 2004  Olly Betts <olly@survex.com>
33256         * api/omdatabase.cc,backends/database.cc,
33257           backends/inmemory/inmemory_database.cc,
33258           backends/inmemory/inmemory_database.h,
33259           backends/muscat36/da_database.h,backends/muscat36/db_database.h,
33260           backends/net/net_database.cc,backends/quartz/quartz_database.cc,
33261           backends/quartz/quartz_database.h,common/database.h,
33262           common/net_database.h: Clean up the backend interface.
33264 Thu May 20 03:18:30 BST 2004  Olly Betts <olly@survex.com>
33266         * backends/database.cc,backends/inmemory/inmemory_database.cc,
33267           backends/inmemory/inmemory_database.h,backends/muscat36/,
33268           backends/net/net_database.cc,backends/quartz/quartz_database.cc,
33269           backends/quartz/quartz_database.h,common/database.h:
33270           Stripped out the session machinery - all that is actually required
33271           is to ensure that any unflushed changes are flushed when the dtor
33272           runs.
33274 Mon May 17 01:04:17 BST 2004  Olly Betts <olly@survex.com>
33276         * backends/quartz/btree.cc,backends/quartz/btree.h,
33277           backends/quartz/btree_types.h: Reworked split_p and split_n
33278           members of Cursor into a separate C_split cursor.  This
33279           reduces the memory overhead of each Bcursor (and hence each
33280           QuartzPostList).
33282 Sat May 15 01:29:40 BST 2004  Olly Betts <olly@survex.com>
33284         * docs/quickstart.html: Corrected lingering reference to "om.h" and
33285           note that we need <iostream>.
33286         * docs/quickstartindex.cc.html,docs/quickstartexpand.cc.html,
33287           docs/quickstartsearch.cc.html: Add <iostream>.
33288         * AUTHORS: Add John Ward for pointing out the above problems.
33290 Fri May 14 00:59:51 BST 2004  Olly Betts <olly@survex.com>
33292         * HACKING: Added the start of a list of subtasks when doing a release.
33293           Currently it's always me that does this, but it may not always be
33294           and anyhow it'll help me to have a list to run through.
33296 Fri May 14 00:59:21 BST 2004  Olly Betts <olly@survex.com>
33298         * docs/todo.xml: Updated.
33300 Thu May 13 17:14:18 BST 2004  Olly Betts <olly@survex.com>
33302         * extra/queryparser.yy: When stripping non-alphanums prior to
33303           reparsing, keep dots ('.').
33304         * extra/queryparsertest.cc: Pruned near-duplicate queryparsertest
33305           testcases.
33307 Thu May 13 12:09:19 BST 2004  Olly Betts <olly@survex.com>
33309         * docs/quartzdesign.html: "interger" -> "integer".
33311 Thu May 13 11:20:44 BST 2004  Olly Betts <olly@survex.com>
33313         * Makefile.am: Removed bogus extra line added by last change.
33315 Thu May 13 11:11:31 BST 2004  Olly Betts <olly@survex.com>
33317         * configure.in,Makefile.am,autoconf/.cvsignore,autoconf/Makefile.am,
33318           m4/.cvsignore,m4/Makefile.am: Removed trivial m4/Makefile.am and
33319           and autoconf/Makefile.am and do the work from the top level
33320           Makefile.am instead.  It's easy to see the structure this way, and
33321           it also removes a couple of recursive make invocations.
33323 Thu May 13 09:32:22 BST 2004  Olly Betts <olly@survex.com>
33325         * backends/quartz/btree.cc,backends/quartz/btree.h: Added DEBUGCALL
33326           tracing;  Stripped out C_ parameters where they are always the
33327           internal cursor C.
33329 Thu May 13 00:05:45 BST 2004  Olly Betts <olly@survex.com>
33331         * extra/queryparser.yy,extra/queryparsertest.cc: If we fail to parse
33332           a query, try stripping out non-alphanumerics and reparsing.
33334 Wed May 12 14:32:54 BST 2004  Olly Betts <olly@survex.com>
33336         * common/omtime.h: Corrected file description.
33338 Wed May 12 02:08:44 BST 2004  Olly Betts <olly@survex.com>
33340         * backends/quartz/btree.cc: Fixed typos in comment.
33342 Tue May 11 20:55:56 BST 2004  Olly Betts <olly@survex.com>
33344         * xapian-config.in: Added comment saying why we filter out
33345           -I/usr/include; Removed no longer used "optarg" stuff; Added licence
33346           boilerplate text (with (C) dates mined from CVS).
33348 Tue May 11 13:42:38 BST 2004  Olly Betts <olly@survex.com>
33350         * backends/quartz/bcursor.cc,backends/quartz/btree.cc: Added lots
33351           of assertions.
33353 Tue May 11 09:29:51 BST 2004  Richard Boulton <richard@tartarus.org>
33355         * debian/: Added basic Debian packaging.
33357 Mon May 10 17:17:45 BST 2004  Olly Betts <olly@survex.com>
33359         * docs/quartzdsign.html: Corrected various pieces of out of date
33360           information.
33362 Mon May 10 01:30:35 BST 2004  Olly Betts <olly@survex.com>
33364         * backends/quartz/btree.h: Removed unused forward declaration of
33365           class BtreeCheck.
33367 Mon May 10 01:30:24 BST 2004  Olly Betts <olly@survex.com>
33369         * backends/quartz/btree.cc: Fixed typo.
33371 Sat May 08 20:14:40 BST 2004  Olly Betts <olly@survex.com>
33373         * backends/quartz/: Pruned some #include-s which were unused, or could
33374           be replaced by forward class declarations.
33376 Fri May 07 14:38:10 BST 2004  Olly Betts <olly@survex.com>
33378         * backends/quartz/quartz_postlist.cc: Slight efficiency tweak to the
33379           "deleting the whole posting list" case.
33381 Fri May 07 03:16:29 BST 2004  Olly Betts <olly@survex.com>
33383         * backends/quartz/quartz_postlist.cc: Removed another unnecessary use
33384           of QuartzBufferedTable::get_or_make_tag().
33386 Fri May 07 02:56:22 BST 2004  Olly Betts <olly@survex.com>
33388         * backends/quartz/btree.cc: Initialise prev_ptr and next_ptr at open
33389           time for a writable Btree.
33391 Fri May 07 02:46:53 BST 2004  Olly Betts <olly@survex.com>
33393         * backends/quartz/quartz_postlist.cc: Remove unneeded call to
33394           QuartzBufferedTable::get_or_make_tag() in a case when we're using a
33395           cursor which has already fetched the tag.
33397 Thu May 06 23:30:12 BST 2004  Olly Betts <olly@survex.com>
33399         * backends/quartz/btree.cc: Improved a comment.
33401 Thu May 06 22:20:43 BST 2004  Olly Betts <olly@survex.com>
33403         * backends/quartz/btree.cc: Added a few more assertions.
33405 Thu May 06 02:25:33 BST 2004  Olly Betts <olly@survex.com>
33407         * backends/quartz/quartz_positionlist.cc,
33408           backends/quartz/quartz_utils.h: Added SON_OF_QUARTZ define to
33409           disable incompatible changes to database formats by default, and
33410           use it to control the docid encoding for keys such that we're always
33411           inserting at the end of the table when added new documents.
33413 Thu May 06 02:23:02 BST 2004  Olly Betts <olly@survex.com>
33415         * backends/quartz/quartz_postlist.cc: Improved a FIXME comment.
33417 Thu May 06 00:32:17 BST 2004  Olly Betts <olly@survex.com>
33419         * extra/queryparsertest.cc: Added test case for `term NOT "a phrase'.
33421 Thu May 06 00:28:32 BST 2004  Olly Betts <olly@survex.com>
33423         * common/omdebug.cc,common/omdebug.h: Renamed OmTimer class used
33424           internally by the --enable-debug=profile code to
33425           Xapian::Internal::Timer.
33427 Wed May 05 13:59:47 BST 2004  Olly Betts <olly@survex.com>
33429         * docs/scalability.html: Reworded to remove use of first person.
33431 Mon May 03 21:42:05 BST 2004  Olly Betts <olly@survex.com>
33433         * Makefile.am: Improved wording of a FIXME comment.
33435 Sun May 02 10:18:55 BST 2004  Olly Betts <olly@survex.com>
33437         * backends/quartz/btree.cc: Improved a couple of comments.
33439 Sat May 01 04:42:43 BST 2004  Olly Betts <olly@survex.com>
33441         * backends/quartz/btree.cc,backends/quartz/btree.h,
33442           backends/quartz/quartz_table.cc: Reopening the readonly version
33443           of a writable Btree is now more efficient.
33445 Sat May 01 01:41:24 BST 2004  Olly Betts <olly@survex.com>
33447         * PLATFORMS: Added up-to-date success reports for x86-openbsd and
33448           x86-solaris.
33450 Fri Apr 30 04:05:15 BST 2004  Olly Betts <olly@survex.com>
33452         * backends/quartz/: Don't delete and reload the Btree_base just after
33453           saving it - instead reuse the existing Btree_base object.
33455 Fri Apr 30 02:41:50 BST 2004  Olly Betts <olly@survex.com>
33457         * backends/quartz/btree.cc: Clean up new code in Btree::commit()
33458           from last change.
33460 Thu Apr 29 22:41:05 BST 2004  Olly Betts <olly@survex.com>
33462         * backends/quartz/btree.cc,backends/quartz/quartz_table.cc: Don't
33463           close and reopen the database table file descriptors every time
33464           we flush changes.
33466 Thu Apr 29 22:40:36 BST 2004  Olly Betts <olly@survex.com>
33468         * docs/quartzdesign.html: Improved wording in a couple of places.
33470 Thu Apr 29 16:50:45 BST 2004  Olly Betts <olly@survex.com>
33472         * backends/quartz/bcursor.cc: Removed references to Btree::error
33473           from debug code since Btree::error was removed a week ago.
33475 Tue Apr 27 20:46:25 BST 2004  Olly Betts <olly@survex.com>
33477         * backends/quartz/btree.cc,configure.in: Added configure test for
33478           glibc, because otherwise we need to include a header before we
33479           can check for glibc in order to define something we should be
33480           defining before we include any headers!
33482 Tue Apr 27 17:45:51 BST 2004  Olly Betts <olly@survex.com>
33484         * backends/quartz/btree.cc: Only defined _XOPEN_SOURCE if __GLIBC__
33485           is defined.  OpenBSD seems to do the opposite to Linux and *disable*
33486           pread and pwrite if this is defined!
33488 Tue Apr 27 14:35:47 BST 2004  Olly Betts <olly@survex.com>
33490         * api/omenquire.cc,tests/api_db.cc: Need to adjust index by firstitem
33491           when indexing into items (bug#28).
33493 Mon Apr 26 23:45:15 BST 2004  Olly Betts <olly@survex.com>
33495         * PLATFORMS: Successfully built with gcc-3.5-20040327 snapshot on x86
33496           linux.
33498 Fri Apr 23 11:26:07 BST 2004  Olly Betts <olly@survex.com>
33500         * PLATFORMS: Successfully built and tested on arm linux.
33502 Fri Apr 23 11:24:23 BST 2004  Olly Betts <olly@survex.com>
33504         * tests/remotetest.cc: Use 127.0.0.1 instead of localhost so that
33505           tcpmatch1 doesn't fail just because the network setup is broken.
33507 Thu Apr 22 00:54:58 BST 2004  Olly Betts <olly@survex.com>
33509         * backends/quartz/: Stripped out Btree_errors as it's almost
33510           totally unused now.  Fixed up the last few uses.
33511         * backends/quartz/quartz_table.cc: Fixed another case where read
33512           and write Btrees should share fds.
33514 Wed Apr 21 02:51:08 BST 2004  Olly Betts <olly@survex.com>
33516         * backends/quartz/btree.cc: Check the return value of
33517           fdatasync()/fsync()/_commit() and raise an error.  They aren't
33518           likely to fail harmlessly.
33520 Wed Apr 21 02:45:28 BST 2004  Olly Betts <olly@survex.com>
33522         * backends/quartz/btree.cc,backends/quartz/btree.h,
33523           backends/quartz/quartz_table.cc: Share file descriptors between
33524           the read and write Btree objects so that a quartz WritableDatabase
33525           now uses 5 fds rather than 10.
33527 Wed Apr 21 02:37:38 BST 2004  Olly Betts <olly@survex.com>
33529         * docs/scalability.html: Removed the reference to the Quartz update
33530           bottleneck "currently being addressed for Xapian 0.8" as it's now
33531           been addressed!
33533 Wed Apr 21 00:24:08 BST 2004  Olly Betts <olly@survex.com>
33535         * backends/quartz/btree.cc: Corrected a comment.
33537 Mon Apr 19 14:42:06 BST 2004  Olly Betts <olly@survex.com>
33539         * NEWS: Final update for 0.8.0.
33541 Mon Apr 19 14:02:33 BST 2004  Olly Betts <olly@survex.com>
33543         * AUTHORS: Added people who've contributed build reports for the
33544           PLATFORMS file.
33546 Mon Apr 19 14:01:38 BST 2004  Olly Betts <olly@survex.com>
33548         * PLATFORMS: More updates from tinderbox and elsewhere.
33550 Sat Apr 17 02:24:11 BST 2004  Olly Betts <olly@survex.com>
33552         * PLATFORMS: Lots of updates from tinderbox and mailing list.
33554 Sat Apr 17 00:13:26 BST 2004  Olly Betts <olly@survex.com>
33556         * HACKING: Added notes about using "using", and pointers to a couple
33557           of useful C++ web resources.
33559 Mon Apr 12 00:56:04 BST 2004  Olly Betts <olly@survex.com>
33561         * Makefile.am,NEWS,configure.in,extra/Makefile.am: Version 0.8.0.
33563 Mon Apr 12 00:31:15 BST 2004  Olly Betts <olly@survex.com>
33565         * NEWS: Updated for 0.8.0.
33567 Sun Apr 11 21:18:47 BST 2004  Olly Betts <olly@survex.com>
33569         * extra/queryparser.yy,extra/queryparsertest.cc: Don't use a raw term
33570           for a term which starts with a digit.
33572 Sat Apr 10 17:20:23 BST 2004  Olly Betts <olly@survex.com>
33574         * AUTHORS: "Open Muscat" not "OmSee"; Updated the list of contributors
33575           (more work needed...)
33577 Sat Apr 10 16:41:28 BST 2004  Olly Betts <olly@survex.com>
33579         * m4/xapian.m4: Make XO_LIB_XAPIAN with no arguments do what most
33580           users will want: check for Xapian and fail if it's not found,
33581           or AC_SUBST XAPIAN_CXXFLAGS and XAPIAN_LIBS if it is.  Those
33582           will unusual needs can supply one or both arguments as at
33583           present.
33585 Sat Apr 10 15:00:28 BST 2004  Olly Betts <olly@survex.com>
33587         * docs/todo.xml: Updated.
33589 Sat Apr 10 00:32:07 BST 2004  Olly Betts <olly@survex.com>
33591         * PLATFORMS: Added success report for GCC 3.4 (prerelease).
33593 Sat Apr 10 00:27:58 BST 2004  Olly Betts <olly@survex.com>
33595         * extra/xapian/queryparser.h: Added doxygen documentation comments.
33597 Sat Apr 10 00:23:13 BST 2004  Olly Betts <olly@survex.com>
33599         * testsuite/testsuite.cc: Removed a now superfluous line.
33601 Sat Apr 10 00:21:15 BST 2004  Olly Betts <olly@survex.com>
33603         * testsuite/testsuite.cc: Give a more accurate message if valgrind
33604           spots a test doing something dodgy (e.g. free() of memory allocated
33605           with new).
33607 Thu Apr 08 17:22:20 BST 2004  Olly Betts <olly@survex.com>
33609         * net/.cvsignore: No longer need to ignore readquery.cc.
33611 Thu Apr 08 17:19:43 BST 2004  Olly Betts <olly@survex.com>
33613         * include/xapian/base.h: Note in doxygen comment why the ref_count
33614           is mutable.
33616 Thu Apr 08 15:33:16 BST 2004  Olly Betts <olly@survex.com>
33618         * testsuite/testsuite.cc: valgrinding code needs errno.h too.
33620 Thu Apr 08 15:28:44 BST 2004  Olly Betts <olly@survex.com>
33622         * include/xapian/enquire.h: Make Xapian::Weight::Weight() protected
33623           rather than private as we want to be able to call it from derived
33624           classes (GCC 3.4 flags this, other compilers seem to miss it).
33626 Tue Apr 06 03:32:39 BST 2004  Olly Betts <olly@survex.com>
33628         * net/omerr_string.cc,include/xapian/error.h,
33629           include/xapian/errortypes.h,include/xapian/output.h:
33630           Fixed some doxygen warnings.
33632 Mon Apr 05 17:21:06 BST 2004  Olly Betts <olly@survex.com>
33634         * README: There never was an Omsee release - the last BrightStation
33635           release was "OpenMuscat 0.4.1".
33637 Mon Apr 05 17:19:38 BST 2004  Olly Betts <olly@survex.com>
33639         * backends/quartz/quartz_database.cc,
33640           backends/quartz/quartz_database.h: Make the flush criterion 1000
33641           documents changed (added, removed, or replaced) as that seems to
33642           perform much better over a wide variety of document sizes.
33644 Thu Apr 01 01:04:17 BST 2004  Olly Betts <olly@survex.com>
33646         * tests/quartztest.cc: Fixed temporary directory used (a slash was
33647           missing).
33649 Thu Apr 01 00:39:59 BST 2004  Olly Betts <olly@survex.com>
33651         * docs/todo.xml: Updated.
33653 Fri Mar 26 22:33:30 GMT 2004  Olly Betts <olly@survex.com>
33655         * backends/quartz/quartz_database.cc: Fix problems with termfreq and
33656           collfreq in postlist getting out of step when a recently modified
33657           or deleted document is deleted or remodified.
33659 Fri Mar 26 12:31:24 GMT 2004  Olly Betts <olly@survex.com>
33661         * configure.in: Fixed check for --enable-runtime-pseudo-reloc.
33663 Fri Mar 26 12:31:00 GMT 2004  Olly Betts <olly@survex.com>
33665         * bin/Makefile.am: Removed spurious "-lz" from quartzdump_LDADD.
33667 Thu Mar 25 00:22:13 GMT 2004  Olly Betts <olly@survex.com>
33669         * bin/quartzcheck.cc: Check the structure with the postlist Btree
33670           as well as the Btree structures themselves.
33672 Sun Mar 21 00:00:59 GMT 2004  Olly Betts <olly@survex.com>
33674         * backends/quartz/quartz_table_manager.cc: Fix for building on mingw.
33676 Sat Mar 20 23:04:27 GMT 2004  Olly Betts <olly@survex.com>
33678         * include/xapian/positioniterator.h,include/xapian/postingiterator.h:
33679           Add doxygen comments in front of PostingIterator and
33680           PositionListIterator classes so that doxygen pulls out the
33681           existing documentation for their methods.
33683 Sat Mar 20 16:23:13 GMT 2004  Olly Betts <olly@survex.com>
33685         * configure.in,backends/quartz/quartz_table_manager.cc,common/utils.h:
33686           Added configure test for link() to avoid infinite loop on mingw!
33688 Thu Mar 18 12:20:18 GMT 2004  Olly Betts <olly@survex.com>
33690         * configure.in: Improved the --enable-runtime-pseudo-reloc check.
33692 Thu Mar 18 00:45:15 GMT 2004  Olly Betts <olly@survex.com>
33694         * bin/Makefile.am,tests/Makefile.am: Pass the magic mingw/cygwin flag
33695           when linking the programs in bin and tests.
33697 Thu Mar 18 00:33:22 GMT 2004  Olly Betts <olly@survex.com>
33699         * configure.in,xapian-config.in: mingw and cygwin both need
33700           -Wl,--enable-runtime-pseudo-reloc passing when linking.
33701           Arrange for xapian-config to include this, and check that
33702           the ld installed is a new enough version (or at least that
33703           it was at configure time).
33705 Tue Mar 16 01:40:43 GMT 2004  Olly Betts <olly@survex.com>
33707         * docs/matcherdesign.html: Merged in more details from a message I
33708           sent to the mailing list.
33710 Mon Mar 15 20:39:21 GMT 2004  Olly Betts <olly@survex.com>
33712         * tests/quartztest.cc: Fail the test if there's still a directory after
33713           rmdir(), or there isn't a directory after mkdir().  Close a
33714           QuartzDatabase or QuartzWritableDatabase before trying to overwrite
33715           it - cygwin doesn't allow use to delete open/locked files...
33717 Mon Mar 15 20:38:11 GMT 2004  Olly Betts <olly@survex.com>
33719         * backends/database.cc: Database::Internal::Internal::keep_alive()
33720           should be Database::Internal::keep_alive().
33722 Mon Mar 15 17:20:58 GMT 2004  Olly Betts <olly@survex.com>
33724         * include/xapian/base.h: Returning a void result makes SGI's compiler
33725           complain - don't!
33727 Mon Mar 15 14:34:44 GMT 2004  Olly Betts <olly@survex.com>
33729         * common/omdebug.cc: Only use O_SYNC (on the debug log) if we have it.
33731 Sun Mar 14 17:48:52 GMT 2004  Olly Betts <olly@survex.com>
33733         * tests/runtest.in: Mark with @configure_input@.
33735 Thu Mar 11 23:53:43 GMT 2004  Olly Betts <olly@survex.com>
33737         * common/database.h,common/termlist.h,include/xapian/database.h,
33738           include/xapian/enquire.h: Attempted fixes for warnings given by
33739           SGI's MIPSpro C++ compiler.
33741 Thu Mar 11 23:51:10 GMT 2004  Olly Betts <olly@survex.com>
33743         * configure.in: GCC 2.95 supported -Wno-long-long and is our minimum
33744           recommended version, so unconditionally use -Wno-long-long with
33745           GCC, and don't test for it on other compilers (the test incorrectly
33746           decided to use it with SGI's compiler leading to a warning for
33747           every file compiled).
33749 Thu Mar 11 17:29:24 GMT 2004  Olly Betts <olly@survex.com>
33751         * docs/intro_ir.html: Added a link to "Information Retrieval"
33752           by Keith v.R. which can be read on his website!
33754 Thu Mar 11 17:12:35 GMT 2004  Olly Betts <olly@survex.com>
33756         * PLATFORMS: Added IRIX success reports from Jim Lynch.
33758 Thu Mar 11 12:17:21 GMT 2004  Olly Betts <olly@survex.com>
33760         * backends/quartz/quartz_database.cc: Fixes for Sun C++'s fussy
33761           template matching.
33763 Thu Mar 11 12:12:46 GMT 2004  Olly Betts <olly@survex.com>
33765         * include/xapian/enquire.h: Another friend fix for Sun's C++.
33767 Thu Mar 11 01:56:19 GMT 2004  Olly Betts <olly@survex.com>
33769         * include/xapian/query.h: Another fix for Sun's C++.
33771 Tue Mar 09 21:02:08 GMT 2004  Olly Betts <olly@survex.com>
33773         * include/xapian/document.h: string -> std::string.
33775 Tue Mar 09 19:04:48 GMT 2004  Olly Betts <olly@survex.com>
33777         * api/omdocument.cc,common/document.h,include/xapian/document.h,
33778           tests/api_db.cc,tests/api_posdb.cc: Renamed
33779           Xapian::Document::add_term_nopos to Xapian::Document::add_term
33780           (with forwarding wrapper method for compatibility with existing
33781           code).
33783 Sat Mar 06 02:32:58 GMT 2004  Olly Betts <olly@survex.com>
33785         * docs/: Updated the quickstart tutorial and removed the warning
33786           that "this document isn't up to date".
33788 Sat Mar 06 01:56:17 GMT 2004  Olly Betts <olly@survex.com>
33790         * api/omenquire.cc: Another tweak for Sun's C++ compiler.
33792 Sat Mar 06 01:31:29 GMT 2004  Olly Betts <olly@survex.com>
33794         * common/omenquireinternal.h: Tweaked friend class declarations a
33795           bit so Sun's C++ compiler can cope.
33797 Thu Mar 04 23:58:17 GMT 2004  Olly Betts <olly@survex.com>
33799         * PLATFORMS: Updated with results from the tinderbox.
33801 Thu Mar 04 23:29:28 GMT 2004  Olly Betts <olly@survex.com>
33803         * tests/btreetest.cc,tests/quartztest.cc: NetBSD mkdir() doesn't cope
33804           with a trailing / on the path - fixed our code to cope with this.
33806 Wed Mar 03 19:14:09 GMT 2004  Olly Betts <olly@survex.com>
33808         * docs/todo.xml: Updated.
33810 Fri Feb 13 23:56:44 GMT 2004  Olly Betts <olly@survex.com>
33812         * api/omquery.cc,tests/api_nodb.cc: Throw error when an empty query is
33813           used to build in the binary operator Query ctor.  Added regression
33814           test.
33816 Fri Feb 13 15:08:09 GMT 2004  Olly Betts <olly@survex.com>
33818         * HACKING: XAPIAN_DEBUG_TYPES should be XAPIAN_DEBUG_FLAGS.
33820 Sat Feb 07 14:26:54 GMT 2004  Olly Betts <olly@survex.com>
33822         * docs/queryparser.html: Grammar fixes.
33824 Fri Jan 16 02:06:53 GMT 2004  Olly Betts <olly@survex.com>
33826         * backends/quartz/quartz_postlist.cc: Fixed bug flagged up by deldoc4.
33828 Thu Jan 15 01:00:48 GMT 2004  Olly Betts <olly@survex.com>
33830         * backends/quartz/quartz_termlist.cc: Use Xapian::doccount instead of
33831           unsigned int in set_entries().
33833 Thu Jan 15 00:56:47 GMT 2004  Olly Betts <olly@survex.com>
33835         * backends/quartz/btree.cc,backends/quartz/btree.h,
33836           testsuite/btreecheck.cc: Made some static functions into static
33837           member functions of Btree so we can avoid duplicating code in
33838           btreecheck.cc.  Also tweaked compare_keys to use memcmp and
33839           special case when the keys are the same length (each of these
33840           changes gives a very small speed gain).
33842 Thu Jan 15 00:54:47 GMT 2004  Olly Betts <olly@survex.com>
33844         * api/maptermlist.h: Removed a FIXME which already had been fixed.
33845           Removed a couple of asserts from a function which should never be
33846           called (and so had `Assert(false)' anyway).
33848 Mon Jan 12 00:32:37 GMT 2004  Olly Betts <olly@survex.com>
33850         * bin/quartzdump.cc: Backslash escape space and backslash in output
33851           rather than hex encoding them; renamed start-term and end-term to
33852           start-key and end-key; removed rather pointless "Calling next"
33853           message; if there's an error, write it to stderr not stdout, and
33854           exit with return code 1.
33856 Sun Jan 11 03:23:17 GMT 2004  Olly Betts <olly@survex.com>
33858         * backends/quartz/quartz_termlist.cc: When possible, pack the wdf into
33859           the same byte as the reuse length - doing so typically makes the
33860           termlist 14% smaller!  This change is backward compatible.
33862 Sat Jan 10 03:04:22 GMT 2004  Olly Betts <olly@survex.com>
33864         * backends/quartz/quartz_postlist.cc: Fixed bug in new postlist
33865           chunking code.
33867 Sat Jan 10 00:45:04 GMT 2004  Olly Betts <olly@survex.com>
33869         * backends/quartz/quartz_termlist.cc: Removed unused
33870           OLD_TERMLIST_FORMAT code.
33872 Fri Jan 09 21:54:34 GMT 2004  Olly Betts <olly@survex.com>
33874         * backends/quartz/quartz_postlist.cc: Fix incorrect code which just
33875           happens to build and work with GCC 2.95.
33877 Fri Jan 09 14:40:00 GMT 2004  Olly Betts <olly@survex.com>
33879         * backends/quartz/quartz_postlist.cc: Tidied the initial call to
33880           get_chunk() out of the merge loop (gives ~4% speedup!)
33882 Fri Jan 09 01:31:05 GMT 2004  Olly Betts <olly@survex.com>
33884         * backends/quartz/quartz_postlist.cc: Implement chunking of postlists
33885           once again.
33887 Thu Jan 08 21:06:37 GMT 2004  Olly Betts <olly@survex.com>
33889         * backends/quartz/quartz_postlist.cc: Shortcut the very common case
33890           of appending to a posting list (which happens when we're just
33891           adding new documents).  Declare small helper functions as "inline".
33893 Wed Jan 07 23:21:59 GMT 2004  Olly Betts <olly@survex.com>
33895         * backends/quartz/quartz_database.cc: Set threshold for flushing to
33896           a saner value for the value we are now using.
33897         * backends/quartz/: Use freq_deltas to update the stats in the first
33898           chunk of each postlist.
33900 Mon Jan 05 16:00:07 GMT 2004  Olly Betts <olly@survex.com>
33902         * include/xapian/enquire.h: Made the TradWeight constructor explicit.
33903           This is technically an API change as before you could pass a
33904           double where a Xapian::Weight was required - now you must pass
33905           Xapian::TradWeight(2.0) instead of 2.0.  That seems desirable, and
33906           it's unlikely any existing code will be affected.
33908 Mon Jan 05 15:08:26 GMT 2004  Olly Betts <olly@survex.com>
33910         * include/xapian/: Added "explicit" qualifier to internal ctors
33911           which take a single parameter.
33913 Mon Jan 05 15:04:12 GMT 2004  Olly Betts <olly@survex.com>
33915         * include/xapian/base.h: Assigning a normal pointer to a RefCntPtr no
33916           longer creates a temporary RefCntPtr from it.
33918 Thu Dec 25 05:49:03 GMT 2003  Olly Betts <olly@survex.com>
33920         * backends/quartz/quartz_postlist.cc: Changed to merge a batch of
33921           changes into a posting list in one pass.
33923 Thu Dec 25 05:48:09 GMT 2003  Olly Betts <olly@survex.com>
33925         * docs/quartzdesign.html: Some minor improvements.
33927 Thu Dec 25 05:39:57 GMT 2003  Olly Betts <olly@survex.com>
33929         * tests/api_db.cc: Check returned docids are the expected values in a
33930           couple more cases.  Improved wording of a comment.
33932 Thu Dec 25 05:38:43 GMT 2003  Olly Betts <olly@survex.com>
33934         * backends/quartz/quartz_utils.h: Updated explanation of string
33935           encoding.
33937 Thu Dec 25 05:37:36 GMT 2003  Olly Betts <olly@survex.com>
33939         * backends/quartz/quartz_values.cc: Fixed problem with dereferencing
33940           a pointer to the end of a string in debug output.
33942 Sun Dec 21 23:35:49 GMT 2003  Olly Betts <olly@survex.com>
33944         * backends/quartz/quartz_postlist.cc: Refactor recently relocated code
33945           to reduce duplication.
33947 Sun Dec 21 21:44:07 GMT 2003  Olly Betts <olly@survex.com>
33949         * backends/quartz/quartz_postlist.cc: Renamed
33950           skip_and_check_tname_in_key() to check_tname_in_key() as it doesn't
33951           do any sort of skipping!
33953 Sun Dec 21 14:54:49 GMT 2003  Olly Betts <olly@survex.com>
33955         * backends/quartz/quartz_postlist.cc,backends/quartz/quartz_postlist.h,
33956           tests/quartztest.cc: Subsumed QuartzPostList::add_entry and
33957           QuartzPostList::delete_entry into QuartzPostList::merge_changes.
33959 Sun Dec 21 03:21:42 GMT 2003  Olly Betts <olly@survex.com>
33961         * backends/quartz/quartz_database.cc,
33962           backends/quartz/quartz_postlist.cc,
33963           backends/quartz/quartz_postlist.h: Move merging on postlist changes
33964           into QuartzPostList in preparation for an efficient
33965           reimplementation.
33967 Sun Dec 21 01:47:07 GMT 2003  Olly Betts <olly@survex.com>
33969         * backends/quartz/quartz_postlist.h,
33970           backends/quartz/quartz_table_entries.h: Fixed typos and incorrect
33971           comments.
33973 Sat Dec 20 22:11:26 GMT 2003  Olly Betts <olly@survex.com>
33975         * backends/quartz/: Removed several needless inclusions of
33976           quartz_table_entries.h.
33978 Sat Dec 20 16:31:46 GMT 2003  Olly Betts <olly@survex.com>
33980         * backends/quartz/,docs/quartzdesign.html: Removed all the quartz
33981           lexicon code and docs.  It's been disabled for ages, and we've
33982           not missed it.
33984 Sat Dec 20 01:21:47 GMT 2003  Olly Betts <olly@survex.com>
33986         * backends/quartz/quartz_database.h: Added doxygen comments for the
33987           QuartzWritableDatabase members we use to buffer changes.
33989 Sat Dec 20 01:19:10 GMT 2003  Olly Betts <olly@survex.com>
33991         * backends/quartz/quartz_database.cc: Trigger autoflush on
33992           totlen_added + totlen_removed rather than specially tracking the
33993           number of document add/delete/replace operations.
33995 Fri Dec 19 22:51:26 GMT 2003  Olly Betts <olly@survex.com>
33997         * backends/quartz/: Buffer up changes to the postlists and apply them
33998           all at once (at present they're applied inefficiently, but this is
33999           change enables us to apply them with an efficient merge).
34000         * tests/api_db.cc,tests/quartztest.cc: Added a couple of tests, and
34001           commented out some test lines which fail in debug builds.
34003 Sun Dec 14 03:38:55 GMT 2003  Olly Betts <olly@survex.com>
34005         * common/omdebug.cc: Open debug log with flag O_WRONLY so that we can
34006           actually write to it!
34008 Mon Dec 08 01:53:24 GMT 2003  Olly Betts <olly@survex.com>
34010         * HACKING: Update to mention that building from CVS requires
34011           ./configure --enable-maintainer-mode (or use bootstrap).
34013 Mon Dec 01 19:03:00 GMT 2003  Olly Betts <olly@survex.com>
34015         * configure.in: Fixed the "fixed" valgrind test.
34017 Sun Nov 30 23:42:52 GMT 2003  Olly Betts <olly@survex.com>
34019         * configure.in,testsuite/testsuite.cc: Fix test for valgrind - it
34020           wasn't working correctly when valgrind was installed but was too
34021           a version to support VALGRIND_COUNT_ERRORS and VALGRIND_COUNT_LEAKS.
34023 Wed Nov 26 16:31:19 GMT 2003  Olly Betts <olly@survex.com>
34025         * Makefile.am,extra/Makefile.am: Updated libtool -version-info
34026           parameters for 0.7.5.
34028 Wed Nov 26 15:32:45 GMT 2003  Olly Betts <olly@survex.com>
34030         * NEWS,PLATFORMS,configure.in: Version 0.7.5.
34032 Wed Nov 26 15:31:56 GMT 2003  Olly Betts <olly@survex.com>
34034         * extra/queryparser.yy: Special case stemming language "none".
34036 Tue Nov 25 04:37:50 GMT 2003  Olly Betts <olly@survex.com>
34038         * api/ompositionlistiterator.cc,api/ompostlistiterator.cc,
34039           include/xapian/positioniterator.h,include/xapian/postingiterator.h,
34040           tests/api_db.cc: Added missing default ctors for PostingIterator and
34041           PositionIterator classes; fixed PositionIterator assignment operator.
34043 Tue Nov 25 03:40:11 GMT 2003  Olly Betts <olly@survex.com>
34045         * tests/btreetest.cc: Fixed 2 compiler warnings.
34047 Tue Nov 25 02:47:16 GMT 2003  Olly Betts <olly@survex.com>
34049         * common/,include/xapian/: Fixed incorrect doxygen comments which
34050           resulted in some missing text in the collated API and internal
34051           classes documentation.
34053 Fri Nov 21 03:23:57 GMT 2003  Olly Betts <olly@survex.com>
34055         * Makefile.am,include/xapian/termiterator.h,api/omtermlistiterator.cc:
34056           TermIterator::TermIterator() fix which actually works!
34058 Fri Nov 21 01:14:23 GMT 2003  Olly Betts <olly@survex.com>
34060         * HACKING,configure.in,docs/Makefile.am,extra/Makefile.am: Change to
34061           using AM_MAINTAINER_MODE.  If you're doing development work on
34062           Xapian, you should configure with "--enable-maintainer-mode" and
34063           ideally use GNU make.
34065 Fri Nov 21 01:13:25 GMT 2003  Olly Betts <olly@survex.com>
34067         * include/xapian/termiterator.h,tests/api_nodb.cc: Added TermIterator
34068           default ctor which had disappeared somehow.  Added regression test.
34070 Thu Nov 20 03:19:37 GMT 2003  Olly Betts <olly@survex.com>
34072         * configure.in: Fixed test for fdatasync to work (I suspect a change
34073           in a recent autoconf broke it as it relied on autoconf internal
34074           naming).
34076 Tue Nov 18 17:53:29 GMT 2003  Olly Betts <olly@survex.com>
34078         * extra/Makefile.am: Tweaked workaround for FreeBSD make in VPATH
34079           builds.
34081 Tue Nov 18 17:53:01 GMT 2003  Olly Betts <olly@survex.com>
34083         * extra/queryparsertest.cc: Added another testcase.
34085 Tue Nov 18 17:37:20 GMT 2003  Olly Betts <olly@survex.com>
34087         * docs/: Added first cut of documentation for Xapian::QueryParser
34088           query syntax.
34089         * docs/scalability.html: Fixed typo.
34091 Fri Oct 31 18:17:13 GMT 2003  Olly Betts <olly@survex.com>
34093         * extra/queryparser.yy,extra/queryparsertest.cc: Added support for
34094           term prefixes on phrases and expressions (e.g. author:(twain OR poe)
34095           subject:"space flight").
34097 Tue Oct 28 15:03:01 GMT 2003  Olly Betts <olly@survex.com>
34099         * api/omenquire.cc: Added FIXME comment.
34101 Tue Oct 28 15:01:14 GMT 2003  Olly Betts <olly@survex.com>
34103         * docs/todo.xml: Removed Java from list of language bindings we'd
34104           like to support, as we should have up-to-date Java bindings soon.
34106 Sun Oct 26 20:18:24 GMT 2003  Olly Betts <olly@survex.com>
34108         * bin/quartzcompact.cc: Fix the name that the meta file gets copied
34109           to (was /path/to/dbdirmeta rather than /path/to/dbdir/meta).
34111 Tue Oct 21 22:26:51 BST 2003  Olly Betts <olly@survex.com>
34113         * extra/Makefile.am: Backed out previous change - the original rule
34114           does work, but the build machine had a generated file which stopped
34115           the symlink being generated.
34117 Tue Oct 21 22:14:22 BST 2003  Olly Betts <olly@survex.com>
34119         * extra/Makefile.am: Tweaked rule to symlink queryparser.cc.
34121 Tue Oct 21 17:31:10 BST 2003  Olly Betts <olly@survex.com>
34123         * extra/Makefile.am: Added rule to symlink queryparser.cc from source
34124           tree to build tree - otherwise FreeBSD's make insists on
34125           regenerating it...
34127 Wed Oct 08 14:04:44 BST 2003  Olly Betts <olly@survex.com>
34129         * backends/quartz/.cvsignore,tests/Makefile.am,testsuite/.cvsignore:
34130           Updated to reflect move of libbtreecheck.la from backends/quartz
34131           to testsuite.
34133 Wed Oct 08 13:22:08 BST 2003  Olly Betts <olly@survex.com>
34135         * backends/quartz/btree.cc: Don't pass mode argument to open when we
34136           aren't specifying O_CREAT.
34138 Thu Oct 02 15:29:38 BST 2003  Olly Betts <olly@survex.com>
34140         * NEWS: Another entry for omega for 0.7.4.
34142 Thu Oct 02 14:57:25 BST 2003  Olly Betts <olly@survex.com>
34144         * configure.in,extra/Makefile.am: Version 0.7.4.
34146 Thu Oct 02 14:56:36 BST 2003  Olly Betts <olly@survex.com>
34148         * HACKING: Improved wording in a few places.
34150 Thu Oct 02 14:39:49 BST 2003  Olly Betts <olly@survex.com>
34152         * NEWS: Updated.
34154 Thu Oct 02 13:35:46 BST 2003  Olly Betts <olly@survex.com>
34156         * xapian.spec.in: Don't hardcode the shared library versioning info.
34158 Wed Oct 01 13:51:15 BST 2003  Olly Betts <olly@survex.com>
34160         * PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ doesn't actually
34161           pass "make check" (I forgot the tinderbox builds omega before "make
34162           check").
34164 Tue Sep 30 21:39:20 BST 2003  Olly Betts <olly@survex.com>
34166         * configure.in: Another stab at fixing the test for -lsocket.
34168 Tue Sep 30 18:29:31 BST 2003  Olly Betts <olly@survex.com>
34170         * configure.in: Quote arguments to test in a couple of places.
34172 Tue Sep 30 11:20:09 BST 2003  Olly Betts <olly@survex.com>
34174         * configure.in: Fixed test for -lsocket.
34176 Tue Sep 30 10:17:09 BST 2003  Olly Betts <olly@survex.com>
34178         * PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ builds and passes
34179           "make check" (but Omega fails to build).
34181 Mon Sep 29 00:41:19 BST 2003  Olly Betts <olly@survex.com>
34183         * configure.in: Fixed dependency libs for libxapian.
34185 Sun Sep 28 23:55:49 BST 2003  Olly Betts <olly@survex.com>
34187         * Makefile.am,backends/quartz/Makefile.am,
34188           backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h,
34189           bin/Makefile.am,testsuite/Makefile.am,testsuite/btreecheck.cc,
34190           testsuite/btreecheck.h: libbtreecheck.la now has an explicit
34191           dependency on libxapian.la.
34193 Sun Sep 28 17:29:55 BST 2003  Olly Betts <olly@survex.com>
34195         * Makefile.am,configure.in: Tell libtool about any libraries which
34196           libxapian needs to depend on.
34198 Fri Sep 26 09:39:29 BST 2003  Olly Betts <olly@survex.com>
34200         * bin/Makefile.am: Swap order of libbtreecheck.la and libxapian.la
34201           when linking quartzcheck to see if that gets it to work with
34202           Sun's CC.
34204 Thu Sep 25 17:25:17 BST 2003  Olly Betts <olly@survex.com>
34206         * xapian-config.in: Fixed stupid mistake in previous check-in.
34208 Thu Sep 25 16:50:00 BST 2003  Olly Betts <olly@survex.com>
34210         * xapian-config.in: Link with libxapianqueryparser before libxapian,
34211           since that's the dependency order.
34213 Thu Sep 25 16:43:20 BST 2003  Olly Betts <olly@survex.com>
34215         * include/om/om.h: Updated comment about why we `#include <iostream>'.
34217 Thu Sep 25 13:13:37 BST 2003  Olly Betts <olly@survex.com>
34219         * api/omqueryinternal.cc,backends/database.cc,common/omdebug.cc,
34220           common/omstringstream.h,include/xapian/output.h: Removed or replaced
34221           uses of <iostream> and <iosfwd> - we don't need or want the library
34222           to pull in cin and friends.
34224 Thu Sep 25 13:12:31 BST 2003  Olly Betts <olly@survex.com>
34226         * Makefile.am: Improved several comments.
34228 Thu Sep 25 11:57:03 BST 2003  Olly Betts <olly@survex.com>
34230         * api/omqueryinternal.cc: Removed `#include <iostream>' left over from
34231           debugging; changed to `using namespace std;'.
34233 Mon Sep 15 00:41:10 BST 2003  Olly Betts <olly@survex.com>
34235         * extra/queryparser.yy: Fixed to build with Sun's C++ compiler.
34237 Thu Sep 11 03:35:29 BST 2003  Olly Betts <olly@survex.com>
34239         * dummy.c,dummy.cc,Makefile.am: Change the default file to be C++ so
34240           that automake tells libtool that this is a C++ library.
34241         * Makefile.am: Pass -no-undefined to libtool so that it will build
34242           a DLL on MS Windows.
34244 Wed Sep 10 02:53:46 BST 2003  Olly Betts <olly@survex.com>
34246         * docs/scalability.html: Fixed oops (32GB should be 32TB);  Added
34247           note about Linux 2.4 and ext2 filesize limits.
34249 Tue Sep 09 03:36:05 BST 2003  Olly Betts <olly@survex.com>
34251         * backends/quartz/quartz_database.cc: don't start the document's
34252           TermIterator from scratch on every iteration in replace_document().
34253           Should be a small performance win.
34255 Sun Sep 07 22:17:27 BST 2003  Olly Betts <olly@survex.com>
34257         * configure.in: Fixed check for socketpair - we were automatically
34258           disabling the remote backend on platforms where socketpair is
34259           in libsocket (such as Solaris).
34261 Sun Sep 07 19:56:57 BST 2003  Olly Betts <olly@survex.com>
34263         * PLATFORMS: Added success report for cygwin from Eric B. Ridge.
34265 Sun Sep 07 03:53:48 BST 2003  Olly Betts <olly@survex.com>
34267         * testsuite/testsuite.cc: Also need to rerun test if it "probably
34268           leaked".
34270 Sun Sep 07 03:51:37 BST 2003  Olly Betts <olly@survex.com>
34272         * tests/api_db.cc: Use x & (x - 1) trick to check for x being a power
34273           of 2, rather than an elaborate loop with shifting; use Xapian::docid
34274           rather than "int" and "unsigned int".
34276 Sun Sep 07 02:24:06 BST 2003  Olly Betts <olly@survex.com>
34278         * api/omenquire.cc: Fixed small memory leak if
34279           Xapian::Enquire::set_query() is called more than once.
34281 Sun Sep 07 02:12:47 BST 2003  Olly Betts <olly@survex.com>
34283         * common/omenquireinternal.h,include/xapian/enquire.h: Fixed
34284           Xapian::ESet to have reference counted internals
34285         * Makefile.am: bumped libxapian version-info to 1:0:0 because of this.
34287 Sun Sep 07 02:09:50 BST 2003  Olly Betts <olly@survex.com>
34289         * testsuite/testsuite.cc: Delete any buffered test output before
34290           asking valgrind to check for leaks, as otherwise the buffered
34291           output may be reported as a leak; also fixed |= to != in several
34292           places - a cosmetic bug which lead to extra newlines after test
34293           output.
34295 Sun Sep 07 00:09:32 BST 2003  Olly Betts <olly@survex.com>
34297         * testsuite/testsuite.cc: Actually open temporary file for valgrind
34298           to log to.
34300 Sat Sep 06 20:50:58 BST 2003  Olly Betts <olly@survex.com>
34302         * configure.in,testsuite/testsuite.cc: Fixed up detection of valgrind
34303           and testsuite code to use it.
34305 Sat Sep 06 20:48:17 BST 2003  Olly Betts <olly@survex.com>
34307         * tests/btreetest.cc: Reinstated non-superfluous `/'s which I had
34308           overeagerly removed!
34310 Sat Sep 06 17:28:00 BST 2003  Olly Betts <olly@survex.com>
34312         * matcher/Makefile.am: Ship networkmatch.cc even if "make dist" is run
34313           from a tree with the remote backend disabled.
34315 Thu Aug 28 00:01:22 BST 2003  Olly Betts <olly@survex.com>
34317         * tests/btreetest.cc: Removed superfluous `/'s from constructed paths.
34319 Fri Aug 15 15:12:24 BST 2003  Olly Betts <olly@survex.com>
34321         * PLATFORMS: Updated with current testsuite results for mingw build.
34323 Fri Aug 15 15:10:59 BST 2003  Olly Betts <olly@survex.com>
34325         * backends/quartz/btree.cc: Use O_BINARY for database I/O if it
34326           exists.
34328 Fri Aug 15 15:10:30 BST 2003  Olly Betts <olly@survex.com>
34330         * common/utils.h: mkdir() only takes one argument on mingw.
34332 Fri Aug 15 01:26:22 BST 2003  Olly Betts <olly@survex.com>
34334         * common/utils.h,testsuite/backendmanager.cc: Touch file using
34335           open() rather than system().
34337 Fri Aug 15 01:06:06 BST 2003  Olly Betts <olly@survex.com>
34339         * common/utils.h: Fixed parameter name of system from "filename" to
34340           "command" (cosmetic change).
34342 Thu Aug 14 22:31:23 BST 2003  Olly Betts <olly@survex.com>
34344         * net/progclient.cc: Tidied a little.
34346 Tue Aug 12 12:50:19 BST 2003  Olly Betts <olly@survex.com>
34348         * backends/quartz/quartz_database.cc: Pass 0 for the lexicon/postlist
34349           table when creating a termlist just to find the doc length.
34351 Tue Aug 12 02:08:50 BST 2003  Olly Betts <olly@survex.com>
34353         * api/maptermlist.h,api/omdocument.cc,common/documentterm.h:
34354           Removed unused OmDocumentTerm::termfreq member variable.
34356 Tue Aug 12 00:53:02 BST 2003  Olly Betts <olly@survex.com>
34358         * api/omdocument.cc,common/documentterm.h: OmDocumentTerm ctor now
34359           takes wdf, and replaced set_wdf() with inc_wdf() and dec_wdf().
34361 Mon Aug 11 16:11:26 BST 2003  Olly Betts <olly@survex.com>
34363         * backends/quartz/quartz_table_entries.cc: Removed rather unnecessary
34364           use of const_cast.
34366 Mon Aug 11 16:11:05 BST 2003  Olly Betts <olly@survex.com>
34368         * backends/quartz/quartz_table.cc: Removed unused variable.
34370 Mon Aug 11 16:09:57 BST 2003  Olly Betts <olly@survex.com>
34372         * backends/quartz/quartz_postlist.cc: Fixed typo in comment.
34374 Mon Aug 11 15:51:20 BST 2003  Olly Betts <olly@survex.com>
34376         * tests/quartztest.cc: adddoc2 now checks that there weren't any extra
34377           values created.
34379 Mon Aug 11 12:55:49 BST 2003  Olly Betts <olly@survex.com>
34381         * configure.in: Sorted out tests for gethostbyname and gethostbyaddr
34382           using standard autoconf macros.
34384 Mon Aug 11 12:05:13 BST 2003  Olly Betts <olly@survex.com>
34386         * common/match.h,matcher/: Removed unused open_document() method from
34387           SubMatch and derived classes; calls made by the matcher to
34388           Document::Internal::open_document() now use the lazy flag provided
34389           for precisely this purpose, but apparently never used - this should
34390           give quite a speed boost to any matcher options which use values
34391           (e.g. sort, collapse).
34393 Sun Aug 10 02:25:59 BST 2003  Olly Betts <olly@survex.com>
34395         * PLATFORMS: Out of curiosity, I tried to build with a Linux->DJGPP
34396           cross-compiler I had to hand.  It built (just had to disable the
34397           remote backend if socketpair isn't found and add the workaround for
34398           not having snprintf).
34400 Sun Aug 10 01:38:17 BST 2003  Olly Betts <olly@survex.com>
34402         * common/utils.cc: Fixed to compile if snprintf isn't available.
34404 Sun Aug 10 01:37:44 BST 2003  Olly Betts <olly@survex.com>
34406         * backends/quartz/btree.cc: Fixed "initialisation reordered" warning.
34408 Sun Aug 10 01:26:58 BST 2003  Olly Betts <olly@survex.com>
34410         * acinclude.m4: Updated in line with previous change.
34412 Sun Aug 10 01:00:08 BST 2003  Olly Betts <olly@survex.com>
34414         * configure.in: If fork is found, but socketpair isn't, automatically
34415           disable the remote backend rather than configure dying with an
34416           error.
34417         * autoconf/: Removed various unused autoconf macros.
34419 Sat Aug 09 23:57:44 BST 2003  Olly Betts <olly@survex.com>
34421         * backends/quartz/btree.h: Made "overwritten" protected.
34423 Sat Aug 09 23:45:26 BST 2003  Olly Betts <olly@survex.com>
34425         * docs/quartzdesign.html: Wrapped an overlong line.
34427 Sat Aug 09 23:31:30 BST 2003  Olly Betts <olly@survex.com>
34429         * backends/quartz/btree.cc,backends/quartz/btree.h,
34430           backends/quartz/quartz_table.cc,docs/quartzdesign.html:
34431           Improved class Btree's encapsulation.
34433 Sat Aug 09 22:30:13 BST 2003  Olly Betts <olly@survex.com>
34435         * NEWS: Fixed a few typos.
34437 Sat Aug 09 22:29:52 BST 2003  Olly Betts <olly@survex.com>
34439         * PLATFORMS: Updated with results from the Tinderbox.
34441 Sat Aug 09 22:19:12 BST 2003  Fabrice Colin
34443         * xapian.spec.in: Updated RPM packaging to reflect changes in 0.7.3.
34445 Fri Aug 08 01:38:40 BST 2003  Olly Betts <olly@survex.com>
34447         * Makefile.am,configure.in,extra/Makefile.am: Version 0.7.3.
34449 Fri Aug 08 01:35:04 BST 2003  Olly Betts <olly@survex.com>
34451         * NEWS: Updated.
34453 Fri Aug 08 01:34:29 BST 2003  Olly Betts <olly@survex.com>
34455         * PLATFORMS: Updated with more tinderbox results.
34457 Wed Aug 06 16:27:34 BST 2003  Olly Betts <olly@survex.com>
34459         * HACKING: Noted that libtool 1.5 is the first version to actually
34460           support linking C++ libraries properly.
34462 Wed Aug 06 16:25:15 BST 2003  Olly Betts <olly@survex.com>
34464         * api/omenquire.cc,net/socketcommon.cc,common/omenquireinternal.h:
34465           Moved rset serialisation into a method of RSet::Internal, so
34466           omrset_to_string() is now just glue code.  This eliminates the
34467           need for it to be a friend of RSet::Internal which Sun's C++
34468           compiler didn't seem to be able to cope with.
34470 Wed Aug 06 01:57:11 BST 2003  Olly Betts <olly@survex.com>
34472         * api/omenquire.cc: Applied patch from Olivier Galibert to fix
34473           MSetIterator::get_document() when get_mset() was called with
34474           first != 0.
34475         * tests/api_db.cc: Added regression test (msetiterator3).
34477 Mon Aug 04 12:40:25 BST 2003  Olly Betts <olly@survex.com>
34479         * languages/Makefile.am: Fixed compilation for compilers other than
34480           GCC.
34482 Wed Jul 30 17:03:14 BST 2003  Olly Betts <olly@survex.com>
34484         * common/getopt.h: Another try - the previous one failed on FreeBSD.
34486 Wed Jul 30 15:07:58 BST 2003  Olly Betts <olly@survex.com>
34488         * common/getopt.h: Another iteration of the getopt C++ prototype fix
34489           as the previous one failed on Solaris.
34491 Wed Jul 30 02:38:47 BST 2003  Olly Betts <olly@survex.com>
34493         * testsuite/backendmanager.cc: Fixed breakage caused by remotetest
34494           cleanup.
34496 Tue Jul 29 13:22:20 BST 2003  Olly Betts <olly@survex.com>
34498         * tests/remotetest.cc: Cleaned up uses of
34499           BackendManager::get_database() to pass a string rather than a vector
34500           with one string in.
34502 Tue Jul 29 11:58:21 BST 2003  Olly Betts <olly@survex.com>
34504         * testsuite/testutils.cc: Added output of const vector<unsigned int>
34505           for platforms which use our internal stringstream implementation.
34507 Tue Jul 29 11:42:54 BST 2003  Olly Betts <olly@survex.com>
34509         * PLATFORMS: Updated with results from the tinderbox.
34511 Tue Jul 29 01:21:53 BST 2003  Olly Betts <olly@survex.com>
34513         * testsuite/testsuite.cc,testsuite/testsuite.h: Only use \r in test
34514           output if the output is a tty.
34516 Mon Jul 28 23:56:10 BST 2003  Olly Betts <olly@survex.com>
34518         * xapian-config.in: Fixed fix of --cxxflags for uninstalled VPATH
34519           builds.
34521 Mon Jul 28 23:37:15 BST 2003  Olly Betts <olly@survex.com>
34523         * testsuite/backendmanager.cc: Increased default timeout used by
34524           tests running on the remote backend from 10 seconds to 5 minutes
34525           to avoid tests failing just because the machine running them is
34526           slow and/or busy.
34528 Mon Jul 28 15:41:12 BST 2003  Olly Betts <olly@survex.com>
34530         * testsuite/testutils.h: Fixed check for broken exception handling
34531           - we were getting "Xapian::" prefixed to one version and not on the
34532           other.
34534 Mon Jul 28 15:34:54 BST 2003  Olly Betts <olly@survex.com>
34536         * tests/runtest.in: Set srcdir if it isn't already to make it easy
34537           to manually run test programs from a VPATH build.
34539 Mon Jul 28 10:38:04 BST 2003  Olly Betts <olly@survex.com>
34541         * xapian-config.in: Fixed --cxxflags for uninstalled VPATH builds.
34543 Mon Jul 28 10:37:17 BST 2003  Olly Betts <olly@survex.com>
34545         * PLATFORMS: Updated FreeBSD success report.
34547 Sun Jul 27 16:01:25 BST 2003  Olly Betts <olly@survex.com>
34549         * configure.in: Explicitly remove include/xapian/version.h from
34550           APIDOC_SRC to avoid us trying to run doxygen unnecessarily.
34552 Sun Jul 27 14:31:36 BST 2003  Olly Betts <olly@survex.com>
34554         * docs/todo.xml: Assorted updates.
34556 Sun Jul 27 13:02:36 BST 2003  Olly Betts <olly@survex.com>
34558         * extra/.cvsignore: We still create libomqueryparser.la for backward
34559           compatibility.
34561 Sun Jul 27 04:56:40 BST 2003  Olly Betts <olly@survex.com>
34563         * xapian-config.in,m4/xapian.m4: Added --from-xo-lib-xapian option
34564           to xapian-config for use by XO_LIB_XAPIAN to allow us to give a
34565           more helpful error message if asked to link an uninstalled
34566           libxapian.
34568 Sun Jul 27 04:46:48 BST 2003  Olly Betts <olly@survex.com>
34570         * xapian-config.in: Fixed --cxxflags in non-installed case.
34571           Tidied up --help output and error messages.
34573 Sun Jul 27 01:40:39 BST 2003  Olly Betts <olly@survex.com>
34575         * tests/api_db.cc: Check termfreq in allterms4.
34577 Sun Jul 27 01:39:57 BST 2003  Olly Betts <olly@survex.com>
34579         * extra/queryparsertest.cc: Fixed for relocated queryparser.h.
34581 Sun Jul 27 00:59:56 BST 2003  Olly Betts <olly@survex.com>
34583         * .cvsignore,backends/quartz/.cvsignore,extra/.cvsignore: Updated.
34585 Sun Jul 27 00:19:11 BST 2003  Olly Betts <olly@survex.com>
34587         * tests/Makefile.am: Oops, failed to remove btreecheck.cc reference
34588           in previous check-in.
34590 Sat Jul 26 23:36:01 BST 2003  Olly Betts <olly@survex.com>
34592         * backends/quartz/Makefile.am,bin/Makefile.am,tests/Makefile.am:
34593           Hopefully fixed "make dist" in VPATH builds.
34595 Sat Jul 26 22:58:27 BST 2003  Olly Betts <olly@survex.com>
34597         * backends/quartz/Makefile.am: Need to distribute btreecheck.cc.
34599 Sat Jul 26 20:05:47 BST 2003  Olly Betts <olly@survex.com>
34601         * xapian-config.in,extra/Makefile.am,extra/queryparser.h,
34602           extra/queryparser.yy,extra/xapian/queryparser.h: Sorted out
34603           xapian-config so it handles using QueryParser too.
34605 Sat Jul 26 19:03:04 BST 2003  Olly Betts <olly@survex.com>
34607         * xapian-config.in: Updated logic in --libs and --cxxflags in line
34608           with recent change in --ltlibs.
34610 Sat Jul 26 18:31:11 BST 2003  Olly Betts <olly@survex.com>
34612         * xapian-config.in: Reworked logic for finding libxapian.la in
34613           --ltlibs - it may not yet exist in the non-installed case.
34614         * m4/xapian.m4: Don't pass --libs when checking if xapian-config
34615           works as it will fail in the non-installed case.
34617 Sat Jul 26 01:25:46 BST 2003  Olly Betts <olly@survex.com>
34619         * NEWS: Updated.
34621 Fri Jul 25 10:20:18 BST 2003  Olly Betts <olly@survex.com>
34623         * NEWS: Updated in preparation for 0.7.3 release.
34625 Thu Jul 24 23:20:14 BST 2003  Olly Betts <olly@survex.com>
34627         * backends/quartz/quartz_alltermslist.cc,
34628           backends/quartz/quartz_alltermslist.h,tests/api_db.cc:
34629           Fixed allterms TermIterator to not give duplicate terms with a
34630           quartz database when a posting list is chunked; added regression
34631           test (allterms4).
34633 Mon Jul 21 15:06:59 BST 2003  Richard Boulton <richard@tartarus.org>
34635         * include/xapian/enquire.h: Fix incorrect documentation comment
34636           for Enquire::set_set_forward().  (Looked like a cut&paste error)
34638 Mon Jul 21 01:10:55 BST 2003  Olly Betts <olly@survex.com>
34640         * docs/install.html,m4/xapian.m4: Added XO_LIB_XAPIAN to replace
34641           OM_PATH_XAPIAN.  XO_LIB_XAPIAN will automagically enable use of
34642           "xapian-config --ltlibs" if A[CM]_PROG_LIBTOOL is used in
34643           configure.in.
34645 Sun Jul 20 16:00:43 BST 2003  Olly Betts <olly@survex.com>
34647         * .cvsignore,Makefile.am,configure.in,xapian-config.in,
34648           xapian-config.nodep.in: Reworked xapian-config so that it
34649           now supports linking with libtool - using libtool means that the
34650           run-time library path is set and that you can now link with an
34651           uninstalled libxapian.  Also xapian-config will now work
34652           once configure is run, rather than only after "make all".
34654 Thu Jul 17 01:42:47 BST 2003  Olly Betts <olly@survex.com>
34656         * backends/quartz/bcursor.cc,backends/quartz/btree.cc: Check for
34657           EINTR when reading or writing blocks and retry the operation.
34659 Thu Jul 17 00:56:35 BST 2003  Olly Betts <olly@survex.com>
34661         * COPYING: Updated FSF address, and reinstated missing section: "How
34662           to Apply These Terms to Your New Programs"
34664 Thu Jul 17 00:48:40 BST 2003  Olly Betts <olly@survex.com>
34666         * HACKING,bootstrap: Removed bootstrap in favour of top-level
34667           bootstrap.
34669 Mon Jul 14 23:36:14 BST 2003  Olly Betts <olly@survex.com>
34671         * PLATFORMS: Updated some linux results: RH7.3 on x86, and Debian on
34672           alpha and arm.
34674 Mon Jul 14 23:33:17 BST 2003  Olly Betts <olly@survex.com>
34676         * configure.in,Makefile.am,extra/Makefile.am: Added versioning
34677           information to libxapian and libomqueryparser.
34679 Mon Jul 14 23:32:15 BST 2003  Olly Betts <olly@survex.com>
34681         * bin/quartzdump.cc,testsuite/testsuite.cc: Added long option support
34682           to quartzdump, and to the testsuite programs.
34684 Mon Jul 14 22:45:53 BST 2003  Olly Betts <olly@survex.com>
34686         * tests/internaltest.cc: Changed test exception1 to actually test
34687           something (hopefully what was originally intended!)
34689 Mon Jul 14 17:15:28 BST 2003  Olly Betts <olly@survex.com>
34691         * common/getopt.h: #include <stdlib.h> before defining getopt as a
34692           macro - hopefully that'll avoid problems with clobbering prototypes
34693           of getopt() in system headers.
34695 Sat Jul 12 09:15:26 BST 2003  Olly Betts <olly@survex.com>
34697         * bin/quartzcompact.cc: Need stdio.h for rename().
34699 Sat Jul 12 01:11:54 BST 2003  Olly Betts <olly@survex.com>
34701         * HACKING: Noted another reason why libtool 1.5 is needed.
34703 Sat Jul 12 01:11:08 BST 2003  Olly Betts <olly@survex.com>
34705         * docs/mkdoc.pl: Don't choke on a comment at the end of the
34706           DIST_SUBDIRS line in a Makefile.am.
34708 Fri Jul 11 22:00:36 BST 2003  Olly Betts <olly@survex.com>
34710         * HACKING: Added note about additional tools needed for building a
34711           distribution.
34713 Fri Jul 11 15:13:08 BST 2003  Olly Betts <olly@survex.com>
34715         * NEWS,PLATFORMS,configure.in: Version 0.7.2.
34717 Fri Jul 11 12:36:18 BST 2003  Olly Betts <olly@survex.com>
34719         * NEWS: Updated in preparation for 0.7.2.
34721 Fri Jul 11 12:12:40 BST 2003  Olly Betts <olly@survex.com>
34723         * configure.in: Fixed test for snprintf.
34725 Fri Jul 11 09:37:14 BST 2003  Olly Betts <olly@survex.com>
34727         * testsuite/testsuite.cc: Fixed dereference of a NULL pointer which
34728           was happening when a test threw an unexpected exception.
34730 Fri Jul 11 09:31:40 BST 2003  Olly Betts <olly@survex.com>
34732         * testsuite/backendmanager.cc: Backed out incorrect hunk of previous
34733           patch which was causing test failures.
34735 Fri Jul 11 01:48:21 BST 2003  Olly Betts <olly@survex.com>
34737         * backends/quartz/quartz_table_manager.cc,tests/quartztest.cc,
34738           testsuite/backendmanager.cc: Tidying up around directory creation.
34740 Fri Jul 11 00:57:12 BST 2003  Olly Betts <olly@survex.com>
34742         * include/xapian/database.h: Document that the directory is created.
34744 Fri Jul 11 00:53:59 BST 2003  Olly Betts <olly@survex.com>
34746         * backends/quartz/quartz_table_manager.cc: When asked to create a
34747           quartz database, try to create the directory if it doesn't already
34748           exist.  Then we don't have to do it in every single Xapian program
34749           which wants to create a database...
34751 Fri Jul 11 00:36:00 BST 2003  Olly Betts <olly@survex.com>
34753         * common/getopt.h: Removed space between \ and newline.
34755 Fri Jul 11 00:32:40 BST 2003  Olly Betts <olly@survex.com>
34757         * PLATFORMS: Added MacOS X 10.2 success report.
34759 Thu Jul 10 20:05:58 BST 2003  Olly Betts <olly@survex.com>
34761         * common/getopt.h: Fixed to work better with C++ compilers on
34762           non-glibc platforms.
34764 Thu Jul 10 19:21:00 BST 2003  Olly Betts <olly@survex.com>
34766         * backends/quartz/btree.cc: Modified setting of _XOPEN_SOURCE to
34767           actually work!
34769 Thu Jul 10 19:19:30 BST 2003  Olly Betts <olly@survex.com>
34771         * backends/quartz/btree.cc: Defined _XOPEN_SOURCE=500 for GLIBC
34772           so we get pread() and pwrite().
34774 Thu Jul 10 00:28:25 BST 2003  Olly Betts <olly@survex.com>
34776         * HACKING,Makefile.am,configure.in,bindings/.cvsignore,
34777           bindings/Makefile.am,bindings/dir_contents,bindings/guile/.cvsignore,
34778           bindings/guile/Makefile.am,bindings/php4/.cvsignore,
34779           bindings/php4/ABOUT,bindings/php4/Makefile.am,bindings/python/,
34780           bindings/swig/,bindings/tcl8/.cvsignore,bindings/tcl8/Makefile.am,
34781           docs/todo.xml: Removed bindings - they'll shortly reappear in a
34782           separate module named xapian-bindings.
34784 Thu Jul 10 00:03:04 BST 2003  Olly Betts <olly@survex.com>
34786         * bindings/swig/om_util_perl5.i: Removed.
34788 Wed Jul 09 15:35:56 BST 2003  Olly Betts <olly@survex.com>
34790         * bindings/guile/Makefile.am,bindings/php4/Makefile.am,
34791           bindings/python/Makefile.am,bindings/swig/,
34792           bindings/tcl8/Makefile.am: Removed omtypes.i and merged omstem.i
34793           into xapian.i; added forward declaration for upwrapped classes
34794           to xapian.i.
34796 Wed Jul 09 15:34:11 BST 2003  Olly Betts <olly@survex.com>
34798         * bindings/java/,bindings/java/com/muscat/om/,bindings/java/native/:
34799           Removed old Java bindings - we'll do them using SWIG instead.
34801 Wed Jul 09 14:51:51 BST 2003  Olly Betts <olly@survex.com>
34803         * bindings/php4/Makefile.am,bindings/php4/xapian/.cvsignore: More
34804           work on the php4 bindings.
34806 Wed Jul 09 03:00:17 BST 2003  Olly Betts <olly@survex.com>
34808         * bindings/guile/Makefile.am,bindings/python/Makefile.am,
34809           bindings/tcl8/Makefile.am: Worked towards getting guile and tcl8
34810           bindings up-to-date.
34811         * bindings/php4/.cvsignore: Ignore the whole xapian subdirectory.
34813 Wed Jul 09 02:37:12 BST 2003  Olly Betts <olly@survex.com>
34815         * bindings/perl5/: Removed remaining files.
34817 Wed Jul 09 02:30:55 BST 2003  Olly Betts <olly@survex.com>
34819         * configure.in,bindings/Makefile.am,bindings/php4/Makefile.am:
34820           Working towards getting the php4 bindings functional again.
34822 Wed Jul 09 01:27:39 BST 2003  Olly Betts <olly@survex.com>
34824         * bindings/swig/om_util_php4.i: om_termname -> std::string.
34826 Wed Jul 09 01:25:11 BST 2003  Olly Betts <olly@survex.com>
34828         * docs/overview.html,include/xapian/base.h,include/xapian/database.h:
34829           Improvements to doxygen-generated documentation.
34831 Wed Jul 09 01:23:55 BST 2003  Olly Betts <olly@survex.com>
34833         * configure.in,docs/todo.xml: Added check for SWIG version (require
34834           at least 1.3.14).
34836 Tue Jul  8 20:59:08 2003  James Aylett  <james@tartarus.org>
34838         * common/utils.h: missing #include <ctype.h>
34840 Tue Jul  8 18:06:23 2003  James Aylett  <james@tartarus.org>
34842         * bindings/swig/xapian.i: over-enthusiastic automatic
34843           conversion of termname to std::string
34845 Tue Jul 08 17:45:16 BST 2003  Olly Betts <olly@survex.com>
34847         * common/utils.h: Improved mingw implementation of rmdir().
34849 Tue Jul 08 17:43:21 BST 2003  Olly Betts <olly@survex.com>
34851         * NEWS,PLATFORMS,configure.in: Version 0.7.1.
34853 Sun Jul 06 21:35:08 BST 2003  Olly Betts <olly@survex.com>
34855         * backends/quartz/btree.cc: Minor tweak.
34857 Sun Jul 06 21:34:30 BST 2003  Olly Betts <olly@survex.com>
34859         * common/utils.h: Compile fixes for mingw.
34861 Sun Jul 06 17:59:26 BST 2003  Olly Betts <olly@survex.com>
34863         * docs/scalability.html: Fixed typo.
34865 Sun Jul 06 13:02:09 BST 2003  Olly Betts <olly@survex.com>
34867         * docs/scalability.html: Fixed typo.
34869 Sun Jul 06 12:56:08 BST 2003  Olly Betts <olly@survex.com>
34871         * docs/Makefile.am,docs/index.html,docs/scalability.html: Added new
34872           document on Xapian's scalability.
34874 Sun Jul 06 12:15:34 BST 2003  Olly Betts <olly@survex.com>
34876         * backends/quartz/: Made quartz block count unsigned, which should
34877           nearly double the size of database for a given block size.
34879 Sun Jul 06 11:47:46 BST 2003  Olly Betts <olly@survex.com>
34881         * backends/quartz/: Use BLK_UNUSED rather than literal -1.
34883 Sun Jul 06 11:47:14 BST 2003  Olly Betts <olly@survex.com>
34885         * common/utils.h: Fixed last check-in to compile.
34887 Sun Jul 06 11:01:03 BST 2003  Olly Betts <olly@survex.com>
34889         * common/utils.h,tests/btreetest.cc,tests/quartztest.cc,
34890           testsuite/backendmanager.cc: Replaced system("rm -rf ...") with
34891           rmdir() function and added two ms windows implementations for
34892           Sam to try.
34894 Sat Jul 05 10:37:35 BST 2003  Olly Betts <olly@survex.com>
34896         * getopt/getopt.c: Suppress "unused variable" warnings from getopt.c.
34898 Sat Jul 05 02:21:11 BST 2003  Olly Betts <olly@survex.com>
34900         * docs/todo.xml: Updated.
34902 Sat Jul 05 02:09:06 BST 2003  Olly Betts <olly@survex.com>
34904         * configure.in,backends/quartz/btree.cc: Use pread() and pwrite() if
34905           available - this avoids one syscall per block read/write.
34907 Fri Jul 04 22:05:14 BST 2003  Olly Betts <olly@survex.com>
34909         * PLATFORMS: Added results from building 0.7.0 on my Linux dev box.
34911 Fri Jul 04 18:52:07 BST 2003  Olly Betts <olly@survex.com>
34913         * extra/Makefile.am: Distribute symboltab.h.
34915 Fri Jul 04 18:04:53 BST 2003  Olly Betts <olly@survex.com>
34917         * common/Makefile.am: Distribute documentterm.h.
34919 Fri Jul 04 15:30:28 BST 2003  Olly Betts <olly@survex.com>
34921         * configure.in: Disabled guile, tcl8, and php4 here as well as in
34922           bindings/Makefile.am.
34924 Fri Jul  4 11:27:53 2003  James Aylett  <james@tartarus.org>
34926         * bindings/Makefile.am: change commenting so mkdoc.pl doesn't
34927           choke
34929 Fri Jul  4 10:51:04 2003  James Aylett  <james@tartarus.org>
34931         * bootstrap: add missing ';;' as case pattern delimiter
34933 Thu Jul 03 23:46:14 BST 2003  Olly Betts <olly@survex.com>
34935         * bindings/Makefile.am,bindings/python/Makefile.am: Fixed to work with
34936           "make dist".
34938 Thu Jul 03 23:29:06 BST 2003  Olly Betts <olly@survex.com>
34940         * NEWS,PLATFORMS,configure.in: Version 0.7.0.
34942 Thu Jul 03 22:57:22 BST 2003  Olly Betts <olly@survex.com>
34944         * PLATFORMS: Updated (Linux GCC 2.95 and Linux to mingw cross).
34946 Thu Jul 03 22:55:54 BST 2003  Olly Betts <olly@survex.com>
34948         * extra/queryparser.yy,extra/queryparsertest.cc: Allow more than one
34949           adjacent phrase generating character.
34951 Thu Jul 03 22:12:18 BST 2003  Olly Betts <olly@survex.com>
34953         * extra/queryparser.yy,extra/queryparsertest.cc: Always ignore phrase
34954           generating characters at start and end of query.
34956 Thu Jul 03 21:02:10 BST 2003  Olly Betts <olly@survex.com>
34958         * extra/Makefile.am: Fixed for mingw compile.
34960 Thu Jul 03 19:24:50 BST 2003  Olly Betts <olly@survex.com>
34962         * buildall,docs/OMAims: Removed unwanted old files.
34964 Thu Jul 03 19:18:41 BST 2003  Olly Betts <olly@survex.com>
34966         * backends/quartz/runquartztest: Obsolete, so removed.
34968 Thu Jul 03 01:26:03 BST 2003  Olly Betts <olly@survex.com>
34970         * common/omenquireinternal.h: Fix for building with GCC 3.3.
34972 Thu Jul 03 01:02:54 BST 2003  Olly Betts <olly@survex.com>
34974         * NEWS: Updated.
34976 Wed Jul 02 22:18:07 BST 2003  Olly Betts <olly@survex.com>
34978         * backends/quartz/bcursor.cc,backends/quartz/bcursor.h:
34979           Made Bcursor::get_key(string * key) const.
34981 Wed Jul 02 21:51:43 BST 2003  Olly Betts <olly@survex.com>
34983         * backends/quartz/: Workaround for shared_level problem turns out to
34984           be arguably the better approach, so made it permanent and tidied up
34985           code.
34987 Mon Jun 23 21:39:50 BST 2003  Olly Betts <olly@survex.com>
34989         * NEWS: Updated in preparation for 0.7.0 release.
34991 Mon Jun 23 21:18:23 BST 2003  Olly Betts <olly@survex.com>
34993         * extra/omparsequery.h: Corrected include protection token comment on
34994           #endif to match that used in the #ifdef.
34996 Mon Jun 23 21:10:33 BST 2003  Olly Betts <olly@survex.com>
34998         * bootstrap: Check for Bison 1.875 which doesn't work with Xapian.
35000 Mon Jun 23 21:08:35 BST 2003  Olly Betts <olly@survex.com>
35002         * HACKING: Automake 1.7 works reliably with Xapian; CFLAGS=-Werror can
35003           now be used as we suppress the warnings from the Snowball generated
35004           C code.
35006 Mon Jun 23 16:55:54 BST 2003  Olly Betts <olly@survex.com>
35008         * api/,backends/inmemory/inmemory_database.cc,
35009           backends/inmemory/inmemory_database.h,backends/quartz/,
35010           bindings/swig/om_util_python.i,bindings/swig/xapian.i,common/,
35011           include/Makefile.am,include/xapian.h,include/om/om.h,include/xapian/,
35012           matcher/localmatch.h,matcher/phrasepostlist.h,tests/api_db.cc,
35013           tests/api_posdb.cc,tests/quartztest.cc:
35014           Xapian::Xapian::PostListIterator -> Xapian::PostingIterator;
35015           Xapian::PositionListIterator -> Xapian::PositionIterator;
35016           xapian/postlistiterator.h -> xapian/postingiterator.h;
35017           xapian/positionlistiterator.h -> xapian/positioniterator.h.
35019 Mon Jun 23 15:31:30 BST 2003  Olly Betts <olly@survex.com>
35021         * backends/database.cc,backends/inmemory/inmemory_database.h,
35022           backends/muscat36/,backends/quartz/,bindings/python/Makefile.am,
35023           bindings/swig/om_util.i,bindings/swig/omstem.i,docs/quickstart.html,
35024           docs/todo.xml,include/xapian/database.h,include/xapian/enquire.h,
35025           include/xapian/errortypes.h,tests/api_db.cc,tests/quartztest.cc,
35026           testsuite/backendmanager.cc,testsuite/textfile_indexer.cc:
35027           Xapian::OpeningError renamed to Xapian::DatabaseOpeningError.
35028         * include/om/om.h: OmOpeningError now maps to
35029           Xapian::DatabaseOpeningError.
35031 Mon Jun 23 01:44:45 BST 2003  Olly Betts <olly@survex.com>
35033         * api/,backends/inmemory/inmemory_database.cc,
35034           backends/muscat36/da_database.cc,backends/muscat36/db_database.cc,
35035           backends/net/net_database.cc,backends/net/net_termlist.cc,
35036           backends/net/net_termlist.h,backends/quartz/,bin/omprogsrv.cc,
35037           bin/quartzdump.cc,common/,include/xapian/error.h,
35038           include/xapian/errorhandler.h,matcher/emptymatch.h,net/,
35039           tests/quartztest.cc,tests/stemtest.cc,testsuite/testsuite.cc,
35040           testsuite/textfile_indexer.cc: Use '#include <...>' for headers
35041           in include/.
35043 Thu Jun 19 17:55:07 BST 2003  Olly Betts <olly@survex.com>
35045         * common/netserver.h,common/socketserver.h,matcher/localmatch.cc,
35046           matcher/multimatch.cc,net/socketserver.cc: Removed unused header
35047           inclusion; pass Stats and Xapian::Database by const reference, not
35048           value.
35050 Thu Jun 19 14:50:49 BST 2003  Olly Betts <olly@survex.com>
35052         * extra/queryparser.yy,extra/symboltab.h: Force control characters to
35053           spaces; Added note that accent normalisation is perhaps done at the
35054           wrong time...
35056 Thu Jun 19 14:40:36 BST 2003  Olly Betts <olly@survex.com>
35058         * extra/queryparsertest.cc: Added test for control characters.
35060 Thu Jun 19 14:31:12 BST 2003  Olly Betts <olly@survex.com>
35062         * extra/queryparsertest.cc: Added checks for weird whitespace in
35063           queries.
35065 Wed Jun 18 19:02:14 BST 2003  Olly Betts <olly@survex.com>
35067         * extra/queryparser.yy: Reworked parsing of boolean operators to
35068           improve error reporting.
35069         * extra/queryparsertest.cc: Added 2 more testcases and fixed to better
35070           handle tests for expected errors.
35072 Wed Jun 18 19:00:55 BST 2003  Olly Betts <olly@survex.com>
35074         * extra/queryparser.yy: Trim leading and trailing whitespace before
35075           attempting to parse the query.
35077 Wed Jun 18 17:58:56 BST 2003  Olly Betts <olly@survex.com>
35079         * extra/queryparser.yy: `using namespace Xapian;'
35081 Fri Jun 06 01:33:33 BST 2003  Olly Betts <olly@survex.com>
35083         * docs/quartzdesign.html: Commented out the section on the Lexicon,
35084           which we no longer use.
35086 Thu Jun 05 22:40:21 BST 2003  Olly Betts <olly@survex.com>
35088         * bindings/python/.cvsignore,bindings/python/Makefile.am,
35089           bindings/python/dothemake.txt,bindings/swig/om_util_python.i:
35090           Cleaned up building of python bindings by making better use of
35091           automake.
35093 Thu Jun 05 22:17:40 BST 2003  Olly Betts <olly@survex.com>
35095         * languages/Makefile.am: Reenable standard warnings apart from the
35096           -Wunused.
35098 Thu Jun 05 20:21:08 BST 2003  Olly Betts <olly@survex.com>
35100         * api/omqueryinternal.cc: Fixed a couple of problems with the new
35101           query serialisation.
35103 Thu Jun 05 17:55:21 BST 2003  Olly Betts <olly@survex.com>
35105         * HACKING,configure.in: Flex is no longer used, so removed configure
35106           tests and note in HACKING.
35108 Thu Jun 05 17:53:30 BST 2003  Olly Betts <olly@survex.com>
35110         * tests/remotetest.cc: In test netexpand1, use TEST() rather than
35111           Assert() so that the check is made in non-debug builds too.
35113 Thu Jun 05 17:52:17 BST 2003  Olly Betts <olly@survex.com>
35115         * api/omqueryinternal.cc,common/socketcommon.h,docs/todo.xml,
35116           include/xapian/query.h,net/: Reworked query serialisation so that
35117           the code is now all in api/omqueryinternal.cc.  Serialisation is
35118           now rather more compact and no longer relies on flex for parsing.
35120 Thu Jun 05 17:45:00 BST 2003  Olly Betts <olly@survex.com>
35122         * bin/Makefile.am: omprogsrv depends on libtest.la, so it need to be
35123           in check_PROGRAMS.
35125 Thu Jun 05 17:09:10 BST 2003  Olly Betts <olly@survex.com>
35127         * Makefile.am: Moved bindings after extra in SUBDIRS - the bindings
35128           wrap Xapian::QueryParser so they need to be built after it.
35130 Thu Jun 05 01:28:01 BST 2003  Olly Betts <olly@survex.com>
35132         * bindings/python/Makefile.am: Use $(SWIG) (as detected by configure).
35134 Thu Jun 05 00:46:16 BST 2003  Olly Betts <olly@survex.com>
35136         * configure.in,bindings/Makefile.am,bindings/python/Makefile.am:
35137           Check for python and find the correct paths for building python
35138           bindings; Added dependencies for building _xapian.so.
35140 Wed Jun  4 17:19:37 2003  James Aylett  <james@tartarus.org>
35142         * configure.in, Makefile.am, bindings: build system will build
35143           bindings as part of normal build process.  No longer build
35144           Perl or Java bindings; for Perl, use Search::Xapian; Java will
35145           be replaced with SWIG-based bindings.
35147         * bindings: bindings now use Xapian:: namespace names rather than
35148           the old Om* ones. Almost all of the API should now be wrapped.
35150 Wed Jun 04 02:52:38 BST 2003  Olly Betts <olly@survex.com>
35152         * docs/overview.html: Added start of "Design Principles" section.
35153         * docs/todo.xml: Added a couple more items.
35155 Wed Jun 04 02:51:56 BST 2003  Olly Betts <olly@survex.com>
35157         * Makefile.am: Build testsuite later - it now doesn't need to be built
35158           until just before tests.
35160 Wed Jun 04 02:43:08 BST 2003  Olly Betts <olly@survex.com>
35162         * backends/muscat36/: Split up spec into comments in the appropriate
35163           header files; fixed to build after recent Om -> Xapian changes.
35165 Wed Jun 04 01:56:46 BST 2003  Olly Betts <olly@survex.com>
35167         * HACKING: Bison 1.75 and 1.875a both checked with parsequery.yy
35168           - no problems found.
35170 Mon Jun 02 20:14:22 BST 2003  Olly Betts <olly@survex.com>
35172         * ChangeLog.0: Fixed 2 typos.
35174 Mon Jun 02 20:09:01 BST 2003  Olly Betts <olly@survex.com>
35176         * NEWS: Updated in preparation for 0.7.0 release.
35178 Mon Jun 02 16:25:18 BST 2003  Olly Betts <olly@survex.com>
35180         * configure.in: Fix m4 quoting so that MINOR_VERSION is set correctly.
35182 Mon Jun  2 15:22:30 2003  James Aylett  <james@tartarus.org>
35184         * bindings/swig/xapian.i: move QueryParser wrapping to use
35185           the new namespace location, and fix include so it can work
35186           out of the build directory rather than just the installed
35187           library
35189 Mon Jun 02 14:15:14 BST 2003  Olly Betts <olly@survex.com>
35191         * Makefile.am,configure.in,bindings/Makefile.am,docs/todo.xml:
35192           Added --enable-bindings to configure - if this is specified and
35193           swig is detected, try to build the language bindings.
35195 Mon Jun 02 12:46:18 BST 2003  Olly Betts <olly@survex.com>
35197         * backends/database.cc: Fixed parsing of port number in remote stub
35198           databases.
35200 Sat May 31 15:03:47 BST 2003  James Aylett  <james@tartarus.org>
35202         * bindings/swig: update so can build Python bindings against
35203           latest Xapian; untested, and other languages are likely to
35204           fail
35206 Fri May 30 02:59:48 BST 2003  Olly Betts <olly@survex.com>
35208         * extra/queryparser.yy,extra/queryparsertest.cc: Embedded '.' is
35209           now a phrase maker; Ignore `""' in query; Ignore ')' at start
35210           of query.
35212 Fri May 30 01:22:49 BST 2003  Olly Betts <olly@survex.com>
35214         * extra/queryparsertest.cc: Added another 405 queries which fail to
35215           parse (courtesy of Arjen van der Meijden).
35217 Thu May 29 19:08:28 BST 2003  Olly Betts <olly@survex.com>
35219         * docs/todo.xml,extra/queryparsertest.cc: Extracted two more
35220           queryparser testcases which need fixing from the old todo list.
35222 Thu May 29 17:14:04 BST 2003  Olly Betts <olly@survex.com>
35224         * extra/queryparser.yy,extra/queryparsertest.cc: A phrasemaker isn't
35225           a phrasemaker unless it's preceded by an alphanumeric, "+", or "-";
35226           If a single term is in (), ignore the ().
35228 Thu May 29 16:45:39 BST 2003  Olly Betts <olly@survex.com>
35230         * extra/queryparser.yy,extra/queryparsertest.cc: Improved handling
35231           of various odd queries encountered in real life applications.
35233 Thu May 29 01:50:51 BST 2003  Olly Betts <olly@survex.com>
35235         * docs/todo.xml: Updated more.
35237 Thu May 29 01:26:50 BST 2003  Olly Betts <olly@survex.com>
35239         * api/,backends/database.cc,backends/inmemory/,backends/multi/,
35240           backends/muscat36/,backends/net/,backends/quartz/,common/,
35241           docs/overview.html,docs/quickstart.html,
35242           docs/quickstartexpand.cc.html,extra/queryparser.yy,include/om/om.h,
35243           include/xapian/,matcher/,net/,tests/api_db.cc,tests/api_posdb.cc,
35244           tests/quartztest.cc,testsuite/: Converted remaining om_xxx types
35245           to Xapian::xxx.
35247 Wed May 28 23:06:18 BST 2003  Olly Betts <olly@survex.com>
35249         * docs/todo.xml: Updated.
35251 Wed May 28 22:59:17 BST 2003  Olly Betts <olly@survex.com>
35253         * tests/api_db.cc: Spelling correction: accross -> across.
35255 Wed May 28 20:24:32 BST 2003  Olly Betts <olly@survex.com>
35257         * extra/: OmQueryParser -> Xapian::QueryParser, etc.
35259 Wed May 28 20:03:48 BST 2003  Olly Betts <olly@survex.com>
35261         * api/omdocument.cc: Removed include of defunct header
35262           modifieddocument.h.
35264 Wed May 28 20:00:56 BST 2003  Olly Betts <olly@survex.com>
35266         * api/maptermlist.h,api/omdocument.cc,api/omvalueiterator.cc,
35267           backends/inmemory/inmemory_document.cc,
35268           backends/inmemory/inmemory_document.h,backends/muscat36/,
35269           backends/net/net_document.cc,backends/net/net_document.h,
35270           backends/quartz/quartz_document.cc,backends/quartz/quartz_document.h,
35271           common/Makefile.am,common/document.h,common/modifieddocument.h,
35272           include/xapian/document.h,tests/api_db.cc: Fixed bug in refactored
35273           Xapian::Document when modifying a copy.  Added regression test.
35275 Wed May 28 19:23:26 BST 2003  Olly Betts <olly@survex.com>
35277         * common/omenquireinternal.h,include/xapian/database.h,
35278           include/xapian/enquire.h,include/xapian/query.h: Where possible,
35279           declare classes rather than including headers (in public headers).
35281 Wed May 28 17:32:14 BST 2003  Olly Betts <olly@survex.com>
35283         * include/xapian/document.h: Just declare "class TermIterator;" rather
35284           than including <xapian/termiterator.h>.
35286 Tue May 27 16:59:34 BST 2003  Olly Betts <olly@survex.com>
35288         * common/progserver.h,common/socketserver.h,net/socketserver.cc:
35289           Reduced needless header inclusion.
35291 Tue May 27 16:53:40 BST 2003  Olly Betts <olly@survex.com>
35293         * bin/omprogsrv.cc,tests/api_db.cc: Use variable name "dbs" in
35294           preference to "dbgrp".  OmDatabaseGroup hasn't existed for
35295           years!
35297 Tue May 27 16:51:30 BST 2003  Olly Betts <olly@survex.com>
35299         * Makefile.am: Fixed typo: "bin" should be "net" in remote_subdirs.
35301 Tue May 27 02:43:32 BST 2003  Olly Betts <olly@survex.com>
35303         * backends/quartz/Makefile.am: Removed -I referencing testsuite
35304           directory.
35306 Tue May 27 02:39:43 BST 2003  Olly Betts <olly@survex.com>
35308         * backends/quartz/,docs/tests.html,tests/: Moved quartztest and
35309           btreetest to tests/ directory.
35311 Tue May 27 02:03:07 BST 2003  Olly Betts <olly@survex.com>
35313         * Makefile.am,configure.in,xapian.spec.in,backends/quartz/,bin/,
35314           docs/remote.html,netprogs/,tests/api_db.cc,tests/remotetest.cc,
35315           testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out
35316           the source tree structure so that programs which aren't tests which
35317           were previously built by "make check" are now be built by "make".
35319 Tue May 27 01:01:40 BST 2003  Olly Betts <olly@survex.com>
35321         * autoconf/dir_contents,backends/dir_contents,
35322           backends/inmemory/dir_contents,backends/multi/dir_contents,
35323           backends/muscat36/dir_contents,backends/net/dir_contents,
35324           backends/quartz/dir_contents,bindings/dir_contents,
35325           common/dir_contents,docs/dir_contents,include/om/dir_contents,
35326           include/xapian/dir_contents,include/dir_contents,
35327           indexer/dir_contents,indexer/indexgraph/dir_contents,
35328           languages/dir_contents,m4/dir_contents,tests/dir_contents:
35329           Updated all the dir_contents files - many were out-of-date.
35331 Tue May 27 00:42:54 BST 2003  Olly Betts <olly@survex.com>
35333         * Makefile.am: Filter any .la files out of dependency_libs.
35335 Tue May 27 00:11:18 BST 2003  Olly Betts <olly@survex.com>
35337         * netprogs/.cvsignore,netprogs/Makefile.am,netprogs/nettest.cc,
35338           tests/.cvsignore,tests/Makefile.am,tests/remotetest.cc:
35339           netprogs/nettest -> tests/remotetest.
35341 Mon May 26 23:49:49 BST 2003  Olly Betts <olly@survex.com>
35343         * netprogs/nettest.cc: Removed test tcpclient1 - the functionality it
35344           tests is also tested by tcpmatch1, and it introduces dependencies on
35345           internal headers.
35347 Mon May 26 22:00:01 BST 2003  Olly Betts <olly@survex.com>
35349         * backends/quartz/quartz_table_manager.cc: Give a better error message
35350           if asked to open a pre-0.6 Quartz database.
35352 Mon May 26 20:43:21 BST 2003  Olly Betts <olly@survex.com>
35354         * HACKING,Makefile.am,backends/Makefile.am,docs/mkdoc.pl,
35355           net/Makefile.am: Fixed to never leave partial files in place of the
35356           expected output if a build is interrupted.
35358 Mon May 26 16:50:59 BST 2003  Olly Betts <olly@survex.com>
35360         * HACKING: Added note adapted from an old email noting why compile-time
35361           options are generally best avoided.
35363 Mon May 26 12:03:29 BST 2003  Olly Betts <olly@survex.com>
35365         * testsuite/backendmanager.cc,testsuite/textfile_indexer.cc: Corrected
35366           odd uses of std::string::erase() (instead of `str = str.erase(n, m)'
35367           just use `str.erase(n,m)').
35369 Sun May 25 22:59:44 BST 2003  Olly Betts <olly@survex.com>
35371         * PLATFORMS: Updated.
35373 Sun May 25 22:58:28 BST 2003  Olly Betts <olly@survex.com>
35375         * languages/Makefile.am: Suppress "unused" warnings in Snowball
35376           generated C code.
35378 Sun May 25 21:43:34 BST 2003  Olly Betts <olly@survex.com>
35380         * api/omtermlistiterator.cc: Removed iostream.h include left over from
35381           debugging.
35383 Sun May 25 12:27:11 BST 2003  Olly Betts <olly@survex.com>
35385         * docs/,extra/omparsequery.h,extra/parsequery.yy,include/Makefile.am,
35386           include/xapian.h,include/om/om.h,tests/,testsuite/backendmanager.cc,
35387           testsuite/backendmanager.h,testsuite/testutils.h: Created xapian.h
35388           header and changed everything to use it.
35390 Sat May 24 23:35:46 BST 2003  Olly Betts <olly@survex.com>
35392         * api/,backends/inmemory/inmemory_database.cc,
35393           backends/inmemory/inmemory_document.h,
35394           backends/quartz/quartz_database.cc,backends/quartz/quartztest.cc,
35395           common/,include/Makefile.am,include/om/om.h,
35396           include/om/omvalueiterator.h,include/xapian/,
35397           testsuite/backendmanager.cc: OmValueIterator -> Xapian::ValueIterator
35398           etc.
35400 Fri May 23 15:32:29 BST 2003  Olly Betts <olly@survex.com>
35402         * api/,backends/database.cc,backends/inmemory/,backends/muscat36/,
35403           backends/net/net_database.cc,backends/net/net_document.cc,
35404           backends/net/net_document.h,backends/quartz/,common/,docs/,
35405           include/Makefile.am,include/om/om.h,include/om/omdocument.h,
35406           include/om/omvalueiterator.h,include/xapian/,indexer/omindexer.h,
35407           matcher/,net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_posdb.cc,
35408           tests/internaltest.cc,testsuite/: OmDocument -> Xapian::Document, etc.
35409         * include/Makefile.am: Fixed library headers to install in xapian and
35410           om subdirectories as they should.
35412 Fri May 23 15:31:05 BST 2003  Olly Betts <olly@survex.com>
35414         * backends/quartz/btree.cc: Consistently use int4 for block number -
35415           it really should be unsigned and this is a first step.
35417 Mon May 19 13:20:46 BST 2003  Olly Betts <olly@survex.com>
35419         * configure.in: Create include/xapian if it doesn't exist so that
35420           VPATH builds work.
35422 Mon May 19 13:17:16 BST 2003  Olly Betts <olly@survex.com>
35424         * Makefile.am: Disabled exported symbol regex for now.
35426 Tue May 13 05:08:54 BST 2003  Olly Betts <olly@survex.com>
35428         * api/,backends/database.cc,backends/dir_contents,backends/inmemory/,
35429           backends/multi/,backends/muscat36/,backends/net/,backends/quartz/,
35430           common/,docs/,extra/omparsequery.h,include/,matcher/,net/,netprogs/,
35431           tests/: OmDatabase -> Xapian::Database, etc.
35433 Tue May 13 05:07:41 BST 2003  Olly Betts <olly@survex.com>
35435         * NEWS: Corrected spelling: "maintainance" to "maintenance".
35437 Tue May 13 00:40:47 BST 2003  Olly Betts <olly@survex.com>
35439         * ChangeLog.0,NEWS,backends/inmemory/inmemory_database.h,
35440           backends/muscat36/da_database.h,backends/muscat36/db_database.h,
35441           backends/quartz/quartz_postlist.h,
35442           indexer/indexgraph/omstopwordnode.cc: Spelling correction:
35443           "occurence" should be "occurrence".
35445 Mon May 12 22:39:27 BST 2003  Olly Betts <olly@survex.com>
35447         * api/ompositionlistiteratorinternal.h,
35448           include/om/ompositionlistiterator.h: Removed unused files.
35450 Mon May 12 20:51:03 BST 2003  Olly Betts <olly@survex.com>
35452         * api/omdatabaseinternal.cc,backends/database.cc: Moved database
35453           factory functions from api to backends.
35455 Fri May 09 04:02:29 BST 2003  Olly Betts <olly@survex.com>
35457         * common/expandweight.h: Removed cruft.
35459 Fri May 09 03:50:36 BST 2003  Olly Betts <olly@survex.com>
35461         * common/rset.h: Removed unused RSetI ctor variant.
35463 Fri May 09 02:00:03 BST 2003  Olly Betts <olly@survex.com>
35465         * api/omenquire.cc,common/,docs/overview.html,include/om/om.h,
35466           include/xapian/enquire.h,include/xapian/output.h,matcher/,
35467           net/socketclient.cc,net/socketcommon.cc,net/socketserver.cc,
35468           netprogs/nettest.cc,tests/api_db.cc: OmRSet -> Xapian::RSet.
35470 Fri May 09 01:06:32 BST 2003  Olly Betts <olly@survex.com>
35472         * api/omenquire.cc: Fixed MSet::Internal::get_description() to include
35473           class name.
35475 Fri May 09 01:04:12 BST 2003  Olly Betts <olly@survex.com>
35477         * common/rset.h,matcher/expand.cc,matcher/rset.cc: RSetI now uses
35478           set<Xapian::docid> (as OmRSet::Internal) rather than
35479           vector<RSetItem>.
35481 Fri May 09 00:41:20 BST 2003  Olly Betts <olly@survex.com>
35483         * api/omenquire.cc,common/,docs/quickstartexpand.cc.html,matcher/:
35484           RSet internal class renamed to RSetI to aid upcoming OmRSet ->
35485           Xapian::RSet change.  RSetI looks like it can be eliminated
35486           later.
35488 Thu May 08 23:54:44 BST 2003  Olly Betts <olly@survex.com>
35490         * tests/: Removed make_dbgrp() helper function from apitest as it
35491           makes the test code less clear without making it easier to write.
35493 Thu May 08 01:24:53 BST 2003  Olly Betts <olly@survex.com>
35495         * api/ompostlistiterator.cc,docs/overview.html,tests/api_db.cc:
35496           Fixed OmWeight and OmMatchDecider in comments, docs, and
35497           testsuite.
35499 Thu May 08 01:16:30 BST 2003  Olly Betts <olly@survex.com>
35501         * api/omenquire.cc,backends/multi/multi_postlist.h,common/,
35502           include/om/om.h,include/xapian/enquire.h,matcher/,
35503           net/socketclient.cc,net/socketserver.cc: OmMatchDecider ->
35504           Xapian::MatchDecider; OmWeight -> Xapian::Weight; BoolWeight,
35505           TradWeight, BM25Weight -> Xapian::.
35507 Wed May 07 23:06:47 BST 2003  Olly Betts <olly@survex.com>
35509         * backends/quartz/btreetest.cc,backends/quartz/quartztest.cc,
35510           configure.in,netprogs/nettest.cc,tests/,testsuite/: Minor overhaul
35511           of testsuite.
35513 Wed May 07 17:54:34 BST 2003  Olly Betts <olly@survex.com>
35515         * backends/,common/document.h,matcher/Makefile.am,matcher/document.cc:
35516           Removed do_ wrappers for Document methods get_value(),
35517           get_all_values() and get_data().  The wrappers used to perform
35518           thread locking, but now they're just pointless overhead.
35520 Wed May 07 17:24:00 BST 2003  Olly Betts <olly@survex.com>
35522         * HACKING: Started section of API structure.
35524 Wed May 07 02:16:03 BST 2003  Olly Betts <olly@survex.com>
35526         * api/omenquire.cc,common/expand.h,common/omenquireinternal.h,
35527           common/omstringstream.h,docs/quickstart.html,include/om/om.h,
35528           include/xapian/enquire.h,include/xapian/output.h,matcher/expand.cc,
35529           matcher/multimatch.cc,net/socketcommon.cc,netprogs/nettest.cc,
35530           tests/api_db.cc,testsuite/testutils.cc: OmMSet -> Xapian::MSet,
35531           similarly for OmMSetIterator, OmESet, and OmESetIterator.
35533 Tue May 06 19:31:42 BST 2003  Olly Betts <olly@survex.com>
35535         * include/xapian/query.h: New file I failed to checkin on Friday.
35537 Tue May 06 14:16:41 BST 2003  Olly Betts <olly@survex.com>
35539         * HACKING,configure.in,tests/.cvsignore,tests/Makefile.am,
35540           tests/runtest.in,testsuite/testsuite.cc: Sorted out autodetection
35541           of valgrind for running testsuite.
35542         * HACKING: Added note about how to run gdb on dynamically linked
35543           binaries built using libtool.
35544         * HACKING: Recommend libtool 1.5 as in 1.4.2 libtool --mode=execute
35545           doesn't seem to handle programs with arguments.
35547 Tue May 06 00:25:03 BST 2003  Olly Betts <olly@survex.com>
35549         * PLATFORMS: Updated.
35551 Fri May 02 16:58:15 BST 2003  Olly Betts <olly@survex.com>
35553         * configure.in: Improved check that LEX is flex - it will now accept
35554           "flex" with a path and/or prefix.
35556 Fri May 02 16:12:46 BST 2003  Olly Betts <olly@survex.com>
35558         * api/,common/,include/,matcher/,net/,netprogs/nettest.cc,
35559           netprogs/omtcpsrv.cc,tests/api_db.cc,tests/api_posdb.cc,
35560           testsuite/testutils.cc,testsuite/testutils.h: OmEnquire ->
35561           Xapian::Enquire, OmQuery -> Xapian::Query, etc.
35563 Fri May 02 03:14:28 BST 2003  Olly Betts <olly@survex.com>
35565         * tests/internaltest.cc: Reenabled tests for leak checking and fixed
35566           them up to work with valgrind.
35568 Fri May 02 02:14:28 BST 2003  Olly Betts <olly@survex.com>
35570         * testsuite/testsuite.cc,testsuite/testsuite.h: If a testsuite program
35571           is run using "valgrind --logfile-fd=255 ./footest" then the harness
35572           will show valgrind's output for tests which fail because valgrind
35573           spotted errors or leaks (untested under valgrind).
35575 Thu May 01 21:25:01 BST 2003  Olly Betts <olly@survex.com>
35577         * api/omenquire.cc,api/omquery.cc,api/omqueryinternal.cc,common/,
35578           docs/overview.html,docs/quickstart.html,extra/omparsequery.h,
35579           extra/parsequery.yy,extra/parsequerytest.cc,include/,matcher/,
35580           net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_nodb.cc,
35581           tests/api_posdb.cc: OmQuery -> Xapian::Query, etc.  For now
35582           I've had to expose Xapian::Query::Internal in xapian/query.h
35583           which isn't ideal.
35585 Wed Apr 30 20:37:27 BST 2003  Olly Betts <olly@survex.com>
35587         * api/omenquire.cc,common/omenquireinternal.h,include/:
35588           typedefs om_* -> Xapian::*, but not changed all internal uses yet.
35590 Wed Apr 30 03:51:52 BST 2003  Olly Betts <olly@survex.com>
35592         * api/,backends/,common/,extra/omparsequery.h,extra/parsequery.yy,
35593           include/,matcher/localmatch.h,matcher/orpostlist.h,tests/api_db.cc:
35594           OmPostListIterator -> Xapian::PostListIterator, etc.
35596 Wed Apr 30 02:13:31 BST 2003  Olly Betts <olly@survex.com>
35598         * docs/matcherdesign.html,include/om/omenquire.h: Merged docs
35599           discussing OmMSetIterator::get_collapse_count() into the doxygen
35600           documentation comments - they're docs aimed at the API user so
35601           really don't belong in the internal matcher design docs.
35603 Wed Apr 30 01:08:39 BST 2003  Olly Betts <olly@survex.com>
35605         * .cvsignore: Added config.guess.
35607 Tue Apr 29 21:08:40 BST 2003  Olly Betts <olly@survex.com>
35609         * include/om/om.h,include/xapian/base.h,include/xapian/error.h,
35610           include/xapian/errorhandler.h,include/xapian/expanddecider.h,
35611           include/xapian/positionlistiterator.h,include/xapian/stem.h,
35612           include/xapian/termiterator.h: OM_HGUARD_* -> XAPIAN_INCLUDED_*.
35614 Tue Apr 29 20:37:01 BST 2003  Olly Betts <olly@survex.com>
35616         * api/,backends/,common/,include/,indexer/omnodeinstanceiterator.h,
35617           indexer/ompaditerator.h,net/readquery.h,testsuite/indexer.h:
35618           om/omoutput.h -> xapian/output.h; om/omtypes.h -> xapian/types.h.
35620 Tue Apr 29 18:28:27 BST 2003  Olly Betts <olly@survex.com>
35622         * api/,backends/,common/,include/,matcher/,net/socketserver.cc,tests/,
35623           testsuite/backendmanager.cc,testsuite/testsuite.cc: OmTermIterator
35624           -> Xapian::TermIterator, etc.
35626 Tue Apr 29 17:39:34 BST 2003  Olly Betts <olly@survex.com>
35628         * common/omdebug.cc: Setting XAPIAN_DEBUG_LOG caused an exception
35629           (with GCC 3.0 at least) unless the value contained %% - fixed.
35631 Tue Apr 29 14:29:36 BST 2003  Olly Betts <olly@survex.com>
35633         * api/ompositionlistiterator.cc: Fixed to compile in debug mode.
35635 Tue Apr 29 01:06:02 BST 2003  Olly Betts <olly@survex.com>
35637         * xapian.spec.in: Removed %changelog - it hasn't been reliably updated
35638           and only really makes sense when the packaging is done by a third
35639           party anyway.
35641 Tue Apr 29 01:03:20 BST 2003  Fabrice Colin
35643         * xapian.spec.in: Fixed packaging of docs.
35645 Tue Apr 29 00:33:21 BST 2003  Olly Betts <olly@survex.com>
35647         * HACKING,testsuite/testsuite.cc,testsuite/testsuite.h: valgrind is
35648           now mostly hooked into the testsuite.
35649         * HACKING: Bison 1.875 doesn't work but Bison 1.875a probably does;
35650           suggest CXXFLAGS=-Werror, not CFLAGS.
35652 Tue Apr 29 00:14:00 BST 2003  Olly Betts <olly@survex.com>
35654         * INSTALL: Updated.
35656 Wed Apr 23 14:31:51 BST 2003  Olly Betts <olly@survex.com>
35658         * api/omtermlistiterator.cc,api/omtermlistiteratorinternal.h,
35659           api/omvalueiteratorinternal.h,backends/inmemory/inmemory_database.cc,
35660           backends/inmemory/inmemory_positionlist.cc,
35661           common/inmemory_positionlist.h: Added InMemoryPositionList ctor
35662           which takes the positions data to avoid needing to construct and
35663           immediately call set_data().
35665 Wed Apr 23 14:14:34 BST 2003  Olly Betts <olly@survex.com>
35667         * api/,backends/,common/,include/,matcher/: OmPositionListIterator
35668           -> Xapian::PositionListIterator, etc.
35670 Wed Apr 23 13:47:49 BST 2003  Olly Betts <olly@survex.com>
35672         * xapian.spec.in: Minor tweaks.
35674 Sun Apr 20 22:55:04 BST 2003  Olly Betts <olly@survex.com>
35676         * extra/omparsequery.h,include/xapian/stem.h,tests/api_db.cc,
35677           tests/api_nodb.cc,tests/api_posdb.cc,testsuite/backendmanager.cc:
35678           OmStem -> Xapian::Stem; OmExpandDecider -> Xapian::ExpandDecider.
35680 Sun Apr 20 22:52:42 BST 2003  Olly Betts <olly@survex.com>
35682         * configure.in,api/omenquire.cc,common/expand.h,
35683           common/omenquireinternal.h,docs/overview.html,include/,
35684           matcher/expand.cc,tests/api_db.cc: OmExpandDecider ->
35685           Xapian::ExpandDecider, etc.
35687 Sun Apr 20 22:42:32 BST 2003  Olly Betts <olly@survex.com>
35689         * PLATFORMS,api/,backends/,common/,docs/,include/,matcher/,net/,
35690           netprogs/,tests/,testsuite/: OmError -> Xapian::Error, etc.
35692 Fri Apr 18 22:40:31 BST 2003  Sam Liddicott <sam@liddicott.com>
35694         * matcher/multimatch.cc: Fixed so that it updates the OmMSetItem in
35695           the MSet with the collapse_count from the OmMSetItem twin in
35696           collapse_tab or we lose collapse_count if newer collapsing hits are
35697           less relevant than the hits they collapse over.  I think we need
35698           collapse_tab maybe to keep a reference to the item in the mset?  But
35699           this works for now.
35700         * xapian.spec.in: Fixed to also install include/xapian stuff
35702 Fri Apr 18 19:17:56 BST 2003  Olly Betts <olly@survex.com>
35704         * configure.in,include/Makefile.am,include/om/.cvsignore,
35705           include/om/Makefile.am,include/om/om.h,include/om/om.h.in,
35706           include/xapian/.cvsignore,include/xapian/Makefile.am,
35707           include/xapian/dir_contents,include/xapian/version.h.in:
35708           C++ ABI version checking is now done by xapian/version.h.
35710 Fri Apr 18 17:57:21 BST 2003  Olly Betts <olly@survex.com>
35712         * configure.in,api/omstem.cc,include/Makefile.am,include/om/om.h.in,
35713           include/om/omstem.h,include/xapian/.cvsignore,
35714           include/xapian/Makefile.am,include/xapian/base.h,
35715           include/xapian/stem.h: Reworked OmStem to use reference counted
35716           internals; renamed OmStem to Xapian::Stem and added a #define for
35717           compatibility with existing code.
35719 Fri Apr 18 17:02:56 BST 2003  Olly Betts <olly@survex.com>
35721         * api/,backends/,common/,docs/overview.html,docs/quickstart.html,
35722           docs/quickstartexpand.cc.html,extra/,include/om/,matcher/,net/,
35723           tests/,testsuite/: Use std::string instead of typedef-ing it as
35724           om_termname.  The typedef doesn't really buy us anything.  Keep
35725           a typedef for compatibility with existing code for now.
35727 Fri Apr 18 16:12:32 BST 2003  Olly Betts <olly@survex.com>
35729         * PLATFORMS: GCC 3.2.2 on Redhat 7.1 works with CXXFLAGS=-Werror
35731 Thu Apr 10 20:05:27 BST 2003  Olly Betts <olly@survex.com>
35733         * common/Makefile.am,common/indexer.h,testsuite/Makefile.am,
35734           testsuite/indexer.h: Moved indexer.h from common to testsuite
35735           and altered it to use iosfwd instead of iostream and to
35736           declare OmDocument as a class instead of include omdocument.h.
35738 Thu Apr 10 18:55:55 BST 2003  Olly Betts <olly@survex.com>
35740         * xapian-config.nodep.in: Removed --prefix and --exec-prefix - you
35741           can't reliably install Xapian with a different prefix to the one
35742           it was configured with, yet these options give the impression you
35743           can.
35745 Thu Apr 10 18:53:53 BST 2003  Olly Betts <olly@survex.com>
35747         * .cvsignore: Added config.sub.
35749 Thu Apr 10 02:41:50 BST 2003  Olly Betts <olly@survex.com>
35751         * NEWS,configure.in: Updated for 0.6.5 release.
35753 Thu Apr 10 02:29:12 BST 2003  Olly Betts <olly@survex.com>
35755         * docs/doxygen_api_footer.html_tmpl,docs/doxygen_full_footer.html_tmpl,
35756           docs/overview.html: Use http://www.doxygen.org/ as URL for doxygen.
35757         * docs/overview.html: Fixed bad link to our own website!
35759 Thu Apr 10 02:12:00 BST 2003  Olly Betts <olly@survex.com>
35761         * Makefile.am,backends/Makefile.am,backends/net/.cvsignore,
35762           backends/net/Makefile.am,netprogs/.cvsignore: Renamed libnetdb.la
35763           to libremote.la, and LIB_REMOTE1 to LIBNET_LA.
35765 Thu Apr 10 02:08:24 BST 2003  Olly Betts <olly@survex.com>
35767         * PLATFORMS: Updated mingw notes to reflect the change to
35768           automatically disable the remote backend when fork() isn't
35769           available.
35771 Thu Apr 10 01:56:34 BST 2003  Olly Betts <olly@survex.com>
35773         * docs/mkdoc.pl: Fixed to only look at directories listed in
35774           DIST_SUBDIRS.
35776 Thu Apr 10 00:23:28 BST 2003  Olly Betts <olly@survex.com>
35778         * configure.in: Automatically disable the remote backend if we don't
35779           have fork() since the remote backend requires it in several places;
35780           AM_CONDITIONAL ENABLE_SHARED isn't used anywhere so commented it
35781           out.
35783 Wed Apr 09 22:48:20 BST 2003  Olly Betts <olly@survex.com>
35785         * NEWS: Updated with recent changes.
35787 Wed Apr 09 22:43:31 BST 2003  Olly Betts <olly@survex.com>
35789         * docs/remote_protocol.html: Talk about Server/Client rather than
35790           ProgServer/ProgClient; reworked first paragraph.
35792 Wed Apr 09 13:23:05 BST 2003  Olly Betts <olly@survex.com>
35794         * docs/Makefile.am: Install docs in /usr/share/doc/xapian-core to be
35795           FHS compliant.
35796         * xapian.spec.in: Package quartzcheck and quartzcompact too; sorted
35797           out docs so they all install in the right place.
35799 Wed Apr 09 01:16:11 BST 2003  Olly Betts <olly@survex.com>
35801         * configure.in,backends/quartz/quartz_log.cc,
35802           backends/quartz/quartz_table_manager.cc,common/omdebug.cc,
35803           common/omdebug.h: Don't use HAVE_GETPID - if it's not set we assume
35804           GetCurrentProcessId() works, so it's cleaner to test with
35805           #ifdef WIN32 instead.
35807 Tue Apr 08 19:56:57 BST 2003  Olly Betts <olly@survex.com>
35809         * PLATFORMS: Updated with the results of many test builds.
35811 Tue Apr 08 19:55:15 BST 2003  Olly Betts <olly@survex.com>
35813         * configure.in,backends/quartz/Makefile.am,backends/quartz/btree.cc,
35814           netprogs/nettest.cc,common/getopt.h,common/omtime.h,common/utils.cc,
35815           common/utils.h,tests/Makefile.am,tests/api_db.cc: Now builds with
35816           Linux to mingw cross-compiler.
35817         * tests/Makefile.am: don't include findheaders.pl in the tarball -
35818           it's no longer used.
35819         * tests/internaltest.cc: removed "#include <dlfcn.h>" and disabled
35820           code which used to use it.
35821         * testsuite/backendmanager.cc,testsuite/backendmanager.h: fixed to
35822           work if any backends are disabled.
35824 Tue Apr 08 16:09:11 BST 2003  Olly Betts <olly@survex.com>
35826         * backends/quartz/btree.cc,backends/quartz/quartz_log.cc,
35827           backends/quartz/quartz_table_manager.cc,testsuite/testsuite.cc:
35828           Some fixes for building with Linux to mingw cross-compiler.
35830 Tue Apr 08 02:26:51 BST 2003  Olly Betts <olly@survex.com>
35832         * backends/quartz/btreetest.cc: If we don't have <sstream> and so are
35833           using our own stringstream implementation, we can't pass it as an
35834           ostream reference so BtreeCheck::check() can't be run in btreetest.
35835           This is only an issue on old compilers (for GCC <= 2.95.2 it seems)
35836           so just disable the checking in that case - it's probably not worth
35837           the effort of trying to make our stringstream a subclass of ostream.
35839 Tue Apr 08 01:20:36 BST 2003  Olly Betts <olly@survex.com>
35841         * testsuite/testsuite.cc: Updated unfinished hooks to use valgrind in
35842           the test harness.
35844 Fri Apr 04 03:12:27 BST 2003  Olly Betts <olly@survex.com>
35846         * api/omenquire.cc,api/omstem.cc,common/omdebug.cc: Fixed to compile
35847           when configure-d with --enable-debug-verbose --enable-debug=full.
35849 Fri Apr 04 03:10:53 BST 2003  Olly Betts <olly@survex.com>
35851         * common/omstringstream.h: Removed unused code for writing
35852           vector<string> to our own implementation of om_ostringstream.
35854 Fri Apr 04 03:08:35 BST 2003  Olly Betts <olly@survex.com>
35856         * api/ompostlistiterator.cc: Use "using namespace std;"; replaced
35857           gratuitous use of om_ostringstream.
35859 Fri Apr 04 03:07:05 BST 2003  Olly Betts <olly@survex.com>
35861         * tests/api_nodb.cc: Use "using namespace std;"; removed stray cout
35862           debug line.
35864 Wed Apr 02 16:54:50 BST 2003  Olly Betts <olly@survex.com>
35866         * tests/internaltest.cc: More Sun C++ fixes.
35867         * PLATFORMS: Updated.
35869 Wed Apr 02 16:39:48 BST 2003  Olly Betts <olly@survex.com>
35871         * tests/api_db.cc,net/tcpserver.cc,common/tcpserver.h: More Sun C++
35872           fettling.
35874 Wed Apr 02 15:42:54 BST 2003  Olly Betts <olly@survex.com>
35876         * matcher/emptymatch.h,tests/api_db.cc: More fixes for Sun C++.
35878 Wed Apr 02 15:13:58 BST 2003  Olly Betts <olly@survex.com>
35880         * api/omenquire.cc,api/omqueryinternal.cc,
35881           backends/inmemory/inmemory_database.h,common/document.h,
35882           common/netclient.h,common/netserver.h,common/networkstats.h,
35883           common/omlinebuf.h,common/stats.h,include/om/omerror.h,
35884           include/om/omerrorhandler.h,indexer/indexgraph/nodetest.cc,
35885           indexer/indexgraph/omindexerbuilder.cc,
35886           indexer/indexgraph/omindexerinternal.h,
35887           indexer/indexgraph/omstopwordnode.cc,
35888           indexer/indexgraph/regexcommon.h,indexer/indexgraph/toposort.h,
35889           tests/api_db.cc,tests/api_nodb.cc,testsuite/backendmanager.h:
35890           More fixes for Sun C++; removed many superfluous ";" after "}".
35892 Wed Apr 02 03:45:42 BST 2003  Olly Betts <olly@survex.com>
35894         * api/omdocument.cc,api/omenquire.cc,api/omtermlistiteratorinternal.h,
35895           backends/inmemory/inmemory_database.h,backends/quartz/btree.cc,
35896           backends/quartz/btree.h,common/alltermslist.h,common/expandweight.h,
35897           common/getopt.h,common/utils.h,include/om/omenquire.h,
35898           matcher/expandweight.cc,matcher/multimatch.cc,
35899           testsuite/backendmanager.h: Resolved various issues so that
35900           libxapian now builds with Sun's C++ compiler.  However
35901           libomqueryparser and the test programs don't yet.
35903 Tue Apr 01 02:52:57 BST 2003  Olly Betts <olly@survex.com>
35905         * backends/quartz/quartz_types.h: use "unsigned int" rather than
35906           "unsigned long int" so that quartz_tablesize_t matches om_doccount
35907           on 64 bit machines.
35909 Mon Mar 31 19:34:54 BST 2003  Olly Betts <olly@survex.com>
35911         * AUTHORS,xapian.spec.in: Merged in changes to RPM packaging from
35912           Fabrice Colin and reworked further.
35914 Fri Mar 28 20:04:04 GMT 2003  Olly Betts <olly@survex.com>
35916         * NEWS: Updated.
35918 Fri Mar 28 19:53:59 GMT 2003  Olly Betts <olly@survex.com>
35920         * README: Removed out-of-date sourceforge references; tidied up
35921           wording in places.
35923 Fri Mar 28 19:52:11 GMT 2003  Olly Betts <olly@survex.com>
35925         * HACKING: Removed out-of-date sourceforge references; tidied up
35926           wording in places; docs/tests.txt is now docs/tests.html .
35928 Fri Mar 28 17:35:15 GMT 2003  Olly Betts <olly@survex.com>
35930         * NEWS: Wrote most of the entries for the next release.
35932 Fri Mar 28 17:34:57 GMT 2003  Olly Betts <olly@survex.com>
35934         * docs/todo.xml: Updated.
35936 Thu Mar 27 05:42:41 GMT 2003  Olly Betts <olly@survex.com>
35938         * .cvsignore,Makefile.am,configure.in,docs/.cvsignore,docs/Makefile.am,
35939           docs/index.html,docs/todo2html.pl: removed machinery to generate
35940           TODO, TODO.release, docs/todo.html, and docs/todo-release.html from
35941           docs/todo.xml - bug and todo items will be tracked in bugzilla
35942           instead.
35944 Thu Mar 27 05:25:12 GMT 2003  Olly Betts <olly@survex.com>
35946         * docs/todo.xml: Removed completed items and those already fed into
35947           bugzilla.
35949 Thu Mar 27 05:17:05 GMT 2003  Olly Betts <olly@survex.com>
35951         * api/omstem.cc,include/om/omstem.h: Added default OmStem ctor,
35952           and "none" language.  Both of these give a stemmer object which
35953           leaves terms unchanged which should allow for simpler logic
35954           in programs using Xapian.  The default ctor also removes the
35955           need to mess with pointers in some cases.
35957 Thu Mar 27 04:52:27 GMT 2003  Olly Betts <olly@survex.com>
35959         * NEWS: Started to prepare for next release.
35961 Thu Mar 27 04:49:52 GMT 2003  Olly Betts <olly@survex.com>
35963         * include/om/omenquire.h,include/om/omerror.h: Improved documentation
35964           comments.
35966 Thu Mar 27 01:09:04 GMT 2003  Olly Betts <olly@survex.com>
35968         * docs/todo.xml,tests/api_db.cc: Added regression test for Quartz
35969           bug which caused problems with long terms on machines with signed
35970           chars.
35972 Wed Mar 26 20:30:18 GMT 2003  Olly Betts <olly@survex.com>
35974         * matcher/multimatch.cc: fixed interaction of collapsing and
35975           sort_bands == 1.
35977 Wed Mar 26 01:04:30 GMT 2003  Olly Betts <olly@survex.com>
35979         * matcher/multimatch.cc: Fixed sort_bands == 1 bug which would
35980           incorrectly reject many documents with a low score.
35982 Thu Mar 06 13:04:06 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
35984         * docs/matcherdesign.html: Add writeup about document collapsing.
35986 Thu Mar 06 11:32:05 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
35988         * Add collapse_count threshold checking to ensure that most
35989           relevant collapsed-away hit is more relevant than threshold
35990           (if specified)
35992 Mon Mar 03 14:04:56 GMT 2003  Olly Betts <olly@survex.com>
35994         * docs/quartzdesign.html: Corrected 2kB to 2KB.
35996 Fri Feb 28 10:11:04 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
35998         * Add get_collapse_count() to OmMSetIterator
35999         * Add collapse_count to OmMSetItem
36000         * Add collapse_count tracking to get_mset()
36002 Thu Feb 27 15:28:08 GMT 2003  Olly Betts <olly@survex.com>
36004         * common/match.h,common/multimatch.h,matcher/multimatch.cc: Optimise
36005           the common sort_bands == 1 case better.
36006         * tests/api_db.cc: sortbands2 now tests 1 sortband as well as 10.
36008 Wed Feb 26 09:58:01 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
36010         * bootstrap: Fix success message when building in non-src dir
36011           as configure is written to the src dir.
36013 Mon Feb 24 10:33:52 GMT 2003  Olly Betts <olly@survex.com>
36015         * matcher/multimatch.cc: Disabled (for now) sort_bands
36016           optimisation which is misbehaving.  Fixed forward ordered boolean
36017           optimisation broken by last check-in.
36018         * tests/api_db.cc: Added test_sortbands2 based on James' test code.
36020 Sun Feb 23 20:28:47 GMT 2003  Olly Betts <olly@survex.com>
36022         * matcher/multimatch.cc: Fixed problem with sort_bands when asking
36023           for an m-set which didn't start with the first match.
36025 Sun Jan 05 22:20:33 GMT 2003  Olly Betts <olly@survex.com>
36027         * testsuite/index_utils.cc: Handling of ^x was just downright wrong
36028           due to a typo.
36030 Sun Jan 05 22:19:56 GMT 2003  Olly Betts <olly@survex.com>
36032         * backends/quartz/.cvsignore: Ignore quartzcompact binary.
36034 Sun Jan 05 22:18:57 GMT 2003  Olly Betts <olly@survex.com>
36036         * extra/parsequerytest.cc: Fixed to build with GCC 2.95.
36038 Tue Dec 24 20:21:03 GMT 2002  Olly Betts <olly@survex.com>
36040         * NEWS: Added omega 0.6.4 changes.
36042 Tue Dec 24 19:53:10 GMT 2002  Olly Betts <olly@survex.com>
36044         * NEWS,PLATFORMS,configure.in: Version 0.6.4.
36046 Tue Dec 24 19:29:27 GMT 2002  Olly Betts <olly@survex.com>
36048         * backends/quartz/quartz_database.cc,backends/quartz/quartz_table.cc:
36049           Don't bother checking is position_list is empty - just delete it and
36050           let the layer below handle not having anything to delete.
36051         * backends/quartz/quartz_termlist.cc,docs/todo.xml: Fixed unpacking
36052           of termlist on platforms where char is signed.
36054 Tue Dec 24 05:48:06 GMT 2002  Olly Betts <olly@survex.com>
36056         * backends/quartz/quartz_database.cc: Fixed double setting of position
36057           list when updating a document with term position information.  The
36058           behaviour before was correct, just inefficient.
36060 Mon Dec 23 04:44:46 GMT 2002  Olly Betts <olly@survex.com>
36062         * docs/todo.xml: Updated.
36064 Mon Dec 23 03:22:19 GMT 2002  Olly Betts <olly@survex.com>
36066         * extra/parsequery.yy: If a stemmed form with a "." is in the query,
36067           include the "." on the form in the unstem multimap.
36069 Sun Dec 22 21:44:06 GMT 2002  Olly Betts <olly@survex.com>
36071         * extra/omparsequery.h,extra/parsequery.yy,extra/parsequerytest.cc:
36072           Added support for searching probabilistic fields (using
36073           <field>:<term>).
36075 Sat Dec 21 01:38:59 GMT 2002  Olly Betts <olly@survex.com>
36077         * configure.in: Don't include "om.h" in APIDOC_SRC, otherwise
36078           people building from source will need to regenerate the source
36079           docs which will require them to have doxygen installed.
36081 Fri Dec 20 15:39:51 GMT 2002  James Aylett  <james@tartarus.org>
36083         * Bindings build using SWIG 1.3.14u-20020706-1222, with very
36084           basic functionality tested with the Python target.
36086 Fri Dec 20 12:38:26 GMT 2002  James Aylett  <tartarus@users.sourceforge.net>
36088         * Tidied up some bindings-related issues, including changes to
36089           the Python bindings to work with Python 2.2. This probably won't
36090           compile as it stands, but it's disabled anyway.
36092 Sun Dec 15 18:23:42 GMT 2002  Olly Betts <olly@survex.com>
36094         * api/omdatabase.cc,backends/muscat36/da_database.cc,
36095           backends/muscat36/db_database.cc,matcher/phrasepostlist.cc:
36096           Muscat 3.6 DA and DB databases don't have word position information.
36097           Instead of throwing an exception when this information is requested,
36098           return an empty position list (i.e. behave as a quartz database with
36099           no position information would).
36101 Sun Dec 15 03:08:28 GMT 2002  Olly Betts <olly@survex.com>
36103         * backends/muscat36/: DADatabase and DBDatabase ctors need to public
36104           so that they can called from the database factory functions.
36105         * api/omenquire.cc,backends/muscat36/,backends/quartz/btree.cc,
36106           tests/api_db.cc: Fixed compilation warnings.
36108 Sat Dec 14 23:02:55 GMT 2002  Olly Betts <olly@survex.com>
36110         * docs/quartzdesign.html,docs/todo.xml: Updated.
36112 Sat Dec 14 22:57:41 GMT 2002  Olly Betts <olly@survex.com>
36114         * backends/quartz/Makefile.am,backends/quartz/quartzcheck.cc,
36115           backends/quartz/quartzcompact.cc,backends/quartz/quartzdump.cc:
36116           Enhanced quartzcheck to check all the btrees in a quartz database
36117           if passed a directory name.  It also default to "v" rather than
36118           "+" which is more appropriate for an end user checking if tables
36119           in a non-trivial sized database are corrupt.  Added quartzcompact
36120           utility to make a copy of a quartz database with full compaction
36121           turned on - this results in a smaller database which is faster to
36122           search.  The next update will result in a lot of block splitting
36123           though (since all blocks are as full as possible).
36125 Sat Dec 14 16:28:11 GMT 2002  Olly Betts <olly@survex.com>
36127         * NEWS: Updated for 0.6.3 release.
36129 Sat Dec 14 04:28:16 GMT 2002  Olly Betts <olly@survex.com>
36131         * PLATFORMS,configure.in: Version 0.6.3.
36133 Sat Dec 14 03:54:08 GMT 2002  Olly Betts <olly@survex.com>
36135         * extra/omparsequery.h,extra/parsequery.yy: Create an "unstem" multimap
36136           so users can convert the stemmed terms back into their query
36137           representation.
36139 Sat Dec 14 03:48:27 GMT 2002  Olly Betts <olly@survex.com>
36141         * docs/todo.xml: Updated.
36143 Sat Dec 14 02:37:41 GMT 2002  Olly Betts <olly@survex.com>
36145         * docs/todo.xml: Updated.
36147 Sat Dec 14 02:26:29 GMT 2002  Olly Betts <olly@survex.com>
36149         * docs/remote_protocol.html,net/socketclient.cc,net/socketserver.cc:
36150           Updated remote protocol description.
36152 Sat Dec 14 02:05:59 GMT 2002  Olly Betts <olly@survex.com>
36154         * docs/: Updated.
36156 Fri Dec 13 23:43:23 GMT 2002  Olly Betts <olly@survex.com>
36158         * include/om/om.h.in: Removed bogus // in the middle of a comment.
36160 Fri Dec 13 22:17:41 GMT 2002  Olly Betts <olly@survex.com>
36162         * configure.in,testsuite/testsuite.cc: Added hooks for using valgrind
36163           to find leaks in the test suite.  Just need to sort out suitable
36164           hooks in valgrind now!
36166 Fri Dec 13 19:57:23 GMT 2002  Olly Betts <olly@survex.com>
36168         * docs/: OmSettings removal updates.
36170 Fri Dec 13 19:44:23 GMT 2002  Olly Betts <olly@survex.com>
36172         * bindings/: Made a start updating bindings for OmSettings removal.
36174 Fri Dec 13 19:13:36 GMT 2002  Olly Betts <olly@survex.com>
36176         * api/omenquire.cc,common/omenquireinternal.h,include/om/omenquire.h,
36177           net/socketclient.cc,tests/api_db.cc: Finished removal of OmSettings
36178           - all tests now pass once more!
36180 Fri Dec 13 16:35:12 GMT 2002  Olly Betts <olly@survex.com>
36182         * api/,backends/quartz/quartz_table_manager.h,common/,docs/,include/,
36183           matcher/,net/,tests/internaltest.cc: Removed last use of OmSettings.
36184           Just a check-point check in - the code compiles, but doesn't pass
36185           tests yet.
36187 Fri Dec 13 12:53:01 GMT 2002  Olly Betts <olly@survex.com>
36189         * netprogs/nettest.cc: Updated disabled code to use new database
36190           factory functions; Added "using namespace std;".
36192 Thu Dec 12 23:52:32 GMT 2002  Olly Betts <olly@survex.com>
36194         * docs/todo.xml: Tidied my desk and converted lots of scraps of paper
36195           to todo entries.
36197 Thu Dec 12 16:43:22 GMT 2002  Olly Betts <olly@survex.com>
36199         * backends/quartz/btree.cc: Added workaround for shared_level problem;
36200           Improved error reporting.
36202 Thu Dec 12 01:05:00 GMT 2002  Olly Betts <olly@survex.com>
36204         * docs/overview.html: Updated docs on stub databases.
36206 Wed Dec 11 20:49:11 GMT 2002  Olly Betts <olly@survex.com>
36208         * api/omdatabaseinternal.cc,include/om/omdatabase.h,tests/api_db.cc:
36209           Reimplemented stub databases in the new scheme of things.
36210         * backends/inmemory/: fully disabled inmemory_errornext and
36211           inmemory_abortnext code.
36213 Tue Dec 10 13:47:44 GMT 2002  Olly Betts <olly@survex.com>
36215         * HACKING: Added note that Bison 1.50 seems to work with Xapian's
36216           .yy files.
36218 Mon Dec 09 20:13:00 GMT 2002  Olly Betts <olly@survex.com>
36220         * api/omenquire.cc,common/omenquireinternal.h,docs/todo.xml,
36221           include/om/omenquire.h,tests/api_db.cc: OmEnquire::get_eset()
36222           now takes a flags argument of bit constants |-ed together
36223           instead of 2 bools.
36225 Mon Dec 09 12:52:38 GMT 2002  Olly Betts <olly@survex.com>
36227         * backends/quartz/btree.cc,backends/quartz/btree.h: Applied patch
36228           from Martin Porter with better fix for sequential addition bug.
36230 Mon Dec 09 09:57:42 GMT 2002  Olly Betts <olly@survex.com>
36232         * docs/todo.xml: Updated.
36234 Mon Dec 09 07:32:46 GMT 2002  Olly Betts <olly@survex.com>
36236         * backends/quartz/quartztest.cc: Corrected name of database used
36237           by test adddoc2 (was using testdb_adddoc1!)
36239 Mon Dec 09 05:10:09 GMT 2002  Olly Betts <olly@survex.com>
36241         * backends/quartz/quartz_postlist.cc,backends/quartz/quartz_table.cc:
36242           More fettling.
36244 Mon Dec 09 04:48:39 GMT 2002  Olly Betts <olly@survex.com>
36246         * backends/quartz/: Minor code fettle.
36248 Mon Dec 09 03:32:11 GMT 2002  Olly Betts <olly@survex.com>
36250         * backends/quartz/quartz_postlist.cc: Gratuitous layout fettling.
36252 Mon Dec 09 03:30:27 GMT 2002  Olly Betts <olly@survex.com>
36254         * docs/quartzdesign.html: Improved wording and punctuation in 3
36255           places.
36257 Mon Dec 09 03:25:09 GMT 2002  Olly Betts <olly@survex.com>
36259         * common/,docs/todo.xml,include/om/omenquire.h,matcher/,
36260           net/socketclient.cc,net/socketserver.cc,netprogs/omprogsrv.cc,
36261           netprogs/omtcpsrv.cc: Fixed the remote backend to handle non-default
36262           weighting schemes.  You can now even implement your own weighting
36263           scheme and use it with the remote backend provided you register it
36264           with SocketServer at runtime.
36266 Sat Dec 07 21:18:39 GMT 2002  Olly Betts <olly@survex.com>
36268         * PLATFORMS: Updated.
36270 Sat Dec 07 21:09:52 GMT 2002  Olly Betts <olly@survex.com>
36272         * NEWS,PLATFORMS,configure.in: Version 0.6.2.
36274 Sat Dec 07 20:24:46 GMT 2002  Olly Betts <olly@survex.com>
36276         * NEWS: Updated.
36278 Sat Dec 07 20:21:41 GMT 2002  Olly Betts <olly@survex.com>
36280         * docs/quickstart.html: Fixed parameters passed to OmQuartz__open().
36282 Sat Dec 07 20:17:42 GMT 2002  Olly Betts <olly@survex.com>
36284         * backends/quartz/quartztest.cc: Fixed parameters passed to
36285           OmQuartz__open().
36287 Sat Dec 07 16:41:25 GMT 2002  Olly Betts <olly@survex.com>
36289         * docs/tests.html,testsuite/testsuite.cc: The testsuite won't install
36290           its signal handler if XAPIAN_SIG_DFL is set.
36292 Sat Dec 07 16:39:01 GMT 2002  Olly Betts <olly@survex.com>
36294         * HACKING: OM_DEBUG_XXX -> XAPIAN_DEBUG_YYY.
36296 Sat Dec 07 04:48:37 GMT 2002  Olly Betts <olly@survex.com>
36298         * backends/quartz/btree.cc: max_item_size wasn't being set due to
36299           some over-zealous code pruning.  It was defaulting to 0, and
36300           was causing the code to write off the end of allocated memory
36301           blocks.
36303 Sat Dec 07 03:22:05 GMT 2002  Olly Betts <olly@survex.com>
36305         * backends/inmemory/,matcher/multimatch.cc: Minor code tidying.
36306         * backends/quartz/btree.cc: Added Assert in Btree::add() to detect
36307           running off end of buffer.
36309 Sat Dec 07 03:20:52 GMT 2002  Olly Betts <olly@survex.com>
36311         * matcher/localmatch.cc: fixed handling of wtscheme() - we were
36312           trying to use it for the extra weights, and then double
36313           deleting it!
36315 Fri Dec 06 23:05:22 GMT 2002  Olly Betts <olly@survex.com>
36317         * api/omstem.cc,backends/quartz/,common/omdebug.cc,common/utils.h,
36318           matcher/tradweight.cc,net/socketcommon.cc,net/tcpclient.cc,
36319           tests/api_db.cc: Fixed to build with configure --enable-debug=full.
36321 Fri Dec 06 23:01:08 GMT 2002  Olly Betts <olly@survex.com>
36323         * common/omdebug.cc,common/omdebug.h: Fixed permissions on newly
36324           created log file (was getting 000!); Simplified class internals;
36325           Renamed env vars: OM_DEBUG_FILE is now XAPIAN_DEBUG_LOG,
36326           OM_DEBUG_TYPES is now XAPIAN_DEBUG_FLAGS (old versions still work
36327           for now).
36329 Fri Dec 06 22:58:57 GMT 2002  Olly Betts <olly@survex.com>
36331         * testsuite/testsuite.cc: Fixed so running "gdb .libs/apitest"
36332           finds srcdir (for an in-tree build at least).
36334 Fri Dec 06 03:51:35 GMT 2002  Olly Betts <olly@survex.com>
36336         * common/,include/om/omenquire.h,matcher/localmatch.h,matcher/rset.cc,
36337           matcher/stats.cc: Fixed to compile with GCC 3.0.
36339 Thu Dec 05 23:28:29 GMT 2002  Olly Betts <olly@survex.com>
36341         * include/om/omdatabase.h: Added missing "std::".
36343 Thu Dec 05 23:27:57 GMT 2002  Olly Betts <olly@survex.com>
36345         * docs/remote.html: Updated from OmSettings to factory functions.
36347 Thu Dec 05 23:26:42 GMT 2002  Olly Betts <olly@survex.com>
36349         * PLATFORMS: ixion is actually Linux 2.2.
36351 Thu Dec 05 04:32:40 GMT 2002  Olly Betts <olly@survex.com>
36353         * testsuite/backendmanager.cc: Fixed BackendManager::do_getdb_quartz()
36354           and do_getwritedb_quartz() to work correctly and so resolved some
36355           test failures.
36357 Wed Dec 04 03:35:12 GMT 2002  Olly Betts <olly@survex.com>
36359         * api/omdatabaseinternal.cc,backends/quartz/,docs/todo.xml,
36360           include/om/omdatabase.h: Replace create and allow_overwrite
36361           boolean flags with OM_DB_XXX constants.  And we now support
36362           OM_DB_CREATE_OR_OPEN which is a common action to want to
36363           perform, but was fiddly to achieve before.
36365 Tue Dec 03 23:59:30 GMT 2002  Olly Betts <olly@survex.com>
36367         * docs/todo.xml: Updated.
36369 Tue Dec 03 23:26:27 GMT 2002  Olly Betts <olly@survex.com>
36371         * api/omenquire.cc,backends/quartz/quartz_postlist.h,common/,
36372           docs/omsettings,docs/todo.xml,include/om/omenquire.h,matcher/,
36373           net/socketcommon.cc,net/socketserver.cc,tests/api_db.cc,
36374           tests/api_posdb.cc: Weighting schemes are now specified by passing
36375           in a weighting object, rather than via OmSetttings.  The weight
36376           class can be sub-classed by the library user to allow them to
36377           specify their own weighting scheme).  Everything works apart
36378           from the remote backend where the weighting scheme type and
36379           parameters aren't passed across the link.
36381 Mon Dec 02 20:12:31 GMT 2002  Olly Betts <olly@survex.com>
36383         * NEWS: Updated with changes since 0.6.1.
36385 Mon Dec 02 19:44:37 GMT 2002  Olly Betts <olly@survex.com>
36387         * api/ompostlistiterator.cc,backends/multi/multi_postlist.h,
36388           common/irweight.h,common/leafpostlist.h,matcher/: IRWeight
36389           renamed to OmWeight in preparation for making it externally
36390           visible.
36392 Mon Dec 02 18:10:55 GMT 2002  Olly Betts <olly@survex.com>
36394         * matcher/bm25weight.cc,matcher/irweight.cc,matcher/tradweight.cc,
36395           matcher/tradweight.h: Started to rework weighting scheme code.
36397 Mon Dec 02 17:36:21 GMT 2002  Olly Betts <olly@survex.com>
36399         * api/omdatabaseinternal.cc,backends/quartz/quartz_table_manager.cc:
36400           Tidying up after the recent backend reworking.
36402 Mon Dec 02 03:59:39 GMT 2002  Olly Betts <olly@survex.com>
36404         * matcher/: Changed BoolWeight ctor not to take an OmSettings
36405           parameter which is simply ignored.
36407 Mon Dec 02 01:35:41 GMT 2002  Olly Betts <olly@survex.com>
36409         * include/om/omdatabase.h: Added documentation comments for all of
36410           the database factory functions.
36412 Sun Dec 01 21:45:49 GMT 2002  Olly Betts <olly@survex.com>
36414         * include/om: Added \file documentation comments so doxygen
36415           extracts documentation for functions too.
36416         * docs/: Made a start on updating for the new database factory
36417           functions.
36419 Sun Dec 01 15:38:10 GMT 2002  Olly Betts <olly@survex.com>
36421         * api/,backends/,common/,docs/omsettings,docs/todo.xml,
36422           include/om/omdatabase.h,netprogs/,tests/,testsuite/backendmanager.cc,
36423           testsuite/backendmanager.h: No longer use OmSettings to specify
36424           parameters for constructing databases.  Instead there's a factory
36425           function for each database type - temporary naming scheme is
36426           OmXxx__open(), mostly because it's easy to grep for later.  At
36427           present stub databases and the machinery in InMemory to allow
36428           the multierrhandler1 test aren't working.  Everything else should
36429           be.
36431 Thu Nov 28 20:15:47 GMT 2002  Olly Betts <olly@survex.com>
36433         * api/omenquire.cc,common/omenquireinternal.h,docs/omsettings,
36434           docs/overview.html,include/om/omenquire.h,tests/api_db.cc:
36435           No longer use OmSettings in OmEnquire::get_eset(); fixed
36436           reversed sense of use_query_terms (and fixed reversed sense
36437           test in apitest which meant this wasn't spotted).
36439 Thu Nov 28 20:14:54 GMT 2002  Olly Betts <olly@survex.com>
36441         * docs/index.html: Link to annotated class lists in doxygen generated
36442           documentation rather than rather empty index page.
36444 Thu Nov 28 02:23:33 GMT 2002  Olly Betts <olly@survex.com>
36446         * configure.in,NEWS: Version 0.6.1.
36448 Thu Nov 28 01:38:05 GMT 2002  Olly Betts <olly@survex.com>
36450         * PLATFORMS: Updated.
36452 Thu Nov 28 01:33:25 GMT 2002  Olly Betts <olly@survex.com>
36454         * backends/quartz/: Fixed to compile with GCC 3.0.
36456 Thu Nov 28 01:32:31 GMT 2002  Olly Betts <olly@survex.com>
36458         * PLATFORMS: Updated with test results from 0.5.4 release.
36460 Wed Nov 27 22:11:38 GMT 2002  Olly Betts <olly@survex.com>
36462         * backends/quartz/btree.h: fixed "public:" bodge added during
36463           factoring-out of BtreeCheck.
36465 Wed Nov 27 05:01:14 GMT 2002  Olly Betts <olly@survex.com>
36467         * NEWS,PLATFORMS,configure.in: Updated for 0.6.0 release.
36469 Wed Nov 27 05:00:39 GMT 2002  Olly Betts <olly@survex.com>
36471         * AUTHORS,HACKING: Removed or replaced sourceforge.net URLs.
36473 Wed Nov 27 04:58:29 GMT 2002  Olly Betts <olly@survex.com>
36475         * docs/quartzdesign.html: Reworded "under development" warning;
36476           Updated Btree::check(), which is now BtreeCheck::check().
36478 Wed Nov 27 01:36:26 GMT 2002  Olly Betts <olly@survex.com>
36480         * backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h,
36481           backends/quartz/btreetest.cc: Tidied up BtreeCheck - btreetest now
36482           sends check output to tout so it's only displayed if the check fails
36483           (or btreetest is run with -v).
36485 Tue Nov 26 19:47:24 GMT 2002  Olly Betts <olly@survex.com>
36487         * backends/quartz/: Split the btree checking code out into a separate
36488           file, so it's not linked in when we don't need it.
36490 Tue Nov 26 05:47:32 GMT 2002  Olly Betts <olly@survex.com>
36492         * backends/quartz/btree.cc: Suppress all output from a successful
36493           Btree::Check() is no options are specified, so that btreetest
36494           generates clean output when all tests pass.
36496 Tue Nov 19 02:08:30 GMT 2002  Olly Betts <olly@survex.com>
36498         * NEWS: Updated.
36500 Tue Nov 19 01:46:35 GMT 2002  Olly Betts <olly@survex.com>
36502         * backends/quartz/btree.cc,backends/quartz/btree.h,
36503           backends/quartz/btreetest.cc,backends/quartz/quartztest.cc,
36504           docs/quartzdesign.html: Quartz B-tree minimum blocksize is
36505           now 2048 bytes (as was in fact documented already).  This
36506           means the max term length is now always 252 bytes.
36508 Mon Nov 18 22:16:57 GMT 2002  Olly Betts <olly@survex.com>
36510         * api/omenquire.cc,matcher/expand.cc,matcher/expandweight.cc:
36511           Bit of an expand tidy up.
36513 Mon Nov 18 19:49:09 GMT 2002  Olly Betts <olly@survex.com>
36515         * backends/quartz/quartz_termlist.cc: I'd put the new termlist stuff
36516           in the disabled branch of a "#ifdef" so it wasn't being used!  Fixed
36517           this and made it actually compile as an encore.
36519 Mon Nov 18 02:51:55 GMT 2002  Olly Betts <olly@survex.com>
36521         * docs/todo.xml: Retargetted 0.6 tasks for 0.7 or 0.8; updated a few
36522           entries.
36524 Mon Nov 18 02:28:55 GMT 2002  Olly Betts <olly@survex.com>
36526         * docs/quartzdesign.html,backends/quartz/: We can just store the term
36527           name raw in position list key, since we know its length from the key
36528           length; tweaked storing of deltas to store (delta - 1) as 0 is
36529           invalid.
36531 Mon Nov 18 00:47:54 GMT 2002  Olly Betts <olly@survex.com>
36533         * backends/quartz/quartz_termlist.cc: First cut of compressed term
36534           lists.
36536 Sun Nov 17 20:19:23 GMT 2002  Olly Betts <olly@survex.com>
36538         * backends/quartz/quartz_lexicon.cc,backends/quartz/quartz_values.cc:
36539           Use new pack_uint_last() and unpack_uint_last() where appropriate.
36541 Sun Nov 17 20:03:24 GMT 2002  Olly Betts <olly@survex.com>
36543         * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h:
36544           Added a more compact integer packing for the last integer in
36545           a key or tag.
36547 Sun Nov 17 18:54:05 GMT 2002  Olly Betts <olly@survex.com>
36549         * backends/quartz/btree.cc,backends/quartz/btree.h: more
36550           int -> bool changes.
36551         * backends/quartz/btree_base.cc: Clarified comments.
36553 Sun Nov 17 14:19:30 GMT 2002  Olly Betts <olly@survex.com>
36555         * docs/quartzdesign.html: Updated to reflect removal of Btree_item.
36557 Sun Nov 17 14:12:12 GMT 2002  Olly Betts <olly@survex.com>
36559         * backends/quartz/: Eliminate Btree_item - wherever it's used we
36560           only actually want the tag or key, so it's cleaner and clearer
36561           to just pass a pointer to a string.
36563 Sun Nov 17 13:34:08 GMT 2002  Olly Betts <olly@survex.com>
36565         * backends/quartz/,docs/quartzdesign.html: Quartz mini-overhaul:
36566           Removed Btree::Bcursor_create() and just made Bcursor's ctor
36567           public - now you can just create a Bcursor on the stack rather
36568           than being forced to use AutoPtr; removed valid_handle - the
36569           code is clearer without it; sys_close now inlined from header;
36570           changed int/char to bool where appropriate; changed some methods
36571           which now always throw on error to return void not bool; moved
36572           quartztest's test_btree1 to btreetest as test_simple1; changed
36573           a few remaining uses of "struct Btree" to just plain "Btree";
36574           brought the btree docs in quartzdesign.html up-to-date, apart
36575           from the error handling section.
36577 Sat Nov 16 01:45:28 GMT 2002  Olly Betts <olly@survex.com>
36579         * backends/inmemory/inmemory_database.cc,
36580           backends/inmemory/inmemory_database.h,
36581           backends/quartz/quartz_table.cc: Tidying up odds and ends.
36583 Fri Nov 15 17:46:38 GMT 2002  Olly Betts <olly@survex.com>
36585         * NEWS: Updated ready for 0.6.0 with changes made so far.
36587 Fri Nov 15 17:06:58 GMT 2002  Olly Betts <olly@survex.com>
36589         * testsuite/testsuite.cc: Avoid double debug output if we get a
36590           signal inside the testsuite code itself.
36592 Fri Nov 15 17:00:15 GMT 2002  Olly Betts <olly@survex.com>
36594         * backends/quartz/btree_api.txt,docs/Makefile.am,docs/index.html,
36595           docs/quartzdesign.html,docs/remote_protocol.html,
36596           net/README_progprotocol.txt: Converted Btree API documentation
36597           to HTML and add it to the quartz design document; converted the
36598           (seriously out of date) remote protocol document to HTML, moved it
36599           into docs/, and linked it in.
36601 Fri Nov 15 13:05:06 GMT 2002  Olly Betts <olly@survex.com>
36603         * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h,
36604           docs/quartzdesign.html: Changed encoding of keys for quartz record
36605           and termlist tables.
36607 Fri Nov 15 12:54:39 GMT 2002  Olly Betts <olly@survex.com>
36609         * backends/quartz/quartz_table_entries.cc: Fixed
36610           QuartzTableEntries::empty() which would never return true before.
36612 Fri Nov 15 03:08:49 GMT 2002  Olly Betts <olly@survex.com>
36614         * backends/quartz/btree_api.txt: Fixed typos.
36616 Fri Nov 15 03:06:41 GMT 2002  Olly Betts <olly@survex.com>
36618         * backends/quartz/quartztest.cc,backends/quartz/btreetest.cc:
36619           added another test (btreetest: emptykey1) and added extra
36620           checks to existing tests.
36622 Thu Nov 14 01:59:06 GMT 2002  Olly Betts <olly@survex.com>
36624         * matcher/multimatch.cc,tests/api_db.cc,docs/todo.xml:
36625           match_sort_bands code fettled, and added regression test for the
36626           >100% problem (test_sortbands1).
36628 Tue Nov 12 00:00:44 GMT 2002  Olly Betts <olly@survex.com>
36630         * backends/inmemory/inmemory_database.h,backends/quartz/,
36631           include/om/omtypes.h: Pushed average length calc down into
36632           QuartzRecordManager; removed unnecessary types om_totlength
36633           and om_termid.
36635 Mon Nov 11 18:10:23 GMT 2002  Olly Betts <olly@survex.com>
36637         * docs/index.html: Fixed broken link.
36639 Mon Nov 11 18:07:41 GMT 2002  Olly Betts <olly@survex.com>
36641         * backends/quartz/,docs/quartzdesign.html: Store next free docid
36642           and total doc length in the same tag in QuartzRecord.
36644 Wed Nov 06 22:38:40 GMT 2002  Olly Betts <olly@survex.com>
36646         * backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h:
36647           Eliminated QuartzDatabase::get_doccount_internal() and
36648           QuartzDatabase::get_avlength_internal() - now the thread
36649           locking code has gone, the indirection serves no purpose.
36651 Wed Nov 06 17:50:12 GMT 2002  Olly Betts <olly@survex.com>
36653         * backends/quartz/: Removed QuartzBufferedTable::write() (unused and
36654           unimplemented), and merged QuartzBufferedTable::write_internal()
36655           into QuartzBufferedTable::write_internal().
36657 Wed Nov 06 01:56:41 GMT 2002  Olly Betts <olly@survex.com>
36659         * backends/quartz/: disable quartz lexicon table unless USE_LEXICON
36660           is defined.
36662 Wed Nov 06 01:54:30 GMT 2002  Olly Betts <olly@survex.com>
36664         * docs/overview.html: Corrected link to API docs on website.
36666 Mon Nov 04 02:35:22 GMT 2002  Olly Betts <olly@survex.com>
36668         * include/om/omerror.h,net/omerr_string.cc,netprogs/omprogsrv.cc,
36669           netprogs/omtcpsrv.cc,testsuite/testsuite.cc: don't use typeid().
36671 Mon Nov 04 01:31:47 GMT 2002  Olly Betts <olly@survex.com>
36673         * testsuite/testsuite.cc: Catch by const reference.
36675 Mon Nov 04 01:18:53 GMT 2002  Olly Betts <olly@survex.com>
36677         * HACKING: Added note about use of various C++ features.  Also
36678           tidied up various odds and ends.
36680 Sun Nov 03 22:59:34 GMT 2002  Olly Betts <olly@survex.com>
36682         * api/omdatabaseinternal.cc: Eliminated entirely superfluous use of
36683           dynamic_cast.
36685 Sun Nov 03 22:46:34 GMT 2002  Olly Betts <olly@survex.com>
36687         * matcher/multimatch.cc,common/database.h,common/net_database.h:
36688           Replace Database::is_network() with Database::as_networkdatabase()
36689           which returns a pointer or NULL.  This eliminates the need to use
36690           dynamic_cast in MultiMatch.
36692 Wed Oct 23 05:24:14 BST 2002  Olly Betts <olly@survex.com>
36694         * docs/todo.xml: Resolved TODO entry by consulting Stroustrup
36695           (it is safe to throw and catch an exception in a destructor,
36696           even when that destructor is being called during a stack unwind
36697           caused by an exception being thrown).
36699 Wed Oct 16 20:05:39 BST 2002  Olly Betts <olly@survex.com>
36701         * backends/quartz/btreetest.cc: Suppress (most) output from
36702           Btree::check unless verbose (-v) is enabled.
36704 Mon Oct 14 15:13:18 BST 2002  Olly Betts <olly@survex.com>
36706         * testsuite/testsuite.cc: Fixed compilation problem with std:: on
36707           GCC 3.2.
36709 Mon Oct 14 15:07:03 BST 2002  Olly Betts <olly@survex.com>
36711         * api/omstem.cc: French and Finnish stemmers were switched!
36713 Mon Oct 14 02:49:12 BST 2002  Olly Betts <olly@survex.com>
36715         * backends/quartz/quartz_utils.h: change sort preserving packing for
36716           strings.  This one does better provided the strings being packed
36717           don't contain many zero bytes (which is true of the termnames which
36718           we pack with this).
36720 Mon Oct 14 02:45:20 BST 2002  Olly Betts <olly@survex.com>
36722         * tests/stemtest.cc: Updated to reflect new naming of stemming test
36723           data.
36725 Sun Oct 13 17:06:26 BST 2002  Olly Betts <olly@survex.com>
36727         * docs/todo.xml: Updated.
36729 Sun Oct 13 16:40:24 BST 2002  Olly Betts <olly@survex.com>
36731         * api/omstem.cc,backends/quartz/,common/,extra/omparsequery.h,matcher/,
36732           net/socketclient.cc: Added private copy ctors and assignment
36733           operators to classes with pointer members (which shouldn't be
36734           copied).
36736 Sun Oct 13 15:12:40 BST 2002  Olly Betts <olly@survex.com>
36738         * docs/todo.xml: Updated.
36740 Sun Oct 13 02:33:57 BST 2002  Olly Betts <olly@survex.com>
36742         * .cvsignore: Added install-sh.
36744 Sun Oct 13 02:16:31 BST 2002  Olly Betts <olly@survex.com>
36746         * backends/quartz/{quartz_lexicon.cc,quartz_lexicon.h}: key to lexicon
36747           is now simply the termname - no need to encode the length there too
36748           since the Btree knows how long the key is.
36749         * backends/quartz/{quartz_table_manager.cc,quartz_values.cc}: finished
36750           the terminology change from "attribute" to "value" (including
36751           renaming the btree files, which is why it wasn't done before).
36753 Sun Oct 13 02:09:00 BST 2002  Olly Betts <olly@survex.com>
36755         * tests/api_db.cc: Snowball stems "this" to "this" rather than "thi",
36756           so update apitest source to reflect this.
36758 Sun Oct 13 01:03:04 BST 2002  Olly Betts <olly@survex.com>
36760         * configure.in: Removed references to languages/*/Makefile.
36762 Sun Oct 13 00:50:01 BST 2002  Olly Betts <olly@survex.com>
36764         * docs/indexerquickstart.html,docs/quartzdesign.html: Updated.
36766 Sat Oct 12 23:34:52 BST 2002  Olly Betts <olly@survex.com>
36768         * languages/{api.c,api.h,header.h,utilities.c}: 4 new files.
36770 Sat Oct 12 23:29:50 BST 2002  Olly Betts <olly@survex.com>
36772         * languages/: removed all the old .cvsignore files.
36774 Sat Oct 12 22:34:01 BST 2002  Olly Betts <olly@survex.com>
36776         * api/omstem.cc,docs/stemming.html,docs/todo.xml,languages/: Replaced
36777           our stemmers with those from Snowball.  Note that these give better
36778           results, but this also means that existing databases won't work
36779           quite correctly if they contain stemmed terms.
36781 Sat Oct 12 17:17:26 BST 2002  Olly Betts <olly@survex.com>
36783         * configure.in,NEWS: Version 0.5.3.
36785 Sat Oct 12 16:49:50 BST 2002  Olly Betts <olly@survex.com>
36787         * PLATFORMS,api/omvalueiteratorinternal.h,extra/parsequery.yy,
36788           include/om/omdocument.h: Fixed std:: namespace issues to
36789           allow compilation with GCC 3 once again.
36791 Sat Oct 12 15:43:22 BST 2002  Olly Betts <olly@survex.com>
36793         * docs/todo.xml: Updated.
36795 Fri Oct 11 02:14:47 BST 2002  Olly Betts <olly@survex.com>
36797         * backends/quartz/Makefile.am: Include test data for btreetest
36798           in distribution tarball.
36800 Fri Oct 11 01:43:03 BST 2002  Olly Betts <olly@survex.com>
36802         * backends/quartz/{z_note,z_sequence,z_Cversion/,z_make/,z_test/}:
36803           Removed all the unused old C btree stuff.
36805 Thu Oct 10 17:32:10 BST 2002  Olly Betts <olly@survex.com>
36807         * backends/quartz/{btree.cc,btree.h}: More Btree tidying.
36809 Thu Oct 10 17:14:28 BST 2002  Olly Betts <olly@survex.com>
36811         * backends/quartz/{bcursor.cc,btree.cc,btree.h}: Btree::prev* and
36812           Btree::next* are no longer static methods.
36813         * backends/quartz/btree.h: Tweaked comments so doxygen will
36814           understand them.
36816 Thu Oct 10 16:12:29 BST 2002  Olly Betts <olly@survex.com>
36818         * backends/quartz/quartz_postlist.cc: return docids rather
36819           than passing in a pointer to fill in.
36821 Thu Oct 10 16:08:22 BST 2002  Olly Betts <olly@survex.com>
36823         * backends/quartz/quartzcheck.cc: Fixed #include-d files;
36824           Example in usage message now uses the directory where
36825           omega looks for its database by default.
36827 Thu Oct 10 15:25:10 BST 2002  Olly Betts <olly@survex.com>
36829         * backends/quartz/btree.cc,backends/quartz/btree.h: More comment
36830           improvements; Removed superfluous Cursor parameter from
36831           Btree::add_kt() - it always gets passed the C member of Btree
36832           which we have available anyway.
36834 Thu Oct 10 14:49:11 BST 2002  Olly Betts <olly@survex.com>
36836         * backends/quartz/btree.cc: Removed "struct" from in front of
36837           Btree and Cursor; Updated and reformatted many comments.
36839 Thu Oct 10 03:45:56 BST 2002  Olly Betts <olly@survex.com>
36841         * testsuite/backendmanager.cc: Reworded comment to make it clearer.
36843 Thu Oct 10 03:29:52 BST 2002  Olly Betts <olly@survex.com>
36845         * docs/todo.xml: Updated.
36847 Wed Oct 09 14:05:07 BST 2002  Olly Betts <olly@survex.com>
36849         * backends/quartz/{quartz_alltermslist.cc,quartz_alltermslist.h,
36850           quartz_database.cc}: Implemented
36851           QuartzAllTermsList::get_approx_size().
36853 Wed Oct 09 10:46:42 BST 2002  Olly Betts <olly@survex.com>
36855         * extra/omparsequery.h,include/om/omvalueiterator.h: Don't use
36856           "using std::foo;" in externally visible headers.
36858 Wed Oct 09 10:26:05 BST 2002  Olly Betts <olly@survex.com>
36860         * extra/omparsequery.h: fixed unused parameter warning.
36862 Tue Oct 08 20:32:46 BST 2002  Olly Betts <olly@survex.com>
36864         * tests/stemtest.cc: Added missing space to output.
36866 Tue Oct 08 20:10:35 BST 2002  Olly Betts <olly@survex.com>
36868         * With GCC, add warning flags "-Wall -W" rather than "-Wall -Wunused"
36869           (-Wall implies -Wunused anyway).  Fixed all the warnings this throws
36870           up, except in languages/ (that code is to be replaced with Snowball
36871           soon).
36873 Tue Oct 08 19:57:03 BST 2002  Olly Betts <olly@survex.com>
36875         * testsuite/: Disable colour test output if stdout isn't a terminal;
36876           reworked check for broken exception handling as the previous
36877           version never seemed to fire; added "using" for all the things
36878           we want from std::; improved how signal handlers are set and
36879           unset; report exception class for exceptions derived from OmError
36880           rather than a blanket "OMEXCEPT"; added private copy ctor and
36881           assignment to test_driver to prevent copying.
36883 Tue Oct 08 19:53:02 BST 2002  Olly Betts <olly@survex.com>
36885         * include/om/Makefile.am: remove include/om/om.h on "make distclean",
36886           not "make clean".  Otherwise "./configure ; make clean ; make"
36887           fails which is wrong.
36889 Sun Oct 06 18:37:39 BST 2002  Olly Betts <olly@survex.com>
36891         * PLATFORMS: Updated.
36892         * docs/: Removed Martin's paper - background information for stemmers
36893           is best left to the Snowball documentation.
36895 Sat Oct 05 20:31:55 BST 2002  Olly Betts <olly@survex.com>
36897         * NEWS,configure.in: 0.5.2 release.
36899 Sat Oct 05 03:01:49 BST 2002  Olly Betts <olly@survex.com>
36901         * PLATFORMS: Updated.
36903 Sat Oct 05 02:09:35 BST 2002  Olly Betts <olly@survex.com>
36905         * docs/todo.xml: Updated.
36907 Fri Oct 04 22:34:12 BST 2002  Olly Betts <olly@survex.com>
36909         * PLATFORMS,testsuite/testutils.h: Code to spot mishandled exceptions
36910           doesn't always work - noted this in PLATFORMS, and tweaked the code
36911           a little.
36913 Fri Oct 04 19:08:08 BST 2002  Olly Betts <olly@survex.com>
36915         * backends/quartz/.cvsignore: Added quartzcheck.
36917 Fri Oct 04 18:24:55 BST 2002  Olly Betts <olly@survex.com>
36919         * docs/: converted all text docs to HTML (except omsettings which will
36920           has odd markup (LaTeX?) and will probably soon be obsolete anyway).
36921         * docs/todo.xml: updated.
36923 Fri Oct 04 17:18:33 BST 2002  Olly Betts <olly@survex.com>
36925         * net/socketcommon.cc: Fixed handling of timeouts in the past.
36927 Fri Oct 04 13:51:39 BST 2002  Olly Betts <olly@survex.com>
36929         * PLATFORMS,testsuite/testutils.h: Use typeid() to spot when GCC 2.95
36930           mishandles an exception, and don't count this as a test failure.
36932 Fri Oct 04 03:59:29 BST 2002  Olly Betts <olly@survex.com>
36934         * api/omdatabaseinternal.cc,backends/multi/multi_termlist.h,
36935           matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h:
36936           pulled uses of dynamic_cast<> to higher up in the code.
36938 Fri Oct 04 03:53:44 BST 2002  Olly Betts <olly@survex.com>
36940         * PLATFORMS,backends/quartz/{btree.cc,quartz_metafile.cc}: Fixed quartz
36941           problems on platforms where sizeof(long) != 4.
36942         * PLATFORMS: Updated in the light of investigations into test failures
36943           on x86 Redhat Linux - only multierrhandler1 with the remote backend
36944           is actually a problem.
36946 Wed Oct 02 16:32:48 BST 2002  Olly Betts <olly@survex.com>
36948         * NEWS: Updated for 0.5.1 release.
36950 Wed Oct 02 16:01:50 BST 2002  Olly Betts <olly@survex.com>
36952         * PLATFORMS,configure.in: 0.5.1 release.
36954 Tue Oct 01 13:34:24 BST 2002  Olly Betts <olly@survex.com>
36956         * docs/: tweaked navigation links in index.html; converted bm25
36957           text document to HTML and linked it in; added todo entry to
36958           locate the "illusion of control" paper.
36960 Tue Oct 01 12:48:41 BST 2002  Olly Betts <olly@survex.com>
36962         * docs/: renamed intro.html to install.html, and userman.html to
36963           overview.html; changed navbar on index.html.
36965 Tue Oct 01 12:37:20 BST 2002  Olly Betts <olly@survex.com>
36967         * bootstrap: fixed adding of directory with xapian.m4 in to
36968           ACLOCAL_FLAGS; added trap to tell user if bootstrapping failed.
36970 Tue Oct 01 12:33:38 BST 2002  Olly Betts <olly@survex.com>
36972         * HACKING,Makefile.am,bootstrap,buildall,xapian.spec.in,
36973           autoconf/dir_contents,docs/todo.xml: Added bootstrap script as a
36974           replacement for buildall (buildall left in place for now until
36975           bootstrap receives wider testing).
36977 Tue Oct 01 12:19:32 BST 2002  Olly Betts <olly@survex.com>
36979         * HACKING,Makefile.am,configure.in,PLATFORMS: require automake 1.6.3
36980           (and hence autoconf 2.54) to fix problem building tests/internaltest
36981           with Solaris make.
36983 Mon Sep 30 20:30:42 BST 2002  Olly Betts <olly@survex.com>
36985         * PLATFORMS: Improved wording about bogus OMEXCEPT failures);
36986           Added results for OpenBSD 3.0 and Solaris 8 on x86 (both work).
36988 Mon Sep 30 20:25:03 BST 2002  Olly Betts <olly@survex.com>
36990         * docs/: Pruned .cvsignore; removed cvs.html (link to CVS info
36991           on website directly); removed using_stemmers.html - those
36992           wishing to use the C API to the stemmers ought to look at
36993           Snowball instead; include HTML versions of quickstart*.cc
36994           in tarballs; improved wording in various places.
36996 Mon Sep 23 19:33:31 BST 2002  Olly Betts <olly@survex.com>
36998         * net/Makefile.am: Fixed building of readquery.cc from readquery.ll.
37000 Sun Sep 22 03:57:20 BST 2002  Olly Betts <olly@survex.com>
37002         * PLATFORMS: Updated.
37004 Fri Sep 20 15:09:25 BST 2002  Olly Betts <olly@survex.com>
37006         * PLATFORMS: Added note about bogus OMEXCEPT test failures with
37007           GCC 2.95.
37009 Fri Sep 20 01:36:35 BST 2002  Olly Betts <olly@survex.com>
37011         * NEWS,PLATFORMS,configure.in: 0.5.0 release!
37013 Fri Sep 20 01:01:52 BST 2002  Olly Betts <olly@survex.com>
37015         * Makefile.am: Perl module we need to process todo.xml is XML::Parser
37016           not XML, so corrected error message.
37017         * configure.in: Commented out MSG_WARN() when Perl modules XML::Parser
37018           or Text::Format aren't found.  In a release tarball, this only
37019           matters if you modify docs/todo.xml, and the warning message(s) may
37020           alarm those building the software.
37022 Thu Sep 19 00:57:23 BST 2002  Olly Betts <olly@survex.com>
37024         * .cvsignore: Added depcomp, missing, mkinstalldirs.
37026 Thu Sep 19 00:49:01 BST 2002  Olly Betts <olly@survex.com>
37028         * HACKING: Added note about safe way to generate files in make rules.
37030 Thu Sep 19 00:45:51 BST 2002  Olly Betts <olly@survex.com>
37032         * PLATFORMS: Tested on Solaris 7 with GCC 2.95.3 (works) and Solaris 8
37033           Sun Workshop C++ compiler (fails to compile).
37035 Thu Sep 19 00:41:53 BST 2002  Olly Betts <olly@survex.com>
37037         * ar-wrapper-solaris,ltconfig,Makefile.am: libtool 1.4 doesn't use
37038           ltconfig, and that's the only thing that uses ar-wrapper-solaris,
37039           so removed both.  Fairly sure the problem they address was fixed
37040           in libtool so time ago.  Xapian doesn't build with Sun's C++
37041           compiler at the moment anyway, so it's moot for the release.
37043 Thu Sep 19 00:26:37 BST 2002  Olly Betts <olly@survex.com>
37045         * docs/todo2html.pl: Handle release "*" specially - it indicates
37046           tasks to be done for each release.
37048 Thu Sep 19 00:05:40 BST 2002  Olly Betts <olly@survex.com>
37050         * configure.in,include/om/om.h.in: Tweaked how generation of om.h
37051           works to avoid problems with Sun's C++ compiler.
37053 Wed Sep 18 19:21:47 BST 2002  Olly Betts <olly@survex.com>
37055         * net/Makefile.am,net/readquery.ll: #include <config.h>
37056           must be included before any other headers, but that seems to be
37057           impossible to arrange in lex/flex so we use echo and cat in the
37058           Makefile to arrange this.
37060 Wed Sep 18 17:35:00 BST 2002  Olly Betts <olly@survex.com>
37062         * include/om/Makefile.am: We want to install om/om.h, but not
37063           distribute it or people with a different compiler to whoever
37064           ran "make dist" will get the "ABI mismatch" error.
37066 Wed Sep 18 13:16:14 BST 2002  Richard Boulton <richard@tartarus.org>
37068         * docs/.cvsignore: Add docs/doxygen_full_warnings.
37069         * include/om/.cvsignore: Add include/om/om.h.
37071 Wed Sep 18 11:06:12 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37073         * include/om/Makefile.am: We really should install om/om.h, or
37074           applications can't build against us.
37076 Wed Sep 18 05:10:24 BST 2002  Richard Boulton <richard@tartarus.org>
37078         * docs/doxygen_{api,full}_header.html_tmpl: Remove meta robots tag -
37079           why shouldn't this be indexed?  Now the omega I set up pointing
37080           at copies of this should actually index something.
37082 Wed Sep 18 04:52:20 BST 2002  Olly Betts <olly@survex.com>
37084         * configure.in: Merged two sed invocations into one - we don't want
37085           configure to run any slower than it has to.
37087 Wed Sep 18 04:17:58 BST 2002  Richard Boulton <richard@tartarus.org>
37089         * configure.in: Don't put confdefs.h into SOURCEDOC_H_SRC - this
37090           file only exists during the configure run.  Fixes failure of
37091           "make doxygen_docs" in docs/
37093 Tue Sep 17 13:07:39 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37095         * Updated PLATFORMS file.
37097 Mon Sep 16 19:40:02 BST 2002  Olly Betts <olly@survex.com>
37099         * docs/todo.xml: Updated.
37101 Mon Sep 16 18:09:29 BST 2002  Olly Betts <olly@survex.com>
37103         * tests/api_db.cc: don't run consistency1 test on the remote backend
37104           - it's particularly slow with that, and testing it there doesn't
37105           actually improve the test coverage really.
37107 Mon Sep 16 17:15:46 BST 2002  Olly Betts <olly@survex.com>
37109         * configure.in,docs/Makefile.am: Added workaround for pattern length
37110           limits in Solaris sed.
37112 Mon Sep 16 17:13:20 BST 2002  Olly Betts <olly@survex.com>
37114         * include/om/om.h.in: Added explanatory comments for developers.
37116 Mon Sep 16 14:22:48 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37118         * om/om.h needs to be in CLEANFILES or make distcheck fails
37120 Mon Sep 16 13:37:04 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37122         * Now om/om.h is built from om/om.h.in, it may be in the build
37123           directly. Consequently, we need to add that to the include path
37124           for VPATH builds. Plus (also for VPATH), om/om.h needs to be
37125           output after AC_OUTPUT, because otherwise the destination
37126           directory may not exist.
37128 Mon Sep 16 04:19:54 BST 2002  Olly Betts <olly@survex.com>
37130         * configure.in,docs/todo.xml,include/om/Makefile.am,include/om/om.h,
37131           include/om/om.h.in: When building the library with GCC, generate
37132           include/om/om.h with preprocessor code to check that any version
37133           of GCC used to build applications has a matching C++ ABI.
37135           This means that users get a nice explanatory error message rather
37136           than a confusing link failure (or worse a program which builds
37137           but crashes).  Another benefit is that the check happens near the
37138           start of compilation of the first source file which uses Xapian
37139           in the user's application, rather than during the first attempt
37140           to link with Xapian.
37142 Sun Sep 15 01:42:19 BST 2002  Olly Betts <olly@survex.com>
37144         * net/tcpserver.cc: Solved std mystery - "using namespace std;" was
37145           inside a #ifdef which wasn't enabled!
37147 Sun Sep 15 01:21:34 BST 2002  Richard Boulton <richard@tartarus.org>
37149         * tests/tcpserver.cc: Hacky fix to compile with gcc-3.2 snapshot in
37150           Debian unstable - add a FIXME to work out why this is needed.
37151         * todo: add entry about checking ABI versions using
37152           __GXX_ABI_VERSION macro.
37154 Sat Sep 14 22:39:11 BST 2002  Olly Betts <olly@survex.com>
37156         * configure.in,tests/Makefile.am,tests/internaltest.cc: It turns out
37157           that internaltest *does* need -fno-access-control, so put it back.
37158           Not quite sure how I missed this.  Changed to skip refcnt tests
37159           when -fno-access-control isn't available (rather than omitting them
37160           entirely).
37162         * tests/api_db.cc: Fixed compile problem.
37164 Sat Sep 14 21:44:34 BST 2002  Olly Betts <olly@survex.com>
37166         * internaltest: doesn't actually need -fno-access-control these
37167           days, so removed it and the configure tests for it.
37169         * stemtest: recoded to be all in C++ and removed use of intermediate
37170           files for random data tests - now runs ~15% faster; no longer need
37171           HAVE_PERL so removed from configure.
37173         * apitest: use C++ streams rather than stdio; stubdb1 now cleans up
37174           the temporary file it creates.
37176 Sat Sep 14 12:54:52 BST 2002  Olly Betts <olly@survex.com>
37178         * docs/Makefile.am: fix "mv apidoc/latex/refman.ps avidoc.ps" which
37179           fails after recent change.
37181 Sat Sep 14 11:15:33 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37183         * Renamed simple* programs in quickstart docs to quickstart* to
37184           avoid confusion with the simple* programs in xapian-examples.
37185           (Thanks to Alex Bowley for pointing out the confusion.)
37187 Sat Sep 14 10:00:35 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37189         * configure.in: returned AC_CONDITIONAL for HAVE_PERL
37191 Sat Sep 14 09:29:08 BST 2002  Richard Boulton <richard@tartarus.org>
37193         * buildall: change to srcdir before testing for necessary tools
37194           so that scripts which guess which autotools version to use have more
37195           information available to guess with: for example, the Debian
37196           autoconf version guessing script looks for "configure.ac" as a sign
37197           that autoconf 2.50+ is required.
37199 Sat Sep 14 02:50:23 BST 2002  Olly Betts <olly@survex.com>
37201         * docs/distributed.txt,docs/quartzdesign.html,docs/todo.xml: assorted
37202           documentation updates.
37204 Sat Sep 14 02:10:12 BST 2002  Olly Betts <olly@survex.com>
37206         * PLATFORMS: removed note about VPATH problems.
37208 Sat Sep 14 02:02:58 BST 2002  Olly Betts <olly@survex.com>
37210         * btree.cc,btree.h: rearranged Btree::del() so control flow is clearer.
37212 Sat Sep 14 01:56:44 BST 2002  Olly Betts <olly@survex.com>
37214         * HACKING,docs/Makefile.am: added evil hack to allow VPATH builds to
37215           work with BSD make.
37217 Wed Sep 11 11:29:07 BST 2002  Olly Betts <olly@survex.com>
37219         * backends/database_builder.cc: Quartz is fairly mature - change
37220           comment which suggests that the btree names will change.
37222 Wed Sep 11 11:13:43 BST 2002  Olly Betts <olly@survex.com>
37224         * configure.in: Don't double quote `$MISSING foo' as autoconf adds them
37225         * docs/Makefile.am: Use `test a = b' rather than `test a == b'
37227 Tue Sep 10 14:50:16 BST 2002  Olly Betts <olly@survex.com>
37229         * configure.in: tweaked test for perl modules - stderr is now
37230           fully suppressed on sh (which behaves slightly differently to bash).
37232 Tue Sep 10 14:27:15 BST 2002  Richard Boulton <richard@tartarus.org>
37234         * backend_manager.cc: Fix stub database code so that it doesn't use
37235           the gnu extension "getline()".
37237 Tue Sep 10 13:51:20 BST 2002  Olly Betts <olly@survex.com>
37239         * quartz_table.cc: don't form tag when we just want to check if a
37240           key is present before calling Btree::del().  Working out why
37241           we can't call Btree::del() would still be worthwhile though.
37243 Tue Sep 10 13:02:04 BST 2002  Olly Betts <olly@survex.com>
37245         * quartztest.cc: removed unused #include-s; describe valid options
37246           in usage message.
37248 Tue Sep 10 02:07:29 BST 2002  Olly Betts <olly@survex.com>
37250         * remote backend: implemented term_exists() and get_termfreq();
37251           added test to check they work.
37253 Mon Sep  9 12:59:15 BST 2002  Richard Boulton <richard@tartarus.org>
37255         * Add stub databases: if backend type is auto, and auto_dir points
37256           to a file, read in settings from the file (overwriting the
37257           existing ones), and then use them to open the database.
37258           This allows, for example, omega to open a remote database by
37259           putting in a stub database file in the omega directory.
37260           Updated documentation for opening databases in userman.html.
37261         * apitest: Added test for stub databases.
37263 Mon Sep 09 02:26:36 BST 2002  Olly Betts <olly@survex.com>
37265         * Documentation updates: move suggested books into intro_ir.html
37266           and added URL for citeseer reference Richard posted to mailing
37267           list recently; clarified wording in a couple of places.
37269 Sat Sep  7 12:52:12 2002  James Aylett  <tartarus@users.sourceforge.net>
37271         * docs: fixed references to OmDocumentContents (now OmDocument)
37272           which had clearly been broken for a while. Also fixed get_data()
37273           and set_data() example usage so it reflects reality (I hope).
37275 Wed Sep 04 22:46:17 BST 2002  Olly Betts <olly@survex.com>
37277         * Corrected min_item.wt to min_wt in two assertions.
37279 Thu Aug 15 11:42:20 BST 2002  Richard Boulton <richard@tartarus.org>
37281         * buildall: Only add the directory derived from xapian-config
37282           to ACLOCAL_FLAGS if it actually exists.
37284 Mon Aug 12 01:13:55 BST 2002  Richard Boulton <richard@tartarus.org>
37286         * quartz_table.cc: Check that a key exists before calling
37287           Btree::del() - there seems to be a bug in the btree code
37288           causing a failure when deleting keys if they don't exist.
37289           This work around appears to make things work correctly, but
37290           won't be terribly efficient.
37292 Mon Aug 12 00:09:21 BST 2002  Richard Boulton <richard@tartarus.org>
37294         * quartz_table_manager.cc: When unable to apply modifications,
37295           call cancel on the buffered table after reopening disk table
37296           at old revision - otherwise, the entry count gets messed up.
37297         * quartz_table.cc, quartz_database.cc: Improve debugging and
37298           error reporting: I'm trying to work out why the failure Olly
37299           reported is occurring.
37301 Sat Aug 10 15:12:42 2002  James Aylett  <tartarus@users.sourceforge.net>
37303         * Fixed missing include in quartzcheck.cc
37305 Sat Aug 10 14:57:17 2002  James Aylett  <tartarus@users.sourceforge.net>
37307         * Fixed typo in quartzcheck.cc
37309 Tue Jul 23 22:12:34 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37311         * Added a note to the effect that the indexgraph stuff isn't
37312           really considered useful to the HTML document introducing it.
37314 Tue Jul 23 22:09:39 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37316         * Added some comments in quartztest test_create1(), in case anyone
37317           else who didn't write it needs to understand it.
37319         * Added Olly as an active participant to the AUTHORS file :)
37321 Tue Jul 23 21:59:50 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37323         * Reworded quickstart document so it does not refer to the example
37324           code (it was never actually in sync).
37326 Mon Jul 22 14:07:18 BST 2002  Sam Liddicott <sam@ananova.com>
37328         * Forgot to actually add the quartzcheck.cc file last time
37330 Mon Jul 22 13:28:09 BST 2002  Sam Liddicott <sam@ananova.com>
37332         * Add buildprereq to package
37333           Add quartzcheck which runs btree::check to backends
37335 Tue Jul 16 09:44:56 BST 2002  Sam Liddicott <sam@ananova.com>
37337         * Fix banding problem; bands are now based on the percentage
37338           not the weight, and using integer maths to avoid problems
37339           with ceil() rounding up supposed integers which are really
37340           slightly larger due to precision errors
37342 Thu Jul 11 00:16:22 BST 2002  Olly Betts <olly@survex.com>
37344         * configure.in, docs/Makefile.am: configure fixes for Solaris - clear
37345           cached result for fdatasync since it may be wrong if we decide we
37346           need to link librt; split SOURCEDOC_SRC into two to avoid hitting
37347           4096 char line length in Solaris sed.
37349 Tue Jul 09 17:47:31 BST 2002  Olly Betts <olly@survex.com>
37351         * PLATFORMS, tests/Makefile.am: improved internaltest.cc automake rules
37352           - they should now work in VPATH builds with Solaris make.
37354 Tue Jul 09 03:30:41 BST 2002  Olly Betts <olly@survex.com>
37356         * configure.in, docs/Makefile.am: Fixed up apidoc and sourcedoc
37357           dependencies so that they work correctly in VPATH builds.  Also
37358           only use portable find arguments to generate SOURCEDOC_SRC.
37360 Sat Jul 06 13:53:27 BST 2002  Olly Betts <olly@survex.com>
37362         * xapian.spec.in: Updated in preparation for release.
37364 Sat Jul 06 13:04:45 BST 2002  Olly Betts <olly@survex.com>
37366         * docs/Makefile.am: Run latex twice to get forward references resolved.
37368 Fri Jul 05 18:23:08 BST 2002  Olly Betts <olly@survex.com>
37370         * matcher/multimatch.cc: better (perhaps even completely correct) fix
37371           for sorting into bands.
37373         * matcer/localmatch.cc: removed entirely bogus comment from over-eager
37374           cut-and-paste.
37376         * tests/api_db.cc: added otherwise pointless statement to deldoc3
37377           which seems to fix occasional miscompilation by GCC 2.95.
37379 Fri Jul 05 16:37:12 BST 2002  Olly Betts <olly@survex.com>
37381         * docs/Makefile.am: "make dist" now fails if dot (part of graphviz)
37382           isn't installed.
37384 Fri Jul 05 08:54:33 BST 2002  Sam Liddicott <sam@ananova.com>
37386         * bindings/: removed some typemap hacks as swig has better typemaps now
37388 Fri Jul 05 08:46:06 BST 2002  Sam Liddicott <sam@ananova.com>
37390         * matcher/multimatch.cc: Quick hack to stop 100% being in a band all on
37391           its own.  The real problem is that bands need to include the integer
37392           at the upper end of the range, rather than the lower end.
37394 Thu Jul 04 16:23:52 BST 2002  Olly Betts <olly@survex.com>
37396         * docs/mkdoc.pl: Fixed to work in VPATH builds.
37398 Thu Jul 04 12:42:06 BST 2002  Olly Betts <olly@survex.com>
37400         * configure.in, docs/Makefile.am: use "missing" to give more helpful
37401           errors when we don't find tools we need.
37403 Wed Jul 03 12:39:15 BST 2002  Olly Betts <olly@survex.com>
37405         * NEWS: incorporated recent changes into provisional version.
37407         * docs/: sorted out make rules for running doxygen; don't tell doxygen
37408           to build man pages which we aren't using.
37410 Tue Jul 02 16:36:54 BST 2002  Olly Betts <olly@survex.com>
37412         * docs/: run through ispell; fixed OM_MOP to OmQuery::OP; other
37413           corrections.
37415 Fri Jun 28 02:59:49 BST 2002  Olly Betts <olly@survex.com>
37417         * Backend "auto" now works when creating an OmWritableDatabase which
37418           doesn't already exist - it'll pick a backend which supports writing
37419           and is compiled in (currently this means quartz).
37421 Thu Jun 27 20:31:13 BST 2002  Richard Boulton <richard@tartarus.org>
37423         * backends/quartz/btreetest.cc (sequent1): Add regression test for
37424           recently fixed bug with sequential addition.
37425         * backends/quartz/z_data/ordnum[+-]: Data files for new test.
37427 Thu Jun 27 13:13:37 BST 2002  Olly Betts <olly@survex.com>
37429         * Documentation fettling: removed docs/Notes and
37430           docs/coding_policy.txt moving relevant content into HACKING,
37431           common/postlist.h, docs/todo.xml, and include/om/omtypes.h; install
37432           docs as PostScript rather than DVI; include text docs in tarball and
37433           install them; "make dist" will now fail if a tool needed to build
37434           docs is missing; removed last vestiges of Doc++ support;
37435           doc/Makefile no longer uses include (include isn't portable);
37436           improved doc/tests.txt.
37438 Thu Jun 27 12:10:37 BST 2002  Olly Betts <olly@survex.com>
37440         * apitest: doesn't directly use anything from utils.h, so don't
37441           #include it.
37443 Thu Jun 27 12:05:53 BST 2002  Olly Betts <olly@survex.com>
37445         * Removed includetest - it was useful early in development, but isn't
37446           really now.
37448 Wed Jun 26 22:09:57 BST 2002  Olly Betts <olly@survex.com>
37450         * apitest: deldoc2 and deldoc3 now pass when the library is compiled
37451           with --enable-debug.
37453 Wed Jun 26 19:35:56 BST 2002  Olly Betts <olly@survex.com>
37455         * Removed code which causes quartztest to fail with an --enable-debug
37456           build.
37458 Wed Jun 26 13:55:11 BST 2002  Olly Betts <olly@survex.com>
37460         * todo.xml: added note to fix 100% being in its own sort band.
37462 Wed Jun 26 13:46:02 BST 2002  Richard Boulton <richard@tartarus.org>
37464         * btree.cc: Fix splitting of blocks in sequential mode to ensure
37465           that split happens no earlier than the midpoint.
37467 Wed Jun 26 12:32:47 BST 2002  Richard Boulton <richard@tartarus.org>
37469         * btree.cc: Asserts to check that add_item in sequential mode
37470           when splitting a block is not trying to add to the wrong block,
37471           or to add to a new block which is not empty (or containing more
37472           than one item).
37474 Tue Jun 25 17:53:19 BST 2002  Olly Betts <olly@survex.com>
37476         * Assert that the value of c is sane in GETINT1, etc.
37478 Tue Jun 25 16:30:09 BST 2002  Olly Betts <olly@survex.com>
37480         * btreetest.cc: use C++ IO rather than C stdio; removed commented out
37481           LFSinsertdelete1 test (it was never written and a test suite which
37482           creates 2G files is probably a bit too resource hungry).
37484 Tue Jun 25 13:56:01 BST 2002  Olly Betts <olly@survex.com>
37486         * btree/quartz: More use of const pointers; more use of C++ strings.
37488 Wed Jun 19 08:56:00 BST 2002  Sam Liddicott <sam@ananova.com>
37490         * Fixed spec file to build for prefix=/usr not just install there
37492 Fri Jun 14 16:35:04 BST 2002  Olly Betts <olly@survex.com>
37494         * docs/todo.xml: added 4 new tasks.
37496 Fri Jun 14 16:33:08 BST 2002  Olly Betts <olly@survex.com>
37498         * backends/quartz/quartz_database.cc: Cosmetic changes.
37500 Wed Jun 12 16:31:11 BST 2002  Olly Betts <olly@survex.com>
37502         * QuartzDbKey, QuartzDbTag: just use a string instead of a string
37503           wrapped in a structure.  We've stopped inflicting this on external
37504           developers (OmData, OmKey/OmValue) so why inflict it on ourselves?
37506 Wed Jun 12 12:26:04 BST 2002  Olly Betts <olly@survex.com>
37508         * Btree_item: use C++ strings rather than trying to reimplement them.
37510         * Fix a few warnings about unused parameters.
37512 Wed Jun 12 02:53:16 BST 2002  Olly Betts <olly@survex.com>
37514         * Btree_full_compaction, Btree_close: removed - they just wrap methods
37515           of Btree.
37517 Wed Jun 12 02:28:30 BST 2002  Olly Betts <olly@survex.com>
37519         * Btree_item_create and Btree_item_lose subsumed into Btree_item
37520           and ~Btree_item.
37522         * Pass C++ strings rather than const char * into various Btree open
37523           methods.
37525         * Removed pointless wrapper functions for Btree open methods.
37527         * Btree_quit removed (just use delete directly).
37529         * Btree_create removed (just use Btree::create directly).
37531 Wed Jun 12 00:48:52 BST 2002  Olly Betts <olly@survex.com>
37533         * form_key is now a method of Btree; more passing of strings rather
37534           than pointer/length pairs); buffer overrun check added to btreetest.
37536 Tue Jun 11 18:04:08 BST 2002  Olly Betts <olly@survex.com>
37538         * More C++ like interfaces (e.g. bool returns, strings rather than
37539           pointer/length pairs).
37541 Tue Jun 11 16:40:08 BST 2002  Richard Boulton <richard@tartarus.org>
37543         * quartz/btree.cc: Fix so that it compiles when BTREE_FULL_DEBUG is on,
37544           and added a couple of Assert()s.
37546 Tue Jun 11 13:09:39 BST 2002  Olly Betts <olly@survex.com>
37548         * Removed a number of btree functions which were simply wrappers for
37549           calling methods on their first parameter, and most of which weren't
37550           even used!
37552         * btree_api.txt: updated to better reflect the object-ized API.
37554 Tue Jun 11 02:01:53 BST 2002  Olly Betts <olly@survex.com>
37556         * Btree::make_index_item(): Added check for buffer overflow.
37558 Tue Jun 11 01:49:51 BST 2002  Olly Betts <olly@survex.com>
37560         * Still more...
37562 Tue Jun 11 01:08:03 BST 2002  Olly Betts <olly@survex.com>
37564         * More btree and quartz tidying.
37566 Mon Jun 10 20:33:24 BST 2002  Olly Betts <olly@survex.com>
37568         * btree.cc,btree.h: cleaned up further.
37570 Mon Jun 10 15:54:49 BST 2002  Olly Betts <olly@survex.com>
37572         * Further btree and quartz cleanups.
37574 Mon Jun 10 14:46:00 BST 2002  Olly Betts <olly@survex.com>
37576         * Fixed typo in recent quartzdump change.
37578 Mon Jun 10 13:20:20 BST 2002  Olly Betts <olly@survex.com>
37580         * Quartz clean-ups - especially QuartzTermList.
37582 Mon Jun 10 12:18:40 BST 2002  Olly Betts <olly@survex.com>
37584         * Bcursor_create made a method of class Btree as suggested by a FIXME.
37586 Mon Jun 10 01:57:53 BST 2002  Olly Betts <olly@survex.com>
37588         * More btree fixes and tidying.  Fixed bug introduced by typo in
37589           previous change which causes tests to fail.
37591 Sun Jun 09 17:50:28 BST 2002  Olly Betts <olly@survex.com>
37593         * btree_util.h: use inlines rather than macros.
37595         * Fix CompileTimeAssert() to avoid potential clashes.
37597 Sun Jun 09 12:46:25 BST 2002  Olly Betts <olly@survex.com>
37599         * btree.cc,btree.h: fixed bug caused by local variable masking member
37600           variable with same name.  Tidied up a lot.
37602 Wed Jun  5 12:22:57 BST 2002  Sam Liddicott <sam@ananova.com>
37604         * Fix OmQuery::op enum handling.
37606 Mon May 27 14:28:06 BST 2002  Sam Liddicott <sam@ananova.com>
37608         * Add crash-protected next() to OmMSetIterator
37610         * Add ->valid() method to iterator which returns FALSE if
37611           the iterator has reached the end
37613         * Added namespace fixes for latest cvs swig to be released next month
37615 Fri May 24 15:28:18 BST 2002  Sam Liddicott <sam@ananova.com>
37617         * Took out the string typemaps as swig now has them in stl.i
37619         * Added om_percent to omtypes.i - I wonder if we might just
37620           read omtypes.h instead, as swig can
37622         * Added OmMSetIterator and made changes to OmMSet
37624 Fri May 24 11:46:50 BST 2002  Sam Liddicott <sam@ananova.com>
37626         * Now support get_matching_terms via swig
37627           I'm not sure how to generally map iterators to php but in
37628           cases where we know only a small number of items exist
37629           to be iterated over it makes sense to return them as a
37630           php array
37632 Tue May 21 15:28:40 BST 2002  Richard Boulton <richard@tartarus.org>
37634         * multi_postlist.cc (get_doclength):  Get the document length from
37635           the appropriate sub-postlist, rather than from the database.
37636           This causes a huge speedup in some cases, since it avoids having
37637           to go to the termlist database for every document considered for
37638           an mset to get the document length.
37639           Added an AssertParanoid to check that the value from the postlist
37640           is the same as that from the database.
37641           This problem was noticed because "delve -v" was running several
37642           orders of magnitude slower than without -v - it is now of
37643           comparable speed.
37645 Tue May 21 15:27:37 BST 2002  Richard Boulton <richard@tartarus.org>
37647         * quartz_values.cc: Small fixes to enable it to compile with debug
37648           turned on.
37650 Fri May 17 14:52:45 BST 2002  Olly Betts <olly@survex.com>
37652         * OmQueryParser::set_database() method added.
37654         * Added disabled code to search for a keyword used in the query.
37656         * Added ' and * to the list of "phrase making characters".
37658         * To make a phrase, a phrase-maker must be followed by an alphanumeric
37659           rather than just a non-space.
37661 Fri May 17 14:49:54 BST 2002  Olly Betts <olly@survex.com>
37663         * INSTALL: GCC 3.1 release version works, so noted this.
37665         * HACKING: Added note about warning-free compilation being desirable
37666           and suggesting using "./configure CFLAGS=-Werror" to promote this.
37668         * NEWS: Minor updates.
37670 Thu May 16 16:57:42 BST 2002  Olly Betts <olly@survex.com>
37672         * Minor tweaks to get a warning-less compile with GCC 3.1.
37674 Thu May 16 13:36:19 BST 2002  Sam Liddicott <sam@ananova.com>
37676         * Clean up the spec file
37678 Thu May 16 12:20:09 BST 2002  Olly Betts <olly@survex.com>
37680         * Documented match_sort_key.
37682 Thu May 16 10:42:47 BST 2002  Sam Liddicott <sam@ananova.com>
37684         * A few quick tips from Olly, now the tarfile name and version no.
37685           stuff comes from autoconf so the spec file won't need tweaking
37686           each time the version number changes
37688 Wed May 15 15:48:42 BST 2002  Sam Liddicott <sam@ananova.com>
37690         * This can build RPM packages.
37691           Get the make-dist tarball and do:
37692           rpm -ta xapian-core-0.4.1-cvs.tar.gz
37693           and it will make source and binary rpms
37694           It doesn't build bindings packages yet but this will come when I
37695           build them
37697 Wed May 15 13:27:21 BST 2002  Richard Boulton <richard@tartarus.org>
37699         * buildall: Allow use of automake 1.6.1 and later, and CVS
37700           automake (versions 1.6[a-z])
37702 Wed May 15 11:40:58 BST 2002  Sam Liddicott <sam@ananova.com>
37704         * SWIG cvs (php4) now writes all output files to the same directory as
37705           the main output file, so need for hacks to move these, also no more
37706           clobbering our source files when building in the checkout dir
37708 Tue May 14 21:54:02 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37710         * Updated PLATFORMS file.
37712 Tue May 14 16:48:07 BST 2002  Olly Betts <olly@survex.com>
37714         * Removed multiple-include protection from config.h - if it's
37715           included more than once it's now a bug and we want to know!
37717 Tue May 14 15:25:05 BST 2002  Olly Betts <olly@survex.com>
37719         * OmQueryParser: parse acronyms as a single term (so "E.T." -> "ET"
37720           and "N.A.T.O" -> "NATO").
37722 Tue May 14 15:23:20 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37724         * Fixed config.h includes: source definition (ie not header) files
37725           #include <config.h> as their first action.
37727 Tue May 14 14:47:00 BST 2002  Olly Betts <olly@survex.com>
37729         * Updated todo.
37731         * extra/parsequery.yy: Fettled indentation.
37733 Tue May 14 13:14:51 BST 2002  Olly Betts <olly@survex.com>
37735         * Added test case for new "embedded &" rule, and fix problem bug it
37736           revealed.
37738 Tue May 14 13:10:33 BST 2002  Olly Betts <olly@survex.com>
37740         * OmQueryParser: Parse <word>&<word> as a single term (e.g. AT&T,
37741           M&S, A&P).
37743 Tue May 14 11:50:03 BST 2002  Olly Betts <olly@survex.com>
37745         * When including config.h, always specify it as <config.h>, not
37746           "config.h", and always do it first.  Both are recommended by
37747           the autoconf documentation.
37749 Mon May 13 17:17:13 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37751         * missing fallback rule all-local in docs/Makefile.am was failing
37752           the build on Solaris
37754 Mon May 13 15:50:31 BST 2002  Sam Liddicott <sam@ananova.com>
37756         * Use new %extends notation for swig.
37758         * Update for new omValue usage
37760         * Add omqueryparser support
37762 Mon May 13 15:12:30 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37764         * shipped getopt will now build in absence of system getopt
37766 Mon May 13 15:09:17 BST 2002  Olly Betts <olly@survex.com>
37768         * configure.in: Moved AH_TOP/AH_BOTTOM to more logical place.
37770         * docs/todo.xml: Updated.
37772 Mon May 13 14:13:27 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37774         * added getopt to DIST_SUBDIRS so distributions work
37776 Fri May 10 14:54:06 BST 2002  Olly Betts <olly@survex.com>
37778         * getopt/: Checked in files I missed last time.
37780 Fri May 10 14:35:52 BST 2002  Olly Betts <olly@survex.com>
37782         * Make sure GNU getopt is linked to everything which might need it so
37783           we build in non-glibc environments.
37785 Fri May 10 13:42:59 BST 2002  Olly Betts <olly@survex.com>
37787         * Replaced second match_sort_key optimisation with one which is
37788           faster and not flawed.
37790 Thu May 09 18:27:30 BST 2002  Olly Betts <olly@survex.com>
37792         * match_sort_key now runs at a sensible speed (approx. 20x speed
37793           up on my test case).
37795 Thu May 09 16:58:11 BST 2002  Olly Betts <olly@survex.com>
37797         * Added another optimisation for match_sort_key - my test case
37798           is now 25% faster (still slow though).
37800 Thu May 09 11:57:59 BST 2002  Olly Betts <olly@survex.com>
37802         * NEWS, PLATFORMS, README: Updated to something approximating what we
37803           want for a release.
37805         * docs/todo.xml: Updated.
37807 Thu May 09 10:57:59 BST 2002  Olly Betts <olly@survex.com>
37809         * Removed references to match_max_or_terms (which was replaced
37810           by OmQuery::OP_ELITE_SET long, long ago).
37812 Wed May 08 17:38:50 BST 2002  Olly Betts <olly@survex.com>
37814         * Improved api documentation comments.
37816 Wed May 08 17:09:14 BST 2002  Olly Betts <olly@survex.com>
37818         * Include findheaders.pl in tarball.
37820 Wed May 08 16:09:14 BST 2002  Olly Betts <olly@survex.com>
37822         * Killed off acconfig.h.
37824 Wed May 08 15:53:11 BST 2002  Olly Betts <olly@survex.com>
37826         * Added autom4te-*.cache to .cvsignore.
37828 Wed May 08 15:50:56 BST 2002  Olly Betts <olly@survex.com>
37830         * Rebuild docs on "make", not just "make dist" or "make install".
37832 Wed May 08 15:07:01 BST 2002  Olly Betts <olly@survex.com>
37834         * Added workaround for problems with <fcntl.h> on Solaris when LFS
37835           is enabled.
37837 Wed May 08 13:44:10 BST 2002  Olly Betts <olly@survex.com>
37839         * Matcher can now sort on a key.  Can be rather slow at present...
37841 Wed May 08 13:15:21 BST 2002  Olly Betts <olly@survex.com>
37843         * Updated todo.
37845 Wed May 08 12:22:53 BST 2002  Olly Betts <olly@survex.com>
37847         * Removed ltmain.sh-s from CVS.
37849 Wed May 08 12:21:32 BST 2002  Olly Betts <olly@survex.com>
37851         * buildall: run libtoolize; stripped out unnecessary stuff.
37853 Wed May 08 09:44:45 BST 2002  Olly Betts <olly@survex.com>
37855         * matcher/msetpostlist.cc: Removed bogus comment cut and pasted from
37856           matcher/mergepostlist.cc.
37858 Tue May 07 17:51:57 BST 2002  Olly Betts <olly@survex.com>
37860         * It's "m4_include", not "m4include".
37862 Tue May 07 17:52:36 BST 2002  Olly Betts <olly@survex.com>
37864         * Added autoconf/type_socklen_t macro.
37866 Tue May 07 16:50:20 BST 2002  Olly Betts <olly@survex.com>
37868         * Now require autoconf 2.50, which allows us to clean up some of the
37869           more unpleasant parts of the build system.
37871 Tue May 07 14:55:37 BST 2002  Olly Betts <olly@survex.com>
37873         * Added "match_sort_bands" option to sort results within relevance
37874           bands.  Currently the sort within each band is by document id, which
37875           isn't really very useful.  The plan is to allow sorting by a key.
37877 Tue May 07 14:54:12 BST 2002  Olly Betts <olly@survex.com>
37879         * Sorted out tests/findheaders.pl wrt last change.
37881 Tue May 07 13:12:23 BST 2002  Olly Betts <olly@survex.com>
37883         * Run perl scripts from Makefiles explicitly with $(PERL) rather than
37884           having them as generated files in AC_OUTPUT.
37886 Mon May  6 16:04:37 2002  James Aylett  <tartarus@users.sourceforge.net>
37888         * Distribution fixes: make clean should now clear up all
37889           required files.
37891 Mon May  6 14:42:46 2002  James Aylett  <tartarus@users.sourceforge.net>
37893         * Don't include dlfcn.h since we don't use it (and doesn't exist
37894           on some target platforms).
37896 Mon May  6 14:07:24 2002  James Aylett  <tartarus@users.sourceforge.net>
37898         * Minor documentation corrections.
37900 Fri May 03 18:14:14 BST 2002  Olly Betts <olly@survex.com>
37902         * Changed autoconf/automake project name to xapian-core, and updated
37903           the documentation to reflect this.
37905         * Disabled the bindings from being included in distribution tarballs.
37907 Fri May 03 18:13:43 BST 2002  Olly Betts <olly@survex.com>
37909         * Updated todo list.
37911 Fri May  3 18:02:06 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37913         * Overloading ambiguity resolutions for linux/alpha build on CF
37915 Fri May 03 17:13:36 BST 2002  Olly Betts <olly@survex.com>
37917         * buildall: Don't run configure or make; removed --no-make and --quiet.
37919 Fri May  3 16:52:01 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37921         * tests/testdata/etext.txt needs to be included in the distribution
37923 Fri May 03 16:18:38 BST 2002  Olly Betts <olly@survex.com>
37925         * Removed OmValue in favour of simply using a string (analogous to
37926           recent OmData change).
37928 Fri May 03 14:52:04 BST 2002  Olly Betts <olly@survex.com>
37930         * Removed unused om_docname typedef.
37932 Fri May 03 14:42:31 BST 2002  Olly Betts <olly@survex.com>
37934         * Terminology change - a "key" (in the OmKey sense) is now a "value".
37936 Fri May  3 14:31:57 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37938         * Fixed up todo list and HTML generation script to cope with
37939           items without an assigned priority.
37941 Fri May 03 14:29:58 BST 2002  Olly Betts <olly@survex.com>
37943         * It's HACKING (not INSTALL) that has details of developer tools.
37945 Thu May 02 15:57:48 BST 2002  Olly Betts <olly@survex.com>
37947         * Removed OmData - just return and take a string instead.
37949 Thu May 02 14:40:21 BST 2002  Olly Betts <olly@survex.com>
37951         * docs/.cvsignore: updated.
37953 Thu May 02 14:38:36 BST 2002  Olly Betts <olly@survex.com>
37955         * Removed assorted references to pthread locking; updated HACKING.
37957 Thu May 02 14:15:47 BST 2002  Olly Betts <olly@survex.com>
37959         * Stripped out OmBatchEnquire stuff, as it's unlikely to get sorted
37960           out any time soon, and it can be extracted from CVS when someone
37961           wants it.
37963 Thu May 02 13:50:04 BST 2002  Olly Betts <olly@survex.com>
37965         * Check for bison >= 1.35 in buildall.
37967 Wed May 01 17:39:57 BST 2002  Olly Betts <olly@survex.com>
37969         * Removed lingering references to Omsee and OpenMuscat.
37971 Wed May 01 16:34:13 BST 2002  Olly Betts <olly@survex.com>
37973         * Removed unused methods from NetClient (read_data and write_data).
37975 Wed May 01 14:01:12 BST 2002  Olly Betts <olly@survex.com>
37977         * Added test consistency1 to check matcher optimisations don't
37978           result in inconsistent results (i.e. that same matches and
37979           weights are returned regardless of size of mset asked for).
37981 Wed May 01 11:48:10 BST 2002  Olly Betts <olly@survex.com>
37983         * Fixed mismatched tags in todo.xml.
37985 Wed May 01 11:46:42 BST 2002  Olly Betts <olly@survex.com>
37987         * Updated todo.
37989 Wed May 01 11:40:47 BST 2002  Olly Betts <olly@survex.com>
37991         * Corrected configure warning message - it's XML::Parser not XML.
37993 Wed May 01 11:34:49 BST 2002  Olly Betts <olly@survex.com>
37995         * Tweaks to get queryparser building cleanly.
37997 Tue Apr 30 17:44:48 BST 2002  Olly Betts <olly@survex.com>
37999         * Updated query parser in extra from the updated one in omega,
38000           and fettled it to cope better with multiple instantiations
38001           (though it's a long way from being reentrant at the moment).
38003 Tue Apr 30 11:03:44 BST 2002  Olly Betts <olly@survex.com>
38005         * Updated todo.
38007 Mon Apr 29 19:28:04 BST 2002  Olly Betts <olly@survex.com>
38009         * More string.c_str() tidying.
38011 Mon Apr 29 17:41:33 BST 2002  Olly Betts <olly@survex.com>
38013         * Tidied up some uses of string.c_str().
38015         * Cleaned up todo list.
38017 Mon Apr 29 16:08:21 BST 2002  Olly Betts <olly@survex.com>
38019         * Updated buildall to check various tools have the required version
38020           numbers.
38022 Mon Apr 29 15:58:57 BST 2002  Olly Betts <olly@survex.com>
38024         * Tweaked use of HAVE_STREAMBUF
38026 Fri Apr 26 14:41:09 BST 2002  Sam Liddicott <sam@ananova.com>
38028         * Swig is now modified so it can build config.m4 and Makefile.in
38029           for php modules so I removed these from bindings/php4
38031 Tue Apr 23 18:21:03 BST 2002  Olly Betts <olly@survex.com>
38033         * Tried compiling with GCC 3.1 prerelease snapshot and fixed various
38034           STL-related warnings (mostly uses of istrstream).
38036         * Fixed usage of AM_CFLAGS and AM_CXXFLAGS.
38038 Tue Apr 23 15:48:36 BST 2002  Olly Betts <olly@survex.com>
38040         * Updated buildall (and had to tweak it again, sigh).
38042 Tue Apr 23 14:21:01 BST 2002  Sam Liddicott <sam@ananova.com>
38044         * Added typemap conversion to generate OmSettings from php hash
38045         * Changed order of classes in interface file
38047 Tue Apr 23 14:20:05 BST 2002  Olly Betts <olly@survex.com>
38049         * Revamped xapian-config and xapian.m4.  Important change - it's now
38050           "xapian-config --cxxflags" and XAPIAN_CXXFLAGS, not --cflags and
38051           _CFLAGS.
38053 Mon Apr 22 17:58:56 BST 2002  Olly Betts <olly@survex.com>
38055         * Removed leak checker.
38057 Mon Apr 22 13:40:01 BST 2002  Olly Betts <olly@survex.com>
38059         * Tiny code tweak.
38061 Mon Apr 22 13:11:32 BST 2002  Olly Betts <olly@survex.com>
38063         * Write debug log using unbuffered IO and O_APPEND which should prevent
38064           the log file becoming garbled when used from applications which use
38065           Xapian objects in multiple threads.
38067 Mon Apr 22 12:19:18 BST 2002  Olly Betts <olly@survex.com>
38069         * Updated copyright notices for last change.
38071 Mon Apr 22 11:20:28 BST 2002  Olly Betts <olly@survex.com>
38073         * Removed thread locks.
38075 Fri Apr 19 17:38:23 BST 2002  Olly Betts <olly@survex.com>
38077         * Removed completed tasks from todo list.
38079 Fri Apr 19 17:26:23 BST 2002  Olly Betts <olly@survex.com>
38081         * Removed placeholder code for OmQuery::OP_PERCENT_CUTOFF - it's
38082           actually impossible to implement since we started rescaling
38083           percentages so that 100% is attainable.
38085 Fri Apr 19 16:42:42 BST 2002  Olly Betts <olly@survex.com>
38087         * Tracked down and fixed the bug in the quartz backend which was making
38088           test poslist2 fail.
38090 Fri Apr 19 16:06:39 BST 2002  Olly Betts <olly@survex.com>
38092         * Fixed some compilation problems which I somehow failed to notice
38093           before the last check-in.
38095 Fri Apr 19 15:04:13 BST 2002  Olly Betts <olly@survex.com>
38097         * Added more RETURN(...) wrappers.
38099 Fri Apr 19 14:46:19 BST 2002  Olly Betts <olly@survex.com>
38101         * Added more DEBUGCALL tracing to quartz.
38103 Fri Apr 19 13:29:57 BST 2002  Olly Betts <olly@survex.com>
38105         * Minor tweaks to quartz_database.cc.
38107 Fri Apr 19 13:07:50 BST 2002  Olly Betts <olly@survex.com>
38109         * Moved test poslist1 into correct place and renamed it to poslist2
38110           since there's already a poslist1...
38112 Fri Apr 19 11:19:15 BST 2002  Olly Betts <olly@survex.com>
38114         * poslist1 (when actually run!) reveals that Quartz fails to throw
38115           errors in this case.  Disabled test for now, as I can't see why it
38116           fails to throw...
38118 Thu Apr 18 17:44:56 BST 2002  Olly Betts <olly@survex.com>
38120         * Added poslist1 test as suggested by a TODO entry.
38122 Thu Apr 18 14:17:24 BST 2002  Olly Betts <olly@survex.com>
38124         * buildall: Removed search for GNU make (as of automake
38125           1.5 it's not needed for automake and we aim to have portable
38126           makefiles).  Made buildall more portable.
38128 Thu Apr 18 14:16:18 BST 2002  Olly Betts <olly@survex.com>
38130         * xapian-config.nodep is a generated file, so don't look for it in
38131           srcdir.
38133 Thu Apr 18 12:45:04 BST 2002  Olly Betts <olly@survex.com>
38135         * Added bindings/php4/xapian/.cvsignore.
38137 Thu Apr 18 12:36:53 BST 2002  Olly Betts <olly@survex.com>
38139         * Minor tweaks to "Makefile" section in HACKING.
38141 Thu Apr 18 12:26:21 BST 2002  Olly Betts <olly@survex.com>
38143         * Yet more Makefile portability fixes; added section to HACKING
38144           summarising my recent experiences.
38146 Thu Apr 18 11:26:37 BST 2002  Olly Betts <olly@survex.com>
38148         * Corrected the sense of the test in the previous check-in.
38150 Thu Apr 18 11:08:04 BST 2002  Olly Betts <olly@survex.com>
38152         * Use case instead of echo/sed to replace dirname.
38154 Thu Apr 18 10:19:01 BST 2002  Olly Betts <olly@survex.com>
38156         * Another Makefile portability tweak.
38158 Wed Apr 17 16:07:02 BST 2002  Olly Betts <olly@survex.com>
38160         * bindings/php4/Makefile.am: Fixed a couple of problems with
38161           recent changes.
38163 Wed Apr 17 15:32:44 BST 2002  Olly Betts <olly@survex.com>
38165         * Makefile portability improvements.
38167 Wed Apr 17 14:29:21 BST 2002  Olly Betts <olly@survex.com>
38169         * Replaced uses of GNU make specific features with more portable
38170           ones.
38172 Wed Apr 17 12:43:07 BST 2002  Olly Betts <olly@survex.com>
38174         * Update todo list.
38176 Wed Apr 17 12:41:03 BST 2002  Olly Betts <olly@survex.com>
38178         * Removed BrightStation's logo from the documentation.
38180 Wed Apr 17 12:27:07 BST 2002  Olly Betts <olly@survex.com>
38182         * xapian-config: Removed --uninst support - it's very hard to make it
38183           work reliably and we're better off directing our efforts towards
38184           improving the library than trying to get it working and keep it
38185           working.
38187 Wed Apr 17 10:39:02 BST 2002  Olly Betts <olly@survex.com>
38189         * Fixed btreetest code to use new names "ord+" and "ord-" for
38190           datafiles; disabled LFSinsertdelete1 test as it's exactly the
38191           same as insertdelete1 (despite the comment above which suggests
38192           it tests files >2G).
38194 Mon Apr 15 17:14:22 BST 2002  Olly Betts <olly@survex.com>
38196         * Fix a few OmDatabase::InternalInterface uses I'd somehow missed.
38198 Mon Apr 15 16:08:20 BST 2002  Olly Betts <olly@survex.com>
38200         * Mark internal classes as @internal for doxygen; removed all uses
38201           of OmDatabase::InternalInterface as it's no longer needed.
38203 Mon Apr 15 15:42:47 BST 2002  Olly Betts <olly@survex.com>
38205         * Updated TODO list.
38207 Mon Apr 15 2002  Sam Liddicott <sam@ananova.com>
38209         * Hacked around bindings and bindings/php to remove some SWIG
38210           workarounds.  SWIG cvs + some new non-committed patches is need still.
38212 Mon Apr 15 12:12:05 BST 2002  Olly Betts <olly@survex.com>
38214         * stemtest: getopt fix.
38216         * stemtest.pl.in: output now: less verbose by default and coloured.
38218 Mon Apr 15 11:18:58 BST 2002  Olly Betts <olly@survex.com>
38220         * Updated HACKING to say that automake 1.5 is required, and note that
38221           automake 1.6.1 is better than 1.6.
38223 Sat Apr 13 20:35:51 2002  James Aylett  <tartarus@users.sourceforge.net>
38225         * Fixed stemtest getopt usage so it works again.
38227 Sat Apr 13 20:20:52 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
38229         * Fixed omtcpsrv getopt usage so it works again.
38231 Fri Apr 12 16:24:06 BST 2002  Olly Betts <olly@survex.com>
38233         * Require automake 1.5.
38235 Fri Apr 12 12:11:57 BST 2002  Olly Betts <olly@survex.com>
38237         * omtcpsrv: Namespace fixes.
38239 Fri Apr 12 12:25:42 BST 2002  Olly Betts <olly@survex.com>
38241         * Fixed everything to use getopt rather than icky handparsing of
38242           options.
38244 Fri Apr 12 11:26:57 BST 2002  Olly Betts <olly@survex.com>
38246         * Removed delve - it's going to be an example program.
38248 Thu Apr 11 18:09:35 BST 2002  Olly Betts <olly@survex.com>
38250         * Command line argument improvements - added FIXMEs where getopt
38251           should be used.
38253 Thu Apr 11 17:01:44 BST 2002  Richard Boulton <richard@tartarus.org>
38255         * Fixes to work with automake 1.6.1.
38256           I recommend using 1.6.1 rather than 1.6, since this fixes many
38257           bugs in 1.6.  I havn't tested with 1.6 recently, but it is likely
38258           to report problems.
38260 Thu Apr 11 17:25:37 BST 2002  Olly Betts <olly@survex.com>
38262         * Use GNU getopt.
38264 Thu Apr 11 15:06:15 BST 2002  Olly Betts <olly@survex.com>
38266         * Updated to recommend automake 1.5, noting problem with automake 1.4
38267           and that we'll probably soon insist on 1.5, and later autoconf 2.50.
38268           Also added notes on recommended and usable GCC versions.
38270 Thu Apr 11 14:23:44 BST 2002  Olly Betts <olly@survex.com>
38272         * Cleaning up build system.
38274 Thu Apr 11 13:18:23 BST 2002  Olly Betts <olly@survex.com>
38276         * Use AndPostList with boolean weights on the RHS instead of
38277           FilterPostList - this appears to fix a bug, but I suspect it's
38278           actually just moving it around.  Will investigate later.
38280 Thu Apr 11 10:11:11 BST 2002  Olly Betts <olly@survex.com>
38282         * Sorted out automake for php4 bindings.
38284 Wed Apr 10 14:44:50 BST 2002  Olly Betts <olly@survex.com>
38286         * Removed a superfluous DEBUGLINE.
38288 Tue Apr  9 19:02:09 BST 2002  Richard Boulton <richard@tartarus.org>
38290         * Fix some DEBUGLINE() macros in the matcher which had
38291           the first parameter missing.
38293 Tue Apr 09 17:50:44 BST 2002  Olly Betts <olly@survex.com>
38295         * Removed stray bit of debug code.
38297 Tue Apr 09 17:05:09 BST 2002  Olly Betts <olly@survex.com>
38299         * More debug tracing added.
38301 Tue Apr 09 10:48:42 BST 2002  Olly Betts <olly@survex.com>
38303         * Disabled pthread support by default.
38305 Sat Apr  6 20:45:21 2002  James Aylett  <tartarus@users.sourceforge.net>
38307         * Reordered some output generation in configure so it won't
38308           complain about directories not existing. (I don't understand
38309           what the problem is, but this does fix it.)
38311 Sat Apr 06 20:27:57 BST 2002  Olly Betts <olly@survex.com>
38313         * Moved a few lingering traces of XML indexer stuff to indexer
38314           subdirectory.
38316 Sat Apr 06 17:37:02 BST 2002  Olly Betts <olly@survex.com>
38318         * Removed -pedantic (read the gcc docs - it's doesn't turn on
38319           useful warnings) and fixed all the remaining compilation
38320           warnings in a non-debug build.
38322 Fri Apr 05 10:21:28 BST 2002  Olly Betts <olly@survex.com>
38324         * Removed --enable-profiling, --enable-purify, and --enable-insure.
38325           They don't do anything which can't be achieved by passing
38326           environment variables and switches to configure (now documented
38327           in HACKING).  Adding a separate switch for every profiling and
38328           code-quality tool out there isn't a sensible approach.
38330 Thu Apr 04 20:37:12 BST 2002  Olly Betts <olly@survex.com>
38332         * Updated .cvsignore files.
38334 Thu Apr 04 20:25:41 BST 2002  Olly Betts <olly@survex.com>
38336         * PTHREAD_CFLAGS was only being used for compiling C, not C++, which
38337           was causing builds to fail unless threading was disabled.  This
38338           problem has been there a long time, but until recently was hidden
38339           by the check for fdatasync erroneously linking in -lrt which pulls
38340           in pthreads anyway (at least this is the situation on Linux).
38342 Thu Apr 04 20:06:00 BST 2002  Olly Betts <olly@survex.com>
38344         * Removed XML indexer stuff from the main xapian library.  All the
38345           removed bits are now in the indexer subdirectory, ready to be
38346           reassembled into a supplementary library.
38348 Thu Apr 04 15:43:43 BST 2002  Olly Betts <olly@survex.com>
38350         * More debug tracing in the matcher.
38352 Thu Apr 04 14:17:10 BST 2002  Olly Betts <olly@survex.com>
38354         * Added debug tracing to most of the matcher.
38356 Thu Mar 28 17:21:16 GMT 2002  Olly Betts <olly@survex.com>
38358         * Give up trying to make internals private or protected in the
38359           header files in include - the consequences are just too ugly, and
38360           it's clear enough that they shouldn't be messed with except by the
38361           library itself.
38363 Wed Mar 27 10:24:26 GMT 2002  Olly Betts <olly@survex.com>
38365         * Don't add "-lrt" to the link line unless it's actually needed for
38366           fdatasync().
38368 Wed Mar 27 10:11:09 GMT 2002  Olly Betts <olly@survex.com>
38370         * Fixed two problems in the matcher which were respectively causing
38371           problems with boolean filters, and with situations where OR or
38372           ANDMAYBE decayed to AND.
38374 Fri Jan 11 18:00:44 GMT 2002  James Aylett  <tartarus@users.sourceforge.net>
38376         * Various build fixes for libxml2: define CHAR as needed,
38377           --enable-validation (off by default), check for and discard
38378           'blank' text/cdata nodes as we encounter them
38380 Fri Jan 11 15:40:50 GMT 2002  Sam Liddicott <sam@ananova.com>
38382         * Added Large File Support in the same way it was added to GNU tar.
38383           (If it's good enough for them...)
38384           This is by means of autoconf/ac_sys_largefile which I'm told is
38385           built in to later versions of autoconf, and may possibly give us
38386           trouble redefining it for those versions...  But we'll see about
38387           that when/if it happens.
38389           It seems to work fine here on some DB's which I had to stop growing
38390           cos they got too big; I'm now past the 2G boundary with no problems
38392           I guess we should still add overflow detection for 2^31 blocks.
38393           Ideas?
38395           I need some help on the btreetest.cc as I haven't yet worked out
38396           what it does; so while I've added a test, it doesn't yet test
38397           what it says it does.  I have changed btreetest.cc so you can
38398           tell it where to dump the test DB
38400 Fri Dec 21 17:48:09 GMT 2001  Olly Betts <olly@survex.com>
38402         * Fixed halflife calculation in OmBiasFunctor.
38404 Fri Dec 21 15:24:58 GMT 2001  Olly Betts <olly@survex.com>
38406         * Added a temporary API to allow use of OmBiasFunctor.
38408 Fri Dec 21 12:58:23 GMT 2001  Olly Betts <olly@survex.com>
38410         * Disable conversion of OR to AND/ANDMAYBE in matcher tree - there's
38411           a bug which sometimes manifests when there's a date filter and a
38412           threshold cutoff in omega, and results in just one match when there
38413           should be more.  I don't believe the bug is actually in OrPostList
38414           but I've been tracking it for 4 days without success and turning off
38415           this optimisation seems to stop it occurring so will have to do for
38416           now.
38418 Thu Dec 20 17:41:04 GMT 2001  Olly Betts <olly@survex.com>
38420         * matcher/multimatch.cc: added more percent_cutoff assertions.
38422 Thu Dec 20 13:41:41 GMT 2001  Olly Betts <olly@survex.com>
38424         * Fixed incorrectly classified debug message; fixed compiler warning;
38425           more comments about matches_* with a percent_cutoff.
38427 Thu Dec 20 13:09:51 GMT 2001  Olly Betts <olly@survex.com>
38429         * Better OmPostListIterator::get_description() (call get_description
38430           on internal->postlist).
38432 Thu Dec 20 12:42:55 GMT 2001  Olly Betts <olly@survex.com>
38434         * Fixed assorted problems with omtcpsrv and co from recent change.
38436 Thu Dec 20 10:41:57 GMT 2001  Richard Boulton <richard@tartarus.org>
38438         * In ./configure --help, correctly report muscat36 backend as
38439           defaulting to off.
38441 Thu Dec 20 10:36:18 GMT 2001  Olly Betts <olly@survex.com>
38443         * Don't delete internal in ~OmWritableDatabase - ~OmDatabase
38444           does that for us (internal was zeroed after delete, so this
38445           was probably harmless)
38447         * Tweaked OmEnquire::get_description() and
38448           OmPostListIterator::get_description() to do less - there's a
38449           debug related bug somewhere and get_description() should be a
38450           non-intrusive method...
38452 Thu Dec 20 10:32:56 GMT 2001  Richard Boulton <richard@tartarus.org>
38454         * Fix a couple of misquoted messages in configure.in.
38456 Tue Dec 18 23:22:00 2001  James Aylett  <tartarus@users.sourceforge.net>
38458         * Use xapian.org where appropriate in documentation references
38460 Tue Dec 18 14:32:32 2001  James Aylett  <tartarus@users.sourceforge.net>
38462         * Use xapian.org not sourceforge for schemas
38464 Mon Dec 17 18:47:08 GMT 2001  Olly Betts <olly@survex.com>
38466         * Cured problems with string('x') caused by overzealous search
38467           and replace on my part.
38469 Mon Dec 17 16:44:31 GMT 2001  Olly Betts <olly@survex.com>
38471         * Improved matches_estimated when a percent_cutoff is in effect.
38473 Sun Dec 16 18:09:28 GMT 2001  Olly Betts <olly@survex.com>
38475         * You can now register a match decider functor by name with an
38476           OmEnquire object.  It's not yet used for anything though.
38478 Sun Dec 16 17:31:08 GMT 2001  Olly Betts <olly@survex.com>
38480         * omtcpsrv: simplified arguments - just list database directories and
38481           they'll be opened with the auto backend.  Removed --im as it didn't
38482           work as advertised and nobody's noticed (as actually implemented it
38483           was useless).
38485 Sat Dec 15 14:10:32 GMT 2001  Olly Betts <olly@survex.com>
38487         * Minor update to todo.xml.
38489 Sat Dec 15 13:43:47 GMT 2001  Olly Betts <olly@survex.com>
38491         * More fettling of OmBiasFunctor stuff - still not ready for use yet...
38493 Tue Dec 11 13:06:08 GMT 2001  Olly Betts <olly@survex.com>
38495         * Don't work out probabilistic weights for boolean bits of the query
38496           (rhs of FILTER and AND_NOT) which fixes incorrect percentage weights
38497           in filtered queries.
38499 Tue Dec 11 12:26:44 GMT 2001  Olly Betts <olly@survex.com>
38501         * Added test singlesubq1 to keep an eye on can_replace_by_single_subq.
38503 Mon Dec 10 16:58:21 GMT 2001  Olly Betts <olly@survex.com>
38505         * can_replace_by_single_subq shouldn't return true for OP_ELITE_SET
38506           since you can't call set_elite_set_size() on an arbitrary subquery.
38508 Thu Dec  6 15:02:05 GMT 2001  Richard Boulton <richard@tartarus.org>
38510         * (omqueryinternal.cc, omtermlistiteratorinternal.h)
38511           Fix some compiler warnings (when compiling with no debug) due
38512           to methods which should return a value but simply contain
38513           "Assert(false);".  Throw an exception in such methods instead
38514           (after the Assert).
38516 Mon Dec 03 11:20:42 GMT 2001  Olly Betts <olly@survex.com>
38518         * New BiasPostList - not yet enabled as it needs more work.
38520 Mon Dec 03 11:16:44 GMT 2001  Olly Betts <olly@survex.com>
38522         * quartzdump: give syntax error if no tables specified.
38524 Thu Nov 29 14:10:43 GMT 2001  Olly Betts <olly@survex.com>
38526         * ExtraWeightPostlist wasn't handling prune correctly.
38528 Thu Nov 22 13:46:59 GMT 2001  Olly Betts <olly@survex.com>
38530         * Fixed segfault when percentage_cutoff emptied the proto-mset.
38532 Thu Nov 22 12:27:49 GMT 2001  Olly Betts <olly@survex.com>
38534         * Enhanced test emptyquery1.
38536 Fri Nov 16 15:32:09 GMT 2001  Olly Betts <olly@survex.com>
38538         * Added OmQuery::is_empty() method.
38540 Thu Nov 15 15:36:07 GMT 2001  Olly Betts <olly@survex.com>
38542         * Updated todo list.
38544 Thu Nov 15 13:03:05 GMT 2001  Olly Betts <olly@survex.com>
38546         * Fixed percent_cutoff problems.
38548 Wed Nov 14 12:05:44 GMT 2001  Olly Betts <olly@survex.com>
38550         * Empty OmQuery() now matches no documents (rather than causing an
38551           exception).
38553 Thu Nov 08 18:23:21 GMT 2001  Olly Betts <olly@survex.com>
38555         * SIGSTKFLT isn't portable, so added #ifdef checks for it.
38557 Wed Nov 07 15:34:29 GMT 2001  Olly Betts <olly@survex.com>
38559         * Fixed 2 GCC 3.0 warnings in muscat36 backend.
38561 Wed Nov 07 14:21:47 GMT 2001  Olly Betts <olly@survex.com>
38563         * Made doc counts returned from percentage cutoff matches more
38564           accurate.
38566 Wed Nov 07 12:30:32 GMT 2001  Olly Betts <olly@survex.com>
38568         * GCC 3.0 fixes.
38570 Tue Nov 06 11:16:42 GMT 2001  Olly Betts <olly@survex.com>
38572         * Matcher now calculates percentages like Omega does (or did as I'm
38573           about to remove that code from Omega), rather than as a percentage
38574           of the theoretical maximum possible weight.  The old way generally
38575           gives disappointingly low values, and by pushing the percentage
38576           code down into the matcher, it can be used to optimise the query.
38578 Tue Nov 06 11:13:06 GMT 2001  Olly Betts <olly@survex.com>
38580         * Quick fix for problems with null OmQuery-s.
38582 Mon Nov 05 15:52:55 GMT 2001  Olly Betts <olly@survex.com>
38584         * Added signal handling to testsuite - if a testcase generates a
38585           signal it is caught and reported, then the testsuite continues
38586           with further testcases.
38588 Wed Oct 31 14:26:59 GMT 2001  Olly Betts <olly@survex.com>
38590         * Removed needless complications in matcher when a weight threshold
38591           has been set.
38593 Tue Oct 30 16:50:46 GMT 2001  Olly Betts <olly@survex.com>
38595         * Removed superfluous lines from configure.in; fixed warning from
38596           automake 1.5.
38598 Mon Oct 29 11:54:36 GMT 2001  Olly Betts <olly@survex.com>
38600         * Changed matcher to form proto-mset using a min-heap (as described
38601           in "Managing Gigabytes", 2nd ed., pp 211-213).  Compared to the
38602           previous "nth-element" approach, this uses about half the memory,
38603           allows the min-weight based matcher optimisations to work sooner,
38604           and should be inherently faster (not yet benchmarked though).  The
38605           code's slightly simpler too.
38607 Mon Oct 29 11:53:38 GMT 2001  Olly Betts <olly@survex.com>
38609         * Fixed remote backend to pass match_cutoff setting across.
38611 Fri Oct 26 13:43:08 BST 2001  Olly Betts <olly@survex.com>
38613         * Reserve size needed for mset vector.
38615 Thu Oct 25 18:00:54 BST 2001  Olly Betts <olly@survex.com>
38617         * Fixed a couple of stray references to the old sleepycat backend.
38619 Tue Oct 23 18:19:32 BST 2001  Olly Betts <olly@survex.com>
38621         * More cleaning up of MultiMatch.
38623 Tue Oct 23 16:14:27 BST 2001  Olly Betts <olly@survex.com>
38625         * Removed RemotePostList - it was an experimental idea which proved
38626           to be too slow even on a fast network.  Cleaned up code where hooks
38627           were bodged in for it.
38629 Tue Oct 23 13:27:12 2001  James Aylett  <tartarus@users.sourceforge.net>
38631         * Added documentation of the test system (albeit brief). Also
38632           mentioned the autotools book in HACKING.
38634 Tue Oct 23 12:07:59 BST 2001  Olly Betts <olly@survex.com>
38636         * Updated .cvsignore files.
38638 Tue Oct 23 11:29:47 BST 2001  Olly Betts <olly@survex.com>
38640         * Code tidying while investigating sporadic fails from quartztest.
38642 Mon Oct 22 17:42:30 BST 2001  Olly Betts <olly@survex.com>
38644         * Minor fettles to quartztest: fixed warnings, whitespace tidying,
38645           use mkdir(...) rather than system("mkdir ...")
38647 Mon Oct 22 16:41:12 2001  James Aylett  <tartarus@users.sourceforge.net>
38649         * Renamed project to Xapian.
38651 Mon Oct 22 14:22:00 BST 2001  Olly Betts <olly@survex.com>
38653         * Fixed non-ISO C++ code so Xapian will compile under GCC 3.0
38654           (and also RedHat's "GCC 2.96").
38656 Mon Oct 22 11:21:45 2001  James Aylett  <tartarus@users.sourceforge.net>
38658         * Altered omseek-config and the AC m4 macro to make uninst
38659           executables link to the right version of the library
38661 Mon Oct 22 10:38:20 2001  James Aylett  <tartarus@users.sourceforge.net>
38663         * Minor fixes to enable build (and test) under Solaris.
38665 Fri Jun 22 13:24:59 2001  Sam Liddicott <sam@ananova.com>
38667         * Added some explicit type casts in xmlindexer and quartz backend
38668           to help gcc2.96 compile.
38670 Thu Jun 21 11:05:31 2001  James Aylett  <tartarus@users.sourceforge.net>
38672         * HACKING updated to (a) remove inaccurate statements about
38673           copyright assignment, and (b) talk about developer write
38674           access to CVS.
38676 Mon Jun 11 13:24:43 2001  James Aylett  <tartarus@users.sourceforge.net>
38678         * pthread support detected using an automake macro. Should
38679           be more portable as a result.
38681         * We need GNU make: buildall now tries to find it.
38683 Mon Jun 11 12:07:00 2001  Hein Ragas <hragas@users.sourceforge.net>
38685         * Modified QuartzWritableDatabase::do_add_document and
38686           QuartzWritableDatabase::do_replace_document to leave the PositionList
38687           empty for a term with no positions associated with it.
38689 Mon May 29 12:17:00 2001  Hein Ragas <hragas@users.sourceforge.net>
38691         * Modified QuartzPostList::add_entry to allow for adding of entries
38692           in the middle of the postlist, not only at the end.
38694 Mon May 28 12:00:00 2001  Hein Ragas <hragas@users.sourceforge.net>
38696         * Fixed a bug in replace_document for Quartz, added a test to
38697           ensure proper working of the fix.
38699 Fri Apr 27 15:16:10 2001  James Aylett  <tartarus@users.sourceforge.net>
38701         * Project name change to Omseek.
38703 Wed Apr 11 09:06:37 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38705         * Implemented deleting of items from postlists, and added some
38706           tests to check that it works properly.
38708         * Fixed a potential memory leak in QuartzPostList if an exception
38709           was thrown from the constructor.
38711         * BackendManager now sets the quartz_logfile setting, to make
38712           the logs available from the testsuite.
38714         * Added mention of quartz_logfile to docs/omsettings
38716         * Removed a bad assert from InMemoryDatabase::get_doclength()
38718 Mon Apr  9 21:48:18 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38720         * Added #include <cmath> to testutils.cc
38722 Fri Mar 30 17:37:24 BST 2001 Olly Betts
38724         * Added extra/.cvsignore
38726 Fri Mar 30 17:22:13 BST 2001 Olly Betts
38728         * Disabled allocation checking of new[] and delete[] since some STL
38729           implementations use them which leads to leaks being reported where
38730           none exist.  This is addressable longer term...
38732 Thu Mar 29 19:05:46 BST 2001  Richard Boulton <richard.boulton@omsee.com>
38734         * Add "extra" directory to om source tree, to hold extra libraries
38735           for use with omsee, which aren't part of the core.
38737         * Put a query parser into "extra".  This is roughly the parser
38738           from omega.  Needs some work: in particular, it needs to be
38739           made reentrant.
38741         * Added extra/ directory to top level Makefile.am and configure.in.
38742           Added AC_PROG_YACC to Makefile.am
38744         * Add includes of required header files to omquery.h.
38746 Wed Mar 28 17:15:22 BST 2001  Richard Boulton <richard.boulton@omsee.com>
38748         * Modifications to OmQuery.  Remove the isbool flag: there is
38749           no longer any need for the concept of a "pure boolean query".
38750           The same effect as was obtained by setting isbool can be
38751           obtained by setting the match_weighting_scheme parameter to
38752           bool.
38754         * Also, undefined queries may no longer be used when
38755           building up composite queries; the correct behaviour for this
38756           is hard to define and implement and harder to document, and
38757           removing this removes lots of special case code.
38759         * Updated network query passing code.
38761         * Remove special cases for bool weighting in localmatch and irweight.
38763         * Updated omsettings docs.  Updated comments in omsetting.h.
38765         * Updated todo.xml
38767         * Incremented network protocol version.
38769         * Added test_emptyop1, which checks what happens when an attempt is
38770           made to use an empty list of subqueries to build up a query, and
38771           then use the query.
38773         * Remove test_boolsubq1: no such thing as a boolean query now, so
38774           no need to test what happens when one is used.
38776         * Updated testsuite to use "match_weighting_scheme" setting, rather
38777           than calling OmQuery::set_bool().
38779 Wed Mar 28 15:05:46 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38781         * Fixes to InMemoryDatabase:
38782           + do_open_post_list returns an EmptyPostList rather than an
38783             assertion error if the term doesn't exist
38784           + Fixed doccount(), which wasn't decrementing on delete_doc()
38785           + Remove terms from the database when they have no more postings.
38786           + Implement collection frequencies, and run collfreq tests for
38787             inmemory.
38789 Wed Mar 28 14:24:38 BST 2001  Richard Boulton <richard.boulton@omsee.com>
38791         * Set elite set size to max(10, sqrt(number of subqueries)) by
38792           default.  This is rather more useful than the old default of 0.
38794 Wed Mar 28 10:25:35 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38796         * QuartzDatabase now implements replace_document(), and
38797           delete_document() now removes keys/attributes as well.
38798           However, postlist entries are not yet correctly removed,
38799           so this will cause problems.
38801         * Added a test for deleting/replacing documents, which passes.
38803 Tue Mar 27 17:31:58 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38805         * QuartzAttributes now has a method to delete a document's
38806           attributes, and QuartzRecordManager has a replace_ method.
38807           (But the code which uses these isn't in this commit).
38809 Thu Mar 22 15:58:08 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38811         * Change definition of OmQuery::is_defined(), so that elite set
38812           queries are undefined until a size is specified for the set.
38814 Wed Mar 21 14:29:04 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38816         * Implemented delete_document and replace_document in inmemory
38817           database.
38819 Wed Mar 21 12:39:13 GMT 2001 Olly Betts
38821         * Tweak to docs/quickstart.html.
38823 Wed Mar 21 02:50:19 GMT 2001 Olly Betts
38825         * Entirely removed sleepcat backend and all references to it.
38827         * Disable muscat36 backend by default.
38829 Tue Mar 20 18:47:12 GMT 2001 Olly Betts
38831         * open_document() now takes a lazy flag - if not set we need to check
38832           that the docid given actually exists.
38834         * heavy_duty flag now a bool instead of an int.
38836 Mon Mar 19 19:16:34 GMT 2001 Olly Betts
38838         * Added test getdoc1 to check exceptions are thrown for out-of-range
38839           docids (currently they aren't for quartz and muscat36 backends).
38841 Mon Mar 19 17:17:31 GMT 2001 Olly Betts
38843         * New simpler implementation of leak detection in testsuite.
38844           Currently doesn't support malloc/calloc/realloc/free.
38846 Mon Mar 19 16:46:16 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38848         * Further small modification to omsee-config: will now look in
38849           .libs subdirectories, too.
38851 Mon Mar 19 15:57:18 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38853         * Update omsee-config to work when a prefix is specified that
38854           points directly to the directory with the library, rather than
38855           expecting the library to be in a subdir "libs/".  (libs/ is
38856           still used if it exists).
38858         * Update omsee.m4, to use omsee-config even when using an
38859           uninstalled version of omsee.  This in turn fixes problems using
38860           uninstalled versions of omsee with STLport.
38862 Fri Mar 16 18:14:52 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38864         * Updated licenses, to include year 2001.
38866 Fri Mar 16 15:40:49 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38868         * Fix up small bug in quartztest causing it to fail for lack of an
38869           expected exception.  Initialise values in quartz_positionlist.cc
38870           when position list is not present.
38872 Thu Mar 15 17:40:38 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38874         * Make timeout absolute, rather than cumulative, when fetching
38875           multiple documents from database: if two nodes fail, the total
38876           timeout should still be that specified, not twice it.
38878         * Make the timeout set by SocketClient::set_query() get reset
38879           correctly if an exception happens (which used to prevent
38880           SocketClient::get_mset() ever getting called).
38882 Thu Mar 15 17:06:51 GMT 2001 Olly Betts
38884         * Oops, checked in too much - backing out the wrong stuff.
38886 Thu Mar 15 16:30:14 GMT 2001 Olly Betts
38888         * Include autoconf/definedir.m4 in tarball.
38890 Thu Mar 15 16:06:02 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38892         * Updated network protocol number to reflect change adding
38893           OP_ELITE_SET.
38895 Thu Mar 15 15:31:35 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38897         * QuartzPositionList should no longer complain if positional
38898           information isn't available for a particular term / document
38899           combination.
38901         * Updated todo.
38903 Thu Mar 15 13:55:53 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38905         * Removed OmDocument::set_wdf() and OmDocument::add_term().
38906           Replaced with OmDocument::add_term_nopos(), which adds a term
38907           without specifying positional information, taking an optional
38908           wdfinc parameter.  Updated testsuite correspondingly.
38910 Thu Mar 15 13:14:10 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38912         * Update TODO
38914 Wed Mar 14 17:51:40 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38916         * Added new operator OP_ELITE_SET, which replaces match_max_or_terms
38917           option.  Can now specify exactly which terms to apply max_or_terms
38918           to.  max_or_terms is obsolete: an error will be thrown if an
38919           attempt is made to use it.
38921 Wed Mar 14 15:56:20 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38923         * Added test for and implementation of multiple XOR queries.
38925         * Fix small bugs with get_termfreq_est() for xor and andnot
38926           postlists.
38928 Mon Mar  5 16:08:01 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38930         * Catch exceptions within the loop in SocketServer - exceptions
38931           should normally not kill the server.  This means that that a
38932           client still works after eg an OmDocNotFoundError, which was
38933           causing problems before.
38935 Fri Mar  2 18:15:47 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38937         * Add a new query operator, OP_WEIGHT_CUTOFF, which returns only
38938           those documents from a query which have a weight greater than a
38939           specified cutoff value.  Also added OP_PERCENT_CUTOFF, but this
38940           is not yet implemented.
38942         * Added test of new cutoff function, cutoff2.
38944         * Updated network protocol to pass new queries.  Increased protocol
38945           version number (to 10).
38947         * Added set_cutoff() function to OmQuery, to set cutoff parameter.
38949         * Updated TODO.
38951         * Remove unused member "PostList * postlist" of LocalSubMatch.
38953 Thu Mar  1 12:04:53 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38955         * Updates to HACKING.
38957 Wed Feb 28 18:42:47 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38959         * Fixes to neaten up configure output, and to test for the Perl
38960           Text::Format module, thanks to James Aylett (patch slightly
38961           modified, so if it doesn't work it's probably my fault).
38963         * configure.in checks for presence of ftime() and gettimeofday()
38965         * Added OmTime, a class to deal with times to an accuracy of
38966           microseconds, or whatever the best accuracy the system supports
38967           is.
38969         * Use OmTime in network code instead of time(NULL).
38971 Wed Feb 28 14:23:11 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38973         * Merge common code from OmSocketLineBuf::wait_for_data() and
38974           OmSocketLineBuf::do_readline() into
38975           OmSocketLineBuf::attempt_to_read(), and thus fix bug in
38976           wait_for_data() when 0 bytes returned from read().
38978 Tue Feb 27 18:40:33 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38980         * Fixes to remote matcher code to cope better with failure of
38981           submatchers:
38982           - Timeout for all submatches now correctly start at same time.
38984         * Added more extensive testing of above code, involving adding
38985           new parameters to inmemory to cause abort()s at various stages of
38986           the match.
38988         * Remove obsolete (and unused) method
38989           SocketServer::read_global_stats()
38991         * Errors are now generated from strings by using omerrortypes.h with
38992           suitable #defines before including it.  Updated todo accordingly.
38994         * Extend scope of try{} clause in socketserver, so that
38995           SocketServerFinished exception never escapes.
38997         * Default timeout in progserver increased to 30000.
38999         * Default timeout in tcpserver increased to 15000.
39001 Mon Feb 26 23:51:23 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39003         * Split query generation into stages: make new query, add subqueries,
39004           then finalise.  Add private methods to OmQuery reflecting this, and
39005           convert constructors into template methods, allowing any iterator
39006           to be used for constructing queries.  Removed reference to
39007           <vector> from omquery.h
39009         * Add omqueryinternal.cc, containing implementation of query
39010           internals. (surprise!)
39012         * OmQuery::Internal now has some helper functions to determine the
39013           properties of each particular query.  These should be converted
39014           into a lookup table, and the remaining hard-coded properties (for
39015           AND_MAYBE, AND_NOT and FILTER) factored out.
39017         * window property removed from constructor.  This can now be set by a
39018           separate call, to "OmQuery::set_window()"
39020         * Added a deleter_vector class, to store subquery pointers in a more
39021           exception-safe way.
39023         * Represent undefined queries by the new OP_UNDEF operation, rather
39024           than a dedicated flag - cleaned up some logic.
39026         * Some modifications to XOR handling: should now behave like OR and
39027           AND - doesn't need to be binary.  (*untested*)
39029         * Fixes to serialisation code in socketcommon.cc to work with new
39030           OmQuery::Internals - this should really be done in
39031           OmQuery::Internal.
39033         * One tiny fix in tcpclient.cc - an &fdset was missed for exception
39034           conditions in a select() call.
39036         * Testsuite modified and expanded to check changes to OmQuery.
39038 Mon Feb 26 18:20:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39040         * Fixed some compiler warnings reported by James Aylett.
39042 Mon Feb 26 14:27:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39044         * Avoid waiting for a timeout when closing a SocketClient.
39046 Fri Feb 23 14:38:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39048         * Updated todo.xml
39050 Thu Feb 22 18:14:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39052         * OmRegexFilterNode has an output for non-matching strings as
39053           well as matching.  "out" output renamed to "matching".
39055 Thu Feb 22 16:56:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39057         * Fixed a bug in the fetch() bits: requesting documents at the
39058           same time from different OmMSet instances could cause a
39059           document to disappear from the cache at the wrong moment.
39061 Thu Feb 22 15:39:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39063         * Updated todo.
39065 Thu Feb 22 12:14:12 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39067         * Some small changes in quartz to improve exception safety and
39068           error checking.
39070         * Remove unwanted OmExpandWeight::get_expand_k() method.
39072 Wed Feb 21 19:02:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39074         * Overhauled the OmMSet::fetch() etc. methods.  Documents are
39075           requested when fetch() is called, but are only fetched (all
39076           at once) when the first get_document() is called.
39078 Wed Feb 21 19:30:20 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39080         * Add an errorhandler member to MultiMatch, and remove it from
39081           various calls which used to pass it about.
39083         * Add an EmptyMatch object, which always returns an emptypostlist.
39085         * Implement errorhandlers at start of query for initially down
39086           nodes.  Improve test for errorhandlers to cover many more cases.
39088         * Add many debug messages to error handling code.
39090 Wed Feb 21 14:33:50 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39092         * Use a deque<> directly instead of a queue, due to conflict
39093           with Solaris headers.
39095         * Split the collect_doc loop into a separate function
39097         * SocketClient should be more robust against request_doc() being
39098           used without collect_doc().
39100 Tue Feb 20 18:01:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39102         * SocketClient implements a queue/cache system which means that
39103           collect_doc() doesn't need to be called in the same order as
39104           request_doc().
39106 Mon Feb 19 15:43:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39108         * Converted btree code to use new/delete instead of [mc]alloc/free.
39110 Mon Feb 19 13:52:23 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39112         * Added new test collapsekey2 designed to work with muscat36
39113           databases, which have different key handling.  Added two new
39114           categories of tests to cope with this.
39116         * Adjusted BackendManager's key generation, and updated
39117           test_specialterms1() accordingly.
39119 Fri Feb 16 17:26:59 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39121         * Implemented a test for keep-alives
39123         * Added "-tNNNN" option to omprogsrv to pass a timeout value in.
39125         * Added get_network_database() in apitest to set the timeout.
39127 Fri Feb 16 16:13:47 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39129         * Incremented the remote protocol version, since a new message
39130           type has been added.
39132 Fri Feb 16 15:55:31 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39134         * Added an OmDatabase keep_alive() method to gently prod any
39135           remote databases.  Applications can use it to avoid the remote
39136           servers timing out between queries.  Not properly tested yet...
39138 Thu Feb 15 19:05:24 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39140         * The remote server now supports a separate timeout used while
39141           idle, rather than actually servicing a request from the client.
39142           Options --idle-timeout and --active-timeout added to omtcpsrv,
39143           and --timeout sets both timeouts.
39145         * Added a documentation comment or two.
39147 Wed Feb 14 18:43:00 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39149         * In Muscat3.6 backends, don't read the key from the keyfile unless
39150           keyno is 0.
39152 Tue Feb 13 13:57:34 GMT 2001 Andy MacFarlane <andym@omsee.com>
39154         * Added parameter expand_k in omsettings in order to change
39155           value of weighting in expand process.
39157 Tue Feb 13 13:25:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39159         * Network timeouts now apply to write() operations as well
39160           as read().
39162         * SocketLineBuf::do_writeline() now correctly deals with EAGAIN.
39164         * SocketServer has new method writeline() which handles write
39165           access to the OmLineBuf.
39167 Mon Feb 12 12:35:41 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39169         * Make OmPositionListIterators and any other appropriate iterators
39170           (postlist, termlist) have a default constructor allowing them to
39171           be declared uninitialised.
39173 Mon Feb 12 10:51:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39175         * Updated todo.xml
39177 Thu Feb  8 17:59:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39179         * Moved omnodepad.h from include/om to indexer/indexgraph/
39181         * Updated todo.xml
39183 Thu Feb  8 17:35:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39185         * Updated todo.xml
39187 Thu Feb  8 17:00:02 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39189         * Quartz now has a metafile which for now has a magic string
39190           and a version number.
39192         * sys_open_to_read() and delete_file() exported from btree.cc.
39193           The latter was renamed to sys_unlink_if_exists().
39195         * Include btree_types.h from btree_util.h
39197 Wed Feb  7 17:33:00 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39199         * Fix to InMemory databases: terms can be added even if they
39200           don't have any positions.  (Was causing adddoc2 to fail).
39202 Tue Feb  6 18:06:13 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39204         * Rename OmMSet::fetch_items() to fetch().  Add an overloaded
39205           fetch() method taking a single iterator, to fetch a single item.
39207         * Fix some documentation comments.
39209 Mon Feb  5 19:16:45 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39211         * Update TODO
39213 Mon Feb  5 19:12:39 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39215         * Test behaviour of OmDocument methods add_term(), set_wdf(),
39216           remove_posting() and remove_term().  Fails for inmemory databases.
39218 Mon Feb  5 17:46:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39220         * Modified the behaviour of timeouts during a match.  Internally,
39221           an absolute timeout time is set from start_match().  Now remote
39222           nodes should timeout at NOW + remote_timeout, rather than
39223           waiting remote_timeout milliseconds for each read().  Needs
39224           some more testing.
39226 Mon Feb  5 17:21:52 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39228         * Fix a missing #include in socketcommon.h
39230 Mon Feb  5 17:15:46 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39232         * Sort generated todo lists.
39234 Fri Feb  2 17:44:54 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39236         * Add an OmDocument::add_term() method.
39238         * Remove an unwanted check that wdf's are greater than 0: wdf of 0
39239           _is_ allowed.
39241 Fri Feb  2 15:04:08 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39243         * Hopefully, a fix for segfaults/assertions when network errors
39244           happen halfway through a match, when handled by OmErrorHandler
39245           objects: give the place-holder EmptyTermLists weighting objects.
39247 Thu Feb  1 19:03:10 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39249         * Fixes to OmDocument interface: add parameters specifying the
39250           changes to be made to the wdf to add_posting and remove_posting,
39251           properly implement remove_posting and remove_term, including
39252           throwing of exceptions, and add a set_wdf() method to set the wdf
39253           to an absolute value.  Corresponding modifications to
39254           OmDocumentTerm.
39256         * Fix commented out errorhandler code in multimatch.cc, so it still
39257           compiles.
39259         * Add a check to avoid division by zero in bm25weight.cc
39261 Thu Feb  1 15:59:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39263         * Add a missed #include to omqueryinternal.h
39265 Thu Feb  1 14:44:04 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39267         * Add some error handler code, with a "#if 0"ed out comment,
39268           to multimatch.cc
39270 Wed Jan 31 15:45:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39272         * Remote servers should close down more gracefully when the
39273           client closes down in the middle of a request.
39275 Tue Jan 30 16:52:05 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39277         * Removed unneeded #includes of STL headers from API headers.
39279         * All #includes of files which are not installed use "" rather than
39280           <>.  This means all #includes of OM files except for those which
39281           are in example programs (and hence might be compiled against the
39282           installed library).  "" search paths are a superset of <> search
39283           paths: hence this should ensure that the om headers work however
39284           they are used.
39286         * Moved supplied OmExpandDecider subclasses into
39287           include/om/omexpanddecider.h
39289         * Remove om_termname_list from API: not used except by code which
39290           displays it, and in testsuite.
39292 Tue Jan 30 12:45:22 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39294         * Removed #include <vector> from omstem.h
39296 Tue Jan 30 11:09:29 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39298         * OmStem::get_available_languages() now returns a string
39299           rather than a vector.  Languages are space-separated.
39300           Updated apitest.
39302         * Added definition of RTLD_DEFAULT to internaltest.cc
39304 Mon Jan 29 16:11:15 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39306         * OmIndexerMessage's copy-on-write slightly more careful.
39308         * Improved debugging in OmIndexerNode
39310         * Fixed a bug in the termlistadd node - it tried to append to a
39311           non-vector.
39313 Fri Jan 26 16:21:09 GMT 2001 Olly Betts
39315         * indexerxml.cc: Removed some dead code.
39317 Fri Jan 26 16:11:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39319         * Added omindexerdescinternal.h to the Makefile
39321 Fri Jan 26 15:50:32 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39323         * Move OmQuery definition into a separate header file.
39325 Fri Jan 26 15:46:42 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39327         * Move OmQuery::OP_LEAF out of public visibility, by taking it out
39328           of the enum, making it a static const member of OmQuery::Internal,
39329           and introducing an OmQuery::Internal::op_t to store query
39330           operators in internally.  We lose the ability for the compiler to
39331           warn us if we forget to check for a particular operator in a
39332           switch statement, but this can't really be avoided.
39334 Fri Jan 26 13:49:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39336         * Added get_output_{node,pad} to OmIndexerDesc
39338         * Implemented and testes OmNodeInstanceIterator
39340         * Implemented OmIndexerBuilder::build_from_desc, which somehow
39341           hadn't been.  indextest now uses it.
39343 Thu Jan 25 18:47:08 GMT 2001 Olly Betts
39345         * Fixed various .cvsignore files (omus -> omsee, and
39346           bindings/java/.cvsignore which seemed to have been copied from
39347           the top level one at some point).
39349         * Fixed bug in OrPostList when used in a pure boolean context
39350           (uninitialised variables).
39352         * tests/internaltest.cc: removed unused reference to getopt.h.
39354         * tests/stemtest.pl.in: removed lots of bogus semicolons after
39355           closing braces.
39357 Thu Jan 25 17:53:08 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39359         * Turn debugging messages (OM_DEBUG_TYPES) off by default.
39361         * Add todo items for release to pages generated for website.
39363 Thu Jan 25 15:11:14 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39365         * Add a couple of documentation comments: we need many more of
39366           these.  No method, and certainly no class, in the API should be
39367           without an explanatory comment (not least so that they're
39368           accessible from the doxygen browser).
39370 Thu Jan 25 14:51:55 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39372         * Hide the internals of OmIndexerDesc, and adding member functions
39373           to do all the necessary operations (not all yet implemented).
39375         * Indexer internals mostly deal with OmIndexerDesc::Internal
39377         * Removed '#include <vector>' from omindexerdesc.h
39379 Thu Jan 25 13:45:49 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39381         * When setting up an RSet, allow documents to be referenced by
39382           OmMSetIterator, for convenience.
39384         * Allow OmMSetIterators and OmESetIterators to be created without
39385           initialising, also for convenience.
39387         * Include CFLAGS for STLPORT in the flags produced by omsee-config.
39389         * Change several more missed "omus"s to omsee.
39391 Thu Jan 25 13:50:06 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39393         * Changed a mention of libomus in netprogs/Makefile.am to libomsee
39395 Thu Jan 25 12:33:46 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39397         * Build only the API docs when making dist / install.  Full source
39398           docs only get built if explicitly asked for.
39400 Thu Jan 25 11:36:39 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39402         * Project name changed to Omsee.
39404           Ramifications from a technical viewpoint are:
39406           - library name changed from libomus.* to libomsee.*
39407           - libomus-config renamed to omsee-config
39408           - Autoconf macro file libomus.m4 renamed to omsee.m4,
39409             macro name OM_PATH_LIBOMUS changed to OM_PATH_OMSEE
39410             and macro now defines OMSEE_CFLAGS and OMSEE_LIBS rather
39411             than LIBOMUS_CFLAGS and LIBOMUS_LIBS.  configure arguments
39412             changed name, also.
39414 Wed Jan 24 15:57:10 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39416         * Improve test of OmMSetIterators equality comparisons.
39418         * Update TODO
39420 Wed Jan 24 15:11:11 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39422         * Renamed OmNodeConnection to OmNodePad.  The old name was
39423           confusing.
39425         * Added OmPadIterator, and OmNodeDescriptor::{in,out}puts_{begin,end}.
39426           Also implemented OmNodeDescriptor::get_type()
39428         * Added output function for OmPadIterator
39430         * Added test for OmPadIterators
39432 Tue Jan 23 19:01:29 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39434         * Remove OmBatchEnquire from system: it may return at a later date,
39435           but for now it is simply out of date and a maintenance liability,
39436           and gives no significant advantage.  Code now exists in
39437           ombatchenquire.h in CVS, but is not part of build process.
39439         * Make OmEnquire and OmMSet have reference counted internals: this
39440           introduces a further layer of indirection, but tidies up things
39441           greatly.
39443         * Remove get_docs() and get_doc() methods from OmEnquire.
39444           get_doc(docid) is catered for by OmDatabase::get_document(docid).
39445           Added OmMSetIterator::get_document() to replace get_doc on a
39446           MSetIterator.  Added OmMSet::fetch_items() to replace get_docs():
39447           it prefetches the documents (or just those specified by some
39448           MSetIterators into a cache in the Mset).
39450         * OmMSet internals now have a reference to the creating OmEnquire
39451           object: this is set up after the mset returns from the matcher.
39452           If the reference is null, the Mset was created standalone, and
39453           get_doc methods will fail.
39455         * OmMSetIterators now have a reference to the MSet, instead of a
39456           percent_factor stored.  This allows the percent_factor to be
39457           lazily calculated, and also allows get_doc to work.
39459         * Add get_rank() method to OmMSetIterators.
39461         * Improve introspection on OmDocument, and fix a bug with assignment
39462           of OmDocument (wasn't assigning most of the internals).
39464         * Add a missing std:: on a string in omstopwordnode.
39466         * Fixed several documentation comments.
39468         * Add some more debugging to quartz.
39470         * Update TODO.
39472         * Add test_fetchdocs1 to apitest.  Disable test_batchquery1.
39474         * Remove sign comparison error in VectorTermList.
39476 Tue Jan 23 16:24:04 GMT 2001 Olly Betts
39478         * No longer compile with -ansi under gcc - it causes problems by
39479           preventing Linux system headers defining various functions we need.
39481         * testsuite/testsuite.cc: when reporting exceptions, display
39482           exception's errno value if set.
39484 Tue Jan 23 15:13:58 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39486         * Killed OmIndexerBuilder::NodeType.  Now use OmNodeDescriptor
39487           in its place, getting rid of another vector usage in the API.
39489         * OmNodeDescriptor adjusted for its new role: internals are
39490           refcounted, and some query as well as setting functions.
39492         * Cast the fourth argument to getsockopt() to void *.  On Solaris
39493           that argument is char *.
39495 Tue Jan 23 11:24:13 GMT 2001 Olly Betts
39497         * Tiny tweak to da_document.cc.
39499 Fri Jan 19 18:36:15 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39501         * Removed get/set vector methods from OmSettings
39503         * Remote/prog arguments now passed in a string separated be spaces,
39504           not a vector.
39506         * split_words() moved from netutils.h to utils.{h,cc}
39508         * Some unnecessary #include <vector> lines removed from API headers
39510         * Removed get_config_vector() from OmIndexerNode
39512         * OmConstantNode no longer handles vector values, and
39513           OmStopWordNode and OmSelectItemsNode use space-separated
39514           values instead.
39516 Thu Jan 18 17:31:55 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39518         * Removed mentions of std::vector from OmIndexerMessage, and
39519           updated the relevant bits.
39521         * Fixed a bug with the copy-on-write parts of OmIndexerMessage.
39523 Thu Jan 18 17:09:43 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39525         * Fix to btreetest.cc: shouldn't fail if test data files are not
39526           available.
39528         * Fix to multimatch.cc: clamp hits values to number of documents
39529           matched after collapsing and match functors, rather than before.
39531 Thu Jan 18 14:13:21 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39533         * Fix error messages thrown by quartz when a database doesn't exist /
39534           already exists and isn't to be overwritten.
39536         * Make quartz clean up an old database directory, if
39537           database_allow_overwrite is specified, so that old base files don't
39538           confuse things.
39540 Wed Jan 17 18:18:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39542         * Added all used toplevel directories to DIST_SUBDIRS
39544 Wed Jan 17 18:13:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39546         * Martin committed changes to btree.cc which should fix some random
39547           problems experienced with quartz.
39549         * Added in a test framework for the btree code, which exhibited the
39550           bug fixed by martin until updating to his fixed version.
39552 Wed Jan 17 16:10:02 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39554         * Moved the socklen_t definition so that tcpclient.cc could see
39555           it.
39557 Tue Jan 16 20:35:18 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39559         * Fix creation of quartz databases in backendmanager: all tests should
39560           now pass.
39562 Tue Jan 16 20:28:46 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39564         * Fix quartztest so that the tables / databases get created.
39565           Implement new test "create1" to check that creation of databases
39566           works as specified.
39568         * Fix test for whether we are allowed to overwrite a database.
39570         * Implement much better logging from quartz when making new databases.
39572         * Clean up an error message from btree.cc
39574 Tue Jan 16 19:24:49 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39576         * Don't display messages about allocation failures in the first
39577           iteration: if the failures go away when repeating, we're not
39578           interested.
39580 Tue Jan 16 18:28:03 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39582         * Add two new OmSettings, for use when opening databases:
39583           database_create and database_allow_overwrite.  The idea is that
39584           databases will only be created if database_create is specified,
39585           and that when they are being created an exception will be thrown
39586           if there's an existing database unless database_allow_overwrite
39587           is specified.
39589         * Implemented database_create and database_allow_overwrite for
39590           Quartz, which is the only relevant type for now.  Note that this
39591           breaks the testsuite, quite badly.
39593         * Add OmDatabaseCreateError, which is thrown when creating a database
39594           fails.
39596 Tue Jan 16 17:08:47 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39598         * Fixed a typo in -ldl detection
39600 Tue Jan 16 15:15:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39602         * Remove OmNeedRecoveryError, and quartz's quartz_perform_recovery
39603           parameter.  Quartz now always performs recovery if needed: there
39604           is no need for this added complication.
39606         * Update TODO
39608 Tue Jan 16 14:25:03 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39610         * Changed references to SIGCLD to SIGCHLD as it's more portable.
39612 Tue Jan 16 14:02:34 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39614         * Added check for whether -ldl is necessary.
39616 Tue Jan 16 11:51:25 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39618         * Added compatibility bits for early libxml1 versions.
39620 Mon Jan 15 18:18:01 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39622         * Removed use of hstrerror, which isn't portable.
39624 Mon Jan 15 18:02:42 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39626         * Fix assertion which was the wrong way round in multimatch.cc
39628 Mon Jan 15 17:46:13 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39630         * Fix initialisation of Btree_base::sequential when creating database.
39632 Mon Jan 15 15:43:46 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39634         * Renamed some uses of XML node structure for libxml2 compatibility.
39636 Mon Jan 15 15:35:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39638         * Add some fixes to sequential access to btrees from Martin.
39640 Mon Jan 15 12:23:02 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39642         * Set matches_* to the known value of the number of hits if we have
39643           been unable to return as many hits as were requested, and therefore
39644           know the exact number.
39646         * Update test_matches1() to check this works correctly.  Passes.
39648 Fri Jan 12 17:45:27 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39650         * Implement get_doclength() for QuartzDatabase
39652         * Remove unused parameter from QuartzRecordManager::add_record()
39654 Fri Jan 12 17:14:16 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39656         * Fixed MultiAllTermsList, which had stopped working.
39658 Fri Jan 12 15:32:34 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39660         * Add test to apitest (postlist6) that doclengths got from postlists
39661           are the same as those from databases.  Fails for Quartz for the
39662           moment.
39664         * Add test to quartztest (disktable3) to try and bring out a bug in
39665           adding to tables.
39667 Fri Jan 12 15:20:09 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39669         * Fix STLport macro so that it will accept an STLport installation
39670           with foo/include/stlport and foo/lib instead of foo/stlport and
39671           foo/lib.
39673 Fri Jan 12 14:04:37 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39675         * Fixed buglet in configure.in which produced a bogus warning
39676           about regex libraries.
39678         * Added an AC_MSG_RESULT corresponding to an AC_MSG_CHECKING
39679           for the libxml flags
39681 Fri Jan 12 13:18:07 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39683         * Fixed skip_to() in QuartzAllTermsList
39685 Fri Jan 12 12:52:57 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39687         * Turn debugging off in btree.cc: accidentally committed a version
39688           with lots of verbose debugging on.
39690 Fri Jan 12 11:16:17 GMT 2001 Olly Betts
39692         * glibc 2.2 needs `#define _GNU_SOURCE' to give us RTLD_NEXT.
39694         * C++ comments changed to C comments in malloccheck.c.
39696 Thu Jan 11 16:42:07 GMT 2001 Olly Betts
39698         * Removed unnecessary `#include "alltermslist.h"' from
39699           d[ab]_database.h.
39701 Wed Jan 10 14:28:10 GMT 2001 Olly Betts
39703         * Updated various .cvsignore files.
39705 Tue Jan 09 19:03:12 GMT 2001 Olly Betts
39707         * Tidied up dead code from OmAllTermIterator.
39709 Tue Jan 09 18:41:21 GMT 2001 Olly Betts
39711         * OmAllTermsIterator merged into OmTermIterator.
39713         * When iterating over all terms, skip_to() doesn't set at_end()
39714           when it skips off the end.  Fixed except for quartz and added
39715           regression test (allterms3).
39717 Tue Jan  9 18:14:04 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39719         * Add some extra debugging code into btree code in quartz.
39721 Tue Jan  9 17:22:12 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39723         * Make skip_to() work (ie, do nothing) on OmTermIterators, when the
39724           term iterator is at_end() already.
39726 Tue Jan  9 13:32:08 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39728         * Updates to make the quartzdump utility more useful.
39730         * Added new test to test cursor behaviour in quartz.
39732 Tue Jan  9 11:31:26 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39734         * Remove an item from TODO
39736 Tue Jan  9 10:27:35 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39738         * Add a missing \ in tests/Makefile.am
39740 Mon Jan  8 19:03:42 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39742         * Increment format number in quartz/btree_base.cc.  This isn't
39743           actually due to a change in the btree format, but to ensure that
39744           some databases which were causing problems are rebuilt.
39746           We need to add quartz format numbers, separate from the btree format
39747           numbers, to check this kind of thing.
39749 Mon Jan  8 15:13:04 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39751         * Add some debugging, and fix a test data file.
39753 Mon Jan  8 13:49:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39755         * Fix failure to initialise OmMSet::Internal::have_percent_factor.
39757 Thu Jan  4 17:21:24 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39759         * Add new test for a postlist with many documents, designed to fail
39760           and exhibit the bug andy has found.  So far doesn't fail.
39762 Wed Jan  3 19:30:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39764         * Add get_percent method to OmMSetIterator.  Untested.
39766         * Add om_percent type to om_types.
39768         * Add test of sort order of terms in get_matching_terms.
39770 Tue Jan  2 15:05:53 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39772         * Move documentation of parameters for OmSettings out of omsettings.h
39773           and into docs/.  Not in distribution at the moment: it is awaiting
39774           placement into a permanent home (I think the user manual is the
39775           correct place).
39777         * Add a bm25weight_min_normlen parameter: this specifies a cutoff
39778           on the minimum value that can be used for a normalised document
39779           length: smaller values will be forced up to this cutoff.  This
39780           prevents very small documents getting a huge bonus weight.
39782 Wed Dec 20 16:54:41 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39784         * Fix warning in QuartzTable
39786 Wed Dec 20 15:13:05 GMT 2000 Olly Betts
39788         * OmTermListIterator merged into OmTermIterator.
39790         * Added OmRSet::contains() - checks if an RSet contains a given
39791           docid.
39793         * Methods returning `const om_termname' now just return
39794           `om_termname'.
39796 Tue Dec 19 16:55:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39798         * Implemented AllTermsIterator for DA and Multi databases.
39799           Added a test which actually uses a multidatabase, but
39800           disabled it as it currently fails for both Quartz and DA.
39802 Tue Dec 19 12:14:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39804         * Adjusted TODO
39806 Tue Dec 19 20:06:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39808         * Escaping for termnames in remote database communication modified
39809           to use only characters in range 33 to 126.  Should now work on all
39810           architectures.
39812         * Increased OM_SOCKET_PROTOCOL_VERSION to 8.
39814 Mon Dec 18 17:23:48 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39816         * Added "match_cutoff" option to get_mset OmSettings.
39818         * Added test for "match_cutoff" to apitest.
39820         * Updated todo.xml
39822 Mon Dec 18 17:19:40 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39824         * Implemented opening positionlists from inmemory databases.  Added
39825           a testcase as well, which is run for quartz and inmemory.
39827 Mon Dec 18 15:48:16 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39829         * Implemented AllTermsIterator for quartz.  Interaction with
39830           QuartzPostList needs to be cleaned up.
39832         * Added new functions [un]pack_string_preserving_sort(), which
39833           pack a string in a way which preserves sort order.  Added a
39834           testcase to quartztest.
39836         * Now use [un]pack_string_preserving_order() on postlist keys, so
39837           that we can get at terms in sorted order.  (And get_tname_from_key()
39838           added to separate out the term-unpacking as well as the packing)
39840         * Enabled test_allterms1 in apitest, but put it in a group of
39841           tests only run for inmemory and quartz.  This should be extended
39842           to other backends.
39844 Mon Dec 18 14:33:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39846         * Implemented tests of msetiterator and esetiterator copying and
39847           assignment.
39849         * Fix segfault when assigning to [me]setiterator to end.
39851         * Updated todo.xml
39853 Mon Dec 18 13:52:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39855         * Move creation of first key in a quartz postlist into a named
39856           function (was scattered through the code).
39858 Mon Dec 18 11:19:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39860         * Update todo.xml
39862 Mon Dec 18 10:47:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39864         * Remove const from reverse_iterators in api_db.cc, so get around
39865           brokenness of egcs 1.1.2
39867 Mon Dec 18 09:41:54 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39869         * Added apitest_space.txt to the Makefile.am
39871 Sun Dec 17 16:15:03 GMT 2000 Olly Betts
39873         * Replaced all API uses of om_termname_list with OmTermIterator.
39875 Fri Dec 15 18:54:10 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39877         * Implemented OmAllTermsIterator interface in API.  It works for
39878           inmemory - the rest haven't been implemented yet.  The test
39879           is commented out.
39881 Fri Dec 15 15:47:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39883         * Updated TODO.
39885         * database returns positionlists as AutoPtrs; this neatens some of
39886           the code from the previous changelog entry, and makes explicit the
39887           ownership of the pointer.  postlists and termlists should be
39888           AutoPtrs, likewise.
39890 Fri Dec 15 14:59:41 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39892         * Make OmPositionListIterators retrieved from OmPostListIterators
39893           valid indefinitely (were only valid until OmPostListIterator was
39894           moved).  This makes them consistent with OmPositionListIterators
39895           retrieved from OmDatabases.
39897         * Renamed PostList::get_position_list() to read_position_list.
39898           Added PostList::open_position_list() which opens a new positionlist
39899           and returns it as an AutoPtr.
39901 Fri Dec 15 13:09:51 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39903         * Make TODO.release file, containing TODO items for next release.
39905 Fri Dec 15 12:06:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39907         * QuartzDatabases now autoflush after 1000 changes.
39909 Fri Dec 15 11:40:37 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39911         * Fix segfault in quartz_table
39913 Fri Dec 15 11:23:15 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39915         * Removed begin/end_session() from quartztest
39917 Thu Dec 14 19:19:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39919         * Done todo item: For writable databases, make the behaviour currently
39920           obtained by calling begin_session() and later end_session() the
39921           default behaviour.  If users want the changes to be applied
39922           immediately following a change, they should call flush().
39924 Thu Dec 14 17:48:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39926         * Fix problem with recalc_maxweight() not being called before a
39927           get_maxweight() in multimatch.cc if a node prunes at the top level,
39928           since recalculate_w_max wasn't being checked at this point.
39929           Introduced helper function getorrecalc_maxweight() to tidy this up.
39931         * Tidy up Asserts in common/netutils.h.
39933 Thu Dec 14 17:11:17 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39935         * Adjusted todo.xml
39937 Thu Dec 14 16:21:27 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39939         * Removed handling of OmDatabaseModifiedError in the API - it's
39940           up to the users to know what to do.  Disabled quartzoverwrite2
39941           as it's now inappropriate.
39943         * Added OmDatabase::reopen() to help them do so.
39945         * Adjusted todo.xml
39947 Thu Dec 14 14:38:39 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39949         * Added another quoting regression test.
39951 Thu Dec 14 14:36:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39953         * Fixed the quoting _again_, since it broke with backslashes.
39955 Thu Dec 14 12:49:58 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39957         * Fix problems with recalculation of maxweight in postlists, causing
39958           AssertParanoid at multimatch.cc:393.  When a prune was happening,
39959           recalc_maxweight flag was not always being set, because some
39960           {next,skip_to}_handling_prune() methods weren't being passed the
39961           matcher, and a default argument of 0 was being used.  I've now
39962           removed the default argument and pass the matcher always.
39964           Sometimes the recalc could perhaps be avoided, but this is
39965           certainly safer for now.
39967 Thu Dec 14 12:30:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39969         * Sleepcat is now disabled by default.
39971         * Fixed a problem with tabs not being quoted in the remote case.  All
39972           control characters are now quoted.  Incremented the protocol ver
39973           number.
39975 Thu Dec 14 11:54:17 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39977         * Added regression test to check that all characters can be
39978           are safe to exist in document keys.
39980         * Fixed OmDebug so that it can display messages containing zero bytes
39981           (use fwrite instead for fprintf)
39983 Wed Dec 13 18:43:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39985         * Add regression tests to apitest to check that OmMSet and OmESet
39986           begin() and end() iterators compare equal if the mset is empty.
39987           Fix matchfunctor used in test_matchfunctor1 so that it works for
39988           Muscat3.6 databases.
39990 Wed Dec 13 18:35:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39992         * Fixed bugs in OmMSet and OmESet iterators: begin() when the set
39993           was empty produced an invalid iterator, and the assignment
39994           operators would have failed when end iterators were involved.
39996         * Added a check in test_matchfunctor1() that the mset returned is
39997           not empty.
39999 Wed Dec 13 18:18:09 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40001         * Turn off tests involving terms with newlines or zero bytes in terms
40002           with Muscat3.6 backends; these can't be expected to work.
40004 Wed Dec 13 18:06:29 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40006         * Uncommented the code in pctcutoff1 - test now passes.
40008 Wed Dec 13 17:53:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40010         * Fix: m36_key_file parameter wasn't being set with DA flimsy
40011           databases (thanks to Mark Hagger).
40013         * indextest.cc changed to use "\n" instead of endl - compiles
40014           with STLport again.
40016 Wed Dec 13 17:27:17 GMT 2000 Olly Betts
40018         * OmMSet is now an STL compatible container.
40020         * Om*Iterator::difference_type was unsigned - now signed.
40022         * net/readquery.ll: fixed compiler warning.
40024         * Remote backend was defaulting to collapse on key 0.
40026 Wed Dec 13 16:48:49 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40028         * Add handling of DatabaseModified to OmEnquire::get_mset()
40030 Wed Dec 13 16:28:47 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40032         * Escape zero bytes in the network protocol, since these were
40033           breaking things when being passed across as part of keys.
40035         * Add test of having zero bytes in the collapse keys.
40037         * In testsuite, only display the context of errors if there is one
40038           present.
40040 Wed Dec 13 14:44:46 GMT 2000 Olly Betts
40042         * Implemented OmMSet::operator[]().
40044 Wed Dec 13 14:30:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40046         * Added support for handling overwritten database conditions.
40047           Currently works for OmDocument::get_{data,key}().
40049 Wed Dec 13 13:20:45 GMT 2000 Olly Betts
40051         * Elaborated API hitlist in todo.xml.
40053 Wed Dec 13 12:28:18 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40055         * Fix to BackendManager to stop it removing tables prematurely.
40057 Wed Dec 13 11:49:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40059         * Apply the stemmer to query terms used in spaceterms1.  (Not doing
40060           so caused the test to fail spuriously on local databases, since the
40061           terms are stemmed at index time).  The test still fails with da and
40062           db databases.
40064         * Fixed a problem when stats were unpacked from the network stream,
40065           where term names were not correctly unquoted.  This led to double
40066           quoting of global statistics.
40068 Wed Dec 13 02:49:05 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40070         * Implement copy and assignment methods for OmPositionListIterator.
40072 Wed Dec 13 02:37:14 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40074         * ESet and MSet iterators now cope with being copied / assigned when
40075           the internals are null.
40077         * Added copy method to OmPositionListIterator interface.  No
40078           implementation for this yet though, or for the already existing
40079           assignment method.
40081         * Added a couple of easy items to the todo list to check regarding
40082           iterators.
40084 Wed Dec 13 02:19:50 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40086         * Fix small bug in mset_range_is_same{,_weights}()
40088 Wed Dec 13 02:07:59 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40090         * And add copy and assignment for OmESet, similarly.
40092 Wed Dec 13 01:58:38 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40094         * Add copy and assignment operators to OmMSet so that the internals
40095           get copied (rather than just the pointer to them).  Really want a
40096           small internals class, holding a refcount to the real internals, or
40097           else to use refcntptrs for the members of OmMSet::Internal which are
40098           potentially large (eg, items)
40100 Wed Dec 13 01:05:44 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40102         * Add Asserts to api/omdatabaseinternal.cc to ensure that there is at
40103           least one database present when opening termlists, etc.  This should
40104           really be done by throwing errors.
40106         * Add destructor to OmMSet, deleting internals.
40108         * Implement getting positionlists from QuartzDatabases.
40110         * Fix bug in copy constructor of OmDocument::Internal - some fields
40111           were not being copied.
40113         * Fix api_db.cc so it compiles: code referring to mset by subscripting
40114           temporarily commented out.
40116 Tue Dec 12 20:05:10 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40118         * Fix bug with truncation of intermediate keys in btrees.
40120 Tue Dec 12 18:33:12 GMT 2000 Olly Betts
40122         * OmMSet::get_docs() now takes sane parameters.
40124         * Various test programs updated to nearly work with new OmMSet
40125           interface.
40127 Tue Dec 12 17:18:33 GMT 2000 Olly Betts
40129         * Finished cleaning up OmMSet; updated TODO to reflect this.
40131 Tue Dec 12 17:16:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40133         * Fix bug with sorting keys in btrees.
40135         * Various fixes to quartzdump.
40137 Tue Dec 12 15:40:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40139         * Nettest compiles with new OmMSet interface.
40141 Tue Dec 12 15:09:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40143         * Fixed an endless loop in QuartzWritableDatabase::do_delete_document.
40145 Tue Dec 12 15:07:39 GMT 2000 Olly Betts
40147         * OmMSetItem replaced by OmMSetIterator.
40149         * Added OmESet::empty().
40151         * Fixed == on OmESetIterator.
40153 Tue Dec 12 14:16:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40155         * Renamed arguments to compare_keys()
40157 Tue Dec 12 12:05:24 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40159         * Added quartzdump utility to dump the contents of a quartz table.
40161 Tue Dec 12 10:54:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40163         * Added constructors and destructor to OmRSet.
40165 Mon Dec 11 16:32:07 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40167         * Remove caching of average length in OmDatabaseInternal, was breaking
40168           asking for the average length of a database which was being
40169           modified.
40171 Mon Dec 11 16:03:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40173         * If no documents in database, don't divide by zero in
40174           omdatabaseinternal.cc
40176         * If a document object doesn't come from the database, when iterating
40177           through its termlist don't open postlists from the nonexistent
40178           database; open them from the DocumentTerm objects in the document
40179           instead.
40181         * Remove old unused and undefined method
40182           OmDocument::Internal::add_posting()
40184 Mon Dec 11 13:53:18 GMT 2000 Olly Betts
40186         * omenquire.h: Removed superfluous declaration of OmMSetCmp.
40188 Mon Dec 11 13:38:12 GMT 2000 Olly Betts
40190         * Updated TODO list.
40192 Mon Dec 11 13:24:45 GMT 2000 Olly Betts
40194         * OmRSet internals encapsulated.
40196 Mon Dec 11 12:42:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40198         * OmIndexerMessage::get_element and ...::operator[] now have
40199           non-const versions.  Fixes const-warning in omstemmernode.cc.
40201 Mon Dec 11 12:17:32 GMT 2000 Olly Betts
40203         * Better typedef-s for Om*Iterator::difference_type.
40205 Sun Dec 10 17:51:41 GMT 2000 Olly Betts
40207         * Corrected various typedef-s for Om*Iterator.
40209 Sun Dec 10 17:28:59 GMT 2000 Olly Betts
40211         * Updated TODO to reflect OmESet being cleaned up.
40213         * Term position argument to OmDocument::add_posting() is now
40214           optional (as it was for OmDocumentContents).
40216 Sun Dec 10 16:55:17 GMT 2000 Olly Betts
40218         * OmESetItem is dead - long live OmESetIterator!
40220         * net/socketclient.cc: fixed compiler warning.
40222         * net/socketserver.cc: fixed compiler warning.
40224 Sun Dec 10 13:29:15 GMT 2000 Olly Betts
40226         * Started to encapsulate OmESet/OmESetItem interface.  Interface is
40227           close, but currently implementation is exposed in omenquire.h.
40229         * apitest wasn't running puncterms1 or spaceterms1 - fixed.
40231 Sun Dec 10 11:34:39 GMT 2000 Olly Betts
40233         * om/autoptr.h -> autoptr.h in lots of places.
40235 Fri Dec  8 17:20:04 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40237         * Updated indextest to not use AutoPtr<OmIndexer>
40239 Fri Dec  8 17:14:09 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40241         * Oops - removed one too many #include "autoptr.h"
40243 Fri Dec 08 16:50:42 GMT 2000 Olly Betts
40245         * Updated TODO.
40247 Fri Dec  8 16:44:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40249         * IndexerBuilder now returns OmIndexer objects instead of
40250           AutoPtr<OmIndexer>.  OmIndexer's internals are reference
40251           counted.
40253         * Moved autoptr.h from include/om to common/, since it's no
40254           longer used in the API.
40256 Fri Dec  8 16:22:48 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40258         * Fixed omstemmer node bug and made debug slightly more verbose
40259           in indextest.cc.
40261 Fri Dec  8 16:13:36 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40263         * Added a test for OmIndexerMessage to indextest
40265         * Added output operator for OmIndexerMessage
40267         * Fixed a bug introduced into omvectorsplit node
40269         * Changed couts in indextest.cc to touts.
40271 Fri Dec 08 14:53:24 GMT 2000 Olly Betts
40273         * quartztest: removed OmDocumentTerm reference so that it'll
40274           compile (tests fail though).
40276 Fri Dec  8 14:42:46 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40278         * OmIndexerMessage is now a class by itself, replacing OmIndexerData
40279           and the typedef to AutoPtr<OmindexerData>.  It's now a copy-on-write
40280           object.
40282         * The indexer stuff all changed.
40284 Fri Dec 08 14:24:02 GMT 2000 Olly Betts
40286         * omindexdoc.{cc,h}: no longer used so removed.
40288         * Pushed OmDocumentTerm from API level into the internals of the
40289           library.
40291         * Updated TODO.
40293 Fri Dec 08 12:08:49 GMT 2000 Olly Betts
40295         * delve: if just given a database (or list of databases), report the
40296           number of documents and average document length.
40298 Thu Dec  7 20:39:24 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40300         * Fix bug: Om*Iterators which were created over empty lists didn't
40301           have null internals, causing them not to compare equal to end
40302           iterators.
40304         * Added many asserts to iterator code.
40306 Thu Dec  7 20:02:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40308         * Removed OmTermListIteratorMap - OmTermListIterator can now be
40309           across either a map or an actual termlist.
40311         * Om*Iterator classes all now delete internals when reaching end,
40312           freeing resources sooner and making the comparison operators much
40313           simpler.
40315 Thu Dec  7 18:33:03 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40317         * Updates to TODO
40319 Thu Dec  7 18:32:39 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40321         * Implementation of write locks for Quartz
40323 Thu Dec  7 18:28:55 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40325         * Fix to backendmanager which doesn't return writable databases
40326           unnecessarily (which breaks things when there are write locks)
40328 Thu Dec  7 18:25:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40330         * Added test for Quartz write locks
40332 Thu Dec  7 17:56:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40334         * Add OmDocument::set_data() method which takes a string, instead of
40335           an OmData object.  This allows, implicitly, use of const char *'s
40336           as well.
40338         * Further fixes to quartztest.  It now compiles (though I've not
40339           tried linking it yet...)  :)
40341 Thu Dec  7 17:49:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40343         * Fixed omkeylistiterator return types.
40345 Thu Dec  7 17:27:57 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40347         * Moved get_document() from OmWritableDatabase to OmDatabase.
40349         * Added -> operator to OmKeyListIterator.  Fixed return values
40350           and constness of Om*Iterator::operator *() methods.
40352         * Some fixes to quartztest.cc, but not enough to get it compiling.
40354 Thu Dec 07 16:21:28 GMT 2000 Olly Betts
40356         * Some work on getting quartztest working.
40358 Thu Dec 07 16:10:00 GMT 2000 Olly Betts
40360         * The library now builds, but "make check" still fails.
40362 Thu Dec  7 15:39:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40364         * Fixes to testsuite/index_utils.cc to not segfault.
40366 Thu Dec  7 14:31:56 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40368         * Fixes to api_db.cc so that it compiles.
40370 Wed Dec  6 18:50:48 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40372         * Add test for terms with spaces, newlines, zero bytes, or
40373           backslashes.
40375         * Updates to TODO
40377 Wed Dec 06 18:18:16 GMT 2000 Olly Betts
40379         * Woohoo!  Now builds with just --disable-indexer!
40380           (still doesn't pass any tests).
40382 Wed Dec 06 17:24:19 GMT 2000 Olly Betts
40384         * Minor fix.  Now builds with --disable-indexer
40385           --disable-quartz-backend (but doesn't pass any tests).
40387 Wed Dec 06 16:35:34 GMT 2000 Olly Betts
40389         * Fixed up lots of build errors.
40391 Wed Dec 06 14:56:59 GMT 2000 Olly Betts
40393         * Begin the long job of replacing OmDocumentContents with
40394           OmDocument.  Won't currently build - expect the tree to be broken
40395           for a few days.  As usual, if you want a working build, use the
40396           "snapshot_latest" tag.
40398 Wed Dec  6 12:03:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40400         * Backed out yesterday's overwritten-handling stuff.
40402 Wed Dec  6 11:36:55 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40404         * Increase sleep in tcpclient1 to 3 (did tcpmatch1 last time, duh!)
40406 Tue Dec  5 17:13:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40408         * QuartzDocument now has a QuartzTableManager pointer rather than
40409           two QuartzTable pointers.
40411         * QuartzDatabase::do_get_document_internal() copes with Btree
40412           overwritten conditions.
40414         * QuartzDocument methods cope with Btree overwritten conditions
40416         * New method QuartzTableManager::reopen_tables_because_overwritten()
40417           for helping with the above.
40419         * New test in quartztest for testing overwritten problems from the
40420           API rather than just internally to Quartz.
40422         * Fixed a typo in omsettings.h comment (quartz_dir used to refer to
40423           a sleepycat database)
40425 Tue Dec  5 16:53:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40427         * Update todo.
40429         * Fix undesirable assert in stats.h
40431 Tue Dec  5 15:41:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40433         * Replace OmMSet::docs_considered with
40434           OmMSet::matches_{lower_bound,estimated,upper_bound}, giving more
40435           useful information.
40437         * PostLists now have get_termfreq_{min,est,max}(), instead of
40438           get_termfreq(), so the postlist tree can be used to calculate
40439           the matches_* values for the mset.  Implemented for all the
40440           postlist subclasses.
40442           LeafPostList's still has a virtual get_termfreq() method,
40443           and implements get_termfreq_* in terms of it, so database postlists
40444           don't need to be modified.
40446         * Passing of MSets across network modified to pass the new
40447           information.
40449         * PendingMSet uses the values from the mset to return the values
40450           of get_termfreq_*().  This assumes that recalc_maxweight has been
40451           called first, which is has been.
40453         * Muscat36 databases get_termfreq() methods fixed to use a
40454           LeafPostList rather than a PostList.
40456         * Renamed test docs_considered1 to matches1, and add several
40457           more cases to it.
40459 Tue Dec 05 15:38:27 GMT 2000 Olly Betts
40461         * Added tests/testdata/apitest_punc.txt to distribution.
40463 Tue Dec 05 15:07:26 GMT 2000 Olly Betts
40465         * Oops, failed to add new file `tests/testdata/apitest_punc.txt'
40466           with last check-in.
40468 Tue Dec 05 14:34:04 GMT 2000 Olly Betts
40470         * OmTermListIterator implemented for an OmDocument with terms stored
40471           in a map rather than coming from a Document.
40473         * Fixes to remote protocol so solve problems with terms with
40474           punctuation in (regression test punc_terms1).
40476 Mon Dec  4 15:02:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40478         * Makefile tweak in docs/
40480 Mon Dec 04 14:13:05 GMT 2000 Olly Betts
40482         * More OmDocument work.
40484 Mon Dec  4 11:43:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40486         * Renamed OmMSet::mbound to docs_considered.
40488 Mon Dec  4 10:11:11 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40490         * Added some more std:: prefixes for STLport.
40492 Fri Dec  1 17:45:01 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40494         * Increase the sleep after the server is started by tcpclient1 to 3
40495           seconds so that the server is more likely to have started when
40496           then test ran.  This seems to be what was causing the test to
40497           randomly fail.  Really, we want a better solution to this (such as
40498           the server picking a port and writing it out on stdout once it is
40499           listening.)
40501 Fri Dec  1 17:27:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40503         * Swapped the ports used by tcpclient1 and tcpmatch1 to see if the
40504           random failures follow suit.
40506 Fri Dec  1 17:21:07 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40508         * Another minor fix to work with STLport.
40510 Fri Dec  1 17:01:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40512         * Add std::'s and similar to fix compilation with STLport.
40514         * Fix bug in expander due to nth_element being called on the wrong
40515           element.  This is the counterpoint of the bug fixed on Nov 24th
40516           with the matcher.
40518 Fri Dec  1 16:30:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40520         * Minor tweaks in error strings.
40522 Fri Dec 01 12:57:59 GMT 2000 Olly Betts
40524         * Corrected erroneous documentation comment.
40526 Thu Nov 30 18:50:16 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40528         * OmSettings no longer throws exceptions internally (at the cost of
40529           slightly more code duplication).
40531 Thu Nov 30 18:05:39 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40533         * Add a few std::'s to strings which had been missed.
40535 Thu Nov 30 16:41:11 GMT 2000 Olly Betts
40537         * OmDocument::Internal now knows its OmDatabase.
40539 Thu Nov 30 16:40:33 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40541         * Add context to network errors thrown from OmSocketLineBuf.
40543 Thu Nov 30 16:21:47 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40545         * Added a quartz test for largish bitmaps.
40547         * Fixed the code so that the above test would pass.
40549 Thu Nov 30 16:10:37 GMT 2000 Olly Betts
40551         * OmDocument::add_posting() pretty much done.
40553 Thu Nov 30 15:51:46 GMT 2000 Olly Betts
40555         * More work on OmDocument::add_posting().
40557         * Added OmTermListIterator::positionlist_begin() and
40558           OmTermListIterator::positionlist_end().
40560 Thu Nov 30 14:16:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40562         * Fixed a prototype bug introduced with the last commit.
40564 Thu Nov 30 13:23:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40566         * Bcursor::find_key now more const-correct.
40568         * Bcursor_create now returns an AutoPtr.  The resultant changes
40569           fixed a memory leak.
40571         * New exception: OmDatabaseModifiedError.  Thrown when an open
40572           revision of a table is no longer valid due to multiple updates.
40574         * quartzoverwrite1 test re-enabled, and passes.
40576 Thu Nov 30 13:23:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40578         * nettest now uses quartz backend: should always run all tests now
40579           (apart from tcpdead1, which doesn't work).
40581 Wed Nov 29 19:46:22 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40583         * In testsuite, report the context of Om exceptions as well as their
40584           type and message.
40586 Wed Nov 29 18:30:10 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40588         * Add "remote_connect_timeout" parameter to be supplied when opening
40589           a remote database, to specify a separate timeout for the connect
40590           operation to that used once the connection has been opened.
40592         * Add setting of the context of errors thrown by tcpclient or
40593           progclient, so that the node which failed can be determined.
40595 Wed Nov 29 17:50:03 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40597         * Reworked Btree_base::read() a bit so that it's hopefully more
40598           readable.
40600         * Hopefully fixed a bug when the bitmap approaches 1k.
40602         * Fix to catch problems re-opening databases after an apply in
40603           Quartz.
40605 Wed Nov 29 17:30:26 GMT 2000 Olly Betts
40607         * Added OmDocument::termlist_begin() and OmDocument::termlist_end()
40609 Wed Nov 29 16:53:13 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40611         * Comment out quartzoverwrite1 test so that it doesn't cause problems
40612           for other developers.
40614 Wed Nov 29 16:27:19 GMT 2000 Olly Betts
40616         * docid now in Document class rather than subclasses.
40618 Wed Nov 29 14:54:13 GMT 2000 Olly Betts
40620         * leafdocument.cc renamed to document.cc
40622         * Document class now has a pointer to the associated Database class
40623           so we can open termlists, etc.
40625 Wed Nov 29 14:03:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40627         * Add quartztest to test for case when a database block gets
40628           overwritten.  Currently, this fails because an exception doesn't
40629           get thrown when it should.
40631 Wed Nov 29 13:18:24 GMT 2000 Olly Betts
40633         * LeafDocument class renamed to Document.
40635 Wed Nov 29 12:35:49 GMT 2000 Olly Betts
40637         * Added OmDocument::remove_posting(), OmDocument::remove_term(),
40638           and OmDocument::clear_terms()
40640 Wed Nov 29 12:31:22 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40642         * Added another revision number in the middle of the base file,
40643           before the bitmap.  Also now check that there isn't any extra
40644           data at the end after we finish reading it.  Incremented the
40645           database format.
40647 Wed Nov 29 11:55:03 GMT 2000 Olly Betts
40649         * Added OmDocument::remove_key() and OmDocument::clear_keys()
40651 Tue Nov 28 18:34:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40653         * Btree bitmap now merged with base - one object, one file.
40655 Tue Nov 28 17:13:56 GMT 2000 Olly Betts
40657         * Added OmDocument::set_data()
40659 Tue Nov 28 16:47:06 GMT 2000 Olly Betts
40661         * Started to alter OmDocument to be a general purpose document class
40662           which includes the functionality currently in OmDocumentContents.
40664 Tue Nov 28 15:08:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40666         * Added OmSplitOnCharsNode, which does a subset of OmRegexSplitNode
40667           but less slowly.
40669         * Modified RegexSplit node and regexcommon so that less copying
40670           of strings is needed.
40672 Tue Nov 28 13:42:41 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40674         * Moved the Btree's bitmap into a separate object.
40676 Tue Nov 28 13:06:36 GMT 2000 Olly Betts
40678         * Eliminated OmDocumentParams.
40680         * Removed unnecessary mutex from OmDocument::Internal.
40682 Mon Nov 27 18:45:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40684         * Implement get_position_list() on databases.  Untested.  Also needs
40685           some work to make consistent with open_position_list() on posting
40686           lists: see todo list.
40688 Mon Nov 27 18:29:00 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40690         * Change #define LEVEL ... to #define GET_LEVEL ... in btree_util.h:
40691           fixes problem reported by includetest
40693 Mon Nov 27 18:20:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40695         * Added a set of modifications to the todo.xml.  Also, add a
40696           "release" field, recording the release that the work must be
40697           performed by.
40699 Mon Nov 27 18:08:35 GMT 2000 Olly Betts
40701         * A RefCntPtr now copes with being assigned to itself (used to
40702           delete the underlying object if the reference count was 1).  Added
40703           regression test (refcnt2).
40705         * Now overwrite pointer inside RefCntPtr before deleting the pointed
40706           to object so there's no window where another thread can access the
40707           pointer and get the just-deleted object.
40709 Mon Nov 27 14:36:59 GMT 2000 Olly Betts
40711         * OmError class now optionally stores an errno value.
40713 Mon Nov 27 13:04:18 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40715         * Quartztest builds its test databases in a subdirectory, which
40716           is now in .cvsignore, so we shouldn't get cvs complaining about
40717           so many unknown files any more.
40719 Mon Nov 27 12:53:16 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40721         * Another TODO item.
40723 Mon Nov 27 12:15:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40725         * Added a couple of new items to the todo list.
40727 Fri Nov 24 19:23:56 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40729         * Quartztests now deletes all old tables, so that database formats
40730           don't cause problems.
40732 Fri Nov 24 19:03:59 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40734         * Added std:: prefix to lots of strings which didn't have it.
40735           I've probably added some where they shouldn't be: there were rather
40736           a lot of cases of this.
40738 Fri Nov 24 18:27:06 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40740         * Major bug fix!  When removing elements, matcher was performing
40741           nth_element() on the first element to be thrown away, rather than
40742           the lowest element to keep.  This meant that, after throwing away
40743           low scoring items, items.back() was a random item rather than the
40744           lowest scoring item.  This caused the min weight for getting into
40745           the mset to go up faster than it should have done, and generally
40746           broke everything.
40748           It will be interesting to compare evaluation measures before and
40749           after this fix.
40751 Fri Nov 24 15:34:17 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40753         * Declare this to be version 0.4.1