generate-exceptions,include/xapian/: Remove XAPIAN_PURE_FUNCTION
[xapian.git] / xapian-core / ChangeLog
blob5f3f7e31afdf5a3d4dd0fd10dd25d5151339a77e
1 Thu May 28 10:37:32 GMT 2015  Olly Betts <olly@survex.com>
3         * generate-exceptions,include/xapian/: Remove XAPIAN_PURE_FUNCTION
4           from functions which could throw an exception (which aren't really
5           pure).  While we're happy for calls to these functions to be CSE-ed,
6           the compiler might more assumptions about a pure function - clang
7           seems to assume pure => nothrow for example.
9 Wed May 27 02:05:23 GMT 2015  Olly Betts <olly@survex.com>
11         * NEWS: Update.
13 Tue May 26 23:15:21 GMT 2015  Olly Betts <olly@survex.com>
15         * AUTHORS: Update.
17 Tue May 26 23:12:53 GMT 2015  Olly Betts <olly@survex.com>
19         * NEWS: Credit Mihai Bivol for Xapian::Snipper in 1.3.2 changes.
21 Tue May 26 06:14:22 GMT 2015  Olly Betts <olly@survex.com>
23         * include/xapian/intrusive_ptr.h,tests/api_none.cc: Fix issue with 
24           the optional reference counting where the reference count of a
25           non-reference counted and deleted object could get checked to
26           see if the object was reference counted.
28 Mon May 25 04:33:15 GMT 2015  Olly Betts <olly@survex.com>
30         * NEWS: Update.
32 Sun May 24 12:52:47 GMT 2015  Olly Betts <olly@survex.com>
34         * tests/api_postingsource.cc: timer_create() seems to always fail on
35           AIX with EAGAIN, so just skip the matchtimelimit1 testcase there.
37 Sun May 24 11:48:30 GMT 2015  Olly Betts <olly@survex.com>
39         * net/tcpserver.cc: Under __WIN32__, inet_ntop()'s second parameter
40           is 'void*' (to POSIX says it should be 'const void*').
42 Sun May 24 11:46:25 GMT 2015  Olly Betts <olly@survex.com>
44         * common/safenetdb.h: Under __WIN32__, MSDN says that newer platforms
45           need <ws2def.h> for AI_* constants.  And mingw doesn't seem to
46           define AI_NUMERICSERV yet.
48 Sun May 24 10:41:39 GMT 2015  Olly Betts <olly@survex.com>
50         * common/safewindows.h,configure.ac: Under __WIN32__, we need to
51           specify Vista as the minimum supported version to get the
52           AI_ADDRCONFIG flag.  Older versions seem to all be out of support
53           anyway.
55 Sun May 24 06:46:15 GMT 2015  Olly Betts <olly@survex.com>
57         * net/tcpclient.cc: Add missing declaration of variable under
58           __WIN32__.
60 Sun May 24 06:39:56 GMT 2015  Olly Betts <olly@survex.com>
62         * tests/harness/testsuite.h: Simplify FAIL_TEST and SKIP_TEST
63           slightly.
65 Sat May 23 11:52:03 GMT 2015  Olly Betts <olly@survex.com>
67         * tests/harness/backendmanager_remotetcp.cc: Don't leave an extra fd
68           open when starting xapian-tcpsrv for remotetcp tests.
70 Sat May 23 10:12:31 GMT 2015  Olly Betts <olly@survex.com>
72         * tests/harness/backendmanager_remotetcp.cc: Add spaces between literal
73           strings and macros which expand to literal strings for C++11
74           compatibility in __WIN32__-specific code.
76 Fri May 22 03:22:03 GMT 2015  Olly Betts <olly@survex.com>
78         * NEWS: Update.
80 Wed May 20 14:24:03 GMT 2015  Olly Betts <olly@survex.com>
82         * include/xapian/version_h.cc: If old and new __GXX_ABI_VERSION are
83           both >= 1002 (which means GCC >= 3.4), then issue a warning about
84           mismatching versions instead of an error.  The changes in these
85           versions are bug fixes for corner cases, so there's a good chance of
86           things working - e.g. building xapian-bindings with GCC 5.1 (which
87           defaults to __GXX_ABI_VERSION 1008) against xapian-core built with
88           GCC 4.9 (1002) seems to work OK.  A warning is still useful as a
89           clue to what is going on if linking fails due to a missing symbol.
91 Wed May 20 13:47:50 GMT 2015  Olly Betts <olly@survex.com>
93         * net/serialise.cc: Don't use encode_length() on a bool - it's
94           overkill, and leads to a warning from GCC 5.1 (due to the
95           comparison (bool_value < 255) from the template expansion
96           always being true).
98 Wed May 20 01:49:18 GMT 2015  Olly Betts <olly@survex.com>
100         * api/matchspy.cc: Fix comparison function not to return true for two
101           equal elements, which fixes matchspy4 test failure with clang and
102           libc++.
104 Wed May 20 00:20:56 GMT 2015  Olly Betts <olly@survex.com>
106         * configure.ac: Disable "<FUNCTION> is expected to return a value"
107           warning from Sun's C++ compiler, as it fires even for functions we
108           end in a "throw" statement.  Genuine instances will be caught by
109           compilers with superior warning machinery.
111 Mon May 18 04:18:37 GMT 2015  Olly Betts <olly@survex.com>
113         * configure.ac: Arrange to pass command line option so that xlC
114           actually fails to compile the test code for typeid() when RTTI isn't
115           enabled.
117 Sun May 17 11:35:36 GMT 2015  Olly Betts <olly@survex.com>
119         * backends/glass/glass_version.cc: When reporting an error that the
120           glass format version doesn't match, don't append an uninitialised
121           char[] buffer to the error string (code accidentally left behind
122           by the previous change in this area).
124 Sat May 16 12:08:17 GMT 2015  Olly Betts <olly@survex.com>
126         * common/socket_utils.cc: Fix casts on the 4th argument of
127           setsockopt() so they compile on platforms which expect
128           char * or const char * there.
130 Fri May 15 13:24:55 GMT 2015  Olly Betts <olly@survex.com>
132         * configure.ac: Enhance the probe for whether the test harness can use
133           RTTI so that it works for xlC (which defaults to not generating
134           RTTI).
136 Fri May 15 12:28:32 GMT 2015  Olly Betts <olly@survex.com>
138         * common/debuglog.h: Remove commented out STATIC_ASSERT() which
139           is conceptually flawed.
141 Fri May 15 12:27:45 GMT 2015  Olly Betts <olly@survex.com>
143         * common/omassert.h,common/pack.h,tests/api_wrdb.cc,
144           tests/internaltest.cc: Replace STATIC_ASSERT() with C++11's
145           static_assert().
147 Fri May 15 11:34:47 GMT 2015  Olly Betts <olly@survex.com>
149         * common/stringutils.cc: Use static_assert rather than an adhoc check
150           via a negative array size.
152 Fri May 15 11:16:18 GMT 2015  Olly Betts <olly@survex.com>
154         * common/io_utils.cc: Replace the code used on platforms without
155           F_DUPFD with simpler code which actually compiles.
157 Fri May 15 03:43:16 GMT 2015  Olly Betts <olly@survex.com>
159         * pkgconfig/xapian-core.pc.in: Include @ldflags@ in pkg-config .pc
160           file.
162 Fri May 15 03:33:40 GMT 2015  Olly Betts <olly@survex.com>
164         * pkgconfig/xapian-core.pc.in: Fix include directory reported by
165           pkg-config.
167 Fri May 15 03:31:43 GMT 2015  Olly Betts <olly@survex.com>
169         * configure.ac,pkgconfig/xapian-core.pc.in,xapian-config.in: When
170           compiling with xlC on AIX, _LARGE_FILES gets defined by
171           AC_SYS_LARGEFILE to enable large file support, and defining this
172           changes the ABI of std::string, so include it in xapian-config
173           --cxxflags and the pkg-config equivalent.
175 Fri May 15 02:52:10 GMT 2015  Olly Betts <olly@survex.com>
177         * tests/Makefile.am,tests/perftest/Makefile.mk: Use $(NO_INSTALL)
178           rather than @NO_INSTALL@ to allow make-time overriding.
180 Fri May 15 02:33:11 GMT 2015  Olly Betts <olly@survex.com>
182         * tests/soaktest/Makefile.mk: Use -no-fast-install instead of
183           -no-install for linking soaktest on platforms where libtool issues
184           a warning for -no-install, like we already do for all the other test
185           programs.
187 Fri May 15 02:14:16 GMT 2015  Olly Betts <olly@survex.com>
189         * examples/simpleexpand.cc,examples/simpleindex.cc,
190           examples/simplesearch.cc: '#include <config.h>' in the examples, as
191           when compiling with xlC on AIX, _LARGE_FILES gets defined by
192           AC_SYS_LARGEFILE to enable large file support, and defining this
193           changes the ABI of std::string, so it also needs to be defined when
194           compiling code using Xapian.
196 Thu May 14 03:17:28 GMT 2015  Olly Betts <olly@survex.com>
198         * backends/chert/chert_cursor.cc: Correct delete to delete [].
200 Tue May 12 14:33:28 GMT 2015  Olly Betts <olly@survex.com>
202         * docs/deprecation.rst: Add deprecation of --preserve-nonduplicates
203           which happened in 1.2.4.
205 Tue May 12 07:38:12 GMT 2015  Olly Betts <olly@survex.com>
207         * Makefile.am: Actually use $(NO_UNDEFINED).
209 Tue May 12 06:40:38 GMT 2015  Olly Betts <olly@survex.com>
211         * configure.ac: Only pass -no-undefined when linking the library if
212           it's actually required for the current platform.  Sun C++ doesn't
213           link the C++ runtime libraries to shared objects, so the build
214           fails with -no-undefined.
216 Tue May 12 06:39:26 GMT 2015  Olly Betts <olly@survex.com>
218         * INSTALL,configure.ac: Fix comment and doc typos.
220 Tue May 12 03:49:38 GMT 2015  Olly Betts <olly@survex.com>
222         * configure.ac: Add workaround for odd <cmath> issue with Sun C++.
224 Tue May 12 03:49:15 GMT 2015  Olly Betts <olly@survex.com>
226         * configure.ac: On Solaris, inet_ntop() needs -lnsl.
228 Tue May 12 03:48:48 GMT 2015  Olly Betts <olly@survex.com>
230         * api/keymaker.cc: Fix error compiling with Sun C++.
232 Tue May 12 03:07:06 GMT 2015  Olly Betts <olly@survex.com>
234         * include/xapian/attributes.h: Fix typo in definition of
235           XAPIAN_NOTHROW() definition for C++11 compilers other than GCC and
236           MSVC.
238 Tue May 12 01:48:19 GMT 2015  Olly Betts <olly@survex.com>
240         * exception_data.pm: Fix not to parse mentions of XAPIAN_THROW() in
241           comments.
243 Mon May 11 14:16:22 GMT 2015  Olly Betts <olly@survex.com>
245         * HACKING: libtool 2.4.6 is now used for snapshots and releases.
247 Mon May 11 14:14:04 GMT 2015  Olly Betts <olly@survex.com>
249         * common/str.cc,expand/bo1eweight.cc,geospatial/geoencode.cc,
250           matcher/multiandpostlist.cc,net/remoteconnection.cc,weight/:
251           Fixes for errors when compiling with Sun C++.
253 Mon May 11 10:53:47 GMT 2015  Olly Betts <olly@survex.com>
255         * common/log2.h,configure.ac: Change probe for log2() to check for a
256           declaration and '#include <cmath>' to get it to fix build on Solaris
257           with Sun C++.  C++11 compilers should all provide log2(), but let's
258           not rely on that just yet as it's easy to provide a fallback
259           implementation.
261 Mon May 11 07:04:06 GMT 2015  Olly Betts <olly@survex.com>
263         * common/getopt.cc,net/tcpserver.cc: Fix clang warnings on OS X.
264           Reported by Germán M. Bravo.
266 Mon May 11 06:29:42 GMT 2015  Olly Betts <olly@survex.com>
268         * api/constinfo.cc,docs/doxygen_api.conf.in,
269           docs/doxygen_source.conf.in,include/xapian/: C++11's noexcept
270           needs to be on definitions as well as declarations, but GCC
271           function attributes must only be on declarations, so split
272           XAPIAN_NOEXCEPT off from XAPIAN_NOTHROW.
274 Sun May 10 13:26:24 GMT 2015  Olly Betts <olly@survex.com>
276         * include/xapian/queryparser.h,queryparser/queryparser_internal.h,
277           tests/api_none.cc: Add support for optional reference counting of
278           FieldProcessor objects.
280 Sun May 10 11:07:36 GMT 2015  Olly Betts <olly@survex.com>
282         * include/xapian/intrusive_ptr.h,include/xapian/queryparser.h,
283           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
284           tests/api_none.cc: Add support for optional reference counting of
285           ValueRangeProcessor objects.
287 Thu May 07 12:42:11 GMT 2015  Olly Betts <olly@survex.com>
289         * bin/xapian-replicate.cc,common/socket_utils.cc,common/socket_utils.h,
290           net/replicatetcpclient.cc,net/replicatetcpclient.h: Set SO_KEEPALIVE
291           for xapian-replicate's connection to the master, and add command
292           line option to allow setting socket-level timeouts (SO_RCVTIMEO and
293           SO_SNDTIMEO) on platforms that support them.  Fixes #546, reported
294           by nkvoll.
296 Thu May 07 12:00:15 GMT 2015  Olly Betts <olly@survex.com>
298         * bin/xapian-replicate.cc: Fix connection timeout to be 10 seconds
299           rather than 10000 seconds which is has been since 1.2.3.
301 Tue May 05 02:38:37 GMT 2015  Olly Betts <olly@survex.com>
303         * net/tcpserver.cc: Use inet_ntop() instead of inet_ntoa() - the
304           latter isn't thread-safe.
306 Tue May 05 02:05:27 GMT 2015  Olly Betts <olly@survex.com>
308         * include/xapian/queryparser.h: Update documentation to reflect that
309           the database passed to QueryParser::set_database() is no longer
310           used to expand wildcards and partial terms.
312 Mon May 04 11:32:40 GMT 2015  Olly Betts <olly@survex.com>
314         * api/postlist.cc,api/postlist.h,common/remoteprotocol.h,matcher/,
315           net/serialise.cc,tests/api_backend.cc: Fix sort by value when
316           multiple databases are in use and one or more are remote.  Fixes
317           #674, reported by Dylan Griffith.
319 Sun May 03 12:41:58 GMT 2015  Olly Betts <olly@survex.com>
321         * docs/deprecation.rst,include/xapian/queryparser.h,
322           queryparser/queryparser.cc,queryparser/queryparser.lemony,
323           queryparser/queryparser_internal.h,tests/queryparsertest.cc:
324           Allow setting the expansion limits and types for wildcards
325           and partial terms in the QueryParser independently.  Partial
326           terms now default to the 100 most frequent matching terms.
327           Deprecate set_max_wildcard_expansion() in favour of new
328           set_max_expansion() method which can set expansion limits
329           for partial terms too.  Completes #608.
331 Sat May 02 09:20:30 GMT 2015  Olly Betts <olly@survex.com>
333         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
334           include/xapian/query.h,queryparser/queryparser.lemony,
335           tests/api_query.cc: Add a choice of ways to apply the limit on
336           wildcard expansion.  Fixes #608, reported by boomboo.
338 Fri May 01 14:53:16 GMT 2015  Olly Betts <olly@survex.com>
340         * tests/api_replicate.cc: Reenable replicate3 for glass, as it no
341           longer fails.
343 Fri May 01 13:38:48 GMT 2015  Olly Betts <olly@survex.com>
345         * common/autoptr.h: Just map AutoPtr to std::unique_ptr now we require
346           C++11.
348 Fri May 01 13:33:28 GMT 2015  Olly Betts <olly@survex.com>
350         * matcher/multimatch.cc,net/progclient.cc: IRIX is dead, so remove
351           lingering traces of support for SGI's compiler.
353 Fri May 01 08:59:13 GMT 2015  Olly Betts <olly@survex.com>
355         * HACKING,INSTALL: STLport was last released in 2008, so (a) it's no
356           longer actively developed and (b) it won't support C++11, so strip
357           out documentation which mentions it.
358         * configure.ac: For Sun's C++ compiler, -std=c++11 enables C++11
359           support, and is incompatible with -library=stlport, so remove code
360           to enable that later option.
362 Fri May 01 01:37:24 GMT 2015  Olly Betts <olly@survex.com>
364         * configure.ac: Tweak comment to match xapian-omega's configure.
366 Fri May 01 01:36:41 GMT 2015  Olly Betts <olly@survex.com>
368         * configure.ac: Set default value for AUTOM4TE before AC_OUTPUT so the
369           default will actually get used.
371 Fri May 01 01:36:05 GMT 2015  Olly Betts <olly@survex.com>
373         * configure.ac: Add explicit AC_CANONICAL_HOST.
375 Fri May 01 01:08:56 GMT 2015  Olly Betts <olly@survex.com>
377         * api/matchspy.cc,tests/api_nodb.cc: Eliminate needless uses of
378           AutoPtr.
380 Fri May 01 00:37:42 GMT 2015  Olly Betts <olly@survex.com>
382         * tests/internaltest.cc: Remove self-assignment check of AutoPtr as
383           that doesn't work under C++11 when AutoPtr is unique_ptr, and add
384           other checks of reassignment which should work for both.
386 Fri May 01 00:37:09 GMT 2015  Olly Betts <olly@survex.com>
388         * tests/api_postingsource.cc: Remove C++11 specific test which doesn't
389           actually work with C++11.
391 Fri May 01 00:33:43 GMT 2015  Olly Betts <olly@survex.com>
393         * tests/harness/backendmanager.cc,
394           tests/harness/backendmanager_remotetcp.cc,
395           tests/harness/testsuite.h,tests/harness/testutils.h: Add spaces
396           between literal strings and macros which expand to literal strings
397           for C++11 compatibility.
399 Thu Apr 30 14:41:59 GMT 2015  Olly Betts <olly@survex.com>
401         * backends/chert/chert_table.cc,backends/glass/glass_table.cc: Remove
402           duplicate includes of "omassert.h".
404 Thu Apr 30 14:41:31 GMT 2015  Olly Betts <olly@survex.com>
406         * backends/glass/glass_freelist.cc: Add missing explicit include of
407           "omassert.h",
409 Thu Apr 30 14:38:06 GMT 2015  Olly Betts <olly@survex.com>
411         * HACKING,backends/chert/chert_table.cc,
412           backends/chert/chert_version.cc,backends/glass/glass_table.cc,
413           common/omassert.h: Remove CompileTimeAssert() and just use
414           C++11's static_assert instead.
416 Thu Apr 30 14:28:10 GMT 2015  Olly Betts <olly@survex.com>
418         * backends/glass/glass_freelist.cc: Drop conditionals for GCC >= 3.4
419           as we now require >= 4.4.
421 Thu Apr 30 14:26:13 GMT 2015  Olly Betts <olly@survex.com>
423         * api/omdatabase.cc,include/xapian/queryparser.h,
424           tests/harness/backendmanager.h: Drop workarounds for ancient Sun
425           C++ compilers, as we now require a recent version for C++11 support.
427 Thu Apr 30 14:22:46 GMT 2015  Olly Betts <olly@survex.com>
429         * INSTALL: IRIX is past EOL so drop information about IRIX make.
431 Thu Apr 30 14:22:10 GMT 2015  Olly Betts <olly@survex.com>
433         * configure.ac: OS X >= 10.4 apparently supports symbol visibility, so
434           update comment.
436 Thu Apr 30 14:21:37 GMT 2015  Olly Betts <olly@survex.com>
438         * common/unordered_map.h: No longer relevant now we require C++11.
440 Thu Apr 30 13:59:16 GMT 2015  Olly Betts <olly@survex.com>
442         * HACKING,INSTALL,configure.ac,xapian-config.in: Require a C++
443           compiler - the minimum required GCC version is now probably GCC 4.4.
445 Thu Apr 30 13:48:54 GMT 2015  Olly Betts <olly@survex.com>
447         * xapian-config.in: Remove superfluous comment left over from code
448           refactoring.
450 Thu Apr 30 13:47:30 GMT 2015  Olly Betts <olly@survex.com>
452         * xapian-config.in: Fix the include directory reported by --swigflags
453           for an installed copy to include the "/xapian-1.3" component for
454           a development version.
456 Thu Apr 30 12:34:14 GMT 2015  Olly Betts <olly@survex.com>
458         * api/omenquire.cc: Fix for C++11 where AutoPtr is unique_ptr.
460 Thu Apr 30 12:20:22 GMT 2015  Olly Betts <olly@survex.com>
462         * api/replication.cc,backends/chert/chert_database.cc,
463           backends/chert/chert_table.cc,backends/chert/chert_version.cc,
464           backends/glass/,backends/remote/remote-database.cc,bin/,
465           examples/copydatabase.cc,examples/quest.cc,
466           examples/xapian-metadata.cc,net/tcpclient.cc,
467           queryparser/queryparser.lemony: Add spaces between literal strings
468           and macros which expand to literal strings for C++11 compatibility.
470 Thu Apr 30 12:17:17 GMT 2015  Olly Betts <olly@survex.com>
472         * bin/xapian-tcpsrv.cc: Use STRINGIZE() to include defaults literally
473           in string for --help.
475 Thu Apr 30 10:48:11 GMT 2015  Olly Betts <olly@survex.com>
477         * HACKING: Update URL.
479 Thu Apr 30 10:47:10 GMT 2015  Olly Betts <olly@survex.com>
481         * m4/ax_cxx_compile_stdcxx_11.m4: Add support for HP's aCC (untested
482           as I no longer have access to this compiler).
484 Thu Apr 30 05:30:13 GMT 2015  Olly Betts <olly@survex.com>
486         * m4/ax_cxx_compile_stdcxx_11.m4: Add macro from autoconf-archive to
487           detect any compiler options needed to enable C++11 support (not yet
488           used).
490 Thu Apr 30 05:14:56 GMT 2015  Olly Betts <olly@survex.com>
492         * common/posixy_wrapper.cc: O_RDONLY, etc are better described as
493           "POSIX" than "ANSI".
495 Thu Apr 30 05:12:33 GMT 2015  Olly Betts <olly@survex.com>
497         * configure.ac,xapian-config.in: Rename ANSI_CXXFLAGS to ISO_CXXFLAGS
498           and talk about ISO C++ in configure messages.
500 Thu Apr 30 05:10:40 GMT 2015  Olly Betts <olly@survex.com>
502         * .gitignore: Adjust for m4 subdirectory to only match files which
503           aren't in git.
505 Thu Apr 30 04:07:05 GMT 2015  Olly Betts <olly@survex.com>
507         * xapian-config.in: Fix typo so cached result of test in
508           is_uninstalled() is actually used on subsequent calls.  Fixes #676,
509           reported (with patch) by Ryan Schmidt.
511 Wed Apr 29 03:00:32 GMT 2015  Olly Betts <olly@survex.com>
513         * backends/chert/chert_database.cc,backends/glass/glass_database.cc:
514           Fix get_changeset_revisions() not to potentially read uninitialised
515           data if a changeset file is truncated.
517 Wed Apr 29 00:09:57 GMT 2015  Olly Betts <olly@survex.com>
519         * backends/chert/chert_databasereplicator.cc: Use return value of
520           get_message_chunk() rather than ignoring it and repeating the check
521           in the caller.
523 Tue Apr 28 22:22:01 GMT 2015  Olly Betts <olly@survex.com>
525         * bin/xapian-progsrv.cc: Fix comment typo.
527 Tue Apr 28 04:51:33 GMT 2015  Olly Betts <olly@survex.com>
529         * backends/chert/chert_cursor.cc,backends/chert/chert_table.cc,
530           backends/glass/glass_cursor.cc,backends/glass/glass_table.cc:
531           Potentially increment the cursor version on cancel() or when the
532           database is reopened, and flag the current cursor version as used
533           when a cursor is rebuilt.  Fixes #675, reported by Germán M. Bravo.
534         * tests/api_backend.cc: Add regression test cursorbug1 based on
535           reproducer supplied by Germán.
537 Thu Apr 23 05:25:48 GMT 2015  Olly Betts <olly@survex.com>
539         * matcher/exactphrasepostlist.cc: When matching an exact phrase, if a
540           term doesn't occur where we want, we can advance "term 0" using
541           skip_to() based on where the term does next occur rather than just
542           calling next() on it.
544 Thu Apr 23 05:03:28 GMT 2015  Olly Betts <olly@survex.com>
546         * matcher/nearpostlist.cc: Be lazier about opening PositionList
547           objects, as that causes a read of all the data for that
548           positionlist.
550 Thu Apr 23 04:11:30 GMT 2015  Olly Betts <olly@survex.com>
552         * matcher/nearpostlist.cc: Make code for scanning window for duplicate
553           positions a little clearer.
555 Wed Apr 22 13:52:55 GMT 2015  Olly Betts <olly@tartarus.org>
557         * matcher/nearpostlist.cc: Fix "/*" within comment.
559 Wed Apr 22 12:53:37 GMT 2015  Olly Betts <olly@survex.com>
561         * matcher/nearpostlist.cc,matcher/nearpostlist.h: Reimplement OP_NEAR
562           check.  The new implementation consistently requires the terms to
563           occur at different positions, and fixes some false negatives.
564         * tests/api_query.cc: Add regression tests as loosenear1.
566 Mon Apr 20 12:53:04 GMT 2015  Olly Betts <olly@survex.com>
568         * matcher/phrasepostlist.cc,matcher/phrasepostlist.h: Reimplement
569           OP_PHRASE check for loose phrases - the existing implementation was
570           buggy, giving both false positives and false negatives in rare
571           cases.  Fixes #653, reported by Jean-Francois Dockes.
572         * tests/api_query.cc: Add regression test loosephrase1.
574 Thu Apr 16 06:51:31 GMT 2015  Olly Betts <olly@survex.com>
576         * common/errno_to_string.cc: Fix to build with Sun's C++ compiler.
578 Thu Apr 16 06:43:40 GMT 2015  Olly Betts <olly@survex.com>
580         * configure.ac: Fix XAPIAN_TEST_CXXFLAGS macro to append to the
581           existing value of the variable, not its name.
583 Wed Apr 15 11:36:40 GMT 2015  Olly Betts <olly@tartarus.org>
585         * tests/api_wrdb.cc: Just #ifdef out the problematic part of the
586           adddoc5 testcase for clang.
588 Wed Apr 15 06:25:13 GMT 2015  Olly Betts <olly@survex.com>
590         * common/serialise-double.cc: Fix bug in recent fix.
591         * tests/unittest.cc: Extend serialise_double() to provide regression
592           test.
594 Thu Apr 09 00:40:24 GMT 2015  Olly Betts <olly@survex.com>
596         * net/remoteconnection.h: Avoid compiler warning from clang in new
597           getaddrinfo() code.
599 Wed Apr 08 11:59:00 GMT 2015  Olly Betts <olly@survex.com>
601         * common/serialise-double.cc: Add missing cast to unsigned char when
602           we check if the value will fit in the double type.  On machines with
603           IEEE-754 doubles (which is most current platforms), which change
604           makes no difference as we're checking if the value cast to a double
605           is > 255.<something> which is never the case.
607 Wed Apr 08 10:42:43 GMT 2015  Olly Betts <olly@survex.com>
609         * common/serialise-double.cc: Avoid reading one byte past the end of
610           the serialised value.  In practice this was harmless on most
611           platforms, as dbl_max_mantissa is 255 for IEEE-754 format doubles,
612           and at least GCC's std::string keeps the buffer nul-terminated.
613           Reported by Germán M. Bravo in github PR#67.
614         * tests/unittest.cc: Copy the serialised value to a temporary buffer
615           before calling unserialise_double() so that valgrind can detect if
616           we read one byte past the end.
618 Tue Apr 07 23:02:21 GMT 2015  Olly Betts <olly@survex.com>
620         * backends/chert/: Fix problems with get_unique_terms() on a modified
621           chert database.
622         * tests/: Add more test coverage for get_unique_terms().
624 Mon Apr 06 00:22:22 GMT 2015  Olly Betts <olly@survex.com>
626         * tests/harness/backendmanager_multi.cc,
627           tests/harness/backendmanager_remote.cc: Cleaner code for checking
628           the backend subtype.
630 Mon Mar 30 03:22:29 GMT 2015  Olly Betts <olly@survex.com>
632         * backends/flint_lock.cc: If available, use F_DUPFD to dup to a file
633           descriptor which is >= 2.
635 Mon Mar 30 01:16:06 GMT 2015  Olly Betts <olly@survex.com>
637         * api/error.cc,common/safenetdb.h,configure.ac,generate-exceptions,
638           net/remoteconnection.h,net/tcpclient.cc,net/tcpserver.cc: Use
639           getaddrinfo() instead of gethostbyname(), as a step towards
640           IPv6 support (currently we still only look for IPv4 addresses).
641           See #374.
643 Sun Mar 29 03:56:12 GMT 2015  Olly Betts <olly@survex.com>
645         * Makefile.am,docs/Makefile.am: Add missing quoting.
647 Mon Mar 23 06:33:39 GMT 2015  Olly Betts <olly@survex.com>
649         * backends/chert/chert_table.cc,backends/glass/glass_table.cc,
650           common/io_utils.cc,common/io_utils.h,tests/api_backend.cc:
651           Avoid using fds < 3 for writable database tables, as it risks
652           corruption is some code in the same process tries to write to stdout
653           or stderr without realising it is closed.  (Partly addresses #651)
655 Sat Mar 21 22:11:53 GMT 2015  Olly Betts <olly@survex.com>
657         * backends/glass/glass_cursor.cc: Add comment warning that B can't be
658           used in GlassCursor's destructor.
660 Tue Mar 17 03:51:00 GMT 2015  Olly Betts <olly@survex.com>
662         * matcher/exactphrasepostlist.cc: Fixed reversed conditonal for
663           picking the shorter position list for an exact phrase of two terms.
664           The difference this fix makes isn't dramatic, but can be measured
665           (at least with cachegrind).  Thanks to kbwt for spotting this.
667 Fri Mar 13 11:21:37 GMT 2015  Olly Betts <olly@survex.com>
669         * backends/chert/chert_compact.cc: Make sure we open all the tables of
670           a database at the same revision when compacting.  (Fixes #649)
672 Thu Mar 12 04:09:07 GMT 2015  Olly Betts <olly@survex.com>
674         * examples/xapian-metadata.cc: Add 'list' subcommand to list all the
675           metadata keys.
677 Mon Mar 09 03:08:14 GMT 2015  Olly Betts <olly@survex.com>
679         * include/xapian/constants.h,include/xapian/queryparser.h: Doxygen
680           comment wording tweaks.
682 Mon Mar 09 03:07:36 GMT 2015  Olly Betts <olly@survex.com>
684         * include/xapian/constants.h,include/xapian/queryparser.h,
685           include/xapian/weight.h: Doxygen comment formatting tweaks.
687 Sat Mar 07 11:27:23 GMT 2015  Olly Betts <olly@tartarus.org>
689         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Extend the
690           set of characters allowed in the start of a range to be anything
691           except for '(' and characters <= ' '.  This better matches what's
692           accepted for a range end (anything except for ')' and characters <=
693           ' ').  Reported by Jani Nikula.
695 Thu Mar 05 11:13:56 GMT 2015  Olly Betts <olly@survex.com>
697         * backends/dbcheck.cc: When checking a single table, handle the
698           ".glass" extension on glass database tables, and use the extension
699           to guide the decision of which backend the table is from.
701 Thu Mar 05 04:38:21 GMT 2015  Olly Betts <olly@survex.com>
703         * backends/dbcheck.cc: Don't hard-code string length as number.
705 Mon Feb 23 04:48:24 GMT 2015  Olly Betts <olly@survex.com>
707         * api/emptypostlist.cc,api/emptypostlist.h: Fix handling of
708           OP_WILDCARD which expands to no terms when used under OP_SYNONYM.
709         * tests/api_query.cc: Regression test dualprefixwildcard1.
711 Mon Feb 23 04:26:52 GMT 2015  Olly Betts <olly@survex.com>
713         * tests/harness/testsuite.cc: Fix compilation issue with previous
714           change.
716 Thu Feb 19 08:04:17 GMT 2015  Olly Betts <olly@survex.com>
718         * tests/api_anydb.cc,tests/api_nodb.cc,tests/harness/testrunner.cc,
719           tests/harness/testsuite.cc,tests/stemtest.cc: Use std::string's
720           assign() or construct from substring rather than assigning or
721           initialising with the result of calling substr().
723 Tue Feb 17 18:31:25 GMT 2015  Olly Betts <olly@survex.com>
725         * include/Makefile.mk: Ship new file from previous commit.
727 Tue Feb 17 05:14:02 GMT 2015  Olly Betts <olly@survex.com>
729         * api/Makefile.mk,api/constinfo.cc,api/version.cc,include/xapian.h,
730           include/xapian/constinfo.h,include/xapian/stem.h,languages/stem.cc:
731           Put the list of stemmers into the vinfo struct and renamed it to
732           const_info.
734 Mon Feb 16 10:18:51 GMT 2015  Olly Betts <olly@survex.com>
736         * configure.ac,languages/: Merge generate-allsnowballheaders script
737           into collate-sbl.
739 Mon Feb 16 04:15:46 GMT 2015  Olly Betts <olly@survex.com>
741         * backends/chert/chert_check.cc: Fix xapian-check on a single table.
743 Fri Feb 13 10:18:45 GMT 2015  Olly Betts <olly@survex.com>
745         * generate-exceptions: Note that the change to not negate
746           WSAGetLastError() values internally was backported for 1.2.20.
748 Fri Feb 13 05:57:13 GMT 2015  Olly Betts <olly@survex.com>
750         * api/,common/remoteprotocol.h,exception_data.pm,
751           include/xapian/query.h,include/xapian/queryparser.h,matcher/,
752           queryparser/queryparser.lemony,tests/api_qpbackend.cc,
753           tests/queryparsertest.cc,weight/weightinternal.cc,
754           weight/weightinternal.h: Add new OP_WILDCARD query operator, which
755           expands wildcards lazily, so now we create the PostList tree for a
756           wildcard directly, rather than creating an intermediate Query tree.
757           See ticket#48.
759 Wed Feb 11 22:45:26 GMT 2015  Olly Betts <olly@survex.com>
761         * backends/glass/glass_table.cc: mid_point() should never fail to find
762           a split point, but just in case it does, return a usable answer.
764 Wed Feb 11 22:44:35 GMT 2015  Olly Betts <olly@survex.com>
766         * backends/chert/chert_table.cc: mid_point() should never fail to find
767           a split point, but just in case it does, return a usable answer.
769 Mon Feb 09 02:56:54 GMT 2015  Olly Betts <olly@survex.com>
771         * api/queryinternal.cc,matcher/localsubmatch.cc,
772           matcher/localsubmatch.h,matcher/queryoptimiser.h,tests/api_query.cc:
773           Don't convert an unweighted term which indexes all docs to an all
774           docs postlist if we need positional data for it.
776 Sun Jan 25 23:48:34 GMT 2015  Olly Betts <olly@survex.com>
778         * configure.ac: Check for declaration of fdatasync() first, as OS X
779           has a dummy implementation in the library which is not prototyped in
780           any header.  Reported by Vlad Shablinsky.
782 Fri Jan 09 05:19:20 GMT 2015  Olly Betts <olly@survex.com>
784         * backends/glass/glass_freelist.cc: Fix freelist handling to allow for
785           the newly loaded first block of the freelist being already used up.
787 Fri Jan 09 04:38:03 GMT 2015  Olly Betts <olly@survex.com>
789         * common/debuglog.cc: Add '#include "errno_to_string.h"'.
791 Thu Jan 08 05:59:01 GMT 2015  Olly Betts <olly@survex.com>
793         * backends/glass/glass_compact.cc: Fix compaction of position tables
794           for the change in key format.
796 Tue Jan 06 02:22:37 GMT 2015  Olly Betts <olly@survex.com>
798         * HACKING: Now using automake 1.15 and libtool 2.4.4.
800 Mon Jan 05 08:39:47 GMT 2015  Olly Betts <olly@survex.com>
802         * Makefile.am: Remove the generated .pc file on "make distclean".
804 Mon Jan 05 04:43:35 GMT 2015  Olly Betts <olly@survex.com>
806         * backends/glass/glass_table.cc: In enter_key(), we know the insertion
807           point will be the position after the current cursor position, so
808           there's no need to call find_in_block() to locate it.
810 Mon Jan 05 04:42:17 GMT 2015  Olly Betts <olly@survex.com>
812         * backends/glass/glass_table.cc: More assertions that c is valid.
814 Mon Jan 05 01:52:54 GMT 2015  Olly Betts <olly@survex.com>
816         * backends/chert/chert_dbcheck.cc,backends/glass/glass_dbcheck.cc:
817           Cross-check the position and postlist tables and report positional
818           data for non-existent documents.
820 Mon Jan 05 01:28:28 GMT 2015  Olly Betts <olly@survex.com>
822         * backends/glass/glass_dbcheck.cc: Fix decoding of positionlist keys -
823           this hadn't been updated for the key format change.
825 Mon Jan 05 01:25:17 GMT 2015  Olly Betts <olly@survex.com>
827         * backends/glass/glass_check.cc: Check that dir_end is odd.
829 Tue Dec 23 21:26:49 GMT 2014  Olly Betts <olly@survex.com>
831         * backends/chert/chert_table.cc: More assertions about c.
833 Tue Dec 23 04:26:38 GMT 2014  Olly Betts <olly@survex.com>
835         * backends/chert/chert_table.cc: Fix assertion to allow for c being
836           DIR_START - D2 in leaf blocks.
838 Tue Dec 23 04:01:54 GMT 2014  Olly Betts <olly@survex.com>
840         * backends/chert/chert_table.cc: Add more assertions that c has
841           suitable values.
843 Tue Dec 23 03:58:00 GMT 2014  Olly Betts <olly@survex.com>
845         * backends/chert/chert_table.cc: In enter_key(), we know the insertion
846           point will be the position after the current cursor position, so
847           there's no need to call find_in_block() to locate it.
849 Tue Dec 23 03:11:12 GMT 2014  Olly Betts <olly@survex.com>
851         * backends/chert/chert_check.cc: Add check that dir_end is odd.
853 Mon Dec 22 23:28:54 GMT 2014  Olly Betts <olly@survex.com>
855         * backends/chert/chert_table.cc: Document situations in which the
856           cursor can be left pointing before DIR_START.
858 Mon Dec 22 03:39:14 GMT 2014  Olly Betts <olly@survex.com>
860         * backends/glass/glass_freelist.cc: Add more freelist assertions.
862 Mon Dec 22 03:15:50 GMT 2014  Olly Betts <olly@survex.com>
864         * backends/glass/glass_freelist.cc: Allow restricting the number of
865           freelist entries per block by setting GLASS_FREELIST_SIZE.
867 Sun Dec 21 20:55:47 GMT 2014  Olly Betts <olly@survex.com>
869         * include/xapian/weight.h: Document the enum stat_flags values.
871 Sun Dec 21 20:51:47 GMT 2014  Olly Betts <olly@survex.com>
873         * include/xapian/weight.h: Fix indentation.
875 Sat Dec 20 10:40:44 GMT 2014  Sébastien Debrard <sebastien.debrard@gmail.com>
877         * Makefile.am,configure.ac,pkgconfig/,xapian-core.spec.in: Generate a
878           file for pkg-config.  (Fixes#540)
880 Fri Dec 19 22:30:39 GMT 2014  Olly Betts <olly@survex.com>
882         * common/errno_to_string.cc: Need stdlib.h under mingw.
884 Fri Dec 19 04:38:56 GMT 2014  Olly Betts <olly@survex.com>
886         * backends/glass/glass_check.cc: Distinguish between a block in use
887           and in the freelist, and a block in the freelist more than once.
889 Fri Dec 19 04:37:14 GMT 2014  Olly Betts <olly@survex.com>
891         * backends/glass/glass_freelist.cc,backends/glass/glass_freelist.h:
892           Avoid any mutual recursion between GlassFreeList::get_block() and
893           GlassFreeList::mark_block_unused().
895 Thu Dec 18 10:28:17 GMT 2014  Olly Betts <olly@survex.com>
897         * common/safesyssocket.h: Include safeerrno.h when we use errno.
899 Thu Dec 18 06:17:18 GMT 2014  Olly Betts <olly@survex.com>
901         * net/tcpclient.cc: Use POSIX O_NONBLOCK in preference to O_NDELAY
902           which has different semantics on BSD and System V.
904 Wed Dec 17 02:59:54 GMT 2014  Olly Betts <olly@survex.com>
906         * configure.ac: Drop probe for gethostbyaddr() - we've not used it for
907           over 8.5 years (since e33972a5).
909 Wed Dec 17 02:33:36 GMT 2014  Olly Betts <olly@survex.com>
911         * common/internaltypes.h: Take CHAR_BIT into account when choosing
912           types for uint2, uint4 and uint8.
914 Wed Dec 17 02:30:14 GMT 2014  Olly Betts <olly@survex.com>
916         * api/error.cc,backends/chert/chert_btreebase.cc,
917           backends/chert/chert_table.cc,backends/flint_lock.cc,
918           backends/glass/glass_table.cc,common/,configure.ac,
919           net/remoteconnection.cc: Add errno_to_string() function which is
920           thread-safe where a suitable alternative to strerror() exists.
922 Tue Dec 16 06:54:32 GMT 2014  Olly Betts <olly@survex.com>
924         * configure.ac: Add missing m4 quoting.  Generated configure file is
925           unchanged.
927 Tue Dec 16 06:28:21 GMT 2014  Olly Betts <olly@survex.com>
929         * configure.ac: Don't check for strerror - it's specified by C89, and
930           we weren't using the result of the check anyway.
932 Tue Dec 16 03:59:39 UTC 2014  Sébastien Debrard <sebastien.debrard@gmail.com>
934         * api/omenquire.cc,backends/multi/multi_postlist.cc,
935           tests/api_anydb.cc,tests/api_db.cc: Prefer ++x to x++.
937 Tue Dec 16 03:50:41 GMT 2014  Olly Betts <olly@survex.com>
939         * configure.ac: Define MINGW_HAS_SECURE_API under mingw to get
940           _putenv_s() declared in stdlib.h.
942 Sun Dec 14 09:42:01 GMT 2014  Olly Betts <olly@survex.com>
944         * api/omdatabase.cc,include/xapian/database.h: Make overloaded forms of
945           Database::allterms_begin() and Database::allterms_end() use default
946           parameters instead.
948 Sat Dec 13 02:48:10 GMT 2014  Olly Betts <olly@survex.com>
950         * api/error.cc,generate-exceptions,net/remoteconnection.h: On
951           Windows, avoid defining EADDRINUSE, etc if they're already defined,
952           and use WSAE* constants un-negated, as they start from a high value
953           so won't collide with E* constants.
955 Fri Dec 12 03:41:02 GMT 2014  Olly Betts <olly@survex.com>
957         * backends/glass/glass_freelist.cc: Avoid infinite recursion when we
958           hit the end of the freelist block we're reading and the end of the
959           block we're writing at the same time.
961 Thu Dec 11 20:45:28 GMT 2014  Olly Betts <olly@survex.com>
963         * backends/glass/glass_version.cc: Use str() rather than sprintf().
965 Thu Dec 11 03:21:46 GMT 2014  Olly Betts <olly@survex.com>
967         * net/tcpserver.cc: Fix comment.
969 Thu Dec 11 03:20:56 GMT 2014  Olly Betts <olly@survex.com>
971         * api/compactor.cc,api/error.cc,api/replication.cc,
972           backends/chert/chert_databasereplicator.cc,
973           backends/chert/chert_table.cc,
974           backends/glass/glass_databasereplicator.cc,
975           backends/glass/glass_table.cc: Remove unnecessary includes of
976           <cstdio> in files which used to need it for rename() but no longer
977           do.
979 Fri Dec 05 11:30:05 GMT 2014  Olly Betts <olly@survex.com>
981         * ChangeLog,ChangeLog.0,ChangeLog.examples,
982           backends/chert/chert_btreebase.cc,backends/chert/chert_database.h,
983           languages/compiler/driver.c,languages/turkish.sbl: Fix typos reported
984           by Veres Lajos.
986 Thu Dec 04 02:17:46 GMT 2014  Olly Betts <olly@survex.com>
988         * configure.ac: Fix detection of fdatasync(), which appears to have
989           been broken practically forever - this means we've probably been
990           using fsync() instead, which probably isn't a big additional
991           overhead.
993 Wed Dec 03 09:38:24 GMT 2014  Olly Betts <olly@survex.com>
995         * docs/Makefile.am: Quote png filenames we run through pngcrush to
996           avoid problems if there's an oddly-named extra PNG file in the
997           directory.
999 Tue Dec 02 02:58:59 GMT 2014  Olly Betts <olly@survex.com>
1001         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
1002           backends/chert/chert_databasereplicator.cc,backends/,
1003           backends/glass/glass_compact.cc,backends/glass/glass_database.cc,
1004           backends/glass/glass_databasereplicator.cc,
1005           backends/remote/remote-database.cc,backends/remote/remote-database.h,
1006           include/xapian/constants.h,include/xapian/database.h,
1007           include/xapian/dbfactory.h,net/,tests/api_backend.cc: Add new flag
1008           Xapian::DB_RETRY_LOCK which allows opening a database for writing
1009           to wait until it can get a write lock.  (fixes#275)
1011 Tue Dec 02 02:55:33 GMT 2014  Olly Betts <olly@survex.com>
1013         * backends/glass/glass_database.h: Document parameter to internal
1014           method
1016 Sun Nov 30 15:55:20 GMT 2014  James Aylett <james@tartarus.org>
1018         * HACKING: improve OS X docs build information.
1020 Thu Nov 27 04:00:38 GMT 2014  Olly Betts <olly@survex.com>
1022         * backends/dbcheck.cc,backends/flint_lock.cc,backends/flint_lock.h,
1023           examples/copydatabase.cc,tests/api_backend.cc: Drop support code for
1024           building on OS/2 with EMX - EMX was last updated in 2001 and comes
1025           with GCC 3.2.1, which pre-dates C++11 and we're going to require
1026           a compiler with good C++11 support in the near future.
1028 Thu Nov 27 03:15:51 GMT 2014  Olly Betts <olly@survex.com>
1030         * HACKING: Rename svn-ci to xapian-commit (see #621).
1032 Thu Nov 27 03:05:18 GMT 2014  Olly Betts <olly@survex.com>
1034         * backends/flint_lock.cc: Use F_OFD_SETLK where available, which
1035           avoids having to fork() a child process to hold the lock.  This
1036           currently requires Linux kernel >= 3.15, but it has been submitted
1037           to POSIX so hopefully will be widely supported eventually.  Thanks
1038           to Austin Clements for pointing out this now exists.
1040 Wed Nov 26 04:03:45 GMT 2014  Olly Betts <olly@survex.com>
1042         * include/xapian/geospatial.h: Drop documentation of parameter which
1043           the method doesn't actually take.
1045 Wed Nov 26 04:03:24 GMT 2014  Olly Betts <olly@survex.com>
1047         * include/xapian/enquire.h: Fix incorrect parameter name in doxygen
1048           comment.
1050 Wed Nov 26 03:29:28 GMT 2014  Olly Betts <olly@survex.com>
1052         * docs/doxygen_source.conf.in: @MAKEINDEX@ isn't substituted, so just
1053           use literal 'makeindex'.
1055 Wed Nov 26 03:28:32 GMT 2014  Olly Betts <olly@survex.com>
1057         * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Update to
1058           avoid warnings about obsolete tags from newer doxygen.
1060 Tue Nov 25 21:13:51 GMT 2014  Olly Betts <olly@survex.com>
1062         * configure.ac: Update link to cygwin FAQ.
1064 Tue Nov 25 01:55:17 GMT 2014  Olly Betts <olly@survex.com>
1066         * HACKING: Update details of building Xapian packages.
1068 Tue Nov 25 01:48:44 GMT 2014  Olly Betts <olly@survex.com>
1070         * HACKING: Update for SVN to git migration.
1072 Mon Nov 24 19:50:32 GMT 2014  Olly Betts <olly@survex.com>
1074         * NEWS,configure.ac: Update for 1.3.2.
1076 Mon Nov 24 03:59:02 GMT 2014  Olly Betts <olly@survex.com>
1078         * languages/Makefile.mk: Add missing '\' at end of line in previous
1079           commit.
1081 Mon Nov 24 03:14:22 GMT 2014  Olly Betts <olly@survex.com>
1083         * languages/: Install the stopword lists as
1084           ${pkgdatadir}/stopwords/LANG.list.
1086 Sun Nov 23 23:56:02 GMT 2014  Olly Betts <olly@survex.com>
1088         * HACKING,INSTALL,NEWS,NEWS.SKELETON,api/compactor.cc,
1089           api/replication.cc,backends/Makefile.mk,backends/brass/,
1090           backends/databasereplicator.cc,backends/dbcheck.cc,
1091           backends/dbfactory.cc,backends/glass/,bin/Makefile.mk,
1092           common/Makefile.mk,common/pack.h,common/pretty.h,configure.ac,docs/,
1093           include/xapian/,net/replication_protocol.rst,tests/,tests/harness/:
1094           Rename 'brass' backend to 'glass'.
1096 Sun Nov 23 22:23:00 GMT 2014  Olly Betts <olly@survex.com>
1098         * backends/brass/brass_freelist.cc,backends/brass/brass_freelist.h:
1099           Set the revision in BrassFreeList::write_block().
1101 Thu Nov 20 21:36:35 GMT 2014  Olly Betts <olly@survex.com>
1103         * backends/brass/brass_freelist.h: Reset flw_appending when we unpack
1104           a freelist.
1106 Thu Nov 20 21:36:15 GMT 2014  Olly Betts <olly@survex.com>
1108         * backends/brass/brass_freelist.cc: Fix comment typo.
1110 Thu Nov 20 03:53:32 GMT 2014  Olly Betts <olly@survex.com>
1112         * backends/brass/brass_freelist.cc: Fix end-of-block condition when
1113           walking the freelist during database consistency checking.
1115 Thu Nov 20 02:32:37 GMT 2014  Olly Betts <olly@survex.com>
1117         * backends/brass/brass_freelist.cc: Wrap comment line.
1119 Thu Nov 20 02:31:54 GMT 2014  Olly Betts <olly@survex.com>
1121         * matcher/exactphrasepostlist.cc: Straighten out confusing comments.
1123 Sun Nov 16 23:49:38 GMT 2014  Olly Betts <olly@survex.com>
1125         * NEWS: Update.
1127 Thu Nov 13 20:35:25 GMT 2014  Olly Betts <olly@survex.com>
1129         * backends/brass/brass_freelist.cc: Wrap comment line.
1131 Tue Nov 11 22:17:48 GMT 2014  Olly Betts <olly@survex.com>
1133         * api/queryinternal.cc,api/queryinternal.h: Move all the get_op()
1134           definitions out of the header as they're virtual and there's not
1135           much scope for devirtualisation.
1137 Tue Nov 11 02:58:05 GMT 2014  Olly Betts <olly@survex.com>
1139         * exception_data.pm: Just have one copy of the licence boilerplate.
1141 Sun Nov 09 22:38:04 GMT 2014  Olly Betts <olly@survex.com>
1143         * NEWS: Update.
1145 Fri Nov 07 00:49:22 GMT 2014  Olly Betts <olly@survex.com>
1147         * queryparser/lemon.c: Sync change from upstream: "Modify the
1148           %nonassoc directive in lemon so that it generates a run-time error
1149           rather than a parsing conflict. This changes is due to a bug report
1150           on the mailing list. SQLite does not use the %nonassoc directive in
1151           its grammar so this change does not affect SQLite."  Generated code
1152           is identical.
1154 Fri Nov 07 00:44:57 GMT 2014  Olly Betts <olly@survex.com>
1156         * queryparser/lemon.c: Sync change from upstream: "Fix harmless
1157           compiler warning in LEMON."  Generated code is identical.
1159 Fri Nov 07 00:39:44 GMT 2014  Olly Betts <olly@survex.com>
1161         * queryparser/lemon.c: Sync change from upstream: "In LEMON, limit the
1162           size of the grammar file to 100MB. This ensures that the program
1163           will never experience integer overflow. To be doubly sure, use
1164           calloc() instead of malloc() when allocating arrays." Generated code
1165           is identical.
1167 Fri Nov 07 00:34:26 GMT 2014  Olly Betts <olly@survex.com>
1169         * queryparser/lemon.c: Sync change from upstream: "Add the
1170           "%token_class" directive to the LEMON parser generator. This opens
1171           up the possibility of simplifying the parser. Also remove all calls
1172           to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler
1173           warnings on OpenBSD. (Aside: It is this change to avoid harmless
1174           compiler warnings that was the cause of the reason spat of bugs.)"
1175           Generated code is identical aside from whitespace changes in
1176           queryparser_token.h.
1178 Fri Nov 07 00:17:18 GMT 2014  Olly Betts <olly@survex.com>
1180         * queryparser/lemon.c: Sync change from upstream: "In Lemon, when
1181           comparing the output to the *.h file to see if it has changed, make
1182           sure that the proposed new output and the preexisting output are the
1183           same size before deciding that they are the same".  Generated code
1184           is identical, but this will fix misbehaviour in a build from a
1185           non-clean tree if new tokens get appended to queryparser_token.h.
1187 Thu Nov 06 22:23:27 GMT 2014  Olly Betts <olly@survex.com>
1189         * HACKING: Now using doxygen 1.8.8.
1191 Thu Nov 06 04:18:32 GMT 2014  Olly Betts <olly@survex.com>
1193         * HACKING: Now using libtool 2.4.3.
1195 Wed Nov 05 21:38:45 GMT 2014  Olly Betts <olly@survex.com>
1197         * backends/chert/chert_check.cc: Handle DBCHECK_FIX for a zero sized
1198           .DB file.
1200 Wed Nov 05 21:02:21 GMT 2014  Olly Betts <olly@survex.com>
1202         * backends/chert/chert_check.cc: After we successfully regenerate
1203           baseA, remove any empty baseB file to prevent it causing problems.
1204           Tracked down with help from Phil Hands.
1206 Wed Nov 05 20:58:27 GMT 2014  Olly Betts <olly@survex.com>
1208         * backends/chert/chert_check.cc: Fix DBCHECK_FIX to be able to find a
1209           level 0 root block (happens when a table has sufficiently little
1210           data in that it all fits in one block).
1212 Sun Nov 02 21:14:43 GMT 2014  Olly Betts <olly@survex.com>
1214         * docs/deprecation.rst: Fix typo.
1216 Tue Oct 28 23:35:10 GMT 2014  Olly Betts <olly@survex.com>
1218         * docs/replication.rst: Fix typo.
1220 Tue Oct 28 02:34:54 GMT 2014  Olly Betts <olly@survex.com>
1222         * docs/postingsource.rst: Use a modern class in postingsource example.
1223           (Noted by James Aylett)
1225 Mon Oct 27 21:06:55 GMT 2014  Olly Betts <olly@survex.com>
1227         * docs/,net/Makefile.mk,net/remote_protocol.rst,
1228           net/replication_protocol.rst: Move the protocol docs for the remote
1229           and replication protocols into the net/ subdirectory.
1231 Mon Oct 27 19:19:59 GMT 2014  Olly Betts <olly@survex.com>
1233         * Makefile.am,api/Makefile.mk,api/dir_contents,backends/Makefile.mk,
1234           backends/brass/Makefile.mk,backends/brass/dir_contents,
1235           backends/chert/Makefile.mk,backends/chert/dir_contents,
1236           backends/dir_contents,backends/inmemory/Makefile.mk,
1237           backends/inmemory/dir_contents,backends/multi/Makefile.mk,
1238           backends/multi/dir_contents,backends/remote/Makefile.mk,
1239           backends/remote/dir_contents,bin/Makefile.mk,bin/dir_contents,
1240           common/Makefile.mk,common/dir_contents,configure.ac,dir_contents,
1241           docs/,examples/Makefile.mk,examples/dir_contents,expand/Makefile.mk,
1242           expand/dir_contents,geospatial/Makefile.mk,geospatial/dir_contents,
1243           include/Makefile.mk,include/dir_contents,include/xapian/dir_contents,
1244           languages/Makefile.mk,languages/dir_contents,m4-macros/dir_contents,
1245           m4/dir_contents,matcher/Makefile.mk,matcher/dir_contents,
1246           net/Makefile.mk,net/dir_contents,preautoreconf,
1247           queryparser/Makefile.mk,queryparser/dir_contents,tests/Makefile.am,
1248           tests/dir_contents,tests/harness/Makefile.mk,
1249           tests/harness/dir_contents,tests/perftest/Makefile.mk,
1250           tests/perftest/dir_contents,tests/soaktest/Makefile.mk,
1251           tests/soaktest/dir_contents,unicode/Makefile.mk,unicode/dir_contents,
1252           weight/Makefile.mk,weight/dir_contents: Remove the dir_contents files
1253           and all the machinery to handle them.
1255 Sat Oct 25 19:25:06 GMT 2014  Olly Betts <olly@survex.com>
1257         * api/query.cc,api/queryinternal.cc,api/smallvector.h,
1258           include/xapian/query.h: Stop using a reference where we may end up
1259           passing *NULL, as that's invalid.  Thanks Nick Lewycky and ubsan
1260           for helping track this down.
1261         * tests/api_postingsource.cc: Fix testsuite to avoid passing literal
1262           NULL - pass nullptr for C++11 and don't bother with that part of
1263           the testcase for older C++.
1265 Sat Oct 25 19:05:07 GMT 2014  Olly Betts <olly@survex.com>
1267         * weight/dlhweight.cc,weight/dphweight.cc: Avoid dividing by zero when
1268           the collection size is 0.
1270 Fri Oct 24 23:04:24 GMT 2014  Gaurav Arora <gauravarora.daiict@gmail.com>
1272         * api/registry.cc,include/xapian/weight.h,tests/api_backend.cc,
1273           tests/api_nodb.cc,tests/api_weight.cc,weight/Makefile.mk,
1274           weight/lmweight.cc: Add Unigram LMWeight class.
1276 Tue Oct 21 19:19:32 GMT 2014  Olly Betts <olly@survex.com>
1278         * NEWS: Update for 1.2.19 release.
1280 Mon Oct 20 00:47:32 GMT 2014  Olly Betts <olly@survex.com>
1282         * .gitignore,docs/.gitignore,tests/.gitignore,unicode/.gitignore:
1283           Update to ignore new generated files.
1285 Sat Oct 18 06:15:52 GMT 2014  Olly Betts <olly@survex.com>
1287         * include/xapian/enquire.h: Don't provide a default expansion scheme
1288           name in Enquire::set_expansion_scheme().
1290 Fri Oct 17 00:33:55 GMT 2014  Olly Betts <olly@survex.com>
1292         * api/queryinternal.cc,matcher/: Split NearPostList out into separate
1293           source file and header.
1295 Wed Oct 15 04:33:31 GMT 2014  Olly Betts <olly@survex.com>
1297         * api/queryinternal.cc,matcher/exactphrasepostlist.cc: We never try to
1298           build an ExactPhrasePostList over 0 or 1 terms, so simply assert we
1299           don't, rather than having an explicit check for it in the code.
1301 Tue Oct 14 02:47:02 GMT 2014  Olly Betts <olly@survex.com>
1303         * matcher/phrasepostlist.cc,tests/api_backend.cc: If the anchor term
1304           for a phrase is the first or last, set the min or max to its
1305           position respectively.  Fixes the testcase in #657, but may not be
1306           a complete fix.
1308 Sun Oct 12 12:03:10 GMT 2014  Olly Betts <olly@survex.com>
1310         * NEWS: Update.
1312 Fri Oct 10 10:53:38 GMT 2014  Olly Betts <olly@survex.com>
1314         * backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc: The
1315           table is sync-ed after the base file, so it's the last table we want
1316           to full-sync, not the last base file.
1318 Thu Oct 09 02:39:00 GMT 2014  Olly Betts <olly@survex.com>
1320         * common/debuglog.h: Suppress unused typedef warnings from debugging
1321           logging macros, which occur in functions which always exit via
1322           throwing an exception.
1324 Thu Oct 09 01:45:00 GMT 2014  Olly Betts <olly@survex.com>
1326         * tests/harness/fdtracker.cc: Fix code typo in recent change to skip
1327           apparent leaks of /dev/urandom.
1329 Thu Oct 09 01:43:02 GMT 2014  Olly Betts <olly@survex.com>
1331         * common/pretty.h: Fix debug logging code to compile with clang.
1332           (fixes #657, reported by Germán M. Bravo)
1334 Wed Oct 08 04:43:05 GMT 2014  Olly Betts <olly@survex.com>
1336         * matcher/multimatch.cc: If an empty RSet is specified, just handle it
1337           as if no RSet were specified.
1339 Mon Oct 06 21:41:58 GMT 2014  Olly Betts <olly@survex.com>
1341         * tests/Makefile.am: Remove .replicatmp upon "make clean".
1343 Fri Sep 19 05:31:15 GMT 2014  Olly Betts <olly@survex.com>
1345         * include/xapian/enquire.h: Fix compilation with clang.  Reported by
1346           Germán M. Bravo.
1348 Fri Sep 12 17:54:34 GMT 2014  Olly Betts <olly@survex.com>
1350         * docs/overview.rst: Add missing database path to example of using
1351           xapian-progsrv in a stub database file.
1353 Thu Sep 11 21:33:49 GMT 2014  Olly Betts <olly@survex.com>
1355         * include/Makefile.mk,include/xapian/enquire.h,
1356           include/xapian/iterator.h: Add simple API to help with creating
1357           language-idiomatic iterator wrappers.
1359 Wed Sep 10 17:02:18 GMT 2014  Olly Betts <olly@survex.com>
1361         * api/queryinternal.cc: If we hit an unknown query serialisation,
1362           report the numeric code for it in the exception thrown.
1364 Wed Sep 10 16:59:20 GMT 2014  Olly Betts <olly@survex.com>
1366         * tests/queryparsertest.cc: Enable some disabled cases which actually
1367           work (in some cases with slightly tweaked expected answers which are
1368           equivalent to those that were shown).
1370 Fri Sep 05 17:41:53 GMT 2014  Olly Betts <olly@survex.com>
1372         * tests/harness/fdtracker.cc: Don't report apparent leaks of fds
1373           opened on /dev/urandom - at least on Linux, something in the C
1374           library seems to lazily open it, and the report of a possible leak
1375           followed by assurance that it's OK really is just noise we could
1376           do without.
1378 Fri Sep 05 14:06:08 GMT 2014  Olly Betts <olly@survex.com>
1380         * common/pretty.h: Add new brass-related types.
1382 Thu Sep 04 20:51:16 GMT 2014  Olly Betts <olly@survex.com>
1384         * backends/dbfactory.cc: Fix incorrect return type in logging
1385           annotations for InMemory::open().
1387 Thu Sep 04 20:48:37 GMT 2014  Olly Betts <olly@survex.com>
1389         * backends/brass/brass_database.cc,backends/chert/chert_database.cc:
1390           Fix logging annotations for get_freqs() to reflect that it now has
1391           void return type.
1393 Thu Sep 04 20:21:32 GMT 2014  Olly Betts <olly@survex.com>
1395         * api/,backends/brass/,backends/chert/,backends/dbfactory_remote.cc,
1396           matcher/mergepostlist.cc,matcher/remotesubmatch.cc,
1397           net/progclient.cc: Add missing RETURN() markup for debug logging,
1398           highlighted by warning from recent GCC.
1400 Thu Sep 04 18:02:38 GMT 2014  Olly Betts <olly@survex.com>
1402         * backends/brass/brass_freelist.cc,backends/brass/brass_freelist.h:
1403           Make the BrassTable parameter a const pointer.
1405 Thu Sep 04 17:13:57 GMT 2014  Olly Betts <olly@survex.com>
1407         * common/io_utils.cc: Reading or writing a block will almost always
1408           complete in one call, so streamline that case.
1410 Wed Sep 03 19:30:00 GMT 2014  Olly Betts <olly@survex.com>
1412         * common/internaltypes.h: Update comment to reflect C++11 now being
1413           out.
1415 Wed Sep 03 19:29:09 GMT 2014  Olly Betts <olly@survex.com>
1417         * common/internaltypes.h,configure.ac: Make uint2 available.
1419 Wed Sep 03 19:27:41 GMT 2014  Olly Betts <olly@survex.com>
1421         * backends/brass/brass_database.h: Remove method which is declared but
1422           never defined.
1424 Wed Sep 03 18:52:40 GMT 2014  Olly Betts <olly@survex.com>
1426         * generate-exceptions,include/xapian/: Use XAPIAN_IN_XAPIAN_H rather
1427           than XAPIAN_INCLUDED_XAPIAN_H in the direct inclusion of subheader
1428           checks.  Currently neither will catch the case of the user including
1429           a sub-header after <xapian.h> since the include guard for the
1430           subheader will stop us getting to the direct inclusion check, but
1431           XAPIAN_IN_XAPIAN_H will work if we move the check outside the
1432           include guard.
1434 Wed Sep 03 18:29:41 GMT 2014  Olly Betts <olly@survex.com>
1436         * include/xapian/constants.h: Hide internal constants from external
1437           users.
1439 Tue Sep 02 14:15:50 GMT 2014  Olly Betts <olly@survex.com>
1441         * backends/brass/brass_spellingwordslist.h: Explicit include
1442           brass_cursor.h since we actually use BrassCursor here.
1444 Mon Sep 01 22:03:11 GMT 2014  Olly Betts <olly@survex.com>
1446         * tests/api_backend.cc: New testcase readonlyparentdir1 to ensure that
1447           commit works with a read-only parent directory.
1449 Mon Sep 01 21:51:45 GMT 2014  Olly Betts <olly@survex.com>
1451         * tests/harness/testrunner.h: Drop "flint" flag - flint was removed
1452           from trunk some time ago.
1454 Mon Sep 01 21:42:31 GMT 2014  Olly Betts <olly@survex.com>
1456         * backends/brass/: Eliminate brass_doclen_t in favour of just using
1457           Xapian::termcount.
1459 Mon Sep 01 21:28:39 GMT 2014  Olly Betts <olly@survex.com>
1461         * backends/brass/brass_check.h: Tweak to ease upcoming big merge.
1463 Mon Sep 01 20:59:40 GMT 2014  Olly Betts <olly@survex.com>
1465         * backends/brass/,backends/dbcheck.cc: Only create a btree entry for
1466           the document data if it is non-empty.  The table is now lazily
1467           created, so won't exist if no documents have document data set.
1469 Mon Sep 01 16:54:44 GMT 2014  Olly Betts <olly@survex.com>
1471         * backends/brass/brass_record.cc,backends/brass/brass_record.h: Remove
1472           BrassRecordTable::get_doccount() as it is no longer used.
1474 Mon Sep 01 16:51:04 GMT 2014  Olly Betts <olly@survex.com>
1476         * backends/brass/: Track doccount in the database stats.
1478 Mon Sep 01 16:27:15 GMT 2014  Olly Betts <olly@survex.com>
1480         * backends/brass/brass_database.cc: Update comment and exception
1481           message not to talk about "consistent state", as that was to do
1482           with the base files.
1484 Mon Sep 01 14:57:02 GMT 2014  Olly Betts <olly@survex.com>
1486         * backends/brass/brass_database.cc: Explicitly include brass_defs.h.
1488 Mon Sep 01 14:48:01 GMT 2014  Olly Betts <olly@survex.com>
1490         * backends/brass/: Eliminate backends/brass/brass_types.h.
1492 Fri Aug 29 21:06:22 GMT 2014  Olly Betts <olly@survex.com>
1494         * backends/dbcheck.cc: Fix checking a single brass table.
1496 Thu Aug 28 16:04:59 GMT 2014  Olly Betts <olly@survex.com>
1498         * backends/brass/brass_check.cc,backends/chert/chert_check.cc,
1499           bin/xapian-check.cc,include/xapian/constants.h: Rename
1500           DBCHECK_SHOW_BITMAP to DBCHECK_SHOW_FREELIST.
1502 Tue Aug 26 22:31:32 GMT 2014  Olly Betts <olly@survex.com>
1504         * NEWS: Update.
1506 Fri Aug 22 09:09:52 GMT 2014  Gaurav Arora <gauravarora.daiict@gmail.com>
1508         * api/,backends/brass/,backends/chert/,
1509           backends/contiguousalldocspostlist.cc,
1510           backends/contiguousalldocspostlist.h,backends/database.h,
1511           backends/inmemory/inmemory_database.cc,
1512           backends/inmemory/inmemory_database.h,
1513           backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
1514           backends/remote/,common/remoteprotocol.h,docs/sorting.rst,
1515           include/xapian/database.h,include/xapian/postingiterator.h,
1516           include/xapian/weight.h,matcher/,net/remoteserver.cc,
1517           net/remoteserver.h,tests/,weight/: Provide the number of distinct
1518           terms in the document to weighting schemes.  The current
1519           implementation for the disk-based backends is a bit inefficient as
1520           it has to look at the termlist table entry for the document.
1522 Thu Aug 21 12:29:57 GMT 2014  Olly Betts <olly@survex.com>
1524         * weight/weight.cc: Add missing parameter to debug logging for
1525           Weight::init_().
1527 Tue Aug 19 14:25:39 GMT 2014  Olly Betts <olly@survex.com>
1529         * backends/brass/brass_table.h: Don't sync handles for tables which
1530           aren't open.  Reported by Austin Clements.
1532 Fri Aug 15 13:13:43 GMT 2014  Olly Betts <olly@survex.com>
1534         * HACKING: freecode no longer accepts updates, so drop that item from
1535           the release checklist.
1537 Wed Aug 13 23:55:24 GMT 2014  Olly Betts <olly@survex.com>
1539         * backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc:
1540           Only full sync the final base file written.
1542 Mon Aug 11 05:30:20 GMT 2014  Olly Betts <olly@survex.com>
1544         * configure.ac: For Sun's C++ compiler, pass -library=Crun separately
1545           since libtool looks for " -library=stlport4 " (with the spaces).
1546           (fixes#650)
1548 Mon Aug 11 03:00:15 GMT 2014  Olly Betts <olly@survex.com>
1550         * configure.ac: Rename XAPIAN_TEST_CXXFLAGS_ to XAPIAN_TEST_CXXFLAGS
1551           (since the latter is never used) and make it take a variable to
1552           add the flags to.  Also, fix it to restore CXXFLAGS correctly if
1553           the success case contains "break".
1555 Wed Aug 06 10:49:46 GMT 2014  Olly Betts <olly@survex.com>
1557         * include/xapian/compactor.h: Fix formatting of doxygen comment.
1559 Wed Aug 06 10:49:20 GMT 2014  Olly Betts <olly@survex.com>
1561         * include/xapian/constants.h: Whitespace tweak.
1563 Wed Aug 06 10:08:09 GMT 2014  Olly Betts <olly@survex.com>
1565         * backends/brass/brass_version.cc,common/io_utils.h,
1566           include/xapian/constants.h: Add DB_FULL_SYNC flag - if this is set
1567           for a database, we use the Mac OS X F_FULL_SYNC instead of
1568           fdatasync()/fsync()/etc on the version file when committing.
1570 Mon Aug 04 05:58:13 GMT 2014  Olly Betts <olly@survex.com>
1572         * backends/brass/brass_compact.cc: Whitespace tweak.
1574 Mon Aug 04 05:57:27 GMT 2014  Olly Betts <olly@survex.com>
1576         * backends/brass/brass_compact.cc: When compacting, sync all the
1577           tables together at the end.
1579 Mon Aug 04 05:42:21 GMT 2014  Olly Betts <olly@survex.com>
1581         * backends/brass/brass_compact.cc,backends/brass/brass_version.cc:
1582           Clean up temporary file in BrassVersion::sync() in all failure
1583           cases.
1585 Mon Aug 04 05:21:02 GMT 2014  Olly Betts <olly@survex.com>
1587         * backends/brass/: In DB_DANGEROUS mode, update the version file
1588           in-place.
1590 Fri Aug 01 02:49:57 GMT 2014  Olly Betts <olly@survex.com>
1592         * backends/brass/brass_compact.cc: Lock the target database while
1593           we're compacting to it, which has the side effect of creating the
1594           'flintlock' file there.
1596 Fri Aug 01 02:35:35 GMT 2014  Olly Betts <olly@survex.com>
1598         * include/xapian/visibility.h: Add link to GCC Visibility wiki page.
1600 Thu Jul 31 02:54:40 GMT 2014  Olly Betts <olly@survex.com>
1602         * tests/api_weight.cc,weight/bb2weight.cc: Avoid calculating logs of 0
1603           or negative values by clamping the normalise wdf to at most one less
1604           than the collection frequency, and the collection size to at least
1605           2.
1607 Thu Jul 31 02:48:35 GMT 2014  Olly Betts <olly@survex.com>
1609         * tests/api_weight.cc,weight/bb2weight.cc: Fix upper bound for
1610           BB2Weight to not be scaled twice by wqf and factor.
1612 Wed Jul 30 05:48:46 GMT 2014  Olly Betts <olly@survex.com>
1614         * weight/bb2weight.cc: Fix comment typo, and capitalise "Stirling" in
1615           comments.
1617 Wed Jul 30 05:47:31 GMT 2014  Olly Betts <olly@survex.com>
1619         * weight/bb2weight.cc: Whitespace cleanup.
1621 Wed Jul 30 05:43:59 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1623         * include/xapian/weight.h,weight/bb2weight.cc: Optimise BB2Weight and
1624           fix incorrect upper bound in some cases.
1626 Tue Jul 29 07:20:57 GMT 2014  Olly Betts <olly@survex.com>
1628         * backends/brass/brass_version.cc: Remove assertion that table sizes
1629           are all the same, and redundant assertion that the unserialised
1630           blocksize is >= 2048.  Fixes set-but-not-used warning in
1631           non-assertion build.
1633 Mon Jul 28 06:35:45 GMT 2014  Olly Betts <olly@survex.com>
1635         * backends/brass/brass_databasereplicator.cc,
1636           backends/brass/brass_databasereplicator.h,
1637           backends/brass/brass_table.cc: Replace enum table_id with enum
1638           Brass::table_type.
1640 Mon Jul 28 04:28:12 GMT 2014  Olly Betts <olly@survex.com>
1642         * NEWS: Note the freelist implementation fixed #40.
1644 Mon Jul 28 04:26:07 GMT 2014  Olly Betts <olly@survex.com>
1646         * api/compactor.cc,backends/brass/,backends/dbcheck.cc,
1647           tests/api_wrdb.cc: Eliminate the base files, and instead store the
1648           root block and freelist pointers in the "iambrass" file.
1650 Mon Jul 28 03:22:22 GMT 2014  Olly Betts <olly@survex.com>
1652         * backends/brass/brass_databasereplicator.cc: Remove variable which is
1653           set but never used.
1655 Sun Jul 27 01:56:58 GMT 2014  Olly Betts <olly@survex.com>
1657         * backends/dbcheck.cc: Don't try to write output when no output stream
1658           is specified in the case where the database open fails and so we
1659           can't check changes files.
1661 Thu Jul 24 21:12:23 GMT 2014  Olly Betts <olly@survex.com>
1663         * NEWS: Update.
1665 Fri Jul 11 10:44:48 GMT 2014  Olly Betts <olly@survex.com>
1667         * weight/bm25weight.cc: Improve BM25 upper bound in the case when our
1668           wdf upper bound > our document length lower bound.  Thanks to
1669           Craig Macdonald for pointing out this trick.
1671 Thu Jul 10 13:29:50 GMT 2014  Olly Betts <olly@survex.com>
1673         * weight/bm25weight.cc: Pre-multiply termweight by (param_k1 + 1).
1675 Sat Jun 28 11:00:49 GMT 2014  Olly Betts <olly@survex.com>
1677         * languages/Makefile.mk: Sort the stop.list files (since loading a
1678           sorted list is likely to be more efficient) and remove any duplicate
1679           entries.
1681 Sat Jun 28 10:48:03 GMT 2014  Olly Betts <olly@survex.com>
1683         * languages/stopwords/finnish/stop.txt,
1684           languages/stopwords/norwegian/stop.txt: Remove duplicate entries.
1686 Sat Jun 28 10:38:56 GMT 2014  Olly Betts <olly@survex.com>
1688         * languages/stopwords/russian/stop.txt: Convert from KOI8-R to UTF-8.
1690 Mon Jun 23 02:26:24 GMT 2014  Olly Betts <olly@survex.com>
1692         * configure.ac: configure.ac: Add hints for which package to install
1693           for rst2html
1695 Mon Jun 23 00:54:05 GMT 2014  Olly Betts <olly@survex.com>
1697         * configure.ac: Use AS_MKDIR_P instead of test -d || mkdir.
1699 Sun Jun 22 07:32:11 GMT 2014  Olly Betts <olly@survex.com>
1701         * NEWS: Update.
1703 Sat Jun 21 03:45:19 GMT 2014  Olly Betts <olly@survex.com>
1705         * docs/Makefile.am: Use $(MKDIR_P) instead of test -d || mkdir 3
1706           times.
1708 Sat Jun 21 03:44:37 GMT 2014  Olly Betts <olly@survex.com>
1710         * languages/Makefile.mk: Generate the directories for the minimised
1711           stopword files in a VPATH build.
1713 Tue Jun 17 13:36:40 GMT 2014  Assem Chelli <assem.ch@gmail.com>
1715         * include/xapian/queryparser.h: Add the example of initializing
1716           SimpleStopper using a file as a doccomment.
1718 Tue Jun 17 13:30:09 GMT 2014  Olly Betts <olly@survex.com>
1720         * languages/Makefile.mk: Remove trailing whitespace (some of which
1721           breaks the parsing to get the lists of source files to pass to
1722           doxygen).
1724 Tue Jun 17 13:24:59 GMT 2014  Assem Chelli <assem.ch@gmail.com>
1726         * languages/: Add stopwords lists from Snowball plus an Arabic one.
1728 Tue Jun 17 11:48:12 GMT 2014  Olly Betts <olly@survex.com>
1730         * weight/dlhweight.cc: Fix comment typo.
1732 Tue Jun 17 11:46:40 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1734         * weight/dlhweight.cc: Improve the upper bound on DLH ~3-4 times.
1736 Tue Jun 17 11:32:22 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1738         * include/xapian/weight.h,weight/dphweight.cc: Combine factor into
1739           constants calculated in init().  Improve get_maxpart() a little
1740           in the (common) case where the wdf upper bound is less than half
1741           the document length upper bound.
1743 Tue Jun 17 03:42:36 GMT 2014  Olly Betts <olly@survex.com>
1745         * tests/api_unicode.cc,unicode/UnicodeData-README.txt,
1746           unicode/UnicodeData.txt: Update to Unicode 7.0.0.
1748 Mon Jun 16 14:13:18 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1750         * weight/dphweight.cc: Improved upper bound for DPH.
1752 Mon Jun 16 13:58:24 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1754         * include/xapian/weight.h,weight/ifb2weight.cc,weight/ineb2weight.cc,
1755           weight/inl2weight.cc: Include 'factor' in the constants we calculate
1756           in init_().
1758 Mon Jun 16 13:53:05 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1760         * include/xapian/weight.h,weight/dlhweight.cc: DLH optimization.
1762 Mon Jun 16 13:02:24 GMT 2014  Olly Betts <olly@survex.com>
1764         * HACKING: Need python3-sphinx to generate docs for python3.
1766 Mon Jun 16 12:37:13 GMT 2014  Assem Chelli <assem.ch@gmail.com>
1768         * HACKING: Note sphinx-doc now needed (for Python bindings API docs).
1770 Mon Jun 16 05:35:03 GMT 2014  Olly Betts <olly@survex.com>
1772         * HACKING,configure.ac,docs/Makefile.am,docs/doxygen_api.conf.in:
1773           Don't build, ship or install PDF versions of the API docs by
1774           default, but provide an easy way for people to build it for
1775           themselves if they want it.
1777 Mon Jun 16 04:20:40 GMT 2014  Olly Betts <olly@survex.com>
1779         * include/xapian/queryparser.h: Improve the descriptions of the
1780           stem_strategy values.  (Reported by "oilap" on #xapian)
1782 Fri Jun 13 07:52:53 GMT 2014  Olly Betts <olly@survex.com>
1784         * weight/dphweight.cc: Fix some comment typos.
1786 Fri Jun 13 07:47:32 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1788         * include/xapian/weight.h,weight/dphweight.cc: Optimized DPH code.
1790 Fri Jun 13 01:39:07 GMT 2014  Olly Betts <olly@survex.com>
1792         * examples/quest.cc: Fix ordering of "bm25" and "bool" in allegedly
1793           sorted list, so that --weight bm25 and --weight bool work.
1795 Thu Jun 12 13:49:19 GMT 2014  Olly Betts <olly@survex.com>
1797         * matcher/extraweightpostlist.h: Add an assertion that get_sumextra()
1798           returns a weight contribution which is <= the upper bound which
1799           get_maxextra() returns.
1801 Thu Jun 12 13:30:55 GMT 2014  Olly Betts <olly@survex.com>
1803         * api/leafpostlist.cc,matcher/synonympostlist.cc: Add assertions that
1804           get_sumpart() returns a weight contribution which is <= the upper
1805           bound which get_maxpart() returns.
1807 Wed Jun 11 05:34:16 GMT 2014  Olly Betts <olly@survex.com>
1809         * languages/hungarian.sbl: Fix incorrect Unicode codepoints for
1810           o-double-acute and u-double-acute in Hungarian Snowball stemmer.
1811           Reported by Tom Lane to snowball-discuss.
1813 Tue Jun 10 10:59:18 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1815         * include/xapian/weight.h,weight/ineb2weight.cc: Optimized IneB2:
1816           Reduced number of calculations in get_sumpart and tightened upper
1817           bound.
1819 Tue Jun 10 10:23:09 GMT 2014  Olly Betts <olly@survex.com>
1821         * weight/ineb2weight.cc: Fix closing brace indentation.
1823 Tue Jun 10 09:58:18 GMT 2014  Olly Betts <olly@survex.com>
1825         * examples/quest.cc: Rework the weight name lookup to use a table like
1826           the other lookups.  Change the weight names not to include "weight".
1828 Tue Jun 10 08:15:18 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1830         * include/xapian/weight.h,weight/ifb2weight.cc: Optimized
1831           upper bound and weighting formula in IfB2Weight.
1833 Tue Jun 10 05:34:52 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1835         * include/xapian/weight.h,weight/inl2weight.cc: Optimized
1836           upper bound and weighting formula in InL2Weight.
1838 Tue Jun 10 05:09:08 GMT 2014  Olly Betts <olly@survex.com>
1840         * examples/quest.cc: Add --weight option to allow the weighting scheme
1841           to be specified.
1843 Thu Jun 05 03:42:51 GMT 2014  Olly Betts <olly@survex.com>
1845         * api/omdatabase.cc,tests/api_backend.cc: Fix
1846           Database::get_wdf_upper_bound("") not to fail with an assertion.
1848 Tue Jun 03 22:59:10 GMT 2014  Olly Betts <olly@survex.com>
1850         * matcher/localsubmatch.cc: Use RETURN() instead of return in methods
1851           with LOGCALL annotations.
1853 Mon Jun 02 13:15:36 GMT 2014  Olly Betts <olly@survex.com>
1855         * docs/Makefile.am: Actually ship, process and install geospatial.rst.
1857 Mon Jun 02 11:40:27 GMT 2014  Olly Betts <olly@survex.com>
1859         * languages/Makefile.mk: Ship collate-sbl script.
1861 Thu May 29 12:13:06 GMT 2014  Olly Betts <olly@survex.com>
1863         * HACKING: Replace a link to the outdated autotools "goat book" with a
1864           link to the "Portable Shell" chapter of the autoconf manual.
1866 Thu May 29 03:31:10 GMT 2014  Olly Betts <olly@survex.com>
1868         * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Allow
1869           the user to specify how long a snippet they want.  Only add "..." if
1870           the sample was actually truncated.
1872 Wed May 28 12:52:26 GMT 2014  Olly Betts <olly@survex.com>
1874         * include/xapian/snipper.h: Add the standard guards to prevent user
1875           code from including this header directly.
1877 Tue May 27 04:19:12 GMT 2014  Olly Betts <olly@survex.com>
1879         * include/Makefile.mk: Ship include/xapian/snipper.h in tarball.
1881 Tue May 27 04:03:09 GMT 2014  Olly Betts <olly@survex.com>
1883         * api/snipper.cc,include/xapian/snipper.h,
1884           tests/generate-api_generated: Add missing assignment operator to
1885           Xapian::Snipper class.
1887 Tue May 27 03:43:03 GMT 2014  Olly Betts <olly@survex.com>
1889         * include/xapian/snipper.h: Add missing doxygen comments.
1891 Tue May 27 03:41:08 GMT 2014  Olly Betts <olly@survex.com>
1893         * include/xapian/snipper.h,tests/api_snipper.cc: Whitespace tweaks.
1895 Tue May 27 03:36:19 GMT 2014  Olly Betts <olly@survex.com>
1897         * api/snipper.cc,include/xapian/snipper.h,tests/api_snipper.cc: Remove
1898           getters for obtaining info about the relevance model, and instead
1899           add a get_description() method which includes all such info in the
1900           returned description.
1902 Tue May 27 03:06:36 GMT 2014  Olly Betts <olly@survex.com>
1904         * api/snipper.cc: Use an iterator instead of subscripting.
1906 Tue May 27 03:03:33 GMT 2014  Olly Betts <olly@survex.com>
1908         * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Use
1909           appropriate named types rather than "int" or "unsigned int".
1911 Tue May 27 03:02:48 GMT 2014  Olly Betts <olly@survex.com>
1913         * api/snipperinternal.h: Remove constants which are no longer used.
1915 Tue May 27 02:48:44 GMT 2014  Olly Betts <olly@survex.com>
1917         * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h:
1918           Rework Snipper methods set_smoothing_coef() and set_window_size() as
1919           optional parameters of generate_snippet().
1921 Tue May 27 02:33:39 GMT 2014  Olly Betts <olly@survex.com>
1923         * api/snipper.cc,api/snipperinternal.h: Just pass rm_docno through to
1924           Snipper::Internal::calculate_rm() as a parameter rather than storing
1925           it in a member variable.
1927 Tue May 27 02:25:41 GMT 2014  Olly Betts <olly@survex.com>
1929         * api/snipper.cc: Use clear() method to empty a container.
1931 Tue May 27 02:22:37 GMT 2014  Olly Betts <olly@survex.com>
1933         * tests/api_snipper.cc: Drop unused <algorithm>.
1935 Tue May 27 02:21:53 GMT 2014  Olly Betts <olly@survex.com>
1937         * api/snipper.cc: Eliminate ret_value variable.
1939 Tue May 27 02:20:25 GMT 2014  Olly Betts <olly@survex.com>
1941         * api/snipper.cc: Avoid unnecessary substr operations.
1943 Tue May 27 02:17:32 GMT 2014  Olly Betts <olly@survex.com>
1945         * api/snipper.cc: Prefer ++i to i++ in loops.
1947 Tue May 27 02:16:14 GMT 2014  Olly Betts <olly@survex.com>
1949         * api/snipper.cc: Use TermIterator::positionlist_count().
1951 Tue May 27 02:14:52 GMT 2014  Olly Betts <olly@survex.com>
1953         * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Fix
1954           typos in comments and variable names in new snipper code.
1956 Tue May 27 02:13:09 GMT 2014  Olly Betts <olly@survex.com>
1958         * tests/Makefile.am: Hook up new Snipper API tests to actually be
1959           used.
1961 Tue May 27 02:09:49 GMT 2014  Mihai Bivol <mm.bivol@gmail.com>
1963         * tests/api_snipper.cc: Add Snipper API tests.
1965 Tue May 27 02:04:26 GMT 2014  Olly Betts <olly@survex.com>
1967         * api/snipper.cc: Add missing #include <config.h>.
1969 Tue May 27 02:00:32 GMT 2014  Mihai Bivol <mm.bivol@gmail.com>
1971         * api/Makefile.mk,api/snipper.cc,api/snipperinternal.h,
1972           include/xapian.h,include/xapian/snipper.h: Add Xapian::Snipper
1973           class.
1975 Mon May 26 05:52:22 GMT 2014  Olly Betts <olly@survex.com>
1977         * api/omdatabase.cc,backends/brass/brass_postlist.h,
1978           backends/chert/chert_postlist.h,backends/database.h: Fix comment
1979           typos.
1981 Fri May 23 11:59:26 GMT 2014  Olly Betts <olly@survex.com>
1983         * api/matchspy.cc: Pass std::string by const reference.
1985 Thu May 22 06:31:12 GMT 2014  Olly Betts <olly@survex.com>
1987         * matcher/localsubmatch.cc: Fix the check for a term which matches all
1988           documents to use the sub-db termfreq, not the combined db termfreq.
1990 Thu May 22 06:00:47 GMT 2014  Olly Betts <olly@survex.com>
1992         * matcher/localsubmatch.cc: If a term matches all documents and its
1993           weight doesn't depend on its wdf, we can optimise it to MatchAll
1994           (the previous requirement that maxpart == 0 was unnecessarily
1995           strict).
1997 Thu May 22 05:52:15 GMT 2014  Olly Betts <olly@survex.com>
1999         * matcher/localsubmatch.cc,tests/api_percentages.cc: When we optimise
2000           a postlist for a term which matches all documents to use MatchAll,
2001           we still need to set a weight object on it to get percentages
2002           calculated correctly.
2004 Thu May 22 04:08:35 GMT 2014  Olly Betts <olly@survex.com>
2006         * api/queryinternal.cc,matcher/localsubmatch.cc,
2007           matcher/localsubmatch.h,matcher/queryoptimiser.h: Refactor to group
2008           most of the code to create a postlist for a term and set its weight
2009           into one place.
2011 Mon May 19 00:08:04 GMT 2014  Olly Betts <olly@survex.com>
2013         * backends/brass/brass_freelist.cc,tests/api_backend.cc: When we start
2014           to write a new freelist block, set the revision on the old one we
2015           write out correctly, and don't "-1" out the next block pointer
2016           before we write out the block in this case.  New regression testcase
2017           newfreelistblock1.
2018         * backends/brass/brass_freelist.cc: Add assertions that the freelist
2019           block has a next pointer when fl_end is a different block to fl.
2021 Fri May 16 04:35:21 GMT 2014  Olly Betts <olly@survex.com>
2023         * backends/brass/brass_freelist.h: Fix BrassFreeList::swap() to also
2024           swap the flw_appending members.
2026 Thu May 15 12:51:15 GMT 2014  Olly Betts <olly@survex.com>
2028         * HACKING: Add checking config/config.* are up to date to the 
2029           release checklist.
2031 Thu May 15 12:47:28 GMT 2014  Olly Betts <olly@survex.com>
2033         * HACKING: Now using automake 1.14.1 to bootstrap snapshots and
2034           1.3.x releases.
2036 Wed May 14 03:18:37 GMT 2014  Olly Betts <olly@survex.com>
2038         * api/queryinternal.cc: Only serialise parameter where it is actually
2039           used.
2041 Fri May 09 01:56:48 GMT 2014  Olly Betts <olly@survex.com>
2043         * HACKING: Now using doxygen 1.8.7 to bootstrap tarballs.
2045 Mon May 05 05:37:32 GMT 2014  Olly Betts <olly@survex.com>
2047         * backends/chert/chert_check.cc,backends/chert/chert_dbcheck.cc,
2048           backends/dbcheck.cc: Improve DBCHECK_FIX - if fixing a whole
2049           database, we now take the revision from the first table we
2050           successfully look at, which should be correct in most cases,
2051           and is definitely better than trying to determine the revision
2052           of each broken table independently.
2054 Fri May 02 02:36:05 GMT 2014  Olly Betts <olly@survex.com>
2056         * matcher/valuestreamdocument.cc,matcher/valuestreamdocument.h: Put
2057           the docid in the sub-database into the ValueStreamDocument object as
2058           that's what Xapian::Document::get_docid() is documented to return.
2059           (fixes#636, reported by Jeff Rand).
2061 Thu May 01 13:25:35 GMT 2014  Olly Betts <olly@survex.com>
2063         * api/omdatabase.cc,include/xapian/database.h,
2064           matcher/valuestreamdocument.cc: Eliminate
2065           Database::get_document_lazily_() completely.
2067 Thu May 01 11:48:00 GMT 2014  Olly Betts <olly@survex.com>
2069         * backends/database.cc,backends/slowvaluelist.cc,
2070           backends/slowvaluelist.h: Don't wrap the subdatabase object in a
2071           Xapian::Database for SlowValueList, which mean we can just call
2072           open_document(did, true) on it instead of having to use
2073           Xapian::Database::get_document_lazily_().
2075 Wed Apr 30 00:31:52 GMT 2014  Olly Betts <olly@survex.com>
2077         * api/omdatabase.cc: Explicitly '#include <algorithm>' for std::max(),
2078           fixing build with VS2013.  (fixes#641)
2080 Tue Apr 29 04:28:06 GMT 2014  Olly Betts <olly@survex.com>
2082         * common/append_filename_arg.h,net/remoteconnection.h: Comment tweaks.
2084 Tue Apr 29 04:26:26 GMT 2014  Olly Betts <olly@survex.com>
2086         * tests/harness/unixcmds.cc: Drop code supporting Microsoft Windows 9x
2087           which reached EOL in 2006.
2089 Thu Apr 17 05:06:21 GMT 2014  Olly Betts <olly@survex.com>
2091         * common/autoptr.h: Under C++11, use unique_ptr for AutoPtr.
2093 Wed Apr 09 22:16:37 GMT 2014  Olly Betts <olly@survex.com>
2095         * api/documentterm.h,api/omdocument.cc: Don't store the termname in
2096           OmDocumentTerm - we were only using it in get_description() output
2097           and an exception message.  Speeds up indexing etext.txt using
2098           simpleindex by 0.4%, and should reduce memory usage a bit too.
2099           (Change inspired by comments from Vishesh Handa on xapian-devel).
2101 Wed Apr 09 05:17:58 GMT 2014  Olly Betts <olly@survex.com>
2103         * backends/brass/brass_btreebase.cc,backends/brass/brass_table.cc:
2104           Remove comment references to using bitmaps for freespace tracking.
2106 Tue Apr 08 04:20:00 GMT 2014  Olly Betts <olly@survex.com>
2108         * bin/xapian-delve.cc: Add -A <prefix> option to list all terms with
2109           a particular prefix.
2111 Mon Apr 07 05:45:06 GMT 2014  Olly Betts <olly@survex.com>
2113         * api/omdatabase.cc,backends/brass/,backends/chert/,
2114           backends/database.cc,backends/database.h,
2115           backends/inmemory/inmemory_database.cc,
2116           backends/inmemory/inmemory_database.h,
2117           backends/remote/remote-database.cc,backends/remote/remote-database.h,
2118           common/remoteprotocol.h,matcher/const_database_wrapper.cc,
2119           matcher/const_database_wrapper.h,net/remoteserver.cc,
2120           net/remoteserver.h,weight/weightinternal.cc: Fetch termfreq and
2121           collection frequency in a single call - shaves ~0.3% off a test
2122           search.
2124 Thu Apr 03 23:40:45 GMT 2014  Olly Betts <olly@survex.com>
2126         * net/serialise.cc,weight/weightinternal.h: Make Weight::Internal
2127           track if any max_part values are set, so we don't need to
2128           serialise them when they've not been set.
2130 Thu Apr 03 05:50:13 GMT 2014  Olly Betts <olly@survex.com>
2132         * weight/weightinternal.cc: Enhance
2133           Weight::Internal::get_description() to report TermFreqs.
2135 Thu Apr 03 05:46:44 GMT 2014  Olly Betts <olly@survex.com>
2137         * api/omenquire.cc,api/omenquireinternal.h,common/submatch.h,matcher/,
2138           net/remoteserver.cc,net/serialise.cc,weight/weight.cc,
2139           weight/weightinternal.cc,weight/weightinternal.h: Eliminate the
2140           map<string, TermFreqAndWeight> in MSet::Internal, and instead just
2141           preserve the Weight::Internal object there as that holds all the
2142           information we need.
2144 Thu Apr 03 04:40:09 GMT 2014  Olly Betts <olly@survex.com>
2146         * backends/remote/remote-database.cc,net/remoteserver.cc,
2147           net/serialise.cc,net/serialise.h: Avoid returning
2148           Xapian::Weight::Internal by value from unserialise_stats().
2150 Tue Apr 01 22:41:16 GMT 2014  Olly Betts <olly@survex.com>
2152         * matcher/localsubmatch.cc,weight/weight.cc,weight/weightinternal.cc,
2153           weight/weightinternal.h: Replace Weight::Internal methods to get
2154           termfreq, reltermfreq and colltermfreq with a single inlined
2155           get_stats() method, which only needs to search the map once.
2156           Shaves ~1.6% off the time to do a wildcard query with a lot of
2157           terms.
2159 Tue Apr 01 22:11:52 GMT 2014  Olly Betts <olly@survex.com>
2161         * matcher/localsubmatch.cc: Don't refetch the termfreq if we already
2162           have it.
2164 Sun Mar 30 22:54:22 GMT 2014  Anish Kanchan <anishgkanchan@gmail.com>
2166         * include/xapian/termgenerator.h: Make TermGenerator flags an
2167           anonymous enum, and typedef TermGenerator::flags to int for backward
2168           compatibility with existing user code which uses it.  (fixes #616)
2170 Thu Mar 27 05:45:14 GMT 2014  Liu Chi <liuchi09@gmail.com>
2172         * include/xapian/stem.h,languages/Makefile.mk,
2173           languages/earlyenglish.sbl,languages/stem.cc,tests/api_stem.cc:
2174           Add an early english stemmer.
2176 Wed Mar 19 02:42:00 GMT 2014  Olly Betts <olly@survex.com>
2178         * weight/weightinternal.cc: Fix comment typo.
2180 Fri Mar 14 09:53:22 GMT 2014  Olly Betts <olly@survex.com>
2182         * HACKING: MacTeX seems to be the best option if using homebrew.
2184 Fri Mar 07 23:17:43 GMT 2014  Olly Betts <olly@survex.com>
2186         * matcher/maxpostlist.cc: More fixes for --enable.log.
2188 Fri Mar 07 23:01:45 GMT 2014  Olly Betts <olly@survex.com>
2190         * matcher/maxpostlist.cc: Fix compilation error with --enable-log on.
2191           Reported by Anurag Soni.
2193 Fri Mar 07 00:39:11 GMT 2014  Olly Betts <olly@survex.com>
2195         * HACKING: Fix typo and RST markup.
2197 Fri Mar 07 00:21:16 GMT 2014  VcamX <vcamx3@gmail.com>
2199         * HACKING: Note packages to install from homebrew on Mac OS X.
2201 Fri Mar 07 00:17:01 GMT 2014  VcamX <vcamx3@gmail.com>
2203         * backends/dbcheck.cc,common/pack.h: Fix warnings with clang 5.0.
2205 Tue Mar 04 04:25:11 GMT 2014  Olly Betts <olly@survex.com>
2207         * api/queryinternal.cc,api/queryinternal.h: Only simplify OP_SYNONYM
2208           with a single subquery if that subquery is a term or MatchAll.
2210 Tue Mar 04 04:12:58 GMT 2014  Olly Betts <olly@survex.com>
2212         * tests/api_none.cc: Test OPs with a single MatchAll subquery.
2214 Mon Mar 03 22:59:55 GMT 2014  Mayank Chaudhary <mayankchaudhary.iitr@gmail.com>
2216         * docs/Makefile.am,docs/bm25.rst,docs/intro_ir.rst: Convert equations
2217           in rst docs to use LaTeX via the math role and directive.
2219 Fri Feb 28 06:12:36 GMT 2014  Olly Betts <olly@survex.com>
2221         * backends/brass/brass_positionlist.h,
2222           backends/chert/chert_positionlist.h: Remove next_internal() methods
2223           which were declared but not defined or used (left-overs from flint).
2224           Reported by "Hurricane Tong".
2226 Wed Feb 26 01:33:50 GMT 2014  Olly Betts <olly@survex.com>
2228         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
2229           examples/quest.cc,include/xapian/query.h,matcher/Makefile.mk,
2230           matcher/maxpostlist.cc,matcher/maxpostlist.h,
2231           queryparser/queryparser.cc,tests/api_none.cc,tests/api_opsynonym.cc:
2232           Implement new OP_MAX query operator, which returns the maximum
2233           weight of any of its subqueries.  (see #360)
2235 Wed Feb 26 00:48:23 GMT 2014  Olly Betts <olly@survex.com>
2237         * matcher/localsubmatch.cc,matcher/synonympostlist.cc,
2238           matcher/synonympostlist.h: In SynonymPostList, avoid fetching the
2239           doclength if the weighting scheme doesn't need it and the calculated
2240           wdf for the synonym in <= doclength_lower_bound for the current
2241           subdatabase.  (fixes #360)
2243 Wed Feb 26 00:12:22 GMT 2014  Olly Betts <olly@survex.com>
2245         * backends/brass/brass_changes.cc: Fix compilation without
2246           --enable-assertions.
2248 Tue Feb 25 02:33:14 GMT 2014  Olly Betts <olly@survex.com>
2250         * examples/quest.cc: Add --default-op option.
2252 Tue Feb 25 01:56:34 GMT 2014  Olly Betts <olly@survex.com>
2254         * examples/quest.cc: Whitespace tweak.
2256 Mon Feb 24 06:33:37 GMT 2014  Olly Betts <olly@survex.com>
2258         * tests/api_opsynonym.cc: Refactor symonym1 so that the test data is
2259           specified by an array, rather than built up by code, so that the
2260           actual testcases can be more easily seen.
2262 Sun Feb 23 01:22:56 GMT 2014  Olly Betts <olly@survex.com>
2264         * common/bitstream.cc,common/bitstream.h: Add comments to better
2265           document BitReader and BitWriter. (fixes#252)
2267 Sun Feb 23 00:35:17 GMT 2014  Olly Betts <olly@survex.com>
2269         * HACKING: Stop trying to explicitly list compilers which support
2270           __builtin_expect (LLVM does too, others may as well).
2272 Fri Feb 21 01:34:59 GMT 2014  Olly Betts <olly@survex.com>
2274         * backends/brass/,backends/dbcheck.cc,common/,
2275           docs/replication_protocol.rst,tests/api_backend.cc,
2276           tests/api_replicate.cc: Keep track of unused blocks in the Btrees
2277           using freelists rather than bitmaps.
2279 Fri Feb 21 01:21:45 GMT 2014  Olly Betts <olly@survex.com>
2281         * tests/api_wrdb.cc: Expand crashrecovery1 to check that the expected
2282           base files exist and ones which shouldn't exist don't.
2284 Thu Feb 20 00:34:47 GMT 2014  Olly Betts <olly@survex.com>
2286         * HACKING: makeindex is now in Debian package texlive-binaries.
2288 Wed Feb 19 06:50:58 GMT 2014  Olly Betts <olly@survex.com>
2290         * docs/sorting.rst: Fix incorrect parameter types in Xapian::Weight
2291           subclass example.
2293 Tue Feb 18 23:34:19 GMT 2014  Olly Betts <olly@survex.com>
2295         * api/replication.cc: Fix conditional for enabling replication code
2296           - if chert is disabled but brass isn't, we should still enable it.
2298 Tue Feb 18 01:33:28 GMT 2014  Olly Betts <olly@survex.com>
2300         * tests/api_replicate.cc: Move comment to in front of the function it
2301           is actually talking about.
2303 Sun Feb 16 04:53:57 GMT 2014  Olly Betts <olly@survex.com>
2305         * xapian-config.in: Add some missing shell quoting identified by
2306           shellcheck.
2308 Sun Feb 16 00:53:01 GMT 2014  Olly Betts <olly@survex.com>
2310         * docs/quickstart.rst: Split --cxxflags and --libs for portability
2311           (noted by "Hurricane Tong" on xapian-devel).
2313 Sat Feb 15 04:59:37 GMT 2014  Olly Betts <olly@survex.com>
2315         * docs/glossary.rst: Add definition of "collection frequency".
2317 Fri Feb 14 22:24:26 GMT 2014  Olly Betts <olly@survex.com>
2319         * NEWS: Update.
2321 Fri Jan 17 03:50:44 GMT 2014  Olly Betts <olly@survex.com>
2323         * backends/brass/brass_databasereplicator.cc,
2324           backends/brass/brass_table.cc,
2325           backends/chert/chert_databasereplicator.cc,
2326           backends/chert/chert_table.cc,common/io_utils.cc,common/io_utils.h:
2327           Add io_read_block() and io_write_block() as wrappers around pread()
2328           and pwrite() (or lseek() plus read() and lseek() plus write()).
2330 Sat Jan 11 06:32:19 GMT 2014  Olly Betts <olly@survex.com>
2332         * configure.ac: Sun C++ seems to explicitly need Crun now.
2334 Sat Jan 11 02:23:06 GMT 2014  Olly Betts <olly@survex.com>
2336         * configure.ac: Fix checks for Sun C++.
2338 Fri Jan 10 22:38:01 GMT 2014  Olly Betts <olly@survex.com>
2340         * matcher/multimatch.cc: timer_create() doesn't handle CLOCK_MONOTONIC
2341           on Solaris, so use CLOCK_REALTIME there instead.
2343 Fri Jan 10 11:22:37 GMT 2014  Olly Betts <olly@survex.com>
2345         * configure.ac: Improve handling of Sun's C++ compiler - trick libtool
2346           into not adding -library=Cstd, and prefer -library=stdcxx4 if
2347           supported.
2349 Fri Jan 10 11:16:15 GMT 2014  Olly Betts <olly@survex.com>
2351         * configure.ac: Add XAPIAN_TEST_CXXFLAGS macro, and use it to check
2352           the flags to cxx actually work.
2354 Fri Jan 10 10:56:17 GMT 2014  Olly Betts <olly@survex.com>
2356         * configure.ac: Apply missing functional part of previous change.
2358 Fri Jan 10 10:46:53 GMT 2014  Olly Betts <olly@survex.com>
2360         * configure.ac: Avoid using grep -e as /usr/bin/grep on Solaris
2361           doesn't support it.
2363 Fri Jan 10 03:30:10 GMT 2014  Olly Betts <olly@survex.com>
2365         * backends/brass/brass_databasereplicator.cc: Whitespace tweak.
2367 Thu Jan 09 11:06:05 GMT 2014  Olly Betts <olly@survex.com>
2369         * backends/brass/brass_cursor.h,backends/brass/brass_database.cc,
2370           backends/chert/chert_database.cc,
2371           backends/chert/chert_databasereplicator.cc,
2372           backends/inmemory/inmemory_database.h,common/log2.h,
2373           common/realtime.h,matcher/multimatch.cc,weight/pl2weight.cc,
2374           weight/tradweight.cc: Fix compilations issues with Sun's C++
2375           compiler (mostly missing library headers).
2377 Thu Jan 09 06:00:03 GMT 2014  Olly Betts <olly@survex.com>
2379         * backends/dbcheck.cc: Skip absent lazily created tables in the case
2380           where out == NULL too.
2382 Thu Jan 09 05:31:40 GMT 2014  Olly Betts <olly@survex.com>
2384         * tests/api_wrdb.cc: Use Xapian::Database::check() in cursordelbug1.
2385           (partly addresses #238)
2387 Thu Jan 09 05:30:45 GMT 2014  Olly Betts <olly@survex.com>
2389         * include/xapian/database.h: Make second and third parameters to
2390           Xapian::Database::check() optional, defaulting to a quiet check.
2392 Thu Jan 09 02:52:54 GMT 2014  Olly Betts <olly@survex.com>
2394         * backends/brass/,backends/chert/,backends/dbcheck.cc,
2395           bin/xapian-check.cc,include/xapian/database.h: Alter
2396           Database::check() to take its "out" parameter as a pointer to
2397           std::ostream instead of a reference, and make passing NULL means "do
2398           not produce output".  Remove the form without the "out" parameter,
2399           which used to mean "send output to stdout" - if you want this, just
2400           pass "&std::cout" in.
2402 Thu Jan 09 01:50:14 GMT 2014  Olly Betts <olly@survex.com>
2404         * include/xapian/database.h: OS X SDK check() macro takes one
2405           argument, so there's no need to protect check() methods with
2406           more than one argument.
2407         * include/xapian/valueiterator.h: Protect the one check() method in
2408           our API which does take one argument.
2410 Wed Jan 08 11:48:58 GMT 2014  Olly Betts <olly@survex.com>
2412         * api/smallvector.cc,api/smallvector.h: Include cstddef rather than
2413           cstring for std::size_t, as it's a simpler header.  Don't assume
2414           size_t will be available unqualified.  Add SmallVector::size_type
2415           typedef.
2417 Mon Jan 06 11:54:53 GMT 2014  Olly Betts <olly@survex.com>
2419         * net/progclient.cc: Fix xlC warning.
2421 Mon Jan 06 00:31:19 GMT 2014  Olly Betts <olly@survex.com>
2423         * backends/brass/brass_table.cc,backends/chert/chert_table.cc:
2424           Validate dir_end when reading a block.  (fixes #592)
2426 Wed Jan 01 01:20:46 GMT 2014  Olly Betts <olly@survex.com>
2428         * docs/Makefile.am: Fix handling of MAINTAINER_NO_DOCS.
2430 Mon Dec 30 05:33:59 GMT 2013  Olly Betts <olly@survex.com>
2432         * tests/api_unicode.cc: Add regression test for incorrect results
2433           from Unicode::tolower() for 4 code points (U+01C5, U+01C8, U+01CB,
2434           U+01F2) with Xapian 1.2.16 and earlier.
2436 Sun Dec 29 05:46:14 GMT 2013  Olly Betts <olly@survex.com>
2438         * docs/postingsource.rst: Clarify a couple of points (reported by
2439           "vHanda" on IRC).
2441 Tue Dec 24 02:00:26 GMT 2013  Olly Betts <olly@survex.com>
2443         * tests/Makefile.am,tests/perftest/Makefile.mk: Actually use
2444           @NO_INSTALL@.
2446 Tue Dec 24 01:59:05 GMT 2013  Olly Betts <olly@survex.com>
2448         * configure.ac: Use -no-fast-install on platforms where -no-install
2449           causes libtool to emit a warning.
2451 Mon Dec 23 04:17:35 GMT 2013  Olly Betts <olly@survex.com>
2453         * HACKING: Drop note about needing git-svn if you're using git -
2454           bootstrap now only uses git-svn if your Xapian tree was checked out
2455           using git-svn.
2457 Mon Dec 23 04:16:58 GMT 2013  Olly Betts <olly@survex.com>
2459         * HACKING: Note that Tcl is now needed to generate
2460           unicode/unicode-data.cc.
2462 Mon Dec 23 04:01:05 GMT 2013  Olly Betts <olly@survex.com>
2464         * tests/api_unicode.cc: Add a test that a character due to be added in 
2465           Unicode 7.0.0 is categorised as "unassigned".
2467 Mon Dec 23 03:50:37 GMT 2013  Olly Betts <olly@survex.com>
2469         * unicode/Makefile.mk,unicode/uniParse.tcl: Adjust to not need a
2470           symlink.  Give the generated file a new name, since the "tcl" prefix
2471           doesn't make much sense here, and it avoids issues with
2472           transitioning from a file in version control to one which is
2473           generated.
2475 Mon Dec 23 03:32:40 GMT 2013  Olly Betts <olly@survex.com>
2477         * unicode/: Add the source data file and scripts to generate
2478           tclUniData.cc.
2480 Mon Dec 23 02:20:57 GMT 2013  Olly Betts <olly@survex.com>
2482         * NEWS: Update from ChangeLog.
2484 Mon Dec 23 01:04:26 GMT 2013  Olly Betts <olly@survex.com>
2486         * include/xapian/enquire.h: Note that 1.2.17 is required for the
2487           correct sense of the reverse parameter to Enquire methods
2488           set_sort_by_relevance_then_value() and
2489           set_sort_by_relevance_then_key().
2491 Mon Dec 23 00:30:53 GMT 2013  Olly Betts <olly@survex.com>
2493         * backends/brass/brass_btreebase.cc: Fix comment documenting what's in
2494           the base file (the sequential flag was missing).
2496 Fri Dec 20 03:47:56 GMT 2013  Olly Betts <olly@survex.com>
2498         * backends/brass/brass_termlisttable.h,include/xapian/constants.h,
2499           tests/api_backend.cc: Add Xapian::DB_NO_TERMLIST flag to allow
2500           creating a database without a termlist (see #181).
2502 Fri Dec 20 03:04:51 GMT 2013  Olly Betts <olly@survex.com>
2504         * include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode
2505           character database to 6.3.0.
2506         * tests/api_unicode.cc: Add tests for U+061C, added in 6.3.0.
2508 Fri Dec 20 00:20:01 GMT 2013  Olly Betts <olly@survex.com>
2510         * backends/dbfactory.cc: Clear any backend flag passed in before
2511           passing the flags when opening stub databases, fixing test failure
2512           in replicate1 caused by recent change adding
2513           Xapian::DB_BACKEND_STUB.
2515 Thu Dec 19 23:11:32 GMT 2013  Olly Betts <olly@survex.com>
2517         * tests/api_backend.cc: Simplify database creation in testcase
2518           blocksize1.
2520 Thu Dec 19 23:10:37 GMT 2013  Olly Betts <olly@survex.com>
2522         * backends/dbfactory.cc: Tweak conditionals around $XAPIAN_PREFER_BRASS
2523           check.
2525 Thu Dec 19 23:09:30 GMT 2013  Olly Betts <olly@survex.com>
2527         * api/replication.cc,backends/dbfactory.cc,docs/deprecation.rst,
2528           docs/overview.rst,include/xapian/constants.h,
2529           include/xapian/dbfactory.h,tests/api_backend.cc,tests/api_db.cc:
2530           Add Xapian::DB_BACKEND_STUB and deprecate Xapian::Auto::open_stub().
2532 Thu Dec 19 06:46:15 GMT 2013  Olly Betts <olly@survex.com>
2534         * docs/deprecation.rst: Update example version to a more recent one.
2536 Thu Dec 19 04:01:31 GMT 2013  Olly Betts <olly@survex.com>
2538         * docs/deprecation.rst,include/xapian/dbfactory.h,tests/api_db.cc,
2539           tests/harness/: Deprecate Xapian::Brass::open() and
2540           Xapian::Chert::open() in favour of the new Xapian::DB_BACKEND_BRASS
2541           and Xapian::DB_BACKEND_CHERT flags.
2543 Thu Dec 19 01:17:02 GMT 2013  Olly Betts <olly@survex.com>
2545         * api/compactor.cc,backends/brass/,backends/chert/chert_database.cc,
2546           backends/chert/chert_database.h,backends/database.h,
2547           backends/dbcheck.cc,backends/dbfactory.cc,include/xapian/constants.h,
2548           include/xapian/database.h,include/xapian/dbfactory.h: Add flags
2549           which can be bitwise OR-ed into the second argument when opening a
2550           writable datase: DB_NO_SYNC (to disable use of fsync, etc) and
2551           DB_DANGEROUS (to enable in-place updates).  WritableDatabase
2552           can now be constructed from just a filename (defaulting to opening
2553           the database with DB_CREATE_OR_OPEN).
2555 Thu Dec 19 00:11:26 GMT 2013  Olly Betts <olly@survex.com>
2557         * tests/harness/backendmanager_multi.cc: Fix comment typo.
2559 Wed Dec 18 23:52:49 GMT 2013  Olly Betts <olly@survex.com>
2561         * backends/brass/brass_table.cc,backends/chert/chert_table.cc,
2562           tests/api_backend.cc: Fix handling of invalid block sizes - the
2563           size gets fixed as documented, but the uncorrected size was passed
2564           to the base file.  Also, abort() was called on 0.
2566 Wed Dec 18 22:48:18 GMT 2013  Olly Betts <olly@survex.com>
2568         * api/replication.cc,backends/brass/brass_check.cc,
2569           backends/brass/brass_database.cc,backends/chert/chert_check.cc,
2570           backends/chert/chert_database.cc,backends/database.h,
2571           backends/dbcheck.cc,bin/xapian-tcpsrv.cc,include/Makefile.mk,
2572           include/xapian.h,include/xapian/database.h,net/remoteserver.cc:
2573           Move Xapian::DB_* and Xapian:DBCHECK_* constants into
2574           xapian/constants.h.
2576 Wed Dec 18 22:30:23 GMT 2013  Olly Betts <olly@survex.com>
2578         * backends/brass/brass_database.cc,backends/chert/chert_database.cc:
2579           Include xapian/*.h with "" not <> inside the library.
2581 Wed Dec 18 22:17:15 GMT 2013  Olly Betts <olly@survex.com>
2583         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
2584           Include only the needed xapian/*.h headers (rather than xapian.h) to
2585           reduce inter-file dependencies within the library.
2587 Wed Dec 18 03:24:22 GMT 2013  Olly Betts <olly@survex.com>
2589         * tests/runtest.in: Report if a test is being run under eatmydata,
2590           like we do for running under valgrind.
2592 Wed Dec 18 02:43:47 GMT 2013  Olly Betts <olly@survex.com>
2594         * backends/brass/brass_version.h,backends/chert/chert_version.h:
2595           Comment out unused set_uuid() and set_uuid_string() methods - they
2596           may be useful in future, but we aren't currently using them.  Also
2597           make set_uuid() take a const pointer.
2599 Wed Dec 18 02:40:18 GMT 2013  Olly Betts <olly@survex.com>
2601         * HACKING,configure.ac,tests/runtest.in: Automatically probe for and
2602           hook in eatmydata to the testsuite using the wrapper script it now
2603           includes.
2605 Wed Dec 18 01:21:07 GMT 2013  Olly Betts <olly@survex.com>
2607         * HACKING: Update website update info.
2609 Sat Dec 14 06:01:33 GMT 2013  Olly Betts <olly@survex.com>
2611         * weight/dlhweight.cc,weight/dphweight.cc: Whitespace tweak.
2613 Fri Dec 13 21:06:28 GMT 2013  Olly Betts <olly@survex.com>
2615         * backends/brass/brass_cursor.cc,backends/brass/brass_cursor.h,
2616           backends/brass/brass_table.cc: Reference count blocks in the
2617           btree cursor, so cursors can cheaply share blocks.  This can
2618           significantly reduce the amount of memory used for cursors
2619           for queries which contain a lot of terms (e.g. wildcards which
2620           expand to a lot of terms).
2622 Thu Dec 12 22:37:22 GMT 2013  Olly Betts <olly@survex.com>
2624         * backends/brass/brass_btreebase.cc: Add assertions that we don't read
2625           beyond the end of the freespace bitmap.
2627 Thu Dec 12 22:25:04 GMT 2013  Olly Betts <olly@survex.com>
2629         * matcher/msetcmp.cc: Fix sense of reverse parameter to
2630           Enquire::set_sort_by_relevance_then_value.  Reported by "boomboo" on
2631           IRC.
2632         * tests/api_db.cc: Fix testcase sortrel1.
2634 Thu Dec 12 19:47:46 GMT 2013  Olly Betts <olly@survex.com>
2636         * backends/brass/: Make Brass::Cursor members n and p private.
2638 Thu Dec 12 19:46:23 GMT 2013  Olly Betts <olly@survex.com>
2640         * backends/brass/brass_check.cc,backends/brass/brass_table.cc: Add
2641           const to a few pointers we only read through.
2643 Thu Dec 12 09:04:13 GMT 2013  Olly Betts <olly@survex.com>
2645         * configure.ac: Improve reporting of GCC version.
2647 Thu Dec 12 09:01:26 GMT 2013  Olly Betts <olly@survex.com>
2649         * tests/api_query.cc,unicode/description_append.cc: Escape \x7f in
2650           object descriptions.
2652 Wed Dec 11 23:40:37 GMT 2013  Olly Betts <olly@survex.com>
2654         * api/leafpostlist.cc,api/leafpostlist.h,backends/brass/,
2655           matcher/localsubmatch.cc,matcher/localsubmatch.h,
2656           matcher/queryoptimiser.h: Under brass, optimise the turning of a
2657           query into a postlist to copy the cursor blocks for the previous
2658           term's postlist.  This is particularly effective for wildcard
2659           queries which expand to a lot of terms.
2661 Wed Dec 11 22:05:34 GMT 2013  Olly Betts <olly@survex.com>
2663         * backends/brass/brass_postlist.h: We don't have a
2664           BrassModifiedPostList class, so we don't need protected members in
2665           BrassPostList for it to use.
2667 Wed Dec 11 04:46:58 GMT 2013  Olly Betts <olly@survex.com>
2669         * weight/bm25weight.cc: Fix case where (k1 == 0 || b == 0) but k2 != 0.
2670           Reported by "boomboo" on IRC.
2671         * tests/api_weight.cc: Add regression test bm25weight5.
2673 Wed Dec 04 05:44:29 GMT 2013  Olly Betts <olly@survex.com>
2675         * NEWS: Update from 1.2.16 and ChangeLog.
2677 Mon Dec 02 02:34:43 GMT 2013  Olly Betts <olly@survex.com>
2679         * configure.ac: Clarify version of MSVCRT which we require for mingw.
2681 Fri Nov 29 04:21:46 GMT 2013  Olly Betts <olly@survex.com>
2683         * configure.ac: Fix typo in previous commit.
2685 Fri Nov 29 03:48:24 GMT 2013  Olly Betts <olly@survex.com>
2687         * configure.ac: Report GCC version.
2689 Wed Nov 27 04:06:32 GMT 2013  Olly Betts <olly@survex.com>
2691         * Backport change from brass:
2692         * backends/chert/chert_table.cc: Check if the block we want is in the
2693           internal cursor for a read-only table too - it isn't needed for
2694           correctness in this case, but it is more efficient not to reload a
2695           block which we already have.
2697 Sun Nov 24 23:05:37 GMT 2013  Olly Betts <olly@survex.com>
2699         * NEWS: Update from ChangeLog.
2701 Fri Nov 22 20:18:43 GMT 2013  Olly Betts <olly@survex.com>
2703         * backends/brass/brass_databasereplicator.cc,
2704           backends/brass/brass_databasereplicator.h: compression_stream.h
2705           isn't used in brass_databasereplicator.h, so move include to
2706           brass_databasereplicator.cc.
2708 Fri Nov 22 01:22:32 GMT 2013  Olly Betts <olly@survex.com>
2710         * queryparser/queryparser.lemony: Minor tweak to structuring of tests
2711           in check_infix().
2713 Sat Nov 09 08:51:27 GMT 2013  Olly Betts <olly@survex.com>
2715         * backends/brass/brass_table.cc: Check if the block we want is in the
2716           internal cursor for a read-only table too - it isn't needed for
2717           correctness in this case, but it is more efficient not to reload a
2718           block which we already have.
2720 Sat Nov 09 08:48:02 GMT 2013  Olly Betts <olly@survex.com>
2722         * backends/brass/: Use a separate cursor for each position list - now
2723           we're ordering the position B-tree by term first, phrase matching was
2724           causing the cursor to cycle between disparate areas of the B-tree,
2725           and it would have to reread the same blocks over and over.
2727 Fri Nov 08 09:57:52 GMT 2013  Olly Betts <olly@survex.com>
2729         * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Add
2730           check for the database being closed in read_block(), which fixes
2731           pythontest.py testcase valuemods.
2733 Fri Nov 08 08:58:48 GMT 2013  Olly Betts <olly@survex.com>
2735         * api/maptermlist.h,api/termlist.cc,api/termlist.h,backends/brass/:
2736           Avoid two vector copies when storing term positions in most common
2737           cases.
2739 Fri Nov 08 08:57:07 GMT 2013  Olly Betts <olly@survex.com>
2741         * configure.ac: Bump LIBRARY_VERSION_INFO.
2743 Thu Nov 07 16:14:23 GMT 2013  Olly Betts <olly@survex.com>
2745         * backends/brass/brass_database.cc,
2746           backends/brass/brass_positionlist.cc,
2747           backends/brass/brass_positionlist.h: There's no need to pass around
2748           an end PositionIterator, and it's actually slightly more efficient
2749           not to.
2751 Thu Nov 07 16:11:27 GMT 2013  Olly Betts <olly@survex.com>
2753         * backends/brass/: Batch up positionlist changes in memory and write
2754           them out in key order.
2756 Thu Nov 07 15:30:48 GMT 2013  Olly Betts <olly@survex.com>
2758         * backends/brass/brass_positionlist.h,backends/brass/brass_version.cc:
2759           Change positionlist keys to be ordered by term first rather than
2760           docid first, which helps phrase searching significantly.
2762 Wed Nov 06 17:12:29 GMT 2013  Olly Betts <olly@survex.com>
2764         * backends/brass/brass_values.cc,backends/brass/brass_values.h,
2765           backends/chert/chert_values.cc,backends/chert/chert_values.h: Reuse
2766           a cursor for reading values from valuestreams rather than creating
2767           a new one each time.  This can dramatically reduce the number of
2768           blocks redundantly reread when sorting by value.  The rereads will
2769           generally get served from VM cache, but there's still an overhead
2770           to that.
2772 Tue Nov 05 16:28:08 GMT 2013  Olly Betts <olly@survex.com>
2774         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
2775           include/xapian/query.h,tests/api_query.cc: Having a separate 'type'
2776           enum seems to just make for clumsier code, so merged the LEAF_*
2777           values into the 'op' enum, add LEAF_MATCH_ALL and LEAF_MATCH_NOTHING
2778           and return when appropriate, and add test coverage.
2780 Tue Nov 05 15:20:15 GMT 2013  Olly Betts <olly@survex.com>
2782         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
2783           include/xapian/query.h: Add methods to allow introspection on
2784           Query objects - currently you can read the type/operator, how many
2785           subqueries there are, and get a particular subquery.  For a
2786           query which is a term, Query::get_terms_begin() allows you to
2787           get read the term.  (see #159)
2789 Mon Nov 04 19:06:38 GMT 2013  Olly Betts <olly@survex.com>
2791         * examples/quest.cc: Add --check-at-least option to quest.
2793 Thu Oct 24 04:38:52 GMT 2013  Olly Betts <olly@survex.com>
2795         * configure.ac,tests/soaktest/soaktest.cc: If srandom() and random()
2796           aren't available, use srand() and rand() instead.
2798 Thu Oct 24 02:34:06 GMT 2013  Olly Betts <olly@survex.com>
2800         * common/safewindows.h: Define WINVER to 0x0500 if not otherwise set,
2801           so we get new interfaces like MEMORYSTATUSEX under mingw.
2803 Thu Oct 24 02:11:36 GMT 2013  Olly Betts <olly@survex.com>
2805         * tests/harness/backendmanager_remotetcp.cc: Need cstdlib for free
2806           under mingw.
2808 Thu Oct 24 02:11:05 GMT 2013  Olly Betts <olly@survex.com>
2810         * configure.ac,tests/api_replicate.cc,tests/queryparsertest.cc,
2811           tests/termgentest.cc: Probe for _putenv_s() in configure as mingw
2812           doesn't provide it.
2814 Thu Oct 24 01:23:14 GMT 2013  Olly Betts <olly@survex.com>
2816         * configure.ac: Don't unset CC as it's used by libtool under mingw.
2818 Thu Oct 24 01:17:07 GMT 2013  Olly Betts <olly@survex.com>
2820         * net/tcpserver.cc: Fix mingw build error.
2822 Thu Oct 24 01:00:18 GMT 2013  Olly Betts <olly@survex.com>
2824         * common/omassert.h: Suppress "unused local typedef" warnings from
2825           GCC 4.8.
2827 Wed Oct 23 20:00:05 GMT 2013  Olly Betts <olly@survex.com>
2829         * common/realtime.h: Rework RealTime::to_timeval() under __WIN32__ to
2830           avoid having to pull in safewinsock2.h,
2832 Wed Oct 23 12:39:53 GMT 2013  Olly Betts <olly@survex.com>
2834         * common/realtime.h: Under __WIN32__, we need safewinsock2.h for
2835           struct timeval.
2837 Wed Oct 23 10:21:02 GMT 2013  Olly Betts <olly@survex.com>
2839         * common/omassert.h: If the compiler supports C++11, use
2840           static_assert to implement CompileTimeAssert.
2842 Wed Oct 23 10:02:50 GMT 2013  Olly Betts <olly@survex.com>
2844         * common/realtime.h,net/tcpclient.cc: Fix mingw build errors.
2846 Wed Oct 23 09:50:00 GMT 2013  Olly Betts <olly@survex.com>
2848         * common/win32_uuid.cc: Fix mingw compiler warning.
2850 Wed Oct 23 04:19:05 GMT 2013  jiangwen jiang <jiangwen127@gmail.com>
2852         * api/omdocument.cc,api/query.cc: Add more LOGCALL annotations.
2854 Tue Oct 22 03:09:48 GMT 2013  Olly Betts <olly@survex.com>
2856         * HACKING: Note we now use doxygen 1.8.5 for 1.3.x snapshots and
2857           releases.
2859 Mon Oct 21 01:55:48 GMT 2013  Olly Betts <olly@survex.com>
2861         * queryparser/lemon.c: Sync change from upstream: "Fix a harmless
2862           compiler warning in lemon.c."  Generated code is identical, at least
2863           on x86-64 Debian wheezy.
2865 Mon Oct 21 01:52:12 GMT 2013  Olly Betts <olly@survex.com>
2867         * queryparser/lemon.c: Sync change from upstream: "In the lemon parser
2868           generator, change all hashes to unsigned to avoid potential problems
2869           with signed integer overflow."  Generated code is identical, at
2870           least on x86-64 Debian wheezy.
2872 Sat Oct 19 06:38:48 GMT 2013  Olly Betts <olly@survex.com>
2874         * backends/flint_lock.cc: Under cygwin, use cygwin_conv_path() if
2875           using a new enough cygwin version, rather than the now deprecated
2876           cygwin_conv_to_win32_path().  Reported by "Haroogan" on the
2877           xapian-devel mailing list.
2879 Sat Oct 19 00:36:06 GMT 2013  Olly Betts <olly@survex.com>
2881         * configure.ac: Simplify test for uuid_unparse_lower().  (see #626)
2883 Sat Oct 19 00:21:37 GMT 2013  Olly Betts <olly@survex.com>
2885         * Makefile.am,configure.ac: Split XAPIAN_LIBS out of XAPIAN_LDFLAGS.
2886           (fixes#626)
2888 Fri Oct 18 11:51:40 GMT 2013  Olly Betts <olly@survex.com>
2890         * geospatial/geoencode.cc: Use lround() instead of round(), since we
2891           want the result as an int.  GCC 4.4.3 seems to optimise to use
2892           lround() anyway, but other compilers may not.
2894 Fri Oct 18 11:44:10 GMT 2013  Olly Betts <olly@survex.com>
2896         * geospatial/geoencode.cc: Include <math.h> for round() (fixes #628).
2898 Tue Oct 15 03:16:04 GMT 2013  Olly Betts <olly@survex.com>
2900         * include/xapian/enquire.h,include/xapian/unicode.h: Mark internal
2901           methods which are public for implementation convenience as
2902           "@private" for doxygen where they weren't already.
2904 Mon Oct 14 09:45:13 GMT 2013  Olly Betts <olly@survex.com>
2906         * include/xapian.h: Mark vinfo struct and get_vinfo_() function as
2907           @private for doxygen.
2909 Thu Oct 10 10:36:45 GMT 2013  Olly Betts <olly@survex.com>
2911         * include/xapian/: Methods and functions which take a string to
2912           unserialise now consistently call that parameter "serialised".
2914 Mon Oct 07 04:08:14 GMT 2013  Olly Betts <olly@survex.com>
2916         * tests/zlib-vg.c: Fix two warnings when compiled with clang.
2918 Fri Oct 04 19:46:16 GMT 2013  Olly Betts <olly@survex.com>
2920         * backends/brass/brass_check.cc,backends/chert/chert_check.cc: Correct
2921           failure message which talks above the root block when it's actually
2922           testing a leaf key.
2924 Fri Oct 04 04:51:39 GMT 2013  Olly Betts <olly@survex.com>
2926         * backends/brass/brass_check.cc,backends/chert/chert_check.cc: Escape
2927           invalid UTF-8 data in keys and tags reported by xapian-check, using
2928           the same code we use to clean up string in object descriptions.
2930 Fri Oct 04 04:50:52 GMT 2013  Olly Betts <olly@survex.com>
2932         * backends/brass/brass_check.cc,backends/chert/chert_check.cc: Fix
2933           xapian-check to report block numbers correctly for links within the
2934           B-tree.
2936 Thu Oct 03 07:35:44 GMT 2013  Olly Betts <olly@survex.com>
2938         * backends/brass/brass_dbcheck.cc,backends/chert/chert_dbcheck.cc: If
2939           the METAINFO key is missing, only report it once per table.
2941 Sat Sep 28 09:27:51 GMT 2013  Olly Betts <olly@survex.com>
2943         * include/xapian.h: Hide struct vinfo and get_vinfo_() from SWIG and
2944           doxygen.
2946 Sat Sep 28 06:25:44 GMT 2013  Olly Betts <olly@survex.com>
2948         * api/version.cc,include/xapian.h: Reimplement version functions to
2949           use a single function in libxapian which returns a pointer to a
2950           static const struct containing the version information, with inline
2951           wrappers in the API header which call this.  This means we only need
2952           one relocation instead of 4.
2953         * tests/api_none.cc: New testcase version1 to provide coverage for the
2954           version API functions.
2956 Fri Sep 27 22:53:15 GMT 2013  Olly Betts <olly@survex.com>
2958         * api/omenquire.cc,include/xapian/enquire.h,tests/api_anydb.cc: Fix
2959           backwards compatibility get_eset() wrapper to allow for the optional
2960           parameters which were supported before.  Also, just inline it from
2961           the API header.
2963 Fri Sep 27 11:19:50 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
2965         * api/omenquire.cc,api/omenquireinternal.h,expand/,
2966           include/xapian/enquire.h,tests/api_anydb.cc: Add support for the Bo1
2967           query expansion scheme.
2969 Thu Sep 26 04:11:49 GMT 2013  Olly Betts <olly@survex.com>
2971         * tests/api_weight.cc: Don't pass integer arguments to log() to avoid
2972           ambiguity errors with some compilers.  (fixes #627)
2974 Thu Sep 26 02:02:24 GMT 2013  Olly Betts <olly@survex.com>
2976         * backends/brass/,backends/chert/,backends/dbcheck.cc: Fix database
2977           consistency checking to always open all the tables at the same
2978           revision, which could lead to false errors being reported after
2979           a commit interrupted by the process being killed or the machine
2980           crashing.  Reported by Joey Hess in http://bugs.debian.org/724610
2982 Wed Sep 25 02:21:29 GMT 2013  Olly Betts <olly@survex.com>
2984         * tests/queryparsertest.cc: Add testcase for FieldProcessor on boolean
2985           prefix with quoted contents.
2987 Wed Sep 25 02:16:55 GMT 2013  Olly Betts <olly@survex.com>
2989         * queryparser/queryparser.lemony: Fix comment typo.
2991 Wed Sep 25 02:13:20 GMT 2013  Olly Betts <olly@survex.com>
2993         * api/: Split QueryVector into a template SmallVector class and then
2994           'typedef SmallVector<Query> QueryVector;', as it would be good to
2995           use the same approach for Database internals.
2997 Tue Sep 24 09:59:05 GMT 2013  Olly Betts <olly@survex.com>
2999         * .gitignore,xapian-core.spec.in: Update two references to .tar.gz
3000           files.
3002 Tue Sep 24 09:54:42 GMT 2013  Olly Betts <olly@survex.com>
3004         * docs/install.rst: Fix typo (bogus extra 'and');
3006 Tue Sep 24 09:54:01 GMT 2013  Olly Betts <olly@survex.com>
3008         * configure.ac,docs/install.rst: Compress source tarballs with xz
3009           instead of gzip.
3011 Mon Sep 23 12:58:23 GMT 2013  Olly Betts <olly@survex.com>
3013         * common/realtime.h,configure.ac,matcher/multimatch.cc: Implement
3014           RealTime::sleep() using nanosleep() where it's available, since
3015           it has a simpler API and a finer granularity than select().
3017 Mon Sep 23 12:27:37 GMT 2013  Olly Betts <olly@survex.com>
3019         * common/realtime.h,net/remoteconnection.cc,net/tcpclient.cc: Add
3020           RealTime::to_timeval() helper function to break a time interval
3021           as a double into a struct timeval.  This uses modf() which gives
3022           more compact and faster code than using fmod() as we previously
3023           did.
3025 Mon Sep 23 08:20:03 GMT 2013  Olly Betts <olly@survex.com>
3027         * common/realtime.h,configure.ac: Use clock_gettime() to implement
3028           RealTime::now() where it's available.
3030 Mon Sep 16 11:53:28 GMT 2013  Olly Betts <olly@survex.com>
3032         * api/,backends/brass/brass_postlist.cc,
3033           backends/remote/net_postlist.cc,backends/slowvaluelist.cc,
3034           expand/esetinternal.cc,include/xapian/unicode.h,
3035           matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc,
3036           tests/api_query.cc,tests/queryparsertest.cc,unicode/: Fix all
3037           get_description() methods to always return UTF-8 text.  (fixes #620)
3039 Mon Sep 16 11:47:16 GMT 2013  Olly Betts <olly@survex.com>
3041         * include/xapian/unicode.h: Document how Utf8Iterator handles invalid
3042           UTF-8.
3044 Mon Sep 16 11:19:48 GMT 2013  Olly Betts <olly@survex.com>
3046         * tests/queryparsertest.cc: Add test coverage for explicit synonym of
3047           a term with a prefix (e.g. ~foo:search).
3049 Fri Sep 06 07:11:29 GMT 2013  Olly Betts <olly@survex.com>
3051         * api/valueiterator.cc,tests/api_backend.cc: Don't segfault is
3052           skip_to() or check() are called on a ValueIterator which is already
3053           at_end().
3055 Fri Sep 06 06:52:49 GMT 2013  Olly Betts <olly@survex.com>
3057         * api/positioniterator.cc,api/postingiterator.cc,api/termiterator.cc,
3058           tests/api_backend.cc: Don't segfault if skip_to() is called on an
3059           iterator which is already at_end().  Reported by David Bremner.
3061 Wed Sep 04 04:52:50 GMT 2013  Olly Betts <olly@survex.com>
3063         * weight/weightinternal.cc: TermFreqs now tracks collection frequency,
3064           so make TermFreqs::get_description() report it.
3066 Thu Aug 29 01:30:45 GMT 2013  Olly Betts <olly@survex.com>
3068         * matcher/andmaybepostlist.cc,matcher/multiandpostlist.h: Fix
3069           assertion failure for when an OrPostList decays to an AndPostList
3070           - the ordering of the subqueries by estimated termfreq may not be
3071           the same as it was when the OrPostList was constructed, as the
3072           subqueries may themselves have decayed.  Reported by Michel
3073           Pelletier.
3075 Fri Aug 23 03:17:33 GMT 2013  Olly Betts <olly@survex.com>
3077         * m4-macros/xapian-1.3.m4: Handle empty or unset XAPIAN_CONFIG
3078           correctly.
3080 Mon Jul 15 12:01:17 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3082         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3083           tests/api_weight.cc,weight/Makefile.mk,weight/dphweight.cc: Add an
3084           implementation of DfR weighting scheme DPH.
3086 Sun Jul 14 07:39:37 GMT 2013  Olly Betts <olly@survex.com>
3088         * include/xapian/weight.h,weight/pl2weight.cc: Optimise PL2Weight to
3089           only calculate 2 logs per call to get_sumpart() instead of 4 by
3090           precalculating three document-independent values in init().
3092 Sun Jul 14 07:04:52 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3094         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3095           tests/api_weight.cc,weight/Makefile.mk,weight/pl2weight.cc: Add an
3096           implementation of DfR weighting scheme PL2.
3098 Sat Jul 13 11:24:20 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3100         * weight/tfidfweight.cc: Explicitly cast argument of log() to double,
3101           as xlC doesn't manage to chose an overloaded form to call otherwise.
3103 Sat Jul 13 07:29:25 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3105         * include/xapian/weight.h,tests/api_weight.cc,
3106           tests/generate-api_generated,weight/: Fix new weighting schemes to
3107           work with OP_SCALE_WEIGHT.
3109 Wed Jul 10 12:57:01 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3111         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3112           tests/api_weight.cc,weight/Makefile.mk,weight/dlhweight.cc: Add an
3113           implementation of DfR weighting scheme DLH.
3115 Wed Jul 10 07:38:15 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3117         * expand/expandweight.h: Track collection_freq and totlen restricted
3118           to the RSet in preparation for supporting DfR query expansion
3119           schemes.
3121 Mon Jul 08 06:27:05 GMT 2013  Olly Betts <olly@survex.com>
3123         * weight/Makefile.mk: Normalise whitespace in BB2 change.
3125 Sun Jul 07 12:29:48 GMT 2013  Olly Betts <olly@survex.com>
3127         * weight/bb2weight.cc: New file for BB2Weight which I failed to
3128           commit.
3130 Sun Jul 07 11:51:45 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3132         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3133           tests/api_weight.cc,weight/Makefile.mk: Add implementation of DfR
3134           weighting scheme BB2.
3136 Sat Jul 06 02:07:13 GMT 2013  Olly Betts <olly@survex.com>
3138         * api/omdatabase.cc: Fix add_document() to always use exactly the next
3139           docid after get_lastdocid() in the multidatabase case.
3141 Fri Jul 05 06:19:55 GMT 2013  Olly Betts <olly@survex.com>
3143         * backends/dbfactory.cc: Allow open a stub database containing
3144           multiple subdatabases as a WritableDatabase.
3146 Thu Jul 04 06:29:56 GMT 2013  Olly Betts <olly@survex.com>
3148         * tests/harness/backendmanager.cc,tests/harness/index_utils.cc,
3149           tests/harness/index_utils.h: Simplify the FileIndexer class.
3151 Thu Jul 04 06:09:06 GMT 2013  Olly Betts <olly@survex.com>
3153         * tests/harness/backendmanager_multi.cc,tests/harness/index_utils.cc,
3154           tests/harness/index_utils.h: Make use of the new writable
3155           multidatabase feature to simplify the multi-database handling in the
3156           test harness.
3158 Wed Jul 03 13:58:46 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3160         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3161           tests/api_weight.cc,weight/Makefile.mk,weight/ineb2weight.cc: Add
3162           implementation of DfR weighting scheme IneB2.
3164 Wed Jul 03 13:39:11 GMT 2013  Olly Betts <olly@survex.com>
3166         * include/xapian/weight.h: "please refer:" -> "please refer to:"
3168 Wed Jul 03 13:31:59 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3170         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3171           tests/api_weight.cc,weight/Makefile.mk,weight/ifb2weight.cc: Add
3172           implementation of DfR weighting scheme IfB2.
3174 Wed Jul 03 12:42:23 GMT 2013  Olly Betts <olly@survex.com>
3176         * common/safeuuid.h: Make a few tweaks to support AIX.
3178 Wed Jul 03 12:33:40 GMT 2013  Olly Betts <olly@survex.com>
3180         * common/safeuuid.h: Remove bogus take-address-of from uuid handling
3181           code for netbsd and openbsd.
3183 Wed Jul 03 11:56:05 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3185         * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3186           tests/api_weight.cc,weight/Makefile.mk,weight/inl2weight.cc: Add
3187           implementation of DfR weighting scheme InL2.
3189 Wed Jul 03 08:20:26 GMT 2013  Olly Betts <olly@survex.com>
3191         * api/error.cc,common/Makefile.mk,common/safenetdb.h,net/tcpclient.cc,
3192           net/tcpserver.cc: AIX needs _USE_IRS defined for hstrerror, so
3193           create safenetdb.h to take care of that.
3195 Wed Jul 03 07:34:13 GMT 2013  Olly Betts <olly@survex.com>
3197         * common/safeuuid.h: Add missing '#include <cstdlib>' and qualify free
3198           with std.
3200 Tue Jul 02 23:44:48 GMT 2013  Olly Betts <olly@survex.com>
3202         * api/omdatabase.cc: Add support for WritableDatabase with multiple
3203           subdatabases.
3205 Tue Jul 02 23:40:08 GMT 2013  Olly Betts <olly@survex.com>
3207         * api/omdatabase.cc,tests/api_none.cc: Trying to perform operations on
3208           a database with no subdatabases now throws InvalidOperationError not
3209           DocNotFoundError.
3211 Tue Jul 02 13:22:31 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3213         * tests/api_weight.cc: Extend checkstatsweight1 to check that
3214           Weight::get_collection_freq() returns the same number as
3215           Database::get_collection_freq().
3217 Tue Jul 02 05:00:30 GMT 2013  Olly Betts <olly@survex.com>
3219         * api/omenquire.cc,api/omenquireinternal.h,
3220           backends/remote/remote-database.cc,backends/remote/remote-database.h,
3221           common/remoteprotocol.h,configure.ac,docs/remote_protocol.rst,
3222           include/xapian/enquire.h,matcher/multimatch.cc,matcher/multimatch.h,
3223           net/remoteserver.cc,tests/api_postingsource.cc: Add
3224           Enquire::set_time_limit() method which sets a timelimit after which
3225           check_at_least will be disabled.
3227 Mon Jul 01 23:42:33 GMT 2013  Olly Betts <olly@survex.com>
3229         * tests/Makefile.am: Fix to actually removed cached databases before
3230           "make check".
3232 Mon Jul 01 22:21:41 GMT 2013  Olly Betts <olly@survex.com>
3234         * NEWS,api/queryinternal.cc,matcher/valuestreamdocument.h: Revert
3235           changes accidentally included in r17373.
3237 Sat Jun 29 12:39:10 GMT 2013  Olly Betts <olly@survex.com>
3239         * include/xapian/unicode.h,unicode/tclUniData.cc: Change
3240           Xapian::Unicode::Internal::get_character_info() to simply return
3241           Xapian::Unicode::UNASSIGNED for character outside unicode (ch >=
3242           0x110000) which avoids a special check for such values before
3243           we call get_character_info().
3245 Sat Jun 29 09:31:12 GMT 2013  Olly Betts <olly@survex.com>
3247         * tests/api_serialise.cc: Remove code from registry* testcases which
3248           tries to test the consequences of throwing an exception from a
3249           destructor - it's complex to ensure we don't leak memory while doing
3250           this (it seems GCC doesn't release the object in this case, but
3251           clang does), and it's generally frowned upon, plus C++11 makes
3252           destructors noexcept by default.
3254 Thu Jun 27 02:36:02 GMT 2013  Olly Betts <olly@survex.com>
3256         * weight/weightinternal.h: Initialise total_term_count to zero.
3257           Fixes failure of qp_flag_wildcard3 under valgrind in buildbot.
3259 Wed Jun 26 05:48:21 GMT 2013  Olly Betts <olly@survex.com>
3261         * backends/dbfactory.cc: '# if defined' -> '#ifdef' to match
3262           surrounding code better.
3264 Wed Jun 26 05:47:38 GMT 2013  Olly Betts <olly@survex.com>
3266         * backends/dbfactory.cc: Fix 'unused label' warning when chert backend
3267           is disabled.
3269 Wed Jun 26 05:40:29 GMT 2013  Olly Betts <olly@survex.com>
3271         * tests/queryparsertest.cc: Fix previous change to compile.
3273 Wed Jun 26 05:34:25 GMT 2013  Olly Betts <olly@survex.com>
3275         * tests/queryparsertest.cc: Change qp_scale1 to time 5 repetitions of
3276           the large query to help average out variations.
3278 Wed Jun 26 04:52:33 GMT 2013  Olly Betts <olly@survex.com>
3280         * configure.ac: Tweak to simplify diff against similar code in
3281           xapian-omega.
3283 Wed Jun 26 03:56:14 GMT 2013  Olly Betts <olly@survex.com>
3285         * api/matchspy.cc: Fix get_description() to work on a
3286           ValueCountMatchSpy with NULL internals - fixes matchspy5 testcase
3287           with remote backends when configured with --enable-log.
3288         * api/matchspy.cc: Add assertions that internal is non-NULL before
3289           using it.
3290         * include/xapian/matchspy.h: If internal is NULL, make
3291           ValueCountMatchSpy::get_total() return 0 rather than dereferencing
3292           NULL.
3294 Wed Jun 26 03:10:58 GMT 2013  Olly Betts <olly@survex.com>
3296         * tests/harness/testsuite.cc,tests/harness/testsuite.h: If
3297           -v/--verbose is specified more than once, show the diagnostic output
3298           for passing tests as well as failing/skipped ones.
3300 Wed Jun 26 03:08:08 GMT 2013  Olly Betts <olly@survex.com>
3302         * tests/api_scalability.cc: Change querypairwise1_helper to repeat the
3303           query build 100 times, as with a fast modern machine we were
3304           sometimes trying to so many subqueries that we would run out of
3305           stack.
3307 Wed Jun 26 02:55:20 GMT 2013  Olly Betts <olly@survex.com>
3309         * weight/tfidfweight.cc: Wrap long lines.
3311 Wed Jun 26 02:00:12 GMT 2013  Olly Betts <olly@survex.com>
3313         * configure.ac,m4-macros/xapian-1.3.m4: Fix stripping of _git suffix
3314           from snapshot versions not to relying of sed having support for \|
3315           as it doesn't on OS X.
3317 Tue Jun 25 13:21:44 GMT 2013  Olly Betts <olly@survex.com>
3319         * weight/tfidfweight.cc: Merge "impossible" cases in switch statements
3320           into possible ones which contain the same code, adding assertions
3321           that the "impossible" hasn't happened.  More robust and improves
3322           test coverage.
3324 Tue Jun 25 06:28:00 GMT 2013  Olly Betts <olly@survex.com>
3326         * m4-macros/xapian-1.3.m4: XO_LIB_XAPIAN now handles the user
3327           specifying a relative path in XAPIAN_CONFIG, e.g.: "./configure
3328           XAPIAN_CONFIG=../xapian-core/xapian-config"
3330 Tue Jun 25 05:34:41 GMT 2013  Olly Betts <olly@survex.com>
3332         * m4-macros/xapian-1.3.m4: Fix comment typo.
3334 Tue Jun 25 05:33:54 GMT 2013  Olly Betts <olly@survex.com>
3336         * configure.ac: Use AC_PATH_PROG instead of AC_PATH_PROG when there's
3337           only one name for the program to look for.
3339 Sun Jun 23 13:12:54 GMT 2013  Olly Betts <olly@survex.com>
3341         * configure.ac: clang doesn't support -Wstrict-null-sentinel or
3342           -Wlogical-op, so don't pass it these options.
3344 Sat Jun 22 13:40:40 GMT 2013  Olly Betts <olly@survex.com>
3346         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
3347           Fix failure when built with -D_GLIBCXX_DEBUG - we were modifying
3348           the top() element of a heap before calling pop(), such that the
3349           heap comparison operation (which is called when -D_GLIBCXX_DEBUG
3350           is on to verify the heap is valid) would read off the end of the
3351           data.  In a normal build, this issue would likely never manifest.
3353 Sat Jun 22 11:21:22 GMT 2013  Olly Betts <olly@survex.com>
3355         * common/bitstream.cc: Fix assertion in BitReader::decode().
3357 Sat Jun 22 09:13:13 GMT 2013  Olly Betts <olly@survex.com>
3359         * matcher/localsubmatch.cc: Fix assertion failure when built with
3360           --enable-assertions.  The behaviour when built without assertions
3361           happened to be correct.
3363 Fri Jun 21 13:10:53 GMT 2013  Olly Betts <olly@survex.com>
3365         * tests/unittest.cc: Add simple test for log2().
3367 Fri Jun 21 13:09:09 GMT 2013  Olly Betts <olly@survex.com>
3369         * common/Makefile.mk,common/log2.h,configure.ac: Add log2.h header
3370           which provides an implementation of log2() if it isn't available in
3371           the standard libraries.
3373 Fri Jun 14 13:20:58 GMT 2013  Olly Betts <olly@survex.com>
3375         * common/fd.h: Add missing header include guards.
3377 Fri Jun 14 13:19:44 GMT 2013  Olly Betts <olly@survex.com>
3379         * common/append_filename_arg.h,geospatial/geoencode.h: Fix header
3380           include guard names which don't match our naming conventions.
3382 Fri Jun 14 13:18:40 GMT 2013  Olly Betts <olly@survex.com>
3384         * backends/brass/brass_dbcheck.h,backends/chert/chert_dbcheck.h,
3385           backends/multi/multi_alltermslist.h: Fix header include guard macro
3386           names which don't match the source file names.
3388 Fri Jun 14 12:48:14 GMT 2013  Olly Betts <olly@survex.com>
3390         * common/compression_stream.h: Whitespace tweak.
3392 Thu Jun 13 13:58:14 GMT 2013  Olly Betts <olly@survex.com>
3394         * backends/chert/chert_positionlist.cc: Remove 'Assert(rd);' since rd
3395           is no longer a pointer.
3397 Thu Jun 13 13:28:43 GMT 2013  Olly Betts <olly@survex.com>
3399         * tests/harness/utestsuite.cc: Add missing GPL boilerplate and
3400           copyright statements.
3402 Thu Jun 13 13:26:07 GMT 2013  Olly Betts <olly@survex.com>
3404         * common/compression_stream.cc,common/compression_stream.h: Add
3405           missing GPL boilerplate and copyright statements.
3407 Thu Jun 13 13:24:34 GMT 2013  Olly Betts <olly@survex.com>
3409         * common/compression_stream.cc,common/compression_stream.h: Remove
3410           unused header includes; don't use "using namespace std;" in a
3411           header.
3413 Thu Jun 13 08:30:26 GMT 2013  Olly Betts <olly@survex.com>
3415         * backends/brass/brass_positionlist.cc: Remove 'Assert(rd);' since rd
3416           is no longer a pointer.
3418 Thu Jun 13 05:07:27 GMT 2013  Olly Betts <olly@survex.com>
3420         * common/compression_stream.h: Update include guard to match source
3421           file name.
3423 Thu Jun 13 02:38:20 GMT 2013  Olly Betts <olly@survex.com>
3425         * common/,net/length.h,net/serialise.h: Fix @file markup which wasn't
3426           actually in a doxygen comment.
3428 Thu Jun 13 02:14:22 GMT 2013  Olly Betts <olly@survex.com>
3430         * preautoreconf: Remove needless use of perl prototype.
3432 Tue Jun 11 00:40:37 GMT 2013  Olly Betts <olly@survex.com>
3434         * common/remoteprotocol.h,docs/remote_protocol.rst: Bump
3435           remote protocol version to 38.o.
3437 Tue Jun 11 00:37:01 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3439         * api/leafpostlist.cc,matcher/,net/serialise.cc,weight/weight.cc,
3440           weight/weightinternal.cc,weight/weightinternal.h: Make collection
3441           frequency available to Xapian::Weight subclasses.  Extracted from
3442           Gaurav Arora's LM branch.
3444 Wed May 22 10:04:25 GMT 2013  Olly Betts <olly@survex.com>
3446         * configure.ac: When generating ABI compatibility checks in
3447           xapian/version.h, pass $CXXFLAGS and $CPPFLAGS to $CXXCPP as they
3448           could contain options which affect the ABI (such as -fabi-version
3449           for GCC).  (Fixes #622)
3451 Wed May 22 04:20:39 GMT 2013  Olly Betts <olly@survex.com>
3453         * common/win32_uuid.cc: Microsoft GUIDs in binary form have reversed
3454           byte order in the first three components compared to standard UUIDs,
3455           so the same database would report a different UUID on Windows to
3456           on other platforms.  With this fix, the UUIDs of existing databases
3457           will appear to change on Windows (except in rare "palindronic" cases).
3459 Fri May 17 05:52:43 GMT 2013  Olly Betts <olly@survex.com>
3461         * docs/overview.rst: Correct documentation for stub files specifying
3462           "prog" remote databases.
3464 Thu May 16 05:47:40 GMT 2013  Olly Betts <olly@survex.com>
3466         * backends/chert/chert_dbcheck.cc: Code tweak for clarity.
3468 Thu May 16 05:46:42 GMT 2013  Olly Betts <olly@survex.com>
3470         * backends/chert/chert_dbcheck.cc: Fix database check that first docid
3471           in each doclength chunk is more than the last docid in the previous
3472           chunk - previously this didn't actually work.
3474 Thu May 16 05:45:04 GMT 2013  Olly Betts <olly@survex.com>
3476         * common/bitstream.h: Fix database check not to falsely report
3477           "position table: Junk after position data" whenever there are 7
3478           unused bits (7 is OK, *more* than 7 isn't).
3480 Tue May 14 12:42:11 GMT 2013  Olly Betts <olly@survex.com>
3482         * m4-macros/xapian-1.3.m4: Adjust XO_LIB_XAPIAN to strip _gitNNN
3483           suffix from snapshot versions.
3485 Sun May 12 06:11:36 GMT 2013  Olly Betts <olly@survex.com>
3487         * configure.ac: Simplify previous change.
3489 Sun May 12 06:06:47 GMT 2013  Olly Betts <olly@survex.com>
3491         * configure.ac: Handle git snapshot naming when calculating REVISION.
3493 Wed May 08 11:56:27 GMT 2013  Olly Betts <olly@survex.com>
3495         * HACKING,INSTALL,Makefile.am,README,docs/Makefile.am,docs/install.rst,
3496           docs/stemming.rst,languages/Makefile.mk,queryparser/Makefile.mk,
3497           tests/Makefile.am,tests/perftest/perftest.cc: SVN -> git.
3499 Wed May 08 08:51:22 GMT 2013  Olly Betts <olly@survex.com>
3501         * backends/brass/brass_version.cc,backends/chert/chert_version.cc:
3502           Remove unused '#include <cstdio>'.
3504 Mon May 06 11:10:25 GMT 2013  Olly Betts <olly@survex.com>
3506         * api/omenquire.cc,configure.ac,include/xapian/enquire.h: Merge two
3507           Enquire::get_eset() overloaded forms into one with a default value
3508           for parameter min_wt.
3510 Thu May 02 12:05:28 GMT 2013  Olly Betts <olly@survex.com>
3512         * NEWS,configure.ac: Update for 1.3.1.
3514 Thu May 02 11:13:30 GMT 2013  Olly Betts <olly@survex.com>
3516         * include/xapian/weight.h,tests/api_nodb.cc,tests/api_weight.cc,
3517           weight/tfidfweight.cc: Use lowercase letters for the TfIdfWeight
3518           descriptions to match what SMART uses.
3520 Wed May 01 05:13:07 GMT 2013  Olly Betts <olly@survex.com>
3522         * include/xapian/database.h: Work around Apple's OS X SDK defining a
3523           check() macro.
3525 Tue Apr 30 13:51:53 GMT 2013  Olly Betts <olly@survex.com>
3527         * NEWS: Update from ChangeLog.
3529 Mon Apr 29 03:09:16 GMT 2013  Olly Betts <olly@survex.com>
3531         * backends/brass/brass_dbcheck.cc,backends/chert/chert_dbcheck.cc:
3532           Use decode_interpolative_next() when checking database consistency.
3533           We also now complain about any junk after the position data.
3534         * common/bitstream.cc,common/bitstream.h: Remove the old version of
3535           decode_interpolative() which unpacks into a std::vector.
3537 Mon Apr 29 02:16:54 GMT 2013  Olly Betts <olly@survex.com>
3539         * backends/chert/chert_positionlist.cc,
3540           backends/chert/chert_positionlist.h: Backport positionlist changes
3541           from brass.
3543 Mon Apr 29 01:58:59 GMT 2013  Olly Betts <olly@survex.com>
3545         * backends/brass/brass_positionlist.cc: No need to initialise the
3546           BitReader object in the single-entry position list case.
3548 Mon Apr 29 01:58:10 GMT 2013  Olly Betts <olly@survex.com>
3550         * backends/brass/brass_positionlist.cc: Fix bug when reaching the last
3551           positionlist entry in skip_to().
3553 Mon Apr 29 00:46:10 GMT 2013  Olly Betts <olly@survex.com>
3555         * tests/api_posdb.cc: Fix comment typos.
3557 Mon Apr 29 00:27:42 GMT 2013  Olly Betts <olly@survex.com>
3559         * backends/brass/brass_positionlist.cc: Fix handling of single-entry
3560           position lists.
3562 Sun Apr 28 23:45:02 GMT 2013  Olly Betts <olly@survex.com>
3564         * backends/brass/brass_positionlist.cc: Fix BrassPositionList for case
3565           when there's no positional information for a term.
3567 Sun Apr 28 10:29:59 GMT 2013  Olly Betts <olly@survex.com>
3569         * backends/brass/brass_positionlist.cc: Simplify setting of
3570           have_started in BrassPositionList::skip_to().
3572 Sun Apr 28 10:19:52 GMT 2013  Olly Betts <olly@survex.com>
3574         * backends/brass/brass_positionlist.cc,
3575           backends/brass/brass_positionlist.h,common/bitstream.h: Make the
3576           BitReader object a member of BrassPositionList rather than tracking
3577           a pointer to it.
3579 Sun Apr 28 07:22:07 GMT 2013  Olly Betts <olly@survex.com>
3581         * backends/brass/brass_positionlist.cc,common/bitstream.h: Reuse the
3582           same BitReader object for each document rather than deleting the old
3583           one and creating a new one.
3585 Sun Apr 28 07:06:12 GMT 2013  Olly Betts <olly@survex.com>
3587         * backends/brass/brass_positionlist.cc: Move check for reaching the
3588           end after the next() in the loop in skip_to(), as we know we aren't
3589           at the end on the first iteration, and we've now handled the case of
3590           termpos == last before we get here.
3592 Sun Apr 28 07:04:54 GMT 2013  Olly Betts <olly@survex.com>
3594         * backends/brass/brass_positionlist.cc: We know what the last entry in
3595           the position list is, so special case skip_to(last_entry) to just
3596           move there rather than calling next() a lot of times.
3598 Sun Apr 28 07:03:57 GMT 2013  Olly Betts <olly@survex.com>
3600         * common/bitstream.h: We don't need to stack pos_j when doing lazy
3601           interpolative decoding.
3603 Sun Apr 28 06:48:01 GMT 2013  Olly Betts <olly@survex.com>
3605         * common/bitstream.h: Store j and k before pos_j and pos_k as it's
3606           fractionally more efficient.
3608 Sun Apr 28 06:44:32 GMT 2013  Olly Betts <olly@survex.com>
3610         * backends/brass/brass_positionlist.cc,
3611           backends/brass/brass_positionlist.h,common/bitstream.cc,
3612           common/bitstream.h: Hook up BrassPositionList to the new lazy
3613           interpolative decoder.
3615 Fri Apr 26 02:09:38 GMT 2013  Marius Tibeica <mtibeica@gmail.com>
3617         * common/bitstream.cc,common/bitstream.h: Support reading entries from
3618           an interpolative coded list one by one.
3620 Thu Apr 25 10:57:02 GMT 2013  Olly Betts <olly@survex.com>
3622         * docs/remote_protocol.rst: Correct error in documentation of
3623           REPLY_DOCDATA message.
3625 Thu Apr 25 10:44:56 GMT 2013  Marius Tibeica <mtibeica@gmail.com>
3627         * common/bitstream.cc: renamed my_fls to highest_order_bit.
3629 Thu Apr 25 06:49:48 GMT 2013  Olly Betts <olly@survex.com>
3631         * backends/remote/remote-database.cc,common/remoteprotocol.h,
3632           docs/remote_protocol.rst,net/remoteserver.cc: Prefix compress
3633           list of terms and metadata keys in the remote protocol.  
3634           This requires a remote protocol major version bump.
3636 Wed Apr 24 23:14:47 GMT 2013  Olly Betts <olly@survex.com>
3638         * queryparser/lemon.c,queryparser/queryparser.lt: Fix comment typos.
3640 Wed Apr 24 06:27:26 GMT 2013  Olly Betts <olly@survex.com>
3642         * include/xapian.h: Add catch for Wt defining a macro called slots,
3643           like we already do for Qt.
3645 Wed Apr 24 03:40:13 GMT 2013  Olly Betts <olly@survex.com>
3647         * NEWS: Update.
3649 Tue Apr 23 12:34:23 GMT 2013  Olly Betts <olly@survex.com>
3651         * backends/brass/brass_table.cc: Use a block's revision number to
3652           check if it was newly allocated in the current revision, and
3653           assert that the base file shows it block_free_at_start (previously
3654           the check and assertion were the other way around).
3656 Tue Apr 23 12:11:21 GMT 2013  Olly Betts <olly@survex.com>
3658         * HACKING: Note macports needed for development work.
3660 Tue Apr 23 11:41:17 GMT 2013  Olly Betts <olly@survex.com>
3662         * include/xapian/version_h.cc: Fix typo in doc comment.
3664 Tue Apr 23 11:39:30 GMT 2013  Olly Betts <olly@survex.com>
3666         * include/xapian/version_h.cc: Disable error for direct inclusion
3667           of xapian/version.h for now.
3669 Sun Apr 21 07:49:38 GMT 2013  Olly Betts <olly@survex.com>
3671         * include/xapian/version_h.cc: Fix quotes in new #error in version.h.
3673 Sun Apr 21 06:25:57 GMT 2013  Olly Betts <olly@survex.com>
3675         * configure.ac,generate-exceptions,include/xapian/: Give an error if
3676           user code tries to include API headers other than xapian.h directly.
3678 Sat Apr 20 10:12:23 GMT 2013  Olly Betts <olly@survex.com>
3680         * languages/compiler/generator.c: Generate '#include <config.h>' at
3681           the start of the stemmer code.
3683 Fri Apr 19 23:36:25 GMT 2013  Olly Betts <olly@survex.com>
3685         * configure.ac: Remove empty default cases.
3687 Wed Apr 17 03:06:57 GMT 2013  Olly Betts <olly@survex.com>
3689         * NEWS: Update from 1.2.15 and ChangeLog.
3691 Thu Apr 11 22:17:44 GMT 2013  Olly Betts <olly@survex.com>
3693         * backends/brass/brass_version.cc,backends/chert/chert_version.cc:
3694           Call io_sync() on the version file when we create it.
3696 Tue Apr 09 11:02:35 GMT 2013  Olly Betts <olly@survex.com>
3698         * bin/xapian-delve.cc: If -v is specified more than once, show even
3699           more info in some cases.
3701 Tue Apr 09 09:40:02 GMT 2013  Olly Betts <olly@survex.com>
3703         * tests/Makefile.am: Force automake to use the serial test driver,
3704           which requires automake 1.12 (to recognise the serial-tests driver).
3706 Mon Apr 08 06:30:40 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3708         * weight/: Added tfidfweight.cc containing the implementation of the
3709           TfIdfWeight class.
3711         * include/xapian/weight.h: Added TfIdfWeight class for the tf-idf
3712           weighting scheme.
3714         * tests/api_weight.cc: Added tests for TfIdfWeight.
3716         * tests/api_nodb.cc: Added simple tests for TfIdfWeight.
3718 Sat Apr 06 00:21:34 GMT 2013  Olly Betts <olly@survex.com>
3720         * m4-macros/xapian-1.3.m4: XO_LIB_XAPIAN now handles the user
3721           specifying XAPIAN_CONFIG without a path - e.g.: "./configure
3722           XAPIAN_CONFIG=xapian-config-1.3"
3724 Thu Apr 04 12:02:36 GMT 2013  Olly Betts <olly@survex.com>
3726         * common/Makefile.mk: Remove random comment.
3728 Thu Apr 04 10:06:53 GMT 2013  Olly Betts <olly@survex.com>
3730         * Makefile.am,configure.ac,tests/Makefile.am: Remove support for
3731           'configure --enable-quiet', 'make QUIET=' and 'make QUIET=y' -
3732           automake now supports 'configure --enable-silent-rules', 'make V=1'
3733           and 'make V=0' which are broadly equivalent and more standard.
3735 Thu Apr 04 09:58:35 GMT 2013  Olly Betts <olly@survex.com>
3737         * HACKING: Update to note that automake 1.12.2 is now a hard
3738           requirement.
3740 Tue Apr 02 10:22:44 GMT 2013  Olly Betts <olly@survex.com>
3742         * queryparser/lemon.c: Comment typo fixes.
3744 Tue Apr 02 09:47:14 GMT 2013  Olly Betts <olly@survex.com>
3746         * queryparser/lemon.c,queryparser/queryparser.lt: Sync with latest
3747           upstream version of lemon.  The only notable change is a bug fix for
3748           platforms where sizeof(long) < sizeof(void*) (LLP64 model).
3750 Tue Apr 02 05:51:12 GMT 2013  Olly Betts <olly@survex.com>
3752         * HACKING: Tell vim to syntax highlight as rst.
3754 Tue Apr 02 05:50:26 GMT 2013  Olly Betts <olly@survex.com>
3756         * HACKING: Update for recent changes to bootstrap.  In particular, we
3757           now bootstrap snapshots with automake 1.13.1.
3759 Fri Mar 29 05:18:11 GMT 2013  Olly Betts <olly@survex.com>
3761         * net/tcpclient.cc: Fix __WIN32__ conditional, accidentally broken in
3762           last change to this file.
3764 Thu Mar 28 04:19:26 GMT 2013  jiangwen jiang <jiangwen127@gmail.com>
3766         * api/expanddecider.cc,include/xapian/expanddecider.h,
3767           tests/api_anydb.cc,tests/api_nodb.cc: Add ExpandDeciderFilterPrefix
3768           class to only return terms with a particular prefix.  (fixes #467)
3770 Thu Mar 21 23:55:26 GMT 2013  Olly Betts <olly@survex.com>
3772         * tests/queryparsertest.cc: Add test coverage for change to
3773           QueryParser CJK handling in previous commit.
3775 Thu Mar 21 07:21:30 GMT 2013  Greg Banks <gnb@fastmail.fm>
3777         * queryparser/cjk-tokenizer.cc,queryparser/termgenerator_internal.cc,
3778           tests/termgentest.cc: Some CJK codepoints are also punctuation and
3779           hence not word characters, and should not really be used as fodder
3780           for generating N-grams.  Also fixes a pre-existing bug where every
3781           second sequence of N-grammable CJK characters in the text failed to
3782           generate the first 2-gram.
3784 Sun Mar 17 20:45:48 GMT 2013  Olly Betts <olly@survex.com>
3786         * common/pretty.h: Restore space after comma in output.
3788 Sun Mar 17 03:59:52 GMT 2013  Dan Colish <dcolish@gmail.com>
3790         * common/pretty.h: Correct recursion issue.
3792 Sun Mar 17 02:58:52 GMT 2013  Dan Colish <dcolish@gmail.com>
3794         * common/pretty.h: Resolve ambiguity by moving operator| to a member
3795           function of PrettyOStream
3797 Sat Mar 16 21:43:32 GMT 2013  Olly Betts <olly@survex.com>
3799         * queryparser/queryparser.lemony: std::less provides a total order over
3800           pointers, so we can just use that to implement
3801           filter_group_id::operator<() - we only need a consistent order so we
3802           can use it as the key to a std::map.
3804 Fri Mar 15 06:36:32 GMT 2013  Dan Colish <dcolish@gmail.com>
3806         * backends/brass/brass_table.cc,backends/chert/chert_table.cc,
3807           common/pretty.h: Avoid needlessly casting away const-ness in
3808           debug logging.
3810 Fri Mar 15 06:31:32 GMT 2013  Olly Betts <olly@survex.com>
3812         * matcher/multiandpostlist.cc,matcher/multixorpostlist.cc: Add a
3813           couple more LOGCALL annotations.
3815 Fri Mar 15 06:27:42 GMT 2013  Dan Colish <dcolish@gmail.com>
3817         * api/registry.cc,common/pretty.h: Fix incorrect LOGCALL return value.
3819 Fri Mar 15 06:24:11 GMT 2013  Olly Betts <olly@survex.com>
3821         * api/registry.cc,common/Makefile.mk,common/registryinternal.h:
3822           common/registryinternal.h is only included by api/registry.cc so
3823           just inline its contents.
3825 Fri Mar 15 06:11:14 GMT 2013  Olly Betts <olly@survex.com>
3827         * api/registry.cc: No need to explicitly default initialise std::map
3828           members or the base class.
3830 Fri Mar 08 04:05:31 GMT 2013  Olly Betts <olly@survex.com>
3832         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc: Fix
3833           multipass compaction not to damage document values, and to merge the
3834           database stats correctly.  (fixes #615)
3835         * tests/api_compact.cc: Add regression test compactmultipass1.
3837 Thu Mar 07 00:34:46 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3839         * tests/api_anydb.cc: Added tradweight4 testcase to test TradWeight
3840           with an RSet for weighting documents.
3842 Wed Mar 06 08:55:12 GMT 2013  Olly Betts <olly@survex.com>
3844         * HACKING: gs package has been replaced by ghostscript package in
3845           current Debian and Ubuntu releases.
3847 Tue Feb 19 04:17:19 GMT 2013  Olly Betts <olly@survex.com>
3849         * common/Tokeniseise.pm: Add the ability to append lines to the
3850           header.
3852 Fri Feb 15 05:37:09 GMT 2013  Olly Betts <olly@survex.com>
3854         * common/realtime.h: Fix RealTime::sleep() to calculate the delta to
3855           the time we want to sleep to the right way round.  Previously we
3856           wouldn't sleep if we were before the deadline, but would sleep if
3857           the deadline had already passed (and by the amount the deadline had
3858           passed)!  And on Windows, fix the sleep to be for the delta rather
3859           than 43+ years (the time elapsed since the start of 1970).  (Fixes
3860           #472)
3862 Fri Feb 15 04:09:28 GMT 2013  Olly Betts <olly@survex.com>
3864         * api/queryinternal.cc: Need <functional> for mem_fun().
3866 Fri Feb 15 03:56:32 GMT 2013  Olly Betts <olly@survex.com>
3868         * tests/harness/testsuite.cc: Don't provide explicit template types to
3869           make_pair - it isn't useful, and breaks with C++11.  Fixes build
3870           error with MSVC2012.
3872 Thu Jan 31 23:39:08 GMT 2013  Olly Betts <olly@survex.com>
3874         * common/Tokeniseise.pm: Put the binary chop tables with the larger
3875           ones last, so the offsets to the start of them are more likely to
3876           fit into a byte.
3878 Wed Jan 30 04:17:07 GMT 2013  Olly Betts <olly@survex.com>
3880         * common/Makefile.mk,common/Tokeniseise.pm,languages/Makefile.mk,
3881           languages/collate-sbl: Factor out the generic code to create a
3882           string-to-enum mapping table into a perl module so we can reuse
3883           it elsewhere.
3885 Mon Jan 28 01:44:53 GMT 2013  Olly Betts <olly@survex.com>
3887         * examples/quest.cc: Fix to build with Sun Studio 12 compiler.
3888           (ticket#611)
3890 Thu Jan 24 22:40:12 GMT 2013  Olly Betts <olly@survex.com>
3892         * common/Makefile.mk,common/keyword.cc,common/keyword.h: Commit new
3893           keyword lookup function needed by previous commit.
3895 Thu Jan 24 22:26:19 GMT 2013  Olly Betts <olly@survex.com>
3897         * languages/: Generate a compact and efficient table to convert
3898           language names to enum codes, which we can then use a C switch
3899           statement to dispatch.  The table first checks the token length,
3900           and then does a binary chop on tokens of the same length.  This
3901           is both faster and smaller than the approach we were using, with
3902           the benefit that the table is auto-generated.
3904 Wed Jan 23 00:51:42 GMT 2013  Olly Betts <olly@survex.com>
3906         * matcher/selectpostlist.cc,matcher/selectpostlist.h: Check document
3907           matches weight threshold before checking positional information,
3908           which speeds up slow phrase searches (tweaked version of
3909           positional-query-weight-check-first.patch from #394).
3911 Thu Jan 17 06:48:41 GMT 2013  Olly Betts <olly@survex.com>
3913         * tests/api_stem.cc: Extend stem2 to ensure description of the stemmer
3914           isn't the same as the description of Stem("none").  Fix description
3915           of testcase stemlangs2.
3917 Thu Jan 17 02:32:31 GMT 2013  Olly Betts <olly@survex.com>
3919         * HACKING: Update link to new home of autotools tutorial.
3921 Wed Jan 16 02:40:20 GMT 2013  Olly Betts <olly@survex.com>
3923         * HACKING,Makefile.am: Rename CHK_SOURCES to check_sources - variables
3924           ending _SOURCES usually have a special meaning in automake, so it's
3925           confusing to have one which doesn't.
3927 Wed Jan 16 01:55:50 GMT 2013  Olly Betts <olly@survex.com>
3929         * api/omenquire.cc: Don't cache documents retrieved by
3930           MSet::get_document() unless they were requested with fetch().  This
3931           avoids using a lot of memory when many MSet entries are retrieved.
3932           (Fixes #604)
3934 Wed Jan 09 11:49:58 GMT 2013  Olly Betts <olly@survex.com>
3936         * NEWS: Update from ChangeLog and 1.2 branch.
3938 Fri Jan 04 23:14:33 GMT 2013  Olly Betts <olly@survex.com>
3940         * net/progclient.cc: Fix typo so we actually use SOCK_CLOEXEC.
3942 Fri Jan 04 23:14:01 GMT 2013  Olly Betts <olly@survex.com>
3944         * common/safesyssocket.h: We need the same workaround for socket() too.
3946 Fri Jan 04 04:41:17 GMT 2013  Olly Betts <olly@survex.com>
3948         * common/safesyssocket.h: On Linux at least, sometimes SOCK_CLOEXEC is
3949           defined but the kernel doesn't handle it in socketpair(), so add a
3950           wrapper which will retry without SOCK_CLOEXEC in this case.  Noticed
3951           on Ubuntu precise.
3953 Sat Dec 29 17:53:30 GMT 2012  Olly Betts <olly@survex.com>
3955         * docs/quickstart.rst: Fix seriously outdated statement that Xapian
3956           doesn't create the database directory - that changed in 0.7.2
3957           (release 2003-07-11), pointed out by aarsh on #xapian.
3959 Thu Dec 27 06:06:30 GMT 2012  Olly Betts <olly@survex.com>
3961         * queryparser/queryparser.lemony: Adjust handling of Unicode
3962           opening/closing double quotes - if a quoted boolean term was started
3963           with ASCII double quote, then only ASCII double quote can end it, as
3964           otherwise it's impossible to quote a term containing Unicode double
3965           quotes.
3966         * tests/queryparsertest.cc: Update testcases.
3968 Sun Dec 23 18:16:52 GMT 2012  Olly Betts <olly@survex.com>
3970         * configure.ac: Fix typo in previous commit.
3972 Sun Dec 23 18:06:45 GMT 2012  Olly Betts <olly@survex.com>
3974         * configure.ac: Use the new flock()-based flint-compatible locking
3975           under DJGPP, and remove special cases to disable chert and brass
3976           under DJGPP (untested, as I no longer have a DJGPP setup or
3977           cross-compiler).
3979 Sun Dec 23 17:51:36 GMT 2012  Olly Betts <olly@survex.com>
3981         * backends/flint_lock.cc,backends/flint_lock.h: Add flock() based
3982           locking implementation, which is much simpler than using fcntl() due
3983           to saner semantics around releasing locks when closing other
3984           descriptors on the same file (at least on platforms where flock()
3985           isn't just a compatibility wrapper around fcntl()).  We can't simply
3986           switch to this without breaking locking compatibility with previous
3987           releases, though it might be useful for porting to platforms without
3988           fcntl() locking.  Also, flock() apparently doesn't work over NFS -
3989           perhaps that's OK, but we should at least check the failure mode.
3991 Sat Dec 22 06:29:23 GMT 2012  Olly Betts <olly@survex.com>
3993         * backends/flint_lock.cc: Only set close-on-exec on the lockfile fd if
3994           we are able to clear it in the child process, and clear it in the
3995           child process if we set it when we opened it.
3997 Sat Dec 22 06:14:40 GMT 2012  Olly Betts <olly@survex.com>
3999         * backends/flint_lock.cc,net/progclient.cc: Use SOCK_CLOEXEC with
4000           socketpair(), and then clear the close-on-exec flag for child process
4001           end of the pair before we call exec.
4003 Sat Dec 22 06:13:44 GMT 2012  Olly Betts <olly@survex.com>
4005         * net/progclient.cc: Remove O_CLOEXEC where we open stderr on /dev/null
4006           before calling exec as we want that fd to survive the exec!
4008 Sat Dec 22 05:53:12 GMT 2012  Olly Betts <olly@survex.com>
4010         * HACKING,backends/flint_lock.cc,common/Makefile.mk,
4011           common/safesyssocket.h,net/progclient.cc,net/tcpclient.cc,
4012           net/tcpserver.cc,tests/harness/backendmanager_remotetcp.cc:
4013           Use SOCK_CLOEXEC where available, and try FD_CLOEXEC if SOCK_CLOEXEC
4014           isn't available.
4016 Sat Dec 22 04:09:23 GMT 2012  Olly Betts <olly@survex.com>
4018         * backends/brass/,backends/chert/,backends/flint_lock.cc,
4019           common/debuglog.cc,common/replicate_utils.cc,common/safefcntl.h,
4020           net/progclient.cc,net/remoteconnection.cc,
4021           tests/harness/testsuite.cc: If O_CLOEXEC is supported, pass it to
4022           open() so fds we open are closed if the application using us calls
4023           exec().
4025 Fri Dec 21 03:48:36 GMT 2012  Olly Betts <olly@survex.com>
4027         * configure.ac: Don't autodisable the remote backend if we fail to find
4028           a required function.  It's more likely the user needs to pass
4029           LIBS=-lfoo and it's more helpful to error out so they can do that, or
4030           pass --disable-backend-remote if they really don't want it, rather
4031           than having them not notice the automatic disabling until after
4032           they've built.  This also matches what we do for the disk based
4033           backends.
4035 Fri Dec 21 03:48:11 GMT 2012  Olly Betts <olly@survex.com>
4037         * configure.ac: Expand comment about DJGPP.
4039 Fri Dec 21 03:47:13 GMT 2012  Olly Betts <olly@survex.com>
4041         * configure.ac: Update comment - we've supported the prog backend on
4042           Windows for more than 5 years now!
4044 Fri Dec 21 03:32:13 GMT 2012  Olly Betts <olly@survex.com>
4046         * tests/api_replicate.cc: Use O_BINARY in replication tests.
4048 Fri Dec 21 03:24:37 GMT 2012  Olly Betts <olly@survex.com>
4050         * common/replicate_utils.cc: Make posixy_open() always use O_BINARY.
4051         * backends/brass/brass_btreebase.cc,backends/brass/brass_database.cc,
4052           backends/brass/brass_databasereplicator.cc,
4053           backends/chert/chert_btreebase.cc,
4054           backends/chert/chert_databasereplicator.cc,common/posixy_wrapper.cc:
4055           Don't pass O_BINARY to posixy_open() in the places where we were
4056           (which wasn't everywhere, probably causing replication bugs under
4057           __WIN32__).
4059 Fri Dec 21 02:57:56 GMT 2012  Olly Betts <olly@survex.com>
4061         * net/remoteconnection.cc,net/remoteconnection.h: Only "outline"
4062           RemoteConnection dtor under __WIN32__.
4064 Fri Dec 21 02:56:28 GMT 2012  Olly Betts <olly@survex.com>
4066         * backends/remote/remote-database.cc: Make the UnimplementedError for a
4067           MatchSpy which doesn't implement name() clearer that it's this
4068           particular subclass which can't be used remotely, not all MatchSpy
4069           objects.
4071 Thu Dec 20 22:27:40 GMT 2012  Olly Betts <olly@survex.com>
4073         * configure.ac: Use user-specified LIBS for configure tests, which is
4074           what's expected, and provides a way for the user to tell configure
4075           where to find library functions which configure can't find for
4076           itself.
4078 Thu Dec 20 22:07:19 GMT 2012  Olly Betts <olly@survex.com>
4080         * api/compactor.cc,api/replication.cc,backends/brass/,backends/chert/,
4081           common/,net/remoteconnection.cc: Rename msvc_posix_rename(), etc to
4082           posixy_rename() (avoid a posix_ prefix as that's used by some library
4083           functions, and these aren't necessarily 100% POSIX compatible), and
4084           provide macro versions on Unix, so we can avoid a #ifdef at every
4085           call site.
4087 Thu Dec 20 20:57:18 GMT 2012  Olly Betts <olly@survex.com>
4089         * configure.ac: socketpair() needs -lnetwork on Haiku.
4091 Thu Dec 20 02:30:12 GMT 2012  Olly Betts <olly@survex.com>
4093         * backends/brass/brass_databasereplicator.cc,
4094           backends/chert/chert_databasereplicator.cc: Simplify how we open the
4095           .DB file on the replication slave to just call open() once with
4096           O_CREAT, rather than once without, than stat() if that fails, and
4097           then again with O_CREAT|O_TRUNC if stat() doesn't show an ordinary
4098           file exists.
4100 Thu Dec 20 02:05:12 GMT 2012  Olly Betts <olly@survex.com>
4102         * api/compactor.cc,common/,languages/compiler/syswords2.h,
4103           tests/api_compact.cc: Remove extra blank lines at end of files.
4105 Thu Dec 20 01:54:47 GMT 2012  Olly Betts <olly@survex.com>
4107         * backends/brass/brass_database.cc,backends/chert/chert_database.cc:
4108           Fix "if (fd > 0)" tests to be "if (fd >= 0)" in code related to
4109           replication.  In practice this is unlikely to actually have caused
4110           problems in real world cases.
4112 Sun Dec 16 23:10:13 GMT 2012  Olly Betts <olly@survex.com>
4114         * bin/Makefile.mk: INCLUDES is always used, AM_CPPFLAGS isn't if there
4115           are per-executable CPPFLAGS, so add AM_CPPFLAGS explicitly when we
4116           use per-executable CPPFLAGS.
4118 Fri Dec 14 21:25:58 GMT 2012  Olly Betts <olly@survex.com>
4120         * Makefile.am,languages/Makefile.mk,queryparser/Makefile.mk,
4121           tests/Makefile.am: In automake, INCLUDES is now deprecated in favour
4122           of AM_CPPFLAGS so update to use the latter.
4124 Tue Nov 27 05:39:30 GMT 2012  Olly Betts <olly@survex.com>
4126         * examples/quest.cc: Need <algorithm> for lower_bound().
4128 Mon Nov 26 23:46:43 GMT 2012  Olly Betts <olly@survex.com>
4130         * examples/quest.cc: Align option descriptions in --help output, and
4131           make the initial letter of such descriptions consistently lowercase.
4133 Mon Nov 26 19:52:50 GMT 2012  Olly Betts <olly@survex.com>
4135         * examples/quest.cc: Add --flags command line option to allow setting
4136           arbitrary QueryParser flags.
4138 Mon Nov 26 03:02:03 GMT 2012  Olly Betts <olly@survex.com>
4140         * api/valuerangeproc.cc: Move 3 declarations to where we first use the
4141           variables.
4143 Mon Nov 26 02:59:41 GMT 2012  Olly Betts <olly@survex.com>
4145         * matcher/multimatch.cc: We no longer use the highest weighted
4146           MSet entry to calculate percentages, so stop searching for it.
4147           (Spotted by cppcheck)
4149 Mon Nov 26 02:59:02 GMT 2012  Olly Betts <olly@survex.com>
4151         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
4152           Remove unused variables (spotted by cppcheck).
4154 Mon Nov 26 02:12:19 GMT 2012  Olly Betts <olly@survex.com>
4156         * api/maptermlist.h,api/matchspy.cc,api/omdatabase.cc,
4157           backends/inmemory/inmemory_database.cc,
4158           backends/inmemory/inmemory_positionlist.cc,
4159           backends/multi/multi_postlist.cc,backends/remote/net_termlist.cc,
4160           bin/xapian-delve.cc,matcher/exactphrasepostlist.cc,
4161           matcher/mergepostlist.cc,matcher/phrasepostlist.cc,
4162           tests/harness/backendmanager.cc: Prefer ++i to i++.
4164 Fri Nov 23 03:38:39 GMT 2012  Olly Betts <olly@survex.com>
4166         * HACKING,Makefile.am: With lcov 1.10, we no longer need any of our
4167           hacky workarounds, so make this a requirement and simplify the rules
4168           in the makefile.
4170 Thu Nov 22 23:34:09 GMT 2012  Olly Betts <olly@survex.com>
4172         * Makefile.am: Pass -f to lcov, which should avoid the need for the
4173           patch we've been applying to lcov.
4175 Thu Nov 22 01:34:05 GMT 2012  Olly Betts <olly@survex.com>
4177         * backends/flint_lock.cc: Close excess file handles before we get the
4178           fcntl() lock, just in case one of those file handles is open on the
4179           lock file.
4180         * tests/api_backend.cc: Add regression test lockfilealreadyopen1.
4182 Thu Nov 22 00:35:51 GMT 2012  Olly Betts <olly@survex.com>
4184         * common/closefrom.cc,configure.ac: On platforms with the F_MAXFD
4185           fcntl but without closefrom(), we were failing to close the highest
4186           numbered open fd in our closefrom() replacement.  We now also work
4187           around valgrind not hiding some extra fds it has open, but then
4188           complaining if we try to close them.
4190 Wed Nov 21 22:50:21 GMT 2012  Olly Betts <olly@survex.com>
4192         * tests/harness/testsuite.cc: When reporting valgrind error, skip any
4193           warnings.
4195 Tue Nov 20 07:26:24 GMT 2012  Olly Betts <olly@survex.com>
4197         * tests/api_anydb.cc: msetweights1 makes multidb1 and multidb2
4198           redundant, so remove them.
4200 Tue Nov 20 07:21:46 GMT 2012  Olly Betts <olly@survex.com>
4202         * tests/api_backend.cc: Extend msetweights1 to test the case where
4203           only even docids match, so in the multi_* case, only docids from
4204           one subdatabase match.
4206 Tue Nov 20 07:04:55 GMT 2012  Olly Betts <olly@survex.com>
4208         * tests/api_backend.cc: Add testcase msetweights1 which checks we
4209           get the weights we expect for a two term query.
4211 Mon Nov 19 21:17:33 GMT 2012  Olly Betts <olly@survex.com>
4213         * queryparser/termgenerator.cc: TermGenerator internal member can
4214           never be NULL, so drop NULL test.
4216 Sat Nov 17 20:54:50 GMT 2012  Olly Betts <olly@survex.com>
4218         * tests/harness/testsuite.cc: Remove compatibility code for valgrind <
4219           3.3.0, since we reject such old versions at configure time.
4221 Sat Nov 17 00:05:36 GMT 2012  Olly Betts <olly@survex.com>
4223         * matcher/localsubmatch.cc: Optimise an unweighted query term which
4224           matches all the documents in a subdatabase to use the "MatchAll"
4225           postlist.  (ticket#387)
4227 Fri Nov 16 23:36:34 GMT 2012  Olly Betts <olly@survex.com>
4229         * tests/api_weight.cc: New testcase checkstatsweight1 which checks a
4230           weight subclass gets the correct values for all the stats.
4232 Fri Nov 16 07:30:18 GMT 2012  Olly Betts <olly@survex.com>
4234         * include/xapian/version_h.cc: Generate a check for compatible _DEBUG
4235           settings if built with MSVC.  (ticket#389)
4237 Fri Nov 16 01:28:55 GMT 2012  Olly Betts <olly@survex.com>
4239         * queryparser/queryparser.lemony: Improve a couple of comments.
4241 Fri Nov 16 01:25:28 GMT 2012  Olly Betts <olly@survex.com>
4243         * queryparser/queryparser.lemony: Implicitly close any unclosed brackets
4244           at the end of the query string.  Patch from Sehaj Singh Kalra.
4245         * tests/queryparsertest.cc: Adjust existing testcases and feature tests.
4247 Thu Nov 15 23:57:10 GMT 2012  Olly Betts <olly@survex.com>
4249         * tests/api_query.cc: Add testcase xor3 to ensure that XOR handles all
4250           remaining subqueries running out at the same time.
4252 Thu Nov 15 10:57:32 GMT 2012  Olly Betts <olly@survex.com>
4254         * tests/api_query.cc: One test here does need a backend, and it seems
4255           a more useful category, so drop the "don't need a backend" part from
4256           the @brief documentation comment.
4258 Thu Nov 15 09:29:47 GMT 2012  Olly Betts <olly@survex.com>
4260         * matcher/multimatch.cc: Fix calculation of 0.0/0.0 in some cases.
4261           This then got used as a minimum weight, but it seems this gives -nan
4262           (at least on x86-64 Linux) so it may have been harmless in practice.
4264 Thu Nov 15 05:39:47 GMT 2012  Olly Betts <olly@survex.com>
4266         * tests/api_anydb.cc: Eliminate workarounds for egcs 1.1.2 (certainly
4267           we no longer support a compiler that old, but maybe some newer
4268           compilers have the same issue, so I've rewritten the code to iterate
4269           backwards over one MSet, which is a useful feature to have coverage
4270           for).
4272 Thu Nov 15 05:28:40 GMT 2012  Olly Betts <olly@survex.com>
4274         * tests/api_anydb.cc: Fix reversebool1 and reversebool2 to actually
4275           use the result when they check an MSetIterator against end().
4277 Thu Nov 15 01:55:15 GMT 2012  Olly Betts <olly@survex.com>
4279         * bin/xapian-replicate.cc: Add --quiet option to xapian-replicate, and
4280           be a little more verbose by default.
4282 Thu Nov 15 01:54:14 GMT 2012  Olly Betts <olly@survex.com>
4284         * bin/xapian-replicate.cc: xapian-replicate --force-copy now only
4285           forces a single copy, and then attempts to replicate incrementally.
4287 Thu Nov 15 00:51:50 GMT 2012  Olly Betts <olly@survex.com>
4289         * bin/xapian-replicate.cc: Tweak code layout.
4291 Wed Nov 14 21:40:45 GMT 2012  Olly Betts <olly@survex.com>
4293         * net/remoteconnection.cc: Allow files > 32G to be be copied by
4294           replication.
4296 Tue Nov 13 03:44:03 GMT 2012  Olly Betts <olly@survex.com>
4298         * tests/api_replicate.cc: Pass 'true' or 'false' for 'bool' parameter,
4299           not '0' or '1' (especially confusing as the two previous parameters
4300           were integers which were often 0 or 1...)
4302 Tue Nov 13 03:34:42 GMT 2012  Olly Betts <olly@survex.com>
4304         * bin/xapian-replicate.cc,net/replicatetcpclient.cc,
4305           net/replicatetcpclient.h: Add --full-copy option to xapian-replicate.
4306         * tests/api_replicate.cc: New testcase replicate6 which tests the same
4307           code path used by 'xapian-replicate --full-copy'.
4309 Tue Nov 13 02:55:44 GMT 2012  Olly Betts <olly@survex.com>
4311         * tests/api_replicate.cc: Use '++' instead of '+= 1'.  Drop superfluous
4312           'return;' at end of function returning void.
4314 Tue Nov 13 01:12:33 GMT 2012  Olly Betts <olly@survex.com>
4316         * tests/harness/unixcmds.cc: Tweak to avoid default initialisation of
4317           string.
4319 Mon Nov 12 23:25:14 GMT 2012  Olly Betts <olly@survex.com>
4321         * include/xapian/unicode.h: GCC 4.6.3 doesn't optimise the asr idion
4322           either.  Add links to the PR I filed and the GCC documentation that
4323           signed right shift does sign extension.
4325 Mon Nov 12 10:21:19 GMT 2012  Olly Betts <olly@survex.com>
4327         * include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode
4328           character database to 6.2.0.
4329         * tests/api_unicode.cc: Add tests for U+20BA, added in 6.2.0.
4331 Sat Nov 10 05:39:16 GMT 2012  Olly Betts <olly@survex.com>
4333         * api/leafpostlist.cc,matcher/multiandpostlist.cc: Improved fix for
4334           #590 - count all matching LeafPostList objects with a Weight object
4335           rather than trying to prune at the MultiAndPostList level based on
4336           max_wt (if wdf is always zero for a term, BM25 gives max_wt of 0,
4337           which leads to us never counting that subquery.
4338         * tests/api_percentages.cc: Add regression test topercent7.
4340 Fri Nov 09 04:25:32 GMT 2012  Olly Betts <olly@survex.com>
4342         * tests/api_percentages.cc: Note bug number in regression test for
4343           #590.
4345 Tue Nov 06 22:42:31 GMT 2012  Olly Betts <olly@survex.com>
4347         * backends/brass/brass_table.cc: Restore two missing lines in database
4348           checking where we report a block with the wrong level.
4350 Tue Oct 16 11:19:42 GMT 2012  Olly Betts <olly@survex.com>
4352         * api/compactor.cc,backends/dbcheck.cc,backends/dbfactory.cc,
4353           common/Makefile.mk: Fix to build when configured with
4354           --disable-backend-brass --disable-backend-chert.  (ticket#586)
4356 Mon Oct 15 04:07:30 GMT 2012  Olly Betts <olly@survex.com>
4358         * HACKING: automake 1.12.4 is now used to generate snapshots and
4359           releases.
4361 Sat Oct 13 09:34:21 GMT 2012  Olly Betts <olly@survex.com>
4363         * weight/weightinternal.h: Revert addition of "#include <config.h>" in
4364           r16820.
4365         * HACKING: Document that we don't include <config.h> from header
4366           files, and the reason why.
4368 Sat Oct 13 09:00:23 GMT 2012  Olly Betts <olly@survex.com>
4370         * include/xapian/queryparser.h: Fix documentation comment typos:
4371           "covert" -> "convert".
4373 Thu Oct 11 12:28:30 GMT 2012  Olly Betts <olly@survex.com>
4375         * docs/valueranges.rst: Update documentation to reflect change in
4376           Xapian 1.1.2 - DateValueRangeProcessor and StringValueRangeProcessor
4377           now support a prefix or suffix.
4379 Mon Oct 01 05:05:54 GMT 2012  Olly Betts <olly@survex.com>
4381         * HACKING: Try to make it clearer we're looking for a dual-licence
4382           on submitted patches.
4384 Tue Sep 25 08:09:08 GMT 2012  Olly Betts <olly@survex.com>
4386         * common/Makefile.mk,common/append_filename_arg.h,
4387           tests/harness/unixcmds.cc: Split out append_filename_argument() into
4388           its own file so it can be used elsewhere.
4390 Tue Sep 25 06:46:03 GMT 2012  Olly Betts <olly@survex.com>
4392         * include/xapian/enquire.h: Mark MSetIterator::at_end() and
4393           ESetIterator::at_end() as @private @internal so that they don't
4394           appear in the API docs.
4396 Tue Sep 25 06:45:07 GMT 2012  Olly Betts <olly@survex.com>
4398         * include/xapian/enquire.h: Remove FIXMEs about converting MSetIterator
4399           and ESetIterator to use Internal classes - as HACKING notes, the
4400           current implementation is that way for performance reasons.
4402 Tue Sep 25 06:36:37 GMT 2012  Olly Betts <olly@survex.com>
4404         * tests/harness/unixcmds.cc: Escape filenames on POSIX platforms by
4405           wrapping in single quotes and specially handling single quotes in
4406           the filename - previously newlines in filenames got eaten by the
4407           shell.
4409 Tue Sep 25 06:32:36 GMT 2012  Olly Betts <olly@survex.com>
4411         * tests/harness/unixcmds.cc: Protect filenames which start with '-' on
4412           MS Windows like we already do on other platforms.  The built-in
4413           commands generally only interpret '/' as the character introducing a
4414           command line option (which we already convert to '\'), but many
4415           ported programs understand '-' too/instead.
4417 Sat Aug 25 16:09:50 GMT 2012  Dan Colish <dcolish@gmail.com>
4419         * include/xapian/enquire.h: Add function to test MSetIterator and
4420           ESetIterator exhaustion against the size of the underlying interee
4421           since comparison against an empty Itor is not suitable for an
4422           exhaustion test. Add FIXME that these Iterators should use an Internal
4423           class. 
4425 Thu Aug 09 21:50:52 GMT 2012  Dan Colish <dcolish@gmail.com>
4427         * weight/weightinternal.h: Include config.h since macros are used
4428           from it. 
4430 Wed Aug 08 15:40:38 GMT 2012  Dan Colish <dcolish@gmail.com>
4432         * api/queryvector.h: Backout previous fix. When compiling with -O0,
4433           increase the stack limit to > 8M when running scalability tests.
4435 Wed Aug 08 02:10:21 GMT 2012  Dan Colish <dcolish@gmail.com>
4437         * api/queryvector.h: Fix SIGBUS when clearing QueryVectors
4439 Wed Aug 01 15:25:25 GMT 2012  Dan Colish <dcolish@gmail.com>
4441         * HACKING,Makefile.am,tests/Makefile.am: Fix non-portable warnings
4442         from automake, add HACKING doc for check-syntax make target
4444 Wed Aug 01 04:54:18 GMT 2012  Dan Colish <dcolish@gmail.com>
4446         * Makefile.am,api/Makefile,backends/Makefile,backends/brass/Makefile,
4447           backends/chert/Makefile,backends/inmemory/Makefile,
4448           backends/multi/Makefile,backends/remote/Makefile,bin/Makefile,
4449           common/Makefile,examples/Makefile,expand/Makefile,
4450           geospatial/Makefile,include/Makefile,include/xapian/Makefile,
4451           languages/Makefile,matcher/Makefile,net/Makefile,
4452           queryparser/Makefile,tests/harness/Makefile,unicode/Makefile,
4453           weight/Makefile: Add check-syntax target to Makefiles to support
4454           editor syntax checks
4456 Sun Jul 29 15:32:00 GMT 2012  Olly Betts <olly@survex.com>
4458         * configure.ac: Bump LIBRARY_VERSION_INFO so I can package a snapshot
4459           cleanly.
4461 Tue Jul 24 01:35:17 GMT 2012  Olly Betts <olly@survex.com>
4463         * include/xapian/queryparser.h,queryparser/queryparser.cc,
4464           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
4465           tests/queryparsertest.cc: Add FieldProcessor class (ticket#128) -
4466           currently marked as an experimental API while we sort out how best
4467           to sort out exactly how it interacts with other QueryParser features.
4469 Tue Jul 24 01:19:03 GMT 2012  Olly Betts <olly@survex.com>
4471         * include/xapian/queryparser.h: Add extra DateValueRangeProcessor
4472           constructor overloaded form so that in DateValueRangeProcessor(1,
4473           "date:"), the const char * gets interpreted as std::string rather
4474           than bool.
4475         * tests/queryparsertest.cc: Add regression test.
4477 Thu Jul 19 05:32:04 GMT 2012  Olly Betts <olly@survex.com>
4479         * backends/brass/brass_dbcheck.h,
4480           backends/inmemory/inmemory_alltermslist.cc,bin/xapian-delve.cc: Fix
4481           filenames in comments which mismatch actual name of file.
4483 Thu Jul 19 05:27:38 GMT 2012  Olly Betts <olly@survex.com>
4485         * queryparser/termgenerator_internal.cc: Remove "FIXME: Add API to
4486           allow control of how stemming is used?", as we have now added such
4487           an API.
4489 Thu Jul 19 05:24:49 GMT 2012  Olly Betts <olly@survex.com>
4491         * include/xapian/termgenerator.h,queryparser/termgenerator.cc,
4492           queryparser/termgenerator_internal.cc,
4493           queryparser/termgenerator_internal.h,tests/termgentest.cc: Add new
4494           method TermGenerator::set_max_word_length() to allow this limit to
4495           be adjusted by the user.
4497 Mon Jul 16 03:34:27 GMT 2012  Olly Betts <olly@survex.com>
4499         * include/xapian/enquire.h: Clarify that the "reverse" parameter of
4500           set_sort_by_relevance_then_value() and
4501           set_sort_by_relevance_then_key() only affects the ordering of the
4502           value/key part of the sort.
4504 Fri Jul 13 04:55:26 GMT 2012  Dan Colish <dcolish@gmail.com>
4506         * matcher/multimatch.cc: Remove duplicate import
4508 Thu Jul 12 05:13:57 GMT 2012  Olly Betts <olly@survex.com>
4510         * common/debuglog.cc: Preserve errno over debug logging calls, so they
4511           can safely be added to code which expects errno not to change.
4513 Mon Jul 02 05:27:43 GMT 2012  Dan Colish <dcolish@gmail.com>
4515         * backends/brass/brass_databasereplicator.cc: Use new/delete to avoid
4516           variable length array gcc extension and comply with c++98
4518 Mon Jul 02 05:02:14 GMT 2012  Dan Colish <dcolish@gmail.com>
4520         * api/omdatabase.cc,tests/api_wrdb.cc: Prefer container.empty() to
4521           container.size() == 0.
4523 Sun Jul 01 10:46:19 GMT 2012  Olly Betts <olly@survex.com>
4525         * NEWS: Update from ChangeLog, 1.2.11 and 1.2.12.
4527 Fri Jun 29 15:32:11 GMT 2012  Dan Colish <dcolish@>
4529         * tests/harness/testsuite.cc: Add safeunistd.h unconditionally for
4530           isatty, required by GCC 4.7
4532 Wed Jun 27 10:45:13 GMT 2012  Olly Betts <olly@survex.com>
4534         * AUTHORS: Add GSoC students.
4536 Tue Jun 26 08:45:03 GMT 2012  Olly Betts <olly@survex.com>
4538         * include/xapian.h: Add check for Qt headers being included before us
4539           and defining 'slots' as a macro - if they are, give a clear error
4540           advising how to work around this.
4542 Thu Jun 14 23:48:15 GMT 2012  Olly Betts <olly@survex.com>
4544         * docs/admin_notes.rst: Correction - we don't "create a lock file", we
4545           "lock a file".
4547 Tue Jun 12 13:08:58 GMT 2012  Olly Betts <olly@survex.com>
4549         * tests/api_replicate.cc: Make sure XAPIAN_MAX_CHANGESETS gets unset
4550           after testcases which set it, so further testcases don't waste time
4551           generating changesets.
4553 Tue Jun 12 12:11:51 GMT 2012  Olly Betts <olly@survex.com>
4555         * docs/replication.rst: The value of XAPIAN_MAX_CHANGESETS does now
4556           actually determine how many changesets we keep.
4558 Tue Jun 12 01:20:59 GMT 2012  Olly Betts <olly@survex.com>
4560         * configure.ac: Force link_all_deplibs_CXX=no for Solaris.
4562 Tue Jun 12 01:08:17 GMT 2012  Olly Betts <olly@survex.com>
4564         * xapian-config.in: Don't interpret a missing .la file as meaning that
4565           we only have static libraries.
4567 Sun Jun 10 12:57:16 GMT 2012  Olly Betts <olly@survex.com>
4569         * backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h,
4570           backends/brass/brass_check.cc: Remove is_empty(), tweak
4571           calculate_last_block() to calculate the bit map size correctly in
4572           the case of an empty table, and use the bit map size instead of
4573           is_empty() in xapian-check.
4574         * backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h,
4575           backends/chert/chert_check.cc: Make equivalent changes for chert.
4577 Sun Jun 10 11:27:52 GMT 2012  Olly Betts <olly@survex.com>
4579         * backends/brass/brass_table.cc,backends/brass/brass_table.h: We don't
4580           need the workaround for existing tables which were built with a 32
4581           bit item count for brass, since that bug was fixed in 1.1.4, which
4582           is the same version which brass was added in.
4584 Sun Jun 10 11:20:58 GMT 2012  Olly Betts <olly@survex.com>
4586         * backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h,
4587           backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h:
4588           Remove unused copy constructors for BrassTable_base and
4589           ChertTable_base.
4591 Wed Jun 06 11:10:26 GMT 2012  Olly Betts <olly@survex.com>
4593         * include/xapian/queryparser.h: Note that STEM_ALL_Z was added in
4594           1.2.11.  Change already made on 1.2 branch.
4596 Tue Jun 05 06:51:12 GMT 2012  Olly Betts <olly@survex.com>
4598         * common/compression_stream.cc,common/compression_stream.h: Move the
4599           default argument to the CompressionStream constructor to the header
4600           and mark the constructor as explicit, since it has a single argument
4601           form.
4603 Tue Jun 05 06:41:22 GMT 2012  Olly Betts <olly@survex.com>
4605         * api/queryvector.h: Fix somewhat dubious warning from clang.
4607 Tue Jun 05 06:33:09 GMT 2012  Olly Betts <olly@survex.com>
4609         * configure.ac: Overhaul handling of compilers which pretend to be GCC,
4610           using a simple "case" on the preprocessed output of '__INTEL_COMPILER
4611           __clang__' to tell which is in use.  We now explicitly check for
4612           clang, and only pass it warning flags it actually understands.  GCC
4613           4.0 is now lumped in with 3.*, since we handle it exactly the same.
4614           Enable -Wdouble-promotion for GCC >= 4.6.  Check for symbol
4615           visibility support under any GCC-alike (which means we now run the
4616           test with Intel's compiler).  Move the check for -Bsymbolic-functions 
4617           to be run for all compilers.
4619 Mon Jun 04 06:21:02 GMT 2012  Olly Betts <olly@survex.com>
4621         * backends/dbfactory.cc: Test if we fail to open a stub database file
4622           in Xapian::Auto::open_stub() and throw an exception if so.
4623         * tests/api_backend.cc: Add regression test stubdb7.
4625 Sun Jun 03 11:43:44 GMT 2012  Olly Betts <olly@survex.com>
4627         * include/xapian/query.h: Add second fake specialised form of the
4628           templated iterator Query constructor, for use in the Java bindings.
4630 Sat Jun 02 12:15:11 GMT 2012  Olly Betts <olly@survex.com>
4632         * docs/scalability.rst: Update gmane size, fix a typo, tweak wording.
4634 Sat Jun 02 12:10:55 GMT 2012  Olly Betts <olly@survex.com>
4636         * Makefile.am,api/omdocument.cc,api/omenquire.cc,backends/brass/,
4637           backends/chert/,bin/xapian-delve.cc,common/getopt.cc,configure.ac,
4638           docs/,m4-macros/xapian-1.3.m4,matcher/multimatch.cc,preautoreconf,
4639           tests/Makefile.am,tests/api_db.cc,tests/harness/testsuite.h,
4640           tests/harness/testutils.h: Change `...' quoting in prose to '...'.
4642 Fri Jun 01 07:40:48 GMT 2012  Olly Betts <olly@survex.com>
4644         * HACKING,Makefile.am: If you run "make coverage-check" by hand, the
4645           default of compressed HTML is unhelpful, so don't default to passing
4646           --html-gzip to genhtml, but instead add support for GENHTML_ARGS.
4648 Thu May 31 11:41:19 GMT 2012  Olly Betts <olly@survex.com>
4650         * tests/api_weight.cc: Add test that init() is now called for the
4651           term-independent weight contribution.
4653 Thu May 31 11:23:05 GMT 2012  Olly Betts <olly@survex.com>
4655         * weight/bm25weight.cc: Avoid use of undefined values when k1 or b are
4656           zero.
4658 Wed May 30 21:50:54 GMT 2012  Olly Betts <olly@survex.com>
4660         * tests/api_matchspy.cc: Use a cached generated database for matchspy2
4661           and matchspy4.
4663 Wed May 30 13:22:54 GMT 2012  Olly Betts <olly@survex.com>
4665         * include/xapian/weight.h,weight/weight.cc: We were failing to call
4666           init() for Weight objects providing the term-independent weight.
4667           These now get called with init(0.0).
4669 Wed May 30 13:13:03 GMT 2012  Olly Betts <olly@survex.com>
4671         * include/xapian/weight.h: Remove duplicate "need_stat(WDF);" calls,
4672           accidentally added by merge of opsynonym branch in r12609.
4674 Wed May 30 07:44:23 GMT 2012  Olly Betts <olly@survex.com>
4676         * weight/bm25weight.cc: Fix use of uninitialised value found by new
4677           bm25weight4 testcase.
4679 Wed May 30 05:38:58 GMT 2012  Olly Betts <olly@survex.com>
4681         * tests/api_weight.cc: Add tests for BM25 parameter combinations where
4682           doclen shouldn't affect the weights.
4684 Wed May 30 05:11:34 GMT 2012  Olly Betts <olly@survex.com>
4686         * tests/Makefile.am: Move api_geospatial.cc into alphabetical order.
4688 Wed May 30 05:07:51 GMT 2012  Olly Betts <olly@survex.com>
4690         * weight/bm25weight.cc,weight/tradweight.cc: Throw SerialisationError
4691           not NetworkError if unserialise() fails.
4692         * tests/.gitignore,tests/Makefile.am,tests/api_weight.cc: Add test
4693           coverage for this.
4695 Wed May 30 05:01:33 GMT 2012  Olly Betts <olly@survex.com>
4697         * weight/tradweight.cc: BM25Weight -> TradWeight in exception message.
4699 Wed May 30 04:28:43 GMT 2012  Olly Betts <olly@survex.com>
4701         * tests/queryparsertest.cc: Fix feature test added for STEM_ALL_Z.
4703 Tue May 29 07:29:01 GMT 2012  Olly Betts <olly@survex.com>
4705         * tests/harness/testutils.cc,tests/harness/testutils.h: Remove unused
4706           test helper mset_range_is_same_percents() (thanks, lcov!)
4708 Tue May 29 04:10:07 GMT 2012  Olly Betts <olly@survex.com>
4710         * tests/generate-api_generated: Test that the string returned by a
4711           get_description() method isn't empty.
4713 Tue May 29 03:54:15 GMT 2012  Olly Betts <olly@survex.com>
4715         * generate-exceptions: Use function attributes in generated error.h.
4717 Tue May 29 02:10:23 GMT 2012  Olly Betts <olly@survex.com>
4719         * configure.ac,tests/runsrv.in: In the testsuite, only run remote
4720           servers under valgrind if x87 FP instructions are in use.
4722 Tue May 29 00:24:42 GMT 2012  Olly Betts <olly@survex.com>
4724         * include/xapian/: Use the new function attributes on various API
4725           methods.
4726         * tests/api_wrdb.cc: get_termfreq() is now marked as pure, so the
4727           testsuite needs to actually use the return value to check its
4728           exception behaviour.
4730 Mon May 28 22:31:21 GMT 2012  Olly Betts <olly@survex.com>
4732         * api/query.cc,api/queryinternal.cc,api/queryinternal.h,
4733           include/xapian/query.h: Pass vector<pair<Xapian::termpos>, string> >&
4734           argument to Query::Internal::gather_terms() as a void* to avoid
4735           having to include <vector> in query.h.
4737 Mon May 28 05:07:02 GMT 2012  Olly Betts <olly@survex.com>
4739         * include/xapian/attributes.h: Remove unused XAPIAN_NOTHROW_API_METHOD
4740           as we're handling that a different way instead.
4742 Mon May 28 00:41:55 GMT 2012  Olly Betts <olly@survex.com>
4744         * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Hide new
4745           function attribute macros from doxygen.
4747 Sun May 27 14:04:34 GMT 2012  Olly Betts <olly@survex.com>
4749         * include/xapian/query.h: Use "Internal" instead of "Query::Internal"
4750           in constructor prototype argument list for consistency with other
4751           cosntructors, and so this constructor gets ignored by SWIG.
4753 Sun May 27 07:38:56 GMT 2012  Olly Betts <olly@survex.com>
4755         * exception_data.pm: Fix typo to fix warning and so that XAPIAN_NOTHROW
4756           on a method will work.
4758 Sun May 27 01:43:30 GMT 2012  Olly Betts <olly@survex.com>
4760         * exception_data.pm,include/Makefile.mk,include/xapian.h,
4761           include/xapian/attributes.h,include/xapian/unicode.h: Add
4762           XAPIAN_CONST_FUNCTION, XAPIAN_PURE_FUNCTION, and XAPIAN_NOTHROW
4763           macros for marking functions and methods with those attributes.
4764           (tickets #151, #454)
4766 Fri May 25 06:42:35 GMT 2012  Olly Betts <olly@survex.com>
4768         * include/xapian/weight.h: Fix documentation comment typo ("k1" ->
4769           "k").
4771 Fri May 25 05:44:05 GMT 2012  Olly Betts <olly@survex.com>
4773         * backends/flint_lock.h: Mark FlintLock::throw_databaselockerror() as
4774           XAPIAN_NORETURN.
4776 Thu May 24 12:28:35 GMT 2012  Olly Betts <olly@survex.com>
4778         * include/xapian/termgenerator.h,queryparser/termgenerator.cc,
4779           queryparser/termgenerator_internal.cc,
4780           queryparser/termgenerator_internal.h: Add
4781           TermGenerator::set_stemming_strategy() method, with strategies which
4782           correspond to those of QueryParser.  Based on patch from Sehaj Singh
4783           Kalra, with some tweaks for adding term positions in more cases.
4784           (Fixes ticket#563)
4785         * tests/termgentest.cc: Add test coverage for the new features.
4787 Thu May 24 01:37:31 GMT 2012  Olly Betts <olly@survex.com>
4789         * include/xapian/queryparser.h: Add doc comment for stem_strategy
4790           typedef.
4792 Wed May 23 11:33:08 GMT 2012  Olly Betts <olly@survex.com>
4794         * include/xapian/queryparser.h,queryparser/queryparser.lemony:
4795           Add new QueryParser::STEM_ALL_Z stemming strategy, which stems all
4796           terms and adds a Z prefix.  (Patch from Sehaj Singh Kalra, fixes
4797           ticket#562)
4798         * tests/queryparsertest.cc: Add test coverage for
4799           QueryParser::STEM_ALL_Z.
4801 Wed May 23 05:37:20 GMT 2012  Olly Betts <olly@survex.com>
4803         * api/valuesetmatchdecider.cc,include/xapian/valuesetmatchdecider.h:
4804           "Limited" to "Ltd" in (C) two statements, for consistency (and with
4805           Charlie's agreement on IRC).
4807 Wed May 23 02:25:53 GMT 2012  Olly Betts <olly@survex.com>
4809         * api/,include/xapian/query.h: Rework QueryBranch to use a special
4810           QueryVector class rather than std::vector<Xapian::Query>.  The
4811           special class is no bigger than std::vector<Xapian::Query>, and
4812           handles up to two entries by holding them within the object (at
4813           least GCC's std::vector doesn't currently do this space optimisation)
4814           which significantly reduces the memory used by a pairwise operator,
4815           which is very desirable as we no longer flatten a tree of the same
4816           pairwise operator as we build the query.
4818 Tue May 22 06:25:10 GMT 2012  Olly Betts <olly@survex.com>
4820         * api/queryinternal.cc: Handle the left side of AND_NOT and
4821           AND_MAYBE being MatchNothing in add_subquery() rather than
4822           in done().
4824 Tue May 22 02:40:45 GMT 2012  Olly Betts <olly@survex.com>
4826         * api/queryinternal.cc: Handle QueryAndLike with a MatchNothing
4827           subquery in add_subquery() rather than done().
4829 Tue May 22 02:01:00 GMT 2012  Olly Betts <olly@survex.com>
4831         * api/queryinternal.cc,api/queryinternal.h: Drop MatchNothing
4832           subqueries in OR-like situations in add_subquery() rather than
4833           adding them and then handling it later.
4835 Sat May 19 00:27:23 GMT 2012  Olly Betts <olly@survex.com>
4837         * tests/runsrv.in: Add explanation of why we have this script.
4839 Sat May 19 00:27:10 GMT 2012  Olly Betts <olly@survex.com>
4841         * tests/runtest.in: Fix comment typo.
4843 Fri May 18 12:50:08 GMT 2012  Olly Betts <olly@survex.com>
4845         * backends/inmemory/inmemory_database.cc: Check if the database is
4846           closed when asked to iterate metadata keys.  Fixes recently added
4847           testcase closedb10 for inmemory.
4849 Fri May 18 12:34:24 GMT 2012  Olly Betts <olly@survex.com>
4851         * tests/Makefile.am: Pass -ldl last when compiling zlib-vg.so, as that
4852           seems to be needed on Ubuntu 12.04.
4854 Fri May 18 04:54:09 GMT 2012  Olly Betts <olly@survex.com>
4856         * tests/api_closedb.cc: We now test almost all methods of Database
4857           and WritableDatabase after calling close().  (ticket#337)
4859 Thu May 17 14:26:11 GMT 2012  Olly Betts <olly@survex.com>
4861         * backends/brass/,backends/chert/: After closing the database, methods
4862           which try to use the termlist would throw FeatureUnavailableError
4863           with message "Database has no termlist", assuming that the termlist
4864           table not being open meant it wasn't present.  Fix to check if the
4865           postlist_table is open to determine which case we're in.
4866         * tests/api_closedb.cc: Improve test coverage for closed databases.
4867           (ticket#337)
4869 Tue May 15 11:24:34 GMT 2012  Olly Betts <olly@survex.com>
4871         * NEWS: Update from ChangeLog and 1.2.10.
4873 Tue May 15 11:12:42 GMT 2012  Olly Betts <olly@survex.com>
4875         * backends/chert/chert_cursor.cc: Fix incorrect use of "delete" to
4876           "delete []".  The type is POD, so I suspect this mistake didn't
4877           actually cause any problems, and it only happens when a cursor
4878           gets rebuilt because the B-tree has gained a level, so it's
4879           a rather rare occurrence.
4881 Tue May 15 11:09:44 GMT 2012  Olly Betts <olly@survex.com>
4883         * backends/brass/brass_cursor.cc: Fix incorrect use of "delete" to
4884           "delete []".  The type is POD, so I suspect this mistake didn't
4885           actually cause any problems, and it only happens when a cursor
4886           gets rebuilt because the B-tree has gained a level, so it's
4887           a rather rare occurrence.
4889 Thu May 10 02:16:21 GMT 2012  Olly Betts <olly@survex.com>
4891         * HACKING: Update Debian/Ubuntu packaging instructions.
4893 Thu May 10 02:14:48 GMT 2012  Olly Betts <olly@survex.com>
4895         * HACKING: freshmeat -> freecode.
4897 Wed May 09 02:54:40 GMT 2012  Olly Betts <olly@survex.com>
4899         * tests/api_wrdb.cc: Add "safeunistd.h", required for GCC 4.7.
4901 Wed May 09 00:09:17 GMT 2012  Olly Betts <olly@survex.com>
4903         * api/query.cc: Construct MatchAll using constructor rather than
4904           assignment syntax.
4906 Wed May 09 00:08:29 GMT 2012  Olly Betts <olly@survex.com>
4908         * backends/brass/brass_cursor.h: Whitespace tweaks.
4910 Tue May 08 23:51:01 GMT 2012  Olly Betts <olly@survex.com>
4912         * docs/admin_notes.rst: Document xapian-check for fixing corrupted
4913           databases.
4915 Tue May 08 11:30:06 GMT 2012  Olly Betts <olly@survex.com>
4917         * common/fileutils.cc: Add safeunistd.h for mkdir, required by GCC
4918           4.7 (reported by Gaurav Arora).
4920 Wed May 02 03:44:25 GMT 2012  Olly Betts <olly@survex.com>
4922         * weight/weightinternal.cc: Using AssertEq() on NULL doesn't compile,
4923           at least with recent GCC.
4925 Wed May 02 02:58:37 GMT 2012  Olly Betts <olly@survex.com>
4927         * common/omassert.cc: Fix warning with GCC in build with assertions
4928           enabled.
4930 Wed May 02 02:55:54 GMT 2012  Olly Betts <olly@survex.com>
4932         * HACKING: We're now using automake 1.12 to generate snapshots and
4933           releases.
4935 Mon Apr 23 13:16:36 GMT 2012  Olly Betts <olly@survex.com>
4937         * tests/api_anydb.cc: Fix tradweight1 to test that TradWeight(0)
4938           means that wdf and doc length don't affect the weight of a term.
4940 Mon Apr 23 03:44:02 GMT 2012  Olly Betts <olly@survex.com>
4942         * backends/chert/,backends/dbcheck.cc,bin/xapian-check.cc,
4943           include/xapian/database.h: Add "fix" option to xapian-check, which
4944           currently will regenerate iamchert if it isn't valid, and will
4945           regenerate base files from the .DB files (only really tested on
4946           databases which have just been compacted).
4948 Mon Apr 23 03:40:35 GMT 2012  Olly Betts <olly@survex.com>
4950         * common/filetests.h: Add new function file_size() to get the size
4951           of a file from a path or file descriptor.
4952         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc,
4953           net/remoteconnection.cc,tests/api_replicate.cc: Use this new
4954           function.
4956 Wed Apr 18 01:35:21 GMT 2012  Olly Betts <olly@survex.com>
4958         * weight/bm25weight.cc,weight/tradweight.cc: Fix comment typo.
4960 Wed Apr 11 08:26:42 GMT 2012  Olly Betts <olly@survex.com>
4962         * HACKING: Update section on patches to mention git (git diff and git
4963           format-patch), and using "-r" with normal diff, and also that
4964           ptardiff offers a nice way to diff against an unpacked tarball.
4966 Wed Apr 04 02:22:04 GMT 2012  Olly Betts <olly@survex.com>
4968         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
4969           If the output database is empty, don't write a metainfo tag out.
4970           Take care not to divide by zero when computing the percentage
4971           size change for a table.
4972         * tests/api_compact.cc: Add new testcase compactempty1 to provide
4973           regression tests.
4975 Wed Apr 04 01:48:34 GMT 2012  Olly Betts <olly@survex.com>
4977         * backends/dbcheck.cc: If the database couldn't be opened, don't try
4978           to reserve space for cross-checking doclens, as that just results in
4979           us reporting a confusing warning about there being too many documents
4980           to cross-check doclens.
4982 Fri Mar 30 22:23:53 GMT 2012  Olly Betts <olly@survex.com>
4984         * backends/document.h: "An string" -> "A string" in internal doc
4985           comment.
4987 Fri Mar 30 22:20:11 GMT 2012  Olly Betts <olly@survex.com>
4989         * include/xapian/weight.h: Fix switched lower and upper in doc comments
4990           for Weight methods get_doclength_lower_bound() and
4991           get_doclength_upper_bound().  Correct maximum to minimum in
4992           get_doclength_lower_bound() comment and note that this excludes zero
4993           length documents.  Fix "An lower" to "A lower".
4995 Wed Mar 28 09:54:33 GMT 2012  Olly Betts <olly@survex.com>
4997         * NEWS: Fix typos in another old entry.
4999 Wed Mar 28 09:53:00 GMT 2012  Olly Betts <olly@survex.com>
5001         * NEWS: DatabaseCoruptError -> DatabaseCorruptError in old entries.
5003 Wed Mar 28 08:05:13 GMT 2012  Olly Betts <olly@survex.com>
5005         * tests/termgentest.cc: Add test coverage for discarding of terms > 64
5006           bytes by TermGenerator.
5008 Tue Mar 27 21:07:07 GMT 2012  Olly Betts <olly@survex.com>
5010         * include/xapian/database.h: Note when Database::close() was added.
5012 Tue Mar 27 13:03:22 GMT 2012  Olly Betts <olly@survex.com>
5014         * api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h,
5015           include/xapian/errorhandler.h: Deprecate Xapian::ErrorHandler.
5016           (ticket#3)
5018 Tue Mar 27 13:01:53 GMT 2012  Olly Betts <olly@survex.com>
5020         * HACKING,docs/deprecation.rst,docs/doxygen_api.conf.in,
5021           docs/doxygen_source.conf.in: Updates for addition of
5022           XAPIAN_DEPRECATED_EX() and XAPIAN_DEPRECATED_CLASS_EX.
5024 Tue Mar 27 10:11:23 GMT 2012  Olly Betts <olly@survex.com>
5026         * HACKING,include/xapian.h,include/xapian/deprecated.h: Add
5027           XAPIAN_DEPRECATED_EX() and XAPIAN_DEPRECATED_CLASS_EX macros which
5028           mark a feature as deprecated externally but not when building the
5029           library.
5031 Tue Mar 27 08:46:29 GMT 2012  Olly Betts <olly@survex.com>
5033         * api/compactor.cc: Include the xapian sub-headers we actually use
5034           rather than xapian.h, to avoid needless rebuilds.
5036 Tue Mar 27 08:33:28 GMT 2012  Olly Betts <olly@survex.com>
5038         * HACKING: Add example of deprecating a pure virtual method.
5040 Tue Mar 27 08:30:17 GMT 2012  Olly Betts <olly@survex.com>
5042         * NEWS: Update from ChangeLog.
5044 Sat Mar 24 12:33:44 GMT 2012  Olly Betts <olly@survex.com>
5046         * backends/brass/brass_databasereplicator.cc: Fix signed vs unsigned
5047           comparison warning with GCC 4.4.3.
5049 Sat Mar 24 12:26:13 GMT 2012  Olly Betts <olly@survex.com>
5051         * include/xapian/queryparser.h,queryparser/queryparser_internal.h:
5052           Change the default stemming strategy to STEM_SOME, to eliminate
5053           the API gotcha that setting a stemmer is ignored until you also
5054           set a strategy.
5055         * tests/queryparsertest.cc: Add testcase qp_defaultstrategysome1 to
5056           check that the default is STEM_SOME.
5058 Fri Mar 23 04:29:32 GMT 2012  Olly Betts <olly@survex.com>
5060         * tests/perftest/perftest.cc: Fix comment cut-and-paste error.
5062 Fri Mar 23 04:28:24 GMT 2012  Olly Betts <olly@survex.com>
5064         * Makefile.am: Use git commit hash in the title of a coverage report
5065           generated from a git tree.
5067 Thu Mar 22 04:29:38 GMT 2012  Olly Betts <olly@survex.com>
5069         * xapian-core.spec.in: Remove xapian-chert-update.
5071 Mon Mar 19 05:42:50 GMT 2012  Olly Betts <olly@survex.com>
5073         * matcher/multiandpostlist.cc: Don't count unweighted subqueries of
5074           MultiAndPostList for percentage calculations, as OP_FILTER maps to
5075           MultiAndPostList now.  (ticket#590)
5076         * tests/api_percentages.cc: Regression test topercent6.
5078 Sun Mar 18 23:24:04 GMT 2012  Dan Colish <dcolish@>
5080         * backends/brass/brass_databasereplicator.cc: size out buffer to the
5081           incoming blocksize
5083 Sun Mar 18 17:02:14 GMT 2012  Dan Colish <dcolish@>
5085         * .gitignore: ignore /.deps as well
5087 Sun Mar 18 16:46:45 GMT 2012  Dan Colish <dcolish@>
5089         * .gitignore:Update gitignore for bump to libxapian-1.3
5091 Sun Mar 18 04:37:37 GMT 2012  Olly Betts <olly@survex.com>
5093         * configure.ac: Set LIBRARY_VERSION_SUFFIX to -1.3.
5095 Sun Mar 18 00:48:05 GMT 2012  Dan Colish <dcolish@gmail.com>
5097         * backends/brass/,common/Makefile.mk, common/compression_stream.h,
5098           common/compression_stream.cc: Compress changesets in brass
5099           replication. Increments the changeset version. Ticket #348
5101 Sun Mar 18 00:39:23 GMT 2012  Dan Colish <dcolish@gmail.com>
5103         * tests/.gitignore,tests/soaktest/.gitignore: Add additional ignores
5104           for test artifacts
5106 Fri Mar 16 05:23:54 GMT 2012  Olly Betts <olly@survex.com>
5108         * common/Makefile.mk: Missing part of previous change.
5110 Fri Mar 16 04:59:53 GMT 2012  Olly Betts <olly@survex.com>
5112         * Makefile.am,m4-macros/xapian.m4: Rename libxapian to libxapian-1.3
5113           and xapian.m4 to xapian-1.3.m4.
5115 Wed Mar 14 04:58:55 GMT 2012  Olly Betts <olly@survex.com>
5117         * NEWS,tests/api_unicode.cc,unicode/tclUniData.cc: Update
5118           Unicode character database to 6.1.0.
5120 Wed Mar 14 02:23:27 GMT 2012  Olly Betts <olly@survex.com>
5122         * NEWS: Update for 1.3.0.
5124 Tue Mar 13 07:44:32 GMT 2012  Olly Betts <olly@survex.com>
5126         * NEWS: Update from 1.2.9 and ChangeLog.
5128 Tue Mar 13 00:28:58 GMT 2012  Olly Betts <olly@survex.com>
5130         * docs/geospatial.rst: Fix typo - it's LatLongCoords::append() not
5131           LatLongCoords::insert().
5133 Mon Mar 12 23:14:20 GMT 2012  Olly Betts <olly@survex.com>
5135         * docs/admin_notes.rst: Fix typo - need "1.2.x" not "1.0.x" to get
5136           both flint and chert support.
5138 Mon Mar 12 11:54:19 GMT 2012  Olly Betts <olly@survex.com>
5140         * docs/Makefile.am: doxygen no longer generates any GIF files, so
5141           stop trying to ship or install them.
5143 Thu Mar 08 10:21:51 GMT 2012  Olly Betts <olly@survex.com>
5145         * docs/index.rst: Add link to new "getting started" guide.
5147 Mon Mar 05 06:05:28 GMT 2012  Olly Betts <olly@survex.com>
5149         * tests/queryparsertest.cc: Fix curly double quote testcase.
5151 Mon Mar 05 00:36:33 GMT 2012  Olly Betts <olly@survex.com>
5153         * matcher/: Fix issue with AND, OR, and XOR queries against a database
5154           with no documents in it - this was causing a divide by zero, which led
5155           to MSet::get_matches_estimated() reporting 2147483648 on i386.
5156         * tests/api_backend.cc: Add regression test emptydb1.
5158 Sun Mar 04 23:05:17 GMT 2012  Olly Betts <olly@survex.com>
5160         * matcher/multimatch.cc: Fix comment typo.
5162 Fri Mar 02 04:00:19 GMT 2012  Olly Betts <olly@survex.com>
5164         * tests/harness/testsuite.cc: Address new warnings from GCC 4.6.
5166 Wed Feb 29 22:36:26 GMT 2012  Olly Betts <olly@survex.com>
5168         * include/xapian/database.h: Improve documentation of Database::close()
5169           and ~WritableDatabase().
5171 Thu Jan 26 03:49:24 GMT 2012  Olly Betts <olly@survex.com>
5173         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow
5174           Unicode curly double quote characters to start and/or end phrases.
5176 Sun Jan 22 13:28:30 GMT 2012  Olly Betts <olly@survex.com>
5178         * bin/xapian-delve.cc: Send errors to stderr not stdout.
5180 Sun Jan 22 13:16:21 GMT 2012  Olly Betts <olly@survex.com>
5182         * HACKING: Update details of versions of doxygen, automake and libtool
5183           used to bootstrap snapshots and releases.
5185 Fri Jan 20 21:35:38 GMT 2012  Olly Betts <olly@survex.com>
5187         * tests/Makefile.am: unittest needs getopt for non-glibc platforms.
5189 Fri Jan 20 21:33:59 GMT 2012  Olly Betts <olly@survex.com>
5191         * include/xapian/query.h: GCC 4.2.1 on Mac OS X seems to need a copy
5192           ctor for InvertedQuery_ - unclear why, but it's easy to add one.
5194 Wed Jan 18 13:13:07 GMT 2012  Olly Betts <olly@survex.com>
5196         * include/xapian/matchspy.h,include/xapian/postingsource.h,
5197           include/xapian/weight.h: Document that you can define a static
5198           operator delete method in your subclass if deallocation needs to be
5199           handled specially.  (Closes ticket#554)
5201 Wed Jan 18 12:27:20 GMT 2012  Olly Betts <olly@survex.com>
5203         * include/xapian/geospatial.h: Mark as experimental for now.
5205 Wed Jan 18 12:22:39 GMT 2012  Olly Betts <olly@survex.com>
5207         * docs/geospatial.rst: Say "haversine" rather than "Haversine"
5208           consistently.
5210 Wed Jan 18 12:01:28 GMT 2012  Olly Betts <olly@survex.com>
5212         * include/xapian/geospatial.h: Change empty() to return bool not
5213           size_t.
5215 Wed Jan 18 10:44:16 GMT 2012  Olly Betts <olly@survex.com>
5217         * docs/geospatial.rst: Fix minor typos in geospatial docs.
5219 Wed Jan 18 10:39:53 GMT 2012  Olly Betts <olly@survex.com>
5221         * Makefile.am,api/postingsource.cc,api/queryinternal.cc,
5222           api/registry.cc,common/output.h,common/registryinternal.h,
5223           docs/geospatial.rst,geospatial/,include/Makefile.mk,include/xapian.h,
5224           include/xapian/geospatial.h,include/xapian/postingsource.h,
5225           include/xapian/registry.h,tests/.gitignore,tests/Makefile.am,
5226           tests/api_geospatial.cc: Merge geotomerge2 branch from github.
5227           Closes ticket#481.
5229 Tue Jan 17 22:29:10 GMT 2012  Olly Betts <olly@survex.com>
5231         * api/errorhandler.cc: Reorder header includes.
5233 Mon Jan 16 22:59:02 GMT 2012  Olly Betts <olly@survex.com>
5235         * include/xapian/queryparser.h,queryparser/queryparser.lemony: Fix
5236           FLAG_AUTO_SYNONYMS not to enable auto multi-word synonyms too.
5237         * tests/queryparsertest.cc: Extend testcase qp_synonym1 to include a
5238           regression test for this bug.
5240 Sun Jan 15 12:41:35 GMT 2012  Olly Betts <olly@survex.com>
5242         * .gitignore,backends/Makefile.mk,backends/brass/,backends/chert/,
5243           backends/dbcheck.cc,bin/,common/bitstream.h,
5244           include/xapian/database.h: Add a (currently experimental) API for
5245           checking the integrity of databases (partly addresses ticket#238).
5246           This means we can remove XAPIAN_VISIBILITY_DEFAULT from a number of
5247           functions which aren't in the public API (partly addresses
5248           ticket#63).
5250 Fri Jan 13 12:07:39 GMT 2012  Olly Betts <olly@survex.com>
5252         * tests/stemtest.cc: Include <xapian.h> rather than <xapian/stem.h> -
5253           we're trying to test the public API, so including the public API
5254           header is better.
5256 Thu Jan 12 13:15:27 GMT 2012  Olly Betts <olly@survex.com>
5258         * tests/unittest.cc: Add new testcases simple_exceptions_work1 and
5259           class_exceptions_work1 which perform sanity tests of exception
5260           handling.
5261         * tests/internaltest.cc: Remove testcase test_except1 which is now
5262           redundant.
5264 Thu Jan 12 13:09:25 GMT 2012  Olly Betts <olly@survex.com>
5266         * common/str.cc: Special cases for 0 in tostring() templates aren't
5267           actually needed, but special casing single digit numbers may be
5268           worthwhile anyway, so change comments to FIXME ones about checking
5269           this.
5270         * tests/internaltest.cc: Test str() on unsigned 0, and some negative,
5271           signed positive, and unsigned positive single digits values.
5273 Wed Jan 11 13:03:54 GMT 2012  Olly Betts <olly@survex.com>
5275         * backends/multi/multi_alltermslist.h: Fix filename in @file.
5277 Wed Jan 11 12:53:44 GMT 2012  Olly Betts <olly@survex.com>
5279         * api/documentterm.h,api/maptermlist.h,api/omenquireinternal.h,
5280           backends/brass/,backends/chert/,backends/database.h,
5281           backends/document.h,backends/inmemory/inmemory_alltermslist.h,
5282           backends/inmemory/inmemory_database.h,
5283           backends/inmemory/inmemory_positionlist.h,
5284           backends/multi/multi_postlist.h,backends/multi/multi_termlist.h,
5285           backends/positionlist.h,backends/remote/net_termlist.h,
5286           backends/valuestats.h,common/,include/xapian/query.h,matcher/,
5287           queryparser/queryparser_internal.h,tests/harness/,
5288           tests/perftest/freemem.h,tests/perftest/runprocess.h: Convert
5289           comments at the start of files to @file and @brief doxygen comments.
5291 Wed Jan 11 11:36:55 GMT 2012  Olly Betts <olly@survex.com>
5293         * matcher/phrasepostlist.h: Remove lone "----START-LICENCE----" -
5294           the rest got removed ages ago.
5296 Wed Jan 11 11:23:04 GMT 2012  Olly Betts <olly@survex.com>
5298         * common/replicate_utils.h: Fix "@raises" to "@exception".
5300 Wed Jan 11 11:21:31 GMT 2012  Olly Betts <olly@survex.com>
5302         * matcher/multiandpostlist.h: Fix "@parameter" to "@param".
5304 Wed Jan 11 11:20:11 GMT 2012  Olly Betts <olly@survex.com>
5306         * common/debuglog.h: Fix "@msg" to "@a msg" in doxygen comment.
5308 Wed Jan 11 11:18:50 GMT 2012  Olly Betts <olly@survex.com>
5310         * matcher/multiandpostlist.h: Correct @exceptions to @exception.
5312 Wed Jan 11 10:48:05 GMT 2012  Olly Betts <olly@survex.com>
5314         * HACKING: We no longer have any uses of \ to introduce doxygen
5315           directives, so update HACKING to reflect that.
5317 Wed Jan 11 10:46:01 GMT 2012  Olly Betts <olly@survex.com>
5319         * api/omdatabase.cc: Change \todo to @todo.
5321 Wed Jan 11 10:09:29 GMT 2012  Olly Betts <olly@survex.com>
5323         * api/replication.h,api/valuesetmatchdecider.cc,
5324           common/output-internal.h,common/output.h,include/xapian/,
5325           tests/harness/testrunner.cc,tests/harness/testrunner.h,
5326           tests/perftest/perftest.cc,tests/perftest/perftest.h: Change the
5327           instances of \file and \brief in doxygen comments to @file and
5328           @brief.
5330 Wed Jan 11 10:08:19 GMT 2012  Olly Betts <olly@survex.com>
5332         * tests/internaltest.cc: Remove serialisedoc1 from the list of
5333           testcases to run too.
5335 Wed Jan 11 09:50:22 GMT 2012  Olly Betts <olly@survex.com>
5337         * matcher/multixorpostlist.h: Remove "using namespace std;" which we
5338           don't need here.
5340 Wed Jan 11 09:38:27 GMT 2012  Olly Betts <olly@survex.com>
5342         * common/filetests.h: Remove "using namespace std;" which we don't
5343           need here.
5345 Wed Jan 11 09:36:27 GMT 2012  Olly Betts <olly@survex.com>
5347         * common/filetests.h: Add documentation comments.
5349 Wed Jan 11 09:28:26 GMT 2012  Olly Betts <olly@survex.com>
5351         * tests/api_serialise.cc: Extend serialise_document1 to test
5352           serialising and unserialising an empty document, which is an
5353           interesting edge case.
5354         * tests/internaltest.cc: Remove testcase serialisedoc1, which
5355           now doesn't add useful additional coverage over serialise_document1.
5357 Wed Jan 11 08:29:04 GMT 2012  Olly Betts <olly@survex.com>
5359         * tests/internaltest.cc: Test document serialisation via the public
5360           API (which was added after the tests were).
5361         * net/serialise.h: Remove XAPIAN_VISIBILITY_DEFAULT from
5362           serialise_document() and unserialise_document().
5364 Wed Jan 11 05:57:14 GMT 2012  Olly Betts <olly@survex.com>
5366         * api/replication.cc,common/,tests/unittest.cc: Move removedir() from
5367           utils.{cc,h} to fileutils.{cc,h}, and remove the now empty
5368           utils.{cc,h}.
5370 Wed Jan 11 05:44:38 GMT 2012  Olly Betts <olly@survex.com>
5372         * tests/harness/unixcmds.cc: Check return values from system() calls
5373           and throw a std::string exception if non-zero.
5375 Wed Jan 11 05:20:30 GMT 2012  Olly Betts <olly@survex.com>
5377         * common/Makefile.mk,common/omassert.cc,common/omassert.h,
5378           common/utils.cc: Change the sense of the bool returned by
5379           within_DBL_EPSILON() to match what the name suggests instead of being
5380           the opposite, and change the use of it too.  Move
5381           within_DBL_EPSILON() implementation from utils.cc to new file
5382           omassert.cc, only compile it when assertions are on, and prototype it
5383           in omassert.h rather than utils.h.
5385 Wed Jan 11 05:09:39 GMT 2012  Olly Betts <olly@survex.com>
5387         * api/compactor.cc,api/replication.cc,backends/brass/,backends/chert/,
5388           backends/dbfactory.cc,common/utils.cc,common/utils.h,
5389           tests/api_backend.cc,tests/api_wrdb.cc,
5390           tests/harness/backendmanager.cc,tests/harness/unixcmds.cc: Remove
5391           std::string wrappers for C library functions from utils.h and just
5392           explicitly call c_str() when we need to.  These wrappers are
5393           problematic as they suppress warnings from _FORTIFY_SOURCE about
5394           ignored return values, and I can't see an easy way to avoid that.
5396 Wed Jan 11 03:35:35 GMT 2012  Olly Betts <olly@survex.com>
5398         * api/replication.cc,backends/brass/brass_databasereplicator.cc,
5399           backends/brass/brass_table.cc,
5400           backends/chert/chert_databasereplicator.cc,
5401           backends/chert/chert_table.cc,backends/databasereplicator.cc,
5402           backends/dbfactory.cc,common/utils.cc,common/utils.h: Use
5403           file_exists() and dir_exists() from common/filetests.h everywhere and
5404           remove the old versions in common/utils.h and common/utils.cc.
5406 Wed Jan 11 02:20:45 GMT 2012  Olly Betts <olly@survex.com>
5408         * common/utils.h: Remove XAPIAN_VISIBILITY_DEFAULT from old
5409           file_exists() and dir_exists().
5411 Wed Jan 11 02:19:58 GMT 2012  Olly Betts <olly@survex.com>
5413         * tests/api_compact.cc: Convert to use filetests.h.
5415 Wed Jan 11 02:14:07 GMT 2012  Olly Betts <olly@survex.com>
5417         * bin/xapian-check.cc,bin/xapian-inspect.cc: Convert to use
5418           filetests.h.
5420 Wed Jan 11 02:13:02 GMT 2012  Olly Betts <olly@survex.com>
5422         * common/filetests.h: Rename directory_exists() to dir_exists().
5424 Wed Jan 11 02:10:06 GMT 2012  Olly Betts <olly@survex.com>
5426         * common/Makefile.mk,common/filetests.h,tests/api_replicate.cc,
5427           tests/harness/backendmanager_multi.cc,tests/harness/testsuite.cc:
5428           Add new inline versions of file_exists() and directory_exists() and
5429           use these from the testsuite, as a step towards making these internal
5430           to the library.
5432 Tue Jan 10 23:37:36 GMT 2012  Olly Betts <olly@survex.com>
5434         * tests/api_serialise.cc: Change the rather odd "operator delete(p);"
5435           to the more natural "delete p;".
5437 Tue Jan 10 22:45:01 GMT 2012  Olly Betts <olly@survex.com>
5439         * tests/unittest.cc: Fix message typo in recent unittest change.
5441 Tue Jan 10 13:48:38 GMT 2012  Olly Betts <olly@survex.com>
5443         * common/safesysstat.h: The S_ISDIR and S_ISREG macros for MSVC are
5444           unlikely to work on other platforms (_S_IFMT vs S_IFMT, etc) so
5445           split them.  Tweak a few comments.
5447 Tue Jan 10 13:10:25 GMT 2012  Olly Betts <olly@survex.com>
5449         * net/: Split encode_length() and decode_length() out of
5450           serialise.{cc,h} into new file length.{cc,h}, and remove
5451           XAPIAN_VISIBILITY_DEFAULT from decode_length().
5452         * api/,backends/brass/brass_database.cc,
5453           backends/chert/chert_database.cc,backends/remote/net_postlist.cc,
5454           backends/remote/remote-database.cc,net/: Update headers which need
5455           to be included.
5456         * tests/internaltest.cc,tests/unittest.cc: Move serialiselength1 and
5457           serialiselength2 from internaltest to unittest.
5459 Mon Jan 09 02:16:22 GMT 2012  Olly Betts <olly@survex.com>
5461         * tests/api_compact.cc: Actually add test coverage for
5462           ByteLengthPrefixedStringItor - the previous attempt didn't cause
5463           merging of synonym lists to happen.
5465 Mon Jan 09 00:21:25 GMT 2012  Olly Betts <olly@survex.com>
5467         * tests/api_replicate.cc: Fix comment typo.
5469 Sun Jan 08 14:47:19 GMT 2012  Olly Betts <olly@survex.com>
5471         * tests/api_compact.cc: Add test coverage for
5472           ByteLengthPrefixedStringItor.
5474 Sun Jan 08 14:05:19 GMT 2012  Olly Betts <olly@survex.com>
5476         * common/fd.h,tests/api_db.cc,tests/harness/backendmanager.cc: Add
5477           missing explicit header includes, uncovered by compiling with
5478           STLport.
5480 Sat Jan 07 11:45:00 GMT 2012  Olly Betts <olly@survex.com>
5482         * INSTALL,configure.ac,m4/rjb_find_stlport.m4,xapian-config.in: Remove
5483           configure's --with-stlport and --with-stlport-compiler options, as
5484           they don't allow you to actually specify what you need (at least to
5485           use the Debian STLport package), and instead document what to pass
5486           to configure to enable building with STLport (though it seems to no
5487           longer be actively maintained, and the debug mode (which is probably
5488           the most interesting feature now) doesn't seem to work on Debian
5489           stable).
5491 Sat Jan 07 10:24:25 GMT 2012  Olly Betts <olly@survex.com>
5493         * HACKING: Update STLPort URL to point to the more active fork on
5494           SourceForge.
5496 Fri Jan 06 20:07:06 GMT 2012  Olly Betts <olly@survex.com>
5498         * tests/api_sorting.cc: Add check that NeverUseMeKeyMaker::operator()
5499           would actually cause a test failure if called.
5501 Fri Jan 06 20:01:27 GMT 2012  Olly Betts <olly@survex.com>
5503         * tests/api_stem.cc: Test get_description() on a user-implemented
5504           stemmer.
5506 Fri Jan 06 14:34:16 GMT 2012  Olly Betts <olly@survex.com>
5508         * tests/Makefile.am,tests/harness/,tests/queryparsertest.cc,
5509           tests/termgentest.cc,tests/unittest.cc: Make unittest use the test
5510           harness, so it gets all the valgrind and fd leak checks, and other
5511           handy features all the other tests have.  Currently this is done in
5512           a bit of a hacky way, but it's a starting point for abstracting out
5513           the Xapian-specific parts of the test harness.
5515 Fri Jan 06 08:42:26 GMT 2012  Olly Betts <olly@survex.com>
5517         * Makefile.am: Delete generated lcov directory before running genhtml.
5518           Pass --demangle-cpp and --html-gzip to genhtml.
5520 Fri Jan 06 08:14:05 GMT 2012  Olly Betts <olly@survex.com>
5522         * Makefile.am: Trim `pwd` off all paths in coverage report.
5524 Fri Jan 06 02:29:04 GMT 2012  Olly Betts <olly@survex.com>
5526         * common/pretty.h: Add support for AndContext and OrContext.
5528 Fri Jan 06 02:28:07 GMT 2012  Olly Betts <olly@survex.com>
5530         * common/pretty.h: Use XAPIAN_PRETTY_AS_CLASSNAME for classes in
5531           namespace Xapian::Internal too.
5533 Thu Jan 05 12:23:10 GMT 2012  Olly Betts <olly@survex.com>
5535         * tests/internaltest.cc,tests/unittest.cc: Move tests of
5536           serialise_double() and unserialise_double() from internaltest to
5537           unittest.
5538         * common/serialise-double.h: This means serialise_double() and
5539           unserialise_double() no longer need external visibility, so make
5540           them internal only.
5542 Thu Jan 05 12:08:15 GMT 2012  Olly Betts <olly@survex.com>
5544         * common/bitstream.h: BitWriter doesn't need public visibility.
5546 Thu Jan 05 10:53:23 GMT 2012  Olly Betts <olly@survex.com>
5548         * common/output-internal.h,common/pretty.h: Fix include paths for two
5549           cases which are only used in a logging build.
5551 Fri Dec 30 09:17:50 GMT 2011  Olly Betts <olly@survex.com>
5553         * tests/queryparsertest.cc: Update expected results (mostly because we
5554           no longer flatten groups of the same operator at Query construction
5555           time).
5557 Thu Dec 29 13:47:04 GMT 2011  Olly Betts <olly@survex.com>
5559         * api/Makefile.mk: Add missing backslash so various headers actually
5560           get shipped.
5562 Thu Dec 29 11:29:04 GMT 2011  Olly Betts <olly@survex.com>
5564         * include/xapian/query.h: Add fake templated ctor for SWIG.
5566 Thu Dec 29 00:23:25 GMT 2011  Olly Betts <olly@survex.com>
5568         * tests/api_scalability.cc: Add regression test querypairwise1 for
5569           ticket#273.
5571 Thu Dec 29 00:03:17 GMT 2011  Olly Betts <olly@survex.com>
5573         * api/,backends/remote/remote-database.cc,
5574           backends/remote/remote-database.h,docs/deprecation.rst,
5575           include/xapian/query.h,matcher/,net/remoteserver.cc,
5576           queryparser/queryparser.lemony,tests/,weight/weightinternal.h: Merge
5577           query-internal-reimplementation git branch which reimplements
5578           Query::Internal. (ticket#280).  These are the most notable changes:
5579           + Query objects are smaller and should be faster.
5580           + More readable format for Query::get_description().
5581           + More compact serialisation format for Query objects.
5582           + Query operators are no longer flattened as you build up a tree (but
5583             the query optimiser still combines groups of the same operator).
5584             This means that Query objects are truly immutable, and so we don't
5585             need to copy Query objects when composing them.  This should also
5586             fix a few O(n*n) cases when building up an n-way query pair-wise.
5587             (ticket#273)
5588           + The Query optimiser can do a few extra optimisations.
5590 Mon Dec 26 12:13:36 GMT 2011  Olly Betts <olly@survex.com>
5592         * include/xapian/queryparser.h,queryparser/queryparser.cc: Change
5593           QueryParser::set_default_op() to reject operators which don't make
5594           sense to set, and explicitly document all the operators which are
5595           allowed.
5596         * tests/queryparsertest.cc: Check that bad operators are rejected in
5597           existing testcase qp_default_op2.  Add new testcase qp_default_op3 to
5598           check that good operators can be set and work in a simple testcase.
5600 Mon Dec 26 09:12:09 GMT 2011  Olly Betts <olly@survex.com>
5602         * tests/harness/backendmanager_brass.h,
5603           tests/harness/backendmanager_chert.h: Remove superfluous "private:"
5604           access specifiers.
5606 Sat Dec 24 12:34:19 GMT 2011  Olly Betts <olly@survex.com>
5608         * HACKING: Recommend installing valgrind, ccache, and eatmydata.
5610 Sat Dec 24 12:28:44 GMT 2011  Olly Betts <olly@survex.com>
5612         * HACKING: Make it clear "Building from SVN" applies to git too, and
5613           mention that git-svn is needed when building from git.
5615 Thu Dec 22 11:18:17 GMT 2011  Olly Betts <olly@survex.com>
5617         * languages/compiler/generator.c: Initialise variable which can
5618           be used uninitialised.
5620 Thu Dec 22 03:14:02 GMT 2011  Olly Betts <olly@survex.com>
5622         * bin/Makefile.mk: Link $(libxapian_la) after libbrasscheck.la and
5623           libchertcheck.la to fix mingw build.  Probably closes ticket#567.
5625 Thu Dec 22 02:45:45 GMT 2011  Olly Betts <olly@survex.com>
5627         * include/xapian/query.h: Document that OP_ELITE_SET with non-term
5628           subqueries might pick subqueries which don't match anything.
5629           Closes ticket#49.
5631 Thu Dec 22 02:37:10 GMT 2011  Olly Betts <olly@survex.com>
5633         * include/xapian/query.h: Improve documentation of OP_ELITE_SET.
5635 Wed Dec 21 12:26:00 GMT 2011  Olly Betts <olly@survex.com>
5637         * api/errorhandler.cc: Rearrange code in ErrorHandler::operator() to
5638           be clearer.
5640 Wed Dec 21 11:23:28 GMT 2011  Olly Betts <olly@survex.com>
5642         * include/xapian/errorhandler.h: Fix typo: 'APU' -> 'API'.
5644 Wed Dec 21 09:57:32 GMT 2011  Olly Betts <olly@survex.com>
5646         * api/,backends/brass/brass_postlist.cc,
5647           backends/brass/brass_postlist.h,backends/chert/,
5648           backends/contiguousalldocspostlist.cc,
5649           backends/contiguousalldocspostlist.h,
5650           backends/inmemory/inmemory_database.cc,
5651           backends/inmemory/inmemory_database.h,
5652           backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
5653           backends/remote/,docs/,expand/,include/xapian/,matcher/,
5654           net/remoteserver.cc,net/serialise.cc,tests/,weight/bm25weight.cc,
5655           weight/boolweight.cc,weight/tradweight.cc: Deprecate Xapian::weight
5656           typedef in favour of just using double, and make the replacement
5657           everywhere.  Closes ticket#560.
5659 Tue Dec 20 13:31:21 GMT 2011  Olly Betts <olly@survex.com>
5661         * net/remoteconnection.cc: Include "safesysstat.h" for fstat().
5663 Fri Dec 16 03:05:17 GMT 2011  Olly Betts <olly@survex.com>
5665         * backends/brass/brass_termlisttable.cc,
5666           backends/chert/chert_termlisttable.cc,
5667           backends/multi/multi_postlist.cc,net/replicatetcpclient.cc,
5668           net/serialise.cc,net/tcpserver.cc,tests/,
5669           tests/harness/backendmanager_remoteprog.cc,tests/queryparsertest.cc,
5670           tests/soaktest/soaktest_queries.cc,tests/termgentest.cc: Remove
5671           unnecessary includes on "utils.h".
5673 Fri Dec 16 02:57:49 GMT 2011  Olly Betts <olly@survex.com>
5675         * backends/brass/brass_btreebase.cc,backends/brass/brass_database.cc,
5676           backends/brass/brass_databasereplicator.cc,
5677           backends/chert/chert_btreebase.cc,backends/chert/chert_database.cc,
5678           backends/chert/chert_databasereplicator.cc,
5679           net/remoteconnection.cc,tests/api_replicate.cc: Replace uses of
5680           fdcloser class with new FD class.
5681         * common/utils.h: Remove fdcloser class.
5683 Fri Dec 16 00:56:45 GMT 2011  Olly Betts <olly@survex.com>
5685         * tests/api_replicate.cc: Use a const int rather than a #define for
5686           BUFSIZE.
5688 Fri Dec 16 00:50:57 GMT 2011  Olly Betts <olly@survex.com>
5690         * tests/api_replicate.cc: Avoid leaking fds on exceptions in
5691           truncated_copy().
5693 Fri Dec 16 00:42:11 GMT 2011  Olly Betts <olly@survex.com>
5695         * common/fd.h: Oops, fix to actually compile.
5697 Thu Dec 15 23:54:44 GMT 2011  Olly Betts <olly@survex.com>
5699         * common/Makefile.mk,common/fd.h: Add new FD class which wraps a file
5700           descriptor and ensures it gets released when we exit the scope.
5702 Thu Dec 15 22:44:16 GMT 2011  Olly Betts <olly@survex.com>
5704         * weight/Makefile: Add forwarding Makefile.
5706 Thu Dec 15 22:17:18 GMT 2011  Olly Betts <olly@survex.com>
5708         * weight/Makefile.mk: Ship dir_contents and Makefile.
5710 Tue Dec 13 10:33:21 GMT 2011  Olly Betts <olly@survex.com>
5712         * NEWS: Update from ChangeLog and branches/1.2.
5714 Fri Dec 09 10:33:25 GMT 2011  Olly Betts <olly@survex.com>
5716         * tests/soaktest/soaktest.cc,tests/soaktest/soaktest.h,
5717           tests/soaktest/soaktest_queries.cc: "boulton" -> "Boulton" in
5718           copyright statements.
5720 Fri Dec 09 10:31:18 GMT 2011  Olly Betts <olly@survex.com>
5722         * tests/soaktest/soaktest.cc: With Sun's compiler, random() and
5723           srandom() aren't in <cstdlib> so we need to use <stdlib.h> instead.
5725 Fri Dec 09 07:51:44 GMT 2011  Olly Betts <olly@survex.com>
5727         * include/xapian/types.h: Set BAD_VALUENO to 0xffffffff rather than
5728           static_cast<valueno>(-1) - it's the same value currently, but more
5729           robust to valueno being set a wider type.
5731 Fri Dec 09 07:49:07 GMT 2011  Olly Betts <olly@survex.com>
5733         * include/xapian/types.h: Explicitly document which value slot numbers
5734           are valid.  Fixes ticket#555.
5736 Sat Dec 03 09:32:55 GMT 2011  Olly Betts <olly@survex.com>
5738         * tests/api_opsynonym.cc: Fix typo in comment.
5740 Thu Dec 01 04:41:24 GMT 2011  Olly Betts <olly@survex.com>
5742         * include/xapian/database.h: Remove bogus paragraph in
5743           replace_document() documentation comment, cut and pasted from
5744           delete_document() documentation comment.  (Fixes bug#579)
5746 Tue Nov 08 01:50:25 GMT 2011  Olly Betts <olly@survex.com>
5748         * include/xapian/enquire.h: Add missing doxygen @param commands.
5750 Tue Nov 08 01:33:34 GMT 2011  Olly Betts <olly@survex.com>
5752         * include/xapian/database.h,include/xapian/document.h: Add missing
5753           doxygen @param commands.
5755 Mon Nov 07 10:31:04 GMT 2011  Olly Betts <olly@survex.com>
5757         * include/xapian/queryparser.h: Address doxygen warnings.
5759 Mon Nov 07 02:40:50 GMT 2011  Olly Betts <olly@survex.com>
5761         * include/xapian/postingsource.h: Document undocumented parameters,
5762           fixing doxygen warnings.
5763         * include/xapian/queryparser.h: Escape < and > in doxygen comments.
5765 Mon Nov 07 02:38:18 GMT 2011  Olly Betts <olly@survex.com>
5767         * include/xapian/enquire.h: Enquire::get_eset() doesn't take a min_wt
5768           parameter, so remove @param documentation for it.
5770 Mon Nov 07 01:59:54 GMT 2011  Olly Betts <olly@survex.com>
5772         * include/xapian/: Document lots of parameters, fixing doxygen
5773           warnings.
5775 Sun Nov 06 22:05:09 GMT 2011  Olly Betts <olly@survex.com>
5777         * generate-exceptions: Document all parameters to fix doxygen
5778           warnings.
5780 Sun Nov 06 22:03:50 GMT 2011  Olly Betts <olly@survex.com>
5782         * include/xapian/: Fix doxygen warnings.
5784 Sun Nov 06 21:00:08 GMT 2011  Olly Betts <olly@survex.com>
5786         * include/xapian/queryparser.h: Document value parameter of
5787           sortable_serialise() and sortable_unserialise().
5789 Sun Nov 06 17:53:31 GMT 2011  Olly Betts <olly@survex.com>
5791         * include/xapian/document.h: Improve Document get_data() and set_data()
5792           documentation comments.
5794 Sun Nov 06 17:14:39 GMT 2011  Olly Betts <olly@survex.com>
5796         * tests/Makefile.am: Add -I$(top_srcdir) so api/replication.h is found
5797           in a VPATH build.
5799 Sun Nov 06 16:06:52 GMT 2011  Olly Betts <olly@survex.com>
5801         * api/,backends/database.h,backends/document.h,
5802           backends/multi/multi_alltermslist.h,backends/positionlist.h,common/,
5803           tests/harness/: More more headers out of common.
5805 Sun Nov 06 14:55:25 GMT 2011  Olly Betts <olly@survex.com>
5807         * api/maptermlist.h,backends/inmemory/Makefile.mk,
5808           backends/inmemory/inmemory_positionlist.h,
5809           backends/remote/Makefile.mk,backends/remote/remote-database.cc,
5810           backends/remote/remote-database.h,common/Makefile.mk,
5811           common/inmemory_positionlist.h,common/remote-database.h,
5812           matcher/multimatch.cc,matcher/remotesubmatch.cc,
5813           matcher/remotesubmatch.h,net/progclient.h,net/remotetcpclient.h:
5814           Move two more headers out of common.
5816 Sun Nov 06 11:56:46 GMT 2011  Olly Betts <olly@survex.com>
5818         * tests/internaltest.cc: Fix for VPATH build.
5820 Sun Nov 06 11:26:18 GMT 2011  Olly Betts <olly@survex.com>
5822         * common/,tests/api_replicate.cc: Factor internal classes out of
5823           output.h into new output-internal.h to fix build failures in VPATH
5824           due to move of weightinternal.h out of common (since the test harness
5825           uses output.h).
5827 Sun Nov 06 00:49:45 GMT 2011  Olly Betts <olly@survex.com>
5829         * api/,backends/brass/,backends/chert/,backends/dbfactory_remote.cc,
5830           backends/inmemory/inmemory_database.cc,
5831           backends/multi/multi_termlist.cc,backends/remote/net_postlist.cc,
5832           backends/remote/net_termlist.h,backends/remote/remote-database.cc,
5833           bin/,common/,expand/,matcher/,net/,tests/internaltest.cc,
5834           weight/Makefile.mk,weight/weightinternal.h: Move even more headers
5835           out of common and next to their corresponding C++ file.
5837 Sat Nov 05 23:55:55 GMT 2011  Olly Betts <olly@survex.com>
5839         * api/replication.cc,backends/Makefile.mk,
5840           backends/brass/brass_databasereplicator.h,
5841           backends/chert/chert_databasereplicator.h,
5842           backends/databasereplicator.h,common/Makefile.mk,
5843           common/databasereplicator.h: Move databasereplicator.h from common to
5844           backends.
5846 Sat Nov 05 23:51:40 GMT 2011  Olly Betts <olly@survex.com>
5848         * backends/Makefile.mk: Fix sort order of noinst_HEADERS.
5850 Sat Nov 05 23:50:33 GMT 2011  Olly Betts <olly@survex.com>
5852         * api/documentvaluelist.h,api/omdatabase.cc,api/valueiterator.cc,
5853           backends/Makefile.mk,backends/brass/,backends/chert/,
5854           backends/inmemory/inmemory_database.cc,
5855           backends/multi/multi_valuelist.cc,backends/multivaluelist.h,
5856           backends/valuelist.h,backends/valuestats.h,bin/xapian-check-brass.cc,
5857           bin/xapian-check-chert.cc,common/,matcher/valuerangepostlist.h,
5858           matcher/valuestreamdocument.h: Move multivaluelist.h, valuelist.h and
5859           valuestats.h from common to backends.
5861 Sat Nov 05 23:40:49 GMT 2011  Olly Betts <olly@survex.com>
5863         * api/,backends/brass/brass_postlist.h,backends/chert/chert_postlist.h,
5864           backends/contiguousalldocspostlist.h,backends/database.cc,
5865           backends/inmemory/inmemory_database.h,
5866           backends/multi/multi_postlist.h,backends/remote/net_postlist.h,
5867           backends/remote/remote-database.cc,common/,matcher/: Move
5868           emptypostlist.h, leafpostlist.h and postlist.h from common to api.
5870 Sat Nov 05 23:31:14 GMT 2011  Olly Betts <olly@survex.com>
5872         * backends/Makefile.mk,backends/brass/brass_database.cc,
5873           backends/chert/chert_database.cc,
5874           backends/contiguousalldocspostlist.h,common/Makefile.mk,
5875           common/contiguousalldocspostlist.h: Move contiguousalldocspostlist.h
5876           from common to backends.
5878 Sat Nov 05 23:28:49 GMT 2011  Olly Betts <olly@survex.com>
5880         * api/omdatabase.cc,backends/Makefile.mk,backends/alltermslist.h,
5881           backends/brass/,backends/chert/,
5882           backends/inmemory/inmemory_alltermslist.h,common/Makefile.mk,
5883           common/alltermslist.h,common/multialltermslist.h: Move alltermslist.h
5884           from common to backends.
5886 Sat Nov 05 23:20:05 GMT 2011  Olly Betts <olly@survex.com>
5888         * common/safesysselect.h: Fix typo (FDSET -> FD_SET).
5890 Sat Nov 05 23:12:09 GMT 2011  Olly Betts <olly@survex.com>
5892         * common/safesysselect.h: Enhance to provide portability for __WIN32__
5893           too.
5894         * net/remoteconnection.cc,net/tcpclient.cc: Update to make use of this.
5896 Sat Nov 05 22:39:51 GMT 2011  Olly Betts <olly@survex.com>
5898         * common/safesysselect.h: Add wrapper around FD_SET() under __WIN32__
5899           which casts the fd parameter to unsigned to avoid a warning on mingw.
5900         * net/tcpclient.cc: Remove __WIN32__-specific case here which was
5901           working around this warning.
5903 Sat Nov 05 21:58:12 GMT 2011  Olly Betts <olly@survex.com>
5905         * bin/.gitignore,bin/Makefile.mk,bin/xapian-delve.cc,
5906           docs/admin_notes.rst,examples/,xapian-core.spec.in: Move delve from
5907           examples to bin and rename to xapian-delve.
5909 Sat Nov 05 15:18:37 GMT 2011  Olly Betts <olly@survex.com>
5911         * docs/overview.rst: Fix a few things which were out of date and
5912           improve wording in various places.
5914 Sat Nov 05 12:07:14 GMT 2011  Olly Betts <olly@survex.com>
5916         * docs/quickstart.rst: Fix some factual errors, and tweak .rst
5917           source layout a little (":\n::\n" -> "::\n").
5919 Thu Nov 03 20:53:49 GMT 2011  Richard Boulton <richard@tartarus.org>
5921         * common/msvc_posix_wrapper.cc,common/safe.cc,net/tcpclient.cc:
5922           Some fixes for warnings when cross-compiling with mingw; missing
5923           includes to get declarations of functions in windows support
5924           code, and change to use the windows SOCKET type to avoid a
5925           signed/unsigned comparison warning in tcpclient.
5927 Sun Oct 30 23:31:09 GMT 2011  Olly Betts <olly@survex.com>
5929         * NEWS: Update from ChangeLog.
5931 Sun Oct 30 13:16:12 GMT 2011  Olly Betts <olly@survex.com>
5933         * include/xapian/queryparser.h: List which flags FLAG_DEFAULT includes
5934           in the doxygen documentation comments.
5936 Sat Oct 29 14:47:04 GMT 2011  Olly Betts <olly@survex.com>
5938         * include/xapian/enquire.h: Add note to API docs to discourage use
5939           of percentage scores.
5941 Sat Oct 29 14:40:39 GMT 2011  Olly Betts <olly@survex.com>
5943         * docs/quickstart.rst,docs/quickstartexpand.cc.html,
5944           docs/quickstartsearch.cc.html,examples/quest.cc,
5945           examples/simpleexpand.cc,examples/simplesearch.cc: Use get_weight()
5946           instead of get_percent() in examples, since percentages are rather
5947           old fashioned and you probably don't want to use them in new
5948           applications.
5950 Sat Oct 29 13:29:37 GMT 2011  Olly Betts <olly@survex.com>
5952         * api/omenquire.cc,common/omenquireinternal.h,docs/deprecation.rst,
5953           include/xapian/enquire.h,include/xapian/types.h,tests/api_anydb.cc:
5954           Deprecate Xapian::percent and use int instead in the API and our
5955           own code.
5957 Sat Oct 29 12:30:05 GMT 2011  Olly Betts <olly@survex.com>
5959         * docs/quickstart.rst: Fix indentation of example code.
5961 Sat Oct 29 10:04:24 GMT 2011  Olly Betts <olly@survex.com>
5963         * docs/overview.rst: Fix typo in example code.
5965 Fri Oct 28 14:39:09 GMT 2011  Olly Betts <olly@survex.com>
5967         * include/xapian/database.h: Note that commit() was new in 1.1.0.
5969 Fri Oct 14 12:38:45 GMT 2011  Olly Betts <olly@survex.com>
5971         * common/realtime.h: Use safesysselect.h.
5973 Mon Oct 03 00:53:13 GMT 2011  Olly Betts <olly@survex.com>
5975         * queryparser/lemon.c: Incorporate changes from latest upstream
5976           version.  I'm failing to follow branch structure upstream to work
5977           out which changesets to merge so it's simpler to just compare the
5978           latest version with what we currently have.
5980 Sun Oct 02 23:31:52 GMT 2011  Olly Betts <olly@survex.com>
5982         * queryparser/lemon.c: Merge http://www.sqlite.org/src/info/d8bab8cf0b:
5983           'Added %expect directive, to consider a certain number of conflicts
5984           "correct." This has the side effect of changing the process exit
5985           code to never overflow.'
5987 Sun Oct 02 23:26:34 GMT 2011  Olly Betts <olly@survex.com>
5989         * queryparser/lemon.c: Merge http://www.sqlite.org/src/info/e6cbe1e5ee:
5990           "Added -T option, to specify a template filename on the command
5991           line.  The default is still "lempar.c", though."  Not currently
5992           useful to us, but trying to minimise differences with upstream
5993           lemon.
5995 Sun Oct 02 23:14:32 GMT 2011  Olly Betts <olly@survex.com>
5997         * queryparser/lemon.c: Merge http://www.sqlite.org/src/info/e22c090f35:
5998           "Another attempt at fixing the table generator in lemon. Again, this
5999           does not effect the SQLite grammar."  No change to generated grammar
6000           for QueryParser.
6002 Sun Oct 02 22:59:28 GMT 2011  Olly Betts <olly@survex.com>
6004         * queryparser/lemon.c: Merge http://www.sqlite.org/src/info/077a6bee2d:
6005           "Fix an issue with lemon generating incorrect grammars. This issue
6006           does not effect SQLite."  This means we now get the same tables
6007           generated as before the previous change.
6009 Sun Oct 02 22:25:54 GMT 2011  Olly Betts <olly@survex.com>
6011         * queryparser/lemon.c,queryparser/queryparser.lt: Merge
6012           http://www.sqlite.org/src/info/27d8e684db: Enhancements to lemon to
6013           generate more compact action tables and to avoid making array bounds
6014           tests that can never fail on action table calculations.  This
6015           reduces the size of QueryParser's tables a little.
6017 Sun Oct 02 21:47:36 GMT 2011  Olly Betts <olly@survex.com>
6019         * queryparser/lemon.c: Merge http://www.sqlite.org/src/info/d66a0f31eb:
6020           Adjust the lemon implementation so that it always computes the same
6021           PDA regardless of qsort() implementation on the host platform. In
6022           other words, make all sorts in lemon stable.
6024 Thu Sep 29 12:11:28 GMT 2011  Olly Betts <olly@survex.com>
6026         * tests/queryparsertest.cc: Add cases to ensure a quoted boolean
6027           prefix accepts an empty value or a single space.
6029 Wed Sep 14 04:48:57 GMT 2011  Olly Betts <olly@survex.com>
6031         * docs/quickstart.rst: Correct link which was to
6032           quickstartsearch.cc.html but should be to quickstartindex.cc.html.
6034 Tue Sep 13 08:51:34 GMT 2011  Olly Betts <olly@survex.com>
6036         * backends/flint_lock.cc: Fix comment typo.
6038 Thu Sep 01 12:50:43 GMT 2011  Olly Betts <olly@survex.com>
6040         * include/xapian/enquire.h: Clarify "sort by date" with BoolWeight
6041           example.
6043 Tue Aug 30 13:51:48 GMT 2011  Olly Betts <olly@survex.com>
6045         * docs/index.rst: Add link to apidoc.pdf.
6047 Wed Aug 24 14:12:05 GMT 2011  Olly Betts <olly@survex.com>
6049         * queryparser/queryparser.lemony: Fix memory leak (caught by existing
6050           testcase queryparser1 when run under valgrind).
6052 Wed Aug 24 12:47:49 GMT 2011  Olly Betts <olly@survex.com>
6054         * queryparser/,tests/queryparsertest.cc,tests/termgentest.cc: Add
6055           support for indexing and searching CJK text using n-grams.  Currently
6056           this is only enabled if environmental variable XAPIAN_CJK_NGRAM is
6057           set to a non-empty value.
6059 Tue Aug 23 03:49:27 GMT 2011  Olly Betts <olly@survex.com>
6061         * api/vectortermlist.cc,api/vectortermlist.h: Change so that p == NULL
6062           represents at_end, and p == data.data() means we've yet to start.
6064 Mon Aug 22 15:30:51 GMT 2011  Olly Betts <olly@survex.com>
6066         * api/vectortermlist.cc: Add new source file missed from last commit.
6068 Mon Aug 22 14:32:50 GMT 2011  Olly Betts <olly@survex.com>
6070         * api/,backends/brass/brass_synonym.cc,backends/chert/chert_synonym.cc,
6071           common/Makefile.mk,common/vectortermlist.h,
6072           queryparser/queryparser.cc: Reimplement VectorTermList to store the
6073           list of terms encoded into a single std::string, which is a lot more
6074           memory efficient that std::vector<std::string>.
6076 Mon Aug 22 12:22:49 GMT 2011  Olly Betts <olly@survex.com>
6078         * common/Makefile.mk,common/const_database_wrapper.cc,
6079           common/const_database_wrapper.h,matcher/Makefile.mk,
6080           matcher/const_database_wrapper.cc,matcher/const_database_wrapper.h:
6081           Move const_database_wrapper.h and const_database_wrapper.cc from
6082           common/ to matcher/.
6084 Sun Aug 21 12:43:38 GMT 2011  Olly Betts <olly@survex.com>
6086         * Makefile.am: Since we require GNU find for the coverage-check target,
6087           make use of its -delete option, so we no longer also need GNU xargs.
6089 Thu Aug 18 06:28:11 GMT 2011  Olly Betts <olly@survex.com>
6091         * queryparser/queryparser.lemony: Reorder header includes to be more
6092           standard.
6094 Thu Aug 18 01:06:00 GMT 2011  Olly Betts <olly@survex.com>
6096         * queryparser/queryparser.lemony: <cstring> not <string.h>.
6098 Tue Aug 16 04:56:20 GMT 2011  Olly Betts <olly@survex.com>
6100         * bin/xapian-check.cc: Throw Xapian::FeatureUnavailableError if
6101           backends are disabled, rather than const char *.
6103 Tue Aug 16 04:49:05 GMT 2011  Olly Betts <olly@survex.com>
6105         * backends/brass/brass_check.cc,backends/brass/brass_check.h,
6106           backends/chert/chert_check.cc,backends/chert/chert_check.h,
6107           bin/xapian-check.cc: Instead of giving cryptic numeric codes for
6108           B-tree errors and then throwing const char *, throw
6109           Xapian::DatabaseError() exceptions with string descriptions.
6111 Fri Aug 12 23:11:51 GMT 2011  Olly Betts <olly@survex.com>
6113         * NEWS: Update from 1.2.7 and ChangeLog.
6115 Fri Aug 12 06:38:45 GMT 2011  Olly Betts <olly@survex.com>
6117         * backends/remote/remote-database.cc: Factor out throw_bad_message().
6119 Fri Aug 12 06:22:14 GMT 2011  Olly Betts <olly@survex.com>
6121         * net/remoteconnection.cc: Factor out throw_database_closed().
6123 Fri Aug 12 06:17:43 GMT 2011  Olly Betts <olly@survex.com>
6125         * net/remoteserver.cc: Factor out throw_read_only() function.
6127 Fri Aug 12 06:17:01 GMT 2011  Olly Betts <olly@survex.com>
6129         * common/noreturn.h: Add comment showing how to use XAPIAN_NORETURN
6130           macro.
6132 Sat Aug 06 05:15:53 GMT 2011  Olly Betts <olly@survex.com>
6134         * api/positioniterator.cc,api/postingsource.cc,api/valueiterator.cc,
6135           common/serialise.h,include/xapian/positioniterator.h,
6136           include/xapian/postingsource.h: Fix new warnings from -Wshadow with
6137           GCC 4.6.  These warnings are when a variable name "shadows" a
6138           typename, which doesn't seem problematic in general, but the only
6139           alternative seems to be to disable -Wshadow entirely, and it is
6140           useful in other cases.
6142 Thu Aug 04 07:57:09 GMT 2011  Olly Betts <olly@survex.com>
6144         * backends/dbfactory_remote.cc,docs/deprecation.rst,
6145           include/xapian/dbfactory.h,include/xapian/types.h: Deprecate
6146           Xapian::timeout in favour of POSIX type useconds_t.
6148 Thu Aug 04 04:04:45 GMT 2011  Olly Betts <olly@survex.com>
6150         * include/xapian/termgenerator.h,
6151           queryparser/termgenerator_internal.cc: Rename weight parameter to
6152           wdf_inc, which much better describes what it does, and avoids a
6153           -Wshadow warning with GCC 4.6.
6155 Thu Aug 04 04:03:37 GMT 2011  Olly Betts <olly@survex.com>
6157         * api/registry.cc: Rename weight variable to weighting_scheme to avoid
6158           -Wshadow warning.
6160 Wed Aug 03 23:13:36 GMT 2011  Olly Betts <olly@survex.com>
6162         * configure.ac: -Wshadow gives bogus warnings with 4.0 (at least on Mac
6163           OS X), so disable it for GCC < 4.1 (like the comments suggest we
6164           already did!)
6166 Wed Aug 03 22:53:55 GMT 2011  Olly Betts <olly@survex.com>
6168         * configure.ac: Enable -fshow-column for GCC - things like vim's
6169           quickfix mode will then jump to the appropriate column for a
6170           compiler error or warning, not just the appropriate line.
6172 Wed Aug 03 22:13:26 GMT 2011  Olly Betts <olly@survex.com>
6174         * api/omdocument.cc,backends/brass/brass_database.cc,
6175           backends/chert/chert_database.cc,common/document.h: Document objects
6176           now track if term positions might have been modified, so we can avoid
6177           having to consider them at all if you take a document and add or
6178           remove a boolean filter term.  This gives an 18% speedup for adding
6179           tags in notmuch.
6181 Mon Aug 01 15:15:17 GMT 2011  Olly Betts <olly@survex.com>
6183         * api/Makefile.mk,api/ompostlistiterator.cc,api/postingiterator.cc,
6184           include/xapian/postingiterator.h,tests/api_db.cc: Redo
6185           PostingIterator based on TermIterator with efficient end iterator
6186           checks.
6188 Mon Aug 01 13:34:44 GMT 2011  Olly Betts <olly@survex.com>
6190         * api/,backends/brass/brass_database.cc,
6191           backends/chert/chert_database.cc,
6192           backends/inmemory/inmemory_database.cc,common/positionlist.h,
6193           examples/delve.cc,include/xapian/positioniterator.h,
6194           include/xapian/termiterator.h,include/xapian/valueiterator.h: Take
6195           the old SVN end-iterator-proxies branch and rework the TermIterator
6196           and PositionIterator reimplementations there to use the same
6197           approach as ValueIterator now uses.
6199 Sun Jul 31 15:24:55 GMT 2011  Olly Betts <olly@survex.com>
6201         * include/xapian/valueiterator.h: Fix comment typo.
6203 Sun Jul 31 14:45:46 GMT 2011  Olly Betts <olly@survex.com>
6205         * api/omenquire.cc,tests/api_anydb.cc: Previously,
6206           Enquire::get_matching_terms_begin() threw InvalidArgumentError if
6207           the query was empty.  Now we just return an end iterator, which is
6208           more consistent with how empty queries behave elsewhere.
6210 Sun Jul 31 13:44:06 GMT 2011  Olly Betts <olly@survex.com>
6212         * api/valueiterator.cc,include/xapian/valueiterator.h: Rename private
6213           ValueIterator::deref() method to decref() (since dereference has
6214           another meaning to the intended "remove a reference").
6216 Sun Jul 31 11:27:33 GMT 2011  Olly Betts <olly@survex.com>
6218         * api/valueiterator.cc,include/xapian/database.h,
6219           include/xapian/document.h,include/xapian/valueiterator.h: Don't use
6220           intrusive_ptr to reference count ValueIterator internals, but
6221           instead update the reference count in hand-written code.  This is
6222           less good in itself, but it means we can inline ValueIterator's
6223           default constructor and its destructor in the case where the
6224           internal is NULL, which should mean a comparison with the end
6225           iterator optimises to a NULL pointer check but without needing
6226           the ValueIteratorEnd_ class, which doesn't work as ValueIterator()
6227           would in templates or some cases of overload resolution.
6229 Sat Jul 30 12:07:52 GMT 2011  Olly Betts <olly@survex.com>
6231         * docs/doxygen_api.conf.in: Don't generate XML from doxygen for the
6232           bindings - the bindings now do this for themselves.  (ticket#262)
6234 Fri Jul 29 01:33:37 GMT 2011  Olly Betts <olly@survex.com>
6236         * include/xapian/enquire.h: Just forward declare "class KeyMaker"
6237           rather than including <xapian/keymaker.h>.
6239 Fri Jul 29 01:28:08 GMT 2011  Olly Betts <olly@survex.com>
6241         * api/omdatabase.cc,backends/slowvaluelist.cc,
6242           include/xapian/database.h,matcher/valuestreamdocument.cc: Change
6243           Database::get_document_lazily_() to return void* so we don't need
6244           to include xapian/document.h from xapian/database.h just to get
6245           Document::Internal declared.  This doesn't affect user code, but
6246           reduces the number of files which need to be rebuilt in the library
6247           when xapian/document.h changes.
6249 Wed Jul 27 05:59:32 GMT 2011  Olly Betts <olly@survex.com>
6251         * include/xapian/matchspy.h: Remove unnecessary header includes.
6253 Wed Jul 27 02:11:08 GMT 2011  Olly Betts <olly@survex.com>
6255         * docs/index.rst: Add links to Omega and bindings docs.
6257 Tue Jul 26 05:36:50 GMT 2011  Olly Betts <olly@survex.com>
6259         * docs/deprecation.rst: Add Omega's OLDP CGI parameter.
6261 Fri Jul 22 15:37:48 GMT 2011  Olly Betts <olly@survex.com>
6263         * include/xapian/queryparser.h: Reword documentation of
6264           add_boolean_prefix()'s exclusive parameter to talk about terms and
6265           prefixes rather than values and fields (which was confusing since
6266           "document value" has a particular meaning in Xapian).
6268 Thu Jul 21 03:37:49 GMT 2011  Olly Betts <olly@survex.com>
6270         * matcher/mergepostlist.cc: Another debug logging fix.
6272 Thu Jul 21 03:16:39 GMT 2011  Olly Betts <olly@survex.com>
6274         * api/omenquire.cc,api/ompostlistiterator.cc,
6275           backends/brass/brass_database.cc,
6276           backends/brass/brass_positionlist.cc,
6277           backends/brass/brass_postlist.cc,backends/chert/chert_database.cc,
6278           backends/chert/chert_positionlist.cc,
6279           backends/chert/chert_postlist.cc: More debug logging fixes.
6281 Thu Jul 21 02:55:00 GMT 2011  Olly Betts <olly@survex.com>
6283         * api/omdatabase.cc,api/omenquire.cc,api/replication.cc,
6284           backends/brass/brass_alldocspostlist.cc,
6285           backends/brass/brass_database.cc,
6286           backends/brass/brass_spellingwordslist.cc,backends/chert/,
6287           matcher/mergepostlist.cc,matcher/msetpostlist.cc,
6288           matcher/synonympostlist.cc: Fix various incorrect LOGCALL lines.
6290 Thu Jul 21 02:12:25 GMT 2011  Olly Betts <olly@survex.com>
6292         * backends/brass/brass_postlist.cc,backends/chert/chert_postlist.cc,
6293           common/documentterm.h,net/progclient.cc: Fix uses of LOGCALL_VOID
6294           which should be LOGCALL_CTOR.
6296 Wed Jul 20 07:00:48 GMT 2011  Olly Betts <olly@survex.com>
6298         * tests/api_matchspy.cc: Remove checks for remote dbtype in matchspy2
6299           and matchspy4 testcases - these were checking for values which would
6300           never match, and the testcases should and do work with remote
6301           backends.
6303 Wed Jul 20 01:19:46 GMT 2011  Olly Betts <olly@survex.com>
6305         * docs/facets.rst: Minor clarification.
6307 Wed Jul 20 00:22:38 GMT 2011  Olly Betts <olly@survex.com>
6309         * bin/xapian-check.cc: Document in --help that checking a whole
6310           database performs additional cross-checks between the tables.
6312 Tue Jul 19 18:29:51 GMT 2011  Richard Boulton <richard@tartarus.org>
6314         * docs/facets.rst: Expand descriptions for indexing and finding
6315           facets to hopefully be more helpful to newcomers.
6317 Tue Jul 19 17:52:25 GMT 2011  Richard Boulton <richard@tartarus.org>
6319         * docs/facets.rst: Fix example calls to add_matchspy() to be passed
6320           pointers, and example call to get_termfreq().
6322 Sat Jul 16 10:54:39 GMT 2011  Olly Betts <olly@survex.com>
6324         * tests/collate-test: Now understand use of "#if 0" to disable
6325           testcases.
6326         * tests/api_db.cc: Remove comment in front of
6327           "DEFINE_TESTCASE(multierrhandler1, [...]" which is no longer needed.
6329 Wed Jul 13 15:07:27 GMT 2011  Olly Betts <olly@survex.com>
6331         * include/xapian/database.h: Improve the documentation comment for
6332           Database::close().  (ticket#504)
6334 Sat Jul 09 14:00:08 GMT 2011  Olly Betts <olly@survex.com>
6336         * include/xapian/stem.h,languages/stem.cc: Stem::operator= now returns
6337           a reference to the assigned-to object.
6339 Sat Jul 09 07:08:03 GMT 2011  Olly Betts <olly@survex.com>
6341         * languages/compiler/analyser.c: Change reporting of line number for
6342           repeated string in among to use "FILE:LINE:" prefix.
6344 Sat Jul 09 01:04:18 GMT 2011  Olly Betts <olly@survex.com>
6346         * common/pretty.h: Don't dereference a NULL pointer.
6348 Fri Jul 08 14:28:42 GMT 2011  Olly Betts <olly@survex.com>
6350         * common/output.h,common/pretty.h: Fix invalid templates in pretty.h.
6352 Fri Jul 08 12:55:19 GMT 2011  Olly Betts <olly@survex.com>
6354         * common/pretty.h: Fix template for pretty printing a std::list.
6356 Thu Jul 07 10:40:53 GMT 2011  Olly Betts <olly@survex.com>
6358         * api/omenquire.cc: Add assertions that the index is in range when
6359           dereferencing MSetIterator and ESetIterator.
6361 Wed Jul 06 08:20:56 GMT 2011  Olly Betts <olly@survex.com>
6363         * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Trust
6364           new to throw std::bad_alloc rather than returning NULL.
6366 Wed Jul 06 05:50:38 GMT 2011  Olly Betts <olly@survex.com>
6368         * tests/internaltest.cc: Remove testcase serialisequery1.
6369         * tests/api_serialise.cc: Extend serialise_query1 to cover equivalent
6370           cases via the API.
6372 Tue Jul 05 01:20:59 GMT 2011  Olly Betts <olly@survex.com>
6374         * common/debuglog.h: Add QUERY category for debug logging.
6376 Fri Jul 01 04:55:02 GMT 2011  Olly Betts <olly@survex.com>
6378         * common/unordered_map.h: Add my <unordered_map> portability wrapper
6379           which was used by the JNI java bindings.  It's not currently used
6380           here, but is likely to be useful (two of the GSoC projects are
6381           using unordered_map).
6383 Wed Jun 29 12:16:59 GMT 2011  Richard Boulton <richard@tartarus.org>
6385         * languages/compiler/tokeniser.c: Fix memory leak (of file name) in
6386           snowball compiler introduced by last commit.
6388 Wed Jun 29 07:49:36 GMT 2011  Olly Betts <olly@survex.com>
6390         * languages/compiler/: Report "FILE:LINE:" before each error so tools
6391           like vim's quickfix mode can parse this and bring up the line with
6392           the error automatically.
6394 Wed Jun 29 07:49:10 GMT 2011  Olly Betts <olly@survex.com>
6396         * languages/compiler/header.h: Add comments to note that struct input
6397           must be a prefix of struct tokeniser.
6399 Wed Jun 29 07:47:30 GMT 2011  Olly Betts <olly@survex.com>
6401         * languages/basque.sbl: Use stringdef instead of literal accented
6402           characters in the code.
6404 Wed Jun 29 07:13:30 GMT 2011  Olly Betts <olly@survex.com>
6406         * docs/stemming.rst,include/xapian/stem.h,languages/: Add stemmers
6407           for Armenian (hy), Basque (eu), and Catalan (ca).
6409 Mon Jun 27 08:16:55 GMT 2011  Olly Betts <olly@survex.com>
6411         * include/xapian/query.h: Add a fake specialised form of the templated
6412           ctor for SWIG.
6414 Sat Jun 25 11:27:00 GMT 2011  Olly Betts <olly@survex.com>
6416         * include/xapian/enquire.h: Fix doc comment typo which reversed the
6417           intended sense.
6419 Sat Jun 25 06:20:34 GMT 2011  Olly Betts <olly@survex.com>
6421         * api/omenquire.cc,common/omenquireinternal.h: Remove unused method
6422           Enquire::Internal::register_match_decider().
6424 Sat Jun 25 06:05:22 GMT 2011  Olly Betts <olly@survex.com>
6426         * include/xapian/enquire.h: MSet(MSet::Internal *) -> MSet(Internal *)
6427           for consistency with other classes.
6429 Fri Jun 24 16:15:00 GMT 2011  Olly Betts <olly@survex.com>
6431         * api/omdatabase.cc,backends/slowvaluelist.cc,
6432           include/xapian/database.h,matcher/valuestreamdocument.cc: Rename
6433           Database::get_document_lazily() to get_document_lazily_() to conform
6434           to our convention for naming methods for internal use which have
6435           "public" visibility.
6437 Wed Jun 22 23:51:15 GMT 2011  Richard Boulton <richard@tartarus.org>
6439         * configure.ac: Correct tiny typo in error message when zlib isn't
6440           found.
6442 Tue Jun 21 04:08:29 GMT 2011  Olly Betts <olly@survex.com>
6444         * common/autoptr.h: Update comment about why we have this file.  It's
6445           no longer a concern that we might need our own AutoPtr implementation
6446           but we are likely to want to be able to migrate to unique_ptr easily
6447           as C++0x features become more widely available.
6449 Tue Jun 21 02:26:36 GMT 2011  Olly Betts <olly@survex.com>
6451         * HACKING,common/pretty.h,configure.ac,tests/internaltest.cc: Fix a
6452           few lingering references to RefCntPtr and RefCntBase.
6454 Tue Jun 21 02:01:25 GMT 2011  Olly Betts <olly@survex.com>
6456         * api/,backends/brass/,backends/chert/,backends/database.cc,
6457           backends/inmemory/inmemory_alltermslist.h,
6458           backends/inmemory/inmemory_database.cc,
6459           backends/inmemory/inmemory_database.h,
6460           backends/multi/multi_alltermslist.cc,
6461           backends/multi/multi_valuelist.cc,backends/remote/,common/,
6462           docs/doxygen_api.conf.in,include/Makefile.mk,include/xapian/,
6463           matcher/msetpostlist.h,matcher/multimatch.cc,
6464           queryparser/queryparser_internal.h,
6465           queryparser/termgenerator_internal.h,tests/internaltest.cc: Convert
6466           to use xapian/intrusive_ptr.h instead of xapian/base.h.
6468 Mon Jun 20 23:55:10 GMT 2011  Olly Betts <olly@survex.com>
6470         * include/xapian/intrusive_ptr.h: Unmodified version of
6471           boost/smart_ptr/intrusive_ptr.hpp as of Boost 1.42 (committed to aid
6472           merging changes in the future).
6474 Mon Jun 20 12:46:47 GMT 2011  Olly Betts <olly@survex.com>
6476         * common/databasereplicator.h,languages/steminternal.h,tests/harness/:
6477           Remove inclusions of xapian/base.h from files which don't use
6478           RefCntPtr or RefCntBase.
6480 Mon Jun 20 11:33:03 GMT 2011  Olly Betts <olly@survex.com>
6482         * include/xapian/base.h: Remove unnecessary check for self-assignment
6483           as it isn't a common case and the current code copes gracefully with
6484           it anyway.
6486 Mon Jun 20 05:25:05 GMT 2011  Olly Betts <olly@survex.com>
6488         * backends/brass/brass_postlist.cc,backends/brass/brass_postlist.h,
6489           backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h:
6490           Reduce size of BrassPostList/ChertPostList objects by moving bool
6491           members together (168->160 bytes for ChertPostList on x86-64 Linux).
6493 Sun Jun 19 13:44:32 GMT 2011  Olly Betts <olly@survex.com>
6495         * tests/internaltest.cc: Fix typo in comment and verbose output.
6497 Sun Jun 19 12:23:43 GMT 2011  Olly Betts <olly@survex.com>
6499         * api/error.cc,generate-exceptions: Rearrange members of Xapian::Error
6500           to reduce its size (from 48 to 40 bytes on x86-64 Linux).
6502 Sun Jun 19 12:22:53 GMT 2011  Olly Betts <olly@survex.com>
6504         * common/pretty.h: Fix comment typo.
6506 Sun Jun 19 04:45:26 GMT 2011  Olly Betts <olly@survex.com>
6508         * INSTALL: Update GCC details - we now recommend 4.3 or newer (was 4.1)
6509           and note that while 3.1 is the hard minimum requirement, the oldest
6510           we've tested with at all recently was 3.3.
6512 Sat Jun 18 14:27:14 GMT 2011  Olly Betts <olly@survex.com>
6514         * queryparser/queryparser.lemony,
6515           queryparser/termgenerator_internal.cc: Fix warning from GCC 3.3.
6517 Sat Jun 18 06:27:03 GMT 2011  Olly Betts <olly@survex.com>
6519         * api/,expand/ortermlist.cc,include/xapian/: Use TermIterator() instead
6520           of TermIterator(NULL), and similarly for other Xapian iterator
6521           classes.
6523 Sat Jun 18 05:16:23 GMT 2011  Olly Betts <olly@survex.com>
6525         * tests/zlib-vg.so: Remove file committed accidentally.
6527 Sat Jun 18 05:07:56 GMT 2011  Olly Betts <olly@survex.com>
6529         * api/,include/xapian/positioniterator.h,
6530           include/xapian/termiterator.h: Reimplementations of PositionIterator
6531           and TermIterator from the end-iterator-proxies branch.  Assignment
6532           operators for these classes now return *this rather than void.
6534 Sat Jun 18 01:49:02 GMT 2011  Olly Betts <olly@survex.com>
6536         * tests/perftest/Makefile.mk: Make sure that perftest isn't run with
6537           libeatmydata preloaded.
6539 Fri Jun 17 07:39:35 GMT 2011  Olly Betts <olly@survex.com>
6541         * docs/deprecation.rst: Tabs to spaces.
6543 Fri Jun 17 07:38:06 GMT 2011  Olly Betts <olly@survex.com>
6545         * docs/deprecation.rst: Add flush() -> commit().
6547 Thu Jun 16 14:40:35 GMT 2011  Olly Betts <olly@survex.com>
6549         * tests/: Add TEST( ) or TEST(! ) around existing reopen() calls to
6550           check that we get true or false returned as we would expect.
6551           (ticket#548)
6553 Thu Jun 16 05:15:28 GMT 2011  Olly Betts <olly@survex.com>
6555         * README: Note licence is GPL *2+*.  Say "SVN/git".  Use trac URL for
6556           wiki.
6558 Wed Jun 15 23:31:03 GMT 2011  Olly Betts <olly@survex.com>
6560         * xapian-core/api/error.cc: Don't include the magic code byte at the
6561           start of Error::get_description()'s return value.
6563 Wed Jun 15 15:51:42 GMT 2011  Olly Betts <olly@survex.com>
6565         * exception_data.pm,generate-exceptions,net/serialise.cc: When
6566           propagating exceptions from a remote backend server, use a numeric
6567           code to represent which exception is being transferred rather than
6568           the name of the type as that can be turned back into an exception
6569           with a simple switch statement.  It's also less data to transfer.
6570           (ticket#471)
6572 Wed Jun 15 14:03:49 GMT 2011  Olly Betts <olly@survex.com>
6574         * backends/remote/remote-database.cc,common/remote-database.h,
6575           common/remoteprotocol.h,docs/remote_protocol.rst,net/remoteserver.cc:
6576           Propagate the return value of Database::reopen() across the link.
6577           (ticket#548)
6579 Wed Jun 15 13:03:56 GMT 2011  Olly Betts <olly@survex.com>
6581         * backends/remote/remote-database.cc,common/remote-database.h,
6582           common/remoteprotocol.h,docs/remote_protocol.rst,net/remoteserver.cc:
6583           Unify REPLY_GREETING and REPLY_UPDATE; send (last_docid - doccount)
6584           instead of last_docid; send (doclen_ubound - doclen_lbound) instead
6585           of doclen_ubound.  This requires a remote protocol major version
6586           bump.  Fix out of date documentation for what's in a REPLY_UPDATE
6587           message.
6589 Wed Jun 15 12:24:07 GMT 2011  Olly Betts <olly@survex.com>
6591         * backends/remote/remote-database.cc: Remove special check which gives
6592           a more helpful error message when a modern client is used against a
6593           remote server running Xapian <= 0.9.6.
6595 Wed Jun 15 11:07:19 GMT 2011  Olly Betts <olly@survex.com>
6597         * net/remoteserver.cc: Remove unnecessary call to reopen() - either we
6598           just called it or we're a writable database and it doesn't do
6599           anything.
6601 Wed Jun 15 09:03:06 GMT 2011  Olly Betts <olly@survex.com>
6603         * xapian-core/backends/remote/remote-database.cc,
6604           xapian-core/common/remote-database.h: Factor out the code to decode
6605           the returned stats into a new apply_stats_update() method.
6607 Wed Jun 15 08:57:12 GMT 2011  Olly Betts <olly@survex.com>
6609         * xapian-core/Makefile.am: Remove check-* from .PHONY as that doesn't
6610           work with a pattern rule.  Fix check-% pattern rule to actually work.
6612 Tue Jun 14 15:11:38 GMT 2011  Olly Betts <olly@survex.com>
6614         * docs/remote_protocol.rst: Fixed typo which reversed the intended
6615           sense.
6617 Tue Jun 14 02:01:42 GMT 2011  Olly Betts <olly@survex.com>
6619         * Makefile.am,configure.ac: Avoid portability warning from automake
6620           about GNU make %-style pattern rules.
6622 Tue Jun 14 01:42:01 GMT 2011  Olly Betts <olly@survex.com>
6624         * configure.ac: Add unnecessary AC_LANG_SOURCE wrapper to shut up
6625           autoconf warning.
6627 Tue Jun 14 01:18:54 GMT 2011  Olly Betts <olly@survex.com>
6629         * configure.ac: Reset LIBRARY_VERSION_INFO to 0:0:0 for the
6630           development series, since the library name is different (it has a
6631           -1.3 suffix).
6633 Mon Jun 13 16:24:20 GMT 2011  Olly Betts <olly@survex.com>
6635         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
6636           docs/deprecation.rst,include/xapian/enquire.h,matcher/multimatch.cc,
6637           net/remoteserver.cc,tests/api_backend.cc: Remove the deprecated
6638           old-style match spy approach of using a MatchDecider.
6640 Mon Jun 13 15:47:57 GMT 2011  Olly Betts <olly@survex.com>
6642         * api/keymaker.cc,docs/deprecation.rst,include/xapian/keymaker.h,
6643           tests/Makefile.am,tests/api_sortingold.cc: Remove deprecated Sorter
6644           class and MultiValueSorter subclass.
6645         * tests/Makefile.mk,tests/perftest/Makefile.mk,
6646           tests/soaktest/Makefile.mk: Make the generated "*_all.h" depend on
6647           the Makefile.am or Makefile.mk which contains the list of files it
6648           is generated from so that it gets regenerated when a file is
6649           removed from that list.
6651 Mon Jun 13 13:18:29 GMT 2011  Olly Betts <olly@survex.com>
6653         * common/omenquireinternal.h: Remove a FIXME - caching the Document
6654           object in MSetItem isn't a replacement for storing the sort_key
6655           now that sort_keys can be computed.
6657 Mon Jun 13 13:07:31 GMT 2011  Olly Betts <olly@survex.com>
6659         * include/xapian/queryparser.h,queryparser/queryparser.cc: Fold the
6660           two forms of QueryParser::add_boolean_prefix() into one method
6661           with a default parameter now that changing the ABI isn't a worry.
6663 Mon Jun 13 12:00:36 GMT 2011  Olly Betts <olly@survex.com>
6665         * docs/deprecation.rst: Non-pythonic iterators have been removed.
6666           (ticket#255)
6668 Mon Jun 13 10:40:30 GMT 2011  Olly Betts <olly@survex.com>
6670         * docs/deprecation.rst: Python Stem_get_available_languages() has now
6671           been removed.
6673 Mon Jun 13 10:38:49 GMT 2011  Olly Betts <olly@survex.com>
6675         * docs/deprecation.rst,include/xapian/enquire.h: Remove deprecated
6676           default value for second parameter to Enquire::set_sort_by_value()
6677           and friends.
6679 Mon Jun 13 09:30:15 GMT 2011  Olly Betts <olly@survex.com>
6681         * api/omdatabase.cc,backends/brass/brass_database.cc,
6682           backends/brass/brass_database.h,backends/chert/chert_database.cc,
6683           backends/chert/chert_database.h,backends/database.cc,
6684           backends/inmemory/inmemory_database.cc,
6685           backends/inmemory/inmemory_database.h,
6686           backends/remote/remote-database.cc,common/,
6687           include/xapian/database.h: Database::reopen() now returns true if
6688           the database may have been reopened.  (ticket#548)
6690 Mon Jun 13 09:01:33 GMT 2011  Olly Betts <olly@survex.com>
6692         * docs/admin_notes.rst: Add note about xapian-chert-update.
6694 Mon Jun 13 08:47:06 GMT 2011  Olly Betts <olly@survex.com>
6696         * bin/xapian-check-flint.cc,bin/xapian-check-flint.h: Remove two
6697           flint-specific files I missed.
6699 Mon Jun 13 08:42:11 GMT 2011  Olly Betts <olly@survex.com>
6701         * HACKING,INSTALL,Makefile.am,api/compactor.cc,api/replication.cc,
6702           backends/Makefile.mk,backends/brass/brass_compact.cc,
6703           backends/chert/chert_compact.cc,backends/databasereplicator.cc,
6704           backends/dbfactory.cc,backends/dir_contents,backends/flint/,
6705           backends/slowvaluelist.h,bin/,common/database.h,common/pretty.h,
6706           common/unaligned.h,configure.ac,docs/,include/xapian/dbfactory.h,
6707           include/xapian/valueiterator.h,include/xapian/version_h.cc,tests/,
6708           tests/harness/,tests/queryparsertest.cc,tests/termgentest.cc,
6709           tests/testdata/flint-0.9.9/,tests/testdata/flint-1.0.1/,
6710           tests/testdata/flint-1.0.2/: Remove flint backend.
6712 Mon Jun 13 06:09:29 GMT 2011  Olly Betts <olly@survex.com>
6714         * bin/Makefile.mk: Remove lingering reference to quartz (rules to
6715           generate man pages for quartzdump, etc).
6717 Mon Jun 13 05:46:00 GMT 2011  Olly Betts <olly@survex.com>
6719         * Makefile.am,tests/Makefile.am: Just use a GNU-make-specific pattern
6720           rules to forward check-* targets from the top level to the tests
6721           subdirectory.  It's clear we aren't keeping the explicit list of
6722           target forwarding rules up to date, and this is just a convenience
6723           so not worth a lot of maintenance effort.
6725 Mon Jun 13 05:01:33 GMT 2011  Olly Betts <olly@survex.com>
6727         * configure.ac: Update version to 1.3.0 and add -1.3 suffix for
6728           library and /xapian-1.3 suffix to include file installation
6729           directory.
6731 Mon Jun 13 04:56:13 GMT 2011  Olly Betts <olly@survex.com>
6733         * unicode/tclUniData.cc: Upgrade to Unicode 6.0.0 (ticket#497).
6734         * tests/api_unicode.cc: Extend testcases to check for assorted changes
6735           and additions in Unicode 6.0.0.
6737 Sun Jun 12 11:54:45 GMT 2011  Olly Betts <olly@survex.com>
6739         * NEWS: Final update for 1.2.6.
6741 Sat Jun 11 10:11:23 GMT 2011  Olly Betts <olly@survex.com>
6743         * api/omdocument.cc: Update LOGCALL(MATCH, ...) to LOGCALL(DB, ...).
6744           Convert LOGLINE() at start of method to LOGCALL().
6746 Sat Jun 11 09:57:00 GMT 2011  Olly Betts <olly@survex.com>
6748         * api/omdatabase.cc: Remove self-assignment check from
6749           Database::operator= since this is an uncommon code path and
6750           RefCntPtr ensures that self-assignment of the internals is
6751           safe.
6753 Sat Jun 11 08:48:10 GMT 2011  Olly Betts <olly@survex.com>
6755         * api/omdatabase.cc,backends/brass/brass_cursor.h,
6756           backends/chert/chert_cursor.h,backends/flint/flint_cursor.h,
6757           backends/flint/flint_table.cc,backends/flint/flint_values.cc,
6758           backends/inmemory/inmemory_database.cc,bin/xapian-check-brass.cc,
6759           bin/xapian-check-chert.cc,bin/xapian-chert-update.cc,
6760           matcher/queryoptimiser.cc,matcher/valuegepostlist.h: Use string() or
6761           std::string() rather than "".
6762         * common/remoteconnection.h,net/tcpserver.cc: Use 2 parameter form of
6763           Error subclass ctors when the context is "".
6764         * api/replication.cc,backends/flint/flint_database.cc,
6765           common/remoteconnection.h,net/replicatetcpclient.cc,
6766           net/replicatetcpserver.cc: Make context parameter of
6767           RemoteConnection ctor optional.
6768         * common/leafpostlist.h: Say 'empty' rather than '""' in a
6769           documentation comment.
6770         * examples/simpleindex.cc: Use '.resize(0)' rather than '= ""'.
6772 Sat Jun 11 07:01:41 GMT 2011  Olly Betts <olly@survex.com>
6774         * api/,backends/brass/,backends/chert/,backends/flint/,
6775           backends/remote/remote-database.cc,common/,include/xapian/,matcher/,
6776           net/remoteserver.cc,net/serialise.cc: Consistently use "slot" in
6777           variable names for value slots, rather than valueno, valno, valueid
6778           or value.  The only exception remaining is a protected member of
6779           Xapian::StringValueRangeProcessor since that's really part of the
6780           public API.
6782 Fri Jun 10 11:55:45 GMT 2011  Olly Betts <olly@survex.com>
6784         * NEWS,configure.ac: Update in preparation for 1.2.6.
6786 Fri Jun 10 09:05:38 GMT 2011  Olly Betts <olly@survex.com>
6788         * examples/NEWS,examples/TODO: Remove files which are unused since the
6789           examples were merged into xapian-core.
6791 Fri Jun 10 09:03:33 GMT 2011  Olly Betts <olly@survex.com>
6793         * Makefile.am: Ship ChangeLog.0 in the tarball.
6795 Fri Jun 10 05:19:24 GMT 2011  Olly Betts <olly@survex.com>
6797         * tests/Makefile.am: Actually include soaktest/Makefile.mk.
6799 Thu Jun 09 23:26:52 GMT 2011  Olly Betts <olly@survex.com>
6801         * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Define
6802           XAPIAN_DEPRECATED_CLASS to empty for doxygen.
6804 Thu Jun 09 22:21:29 GMT 2011  Olly Betts <olly@survex.com>
6806         * docs/overview.rst: Document "remote" in stub databases.
6808 Thu Jun 09 15:23:12 GMT 2011  Olly Betts <olly@survex.com>
6810         * HACKING,docs/deprecation.rst,include/xapian/deprecated.h,
6811           include/xapian/keymaker.h: Add XAPIAN_DEPRECATED_CLASS macro
6812           for marking a class as deprecated, so we don't have to call
6813           XAPIAN_DEPRECATED() with no parameters.
6815 Thu Jun 09 14:03:17 GMT 2011  Olly Betts <olly@survex.com>
6817         * HACKING: Clarify wording about PATH.
6819 Thu Jun 09 13:04:53 GMT 2011  Olly Betts <olly@survex.com>
6821         * docs/queryparser.rst,include/xapian/queryparser.h,
6822           queryparser/queryparser.cc,queryparser/queryparser.lemony,
6823           queryparser/queryparser_internal.h,tests/queryparsertest.cc: Add
6824           QueryParser::set_max_wildcard_expansion() method to allow limiting
6825           the number of terms a wildcard can expand to.  Implementation mostly
6826           from a patch by Adam Sjøgren in ticket#350.
6828 Tue Jun 07 23:16:33 GMT 2011  Dan Colish <dcolish@gmail.com>
6830         * backends/brass/brass_changesetapplier.h,
6831           backends/chert/chert_changesetapplier.h,
6832           backends/flint/flint_changesetapplier.h: Remove dead code
6834 Thu Jun 02 13:21:28 GMT 2011  Olly Betts <olly@survex.com>
6836         * AUTHORS: Add recent bug reporters.
6838 Thu Jun 02 11:03:57 GMT 2011  Olly Betts <olly@survex.com>
6840         * queryparser/queryparser.lemony: If default_op is OP_NEAR or
6841           OP_PHRASE then disable stemming of the terms, since we don't index
6842           positional information for stemmed terms by default.
6843         * tests/queryparsertest.cc: Adjust near1 and phrase1 to act as
6844           regression tests for this fix.
6846 Thu Jun 02 02:58:58 GMT 2011  Olly Betts <olly@survex.com>
6848         * backends/brass/brass_spelling.cc,backends/brass/brass_spelling.h,
6849           backends/chert/chert_spelling.cc,backends/chert/chert_spelling.h,
6850           backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h:
6851           Fix bug Nikita Smetanin spotted with adding a word which has the
6852           same trigram in an even number of times.
6853         * tests/api_spelling.cc: Add regression test spell8.
6855 Wed Jun 01 14:11:38 GMT 2011  Olly Betts <olly@survex.com>
6857         * backends/flint_lock.cc: Kill the child process which holds the lock
6858           with SIGKILL as that can't be ignored, whereas SIGHUP can be in some
6859           cases it seems.
6861 Wed Jun 01 12:12:14 GMT 2011  Olly Betts <olly@survex.com>
6863         * docs/quickstartexpand.cc.html,docs/quickstartindex.cc.html,
6864           docs/quickstartsearch.cc.html: Reinstate the old HTML versions
6865           of these files.
6867 Wed Jun 01 12:09:55 GMT 2011  Olly Betts <olly@survex.com>
6869         * docs/queryparser.rst,docs/remote_protocol.rst: Fix literal hard
6870           spaces in input to just be spaces.
6872 Wed Jun 01 12:06:26 GMT 2011  Olly Betts <olly@survex.com>
6874         * docs/quickstart.rst: Fix sub-heading run in to previous paragraph.
6876 Wed Jun 01 12:04:52 GMT 2011  Olly Betts <olly@survex.com>
6878         * docs/remote.rst: Replace out-dated list of xapian-tcpsrv's command
6879           line options with a reference to --help and the man page.  Tweak
6880           wording in a few places.
6882 Wed Jun 01 11:54:37 GMT 2011  Olly Betts <olly@survex.com>
6884         * docs/overview.rst: Change omrset to rset.  Remove some bogus `` left
6885           over from fixing definition list formatting.
6887 Wed Jun 01 11:38:09 GMT 2011  Olly Betts <olly@survex.com>
6889         * docs/stemming.rst: Comment out bogus claim that there are stopword
6890           lists in xapian-data (the lack of stopword lists is already
6891           ticket#269).
6893 Wed Jun 01 11:29:58 GMT 2011  Olly Betts <olly@survex.com>
6895         * docs/matcherdesign.rst,docs/stemming.rst: Convert more arrows to
6896           Unicode.
6897         * docs/stemming.rst: Fix some missing paragraph breaks.
6899 Wed Jun 01 11:18:25 GMT 2011  Olly Betts <olly@survex.com>
6901         * docs/intro_ir.rst: Use Unicode right arrow.
6903 Wed Jun 01 10:38:27 GMT 2011  Olly Betts <olly@survex.com>
6905         * docs/: Revert quickstart*.cc.html to being HTML rather than .rst as
6906           the .rst version lose the syntax highlighting.  Update svn:ignore.
6908 Wed Jun 01 10:27:11 GMT 2011  Olly Betts <olly@survex.com>
6910         * docs/intro_ir.rst: Sort out the remaining formatting issues.
6912 Wed Jun 01 08:05:05 GMT 2011  Olly Betts <olly@survex.com>
6914         * docs/intro_ir.rst: More markup fixes.
6916 Wed Jun 01 06:16:56 GMT 2011  Olly Betts <olly@survex.com>
6918         * docs/tests.rst: Use generated contents list instead of manual one.
6920 Wed Jun 01 06:16:13 GMT 2011  Olly Betts <olly@survex.com>
6922         * docs/index.rst,docs/internals.rst: Centre links at top; Sort out
6923           <hr> to be full width.
6925 Wed Jun 01 03:23:20 GMT 2011  Olly Betts <olly@survex.com>
6927         * docs/bm25.rst: Sort out inline equations.
6929 Tue May 31 15:21:10 GMT 2011  Olly Betts <olly@survex.com>
6931         * docs/spelling.rst: Add link to Omega documentation.
6933 Tue May 31 07:52:19 GMT 2011  Olly Betts <olly@survex.com>
6935         * docs/overview.rst,docs/quickstart.rst,docs/remote_protocol.rst: More
6936           .rst formatting fixes.
6938 Tue May 31 05:02:48 GMT 2011  Olly Betts <olly@survex.com>
6940         * docs/overview.rst: More .rst fixes.
6942 Tue May 31 04:32:52 GMT 2011  Olly Betts <olly@survex.com>
6944         * docs/: More .rst fixes.
6946 Tue May 31 04:11:27 GMT 2011  Olly Betts <olly@survex.com>
6948         * docs/Makefile.am,docs/code_structure.rst: Revert code_structure.html
6949           conversion - this file is generated by a script.
6951 Tue May 31 03:56:39 GMT 2011  Olly Betts <olly@survex.com>
6953         * docs/install.rst,docs/stemming.rst,docs/tests.rst: Fix up some .rst
6954           conversion issues.
6956 Tue May 31 03:36:49 GMT 2011  Dan Colish <dcolish@gmail.com>
6958         * docs/remote_protocol.rst docs/quickstart.rst docs/remote.rst
6959         docs/internals.rst docs/scalability.rst
6960         docs/quickstartsearch.cc.rst
6961         docs/bm25.rst docs/install.rst docs/quickstartindex.cc.rst
6962         docs/index.rst docs/matcherdesign.rst docs/quickstartexpand.cc.rst
6963         docs/queryparser.rst docs/stemming.rst docs/intro_ir.rst
6964         docs/code_structure.rst docs/Makefile.am docs/tests.rst
6965         docs/overview.rst: Bulk port all remaining documentation to RST.
6967 Sun May 29 07:04:42 GMT 2011  Olly Betts <olly@survex.com>
6969         * docs/postingsource.rst: Add PostingSource example.  (ticket#503)
6971 Sun May 29 05:19:40 GMT 2011  Olly Betts <olly@survex.com>
6973         * include/xapian/database.h: Add @exception InvalidArgumentError for
6974           Database::get_document() (ticket#542).
6976 Fri May 27 05:36:28 GMT 2011  Olly Betts <olly@survex.com>
6978         * NEWS: Update from ChangeLog.
6980 Thu May 26 02:44:07 GMT 2011  Olly Betts <olly@survex.com>
6982         * include/xapian/queryparser.h: FIXME:1.1.3 -> FIXME:1.3.
6984 Wed May 25 14:58:37 GMT 2011  Olly Betts <olly@survex.com>
6986         * docs/queryparser.html: Document the precedence order of operators.
6988 Fri May 20 04:13:54 GMT 2011  Olly Betts <olly@survex.com>
6990         * examples/simpleindex.cc: Add short description to usage message.
6992 Tue May 17 21:44:55 GMT 2011  Olly Betts <olly@survex.com>
6994         * docs/scalability.html: Bring up-to-date.
6996 Wed May 11 01:34:34 GMT 2011  Olly Betts <olly@survex.com>
6998         * AUTHORS: Add Scott Zhang for mingw fixes.
7000 Wed May 11 01:30:54 GMT 2011  Olly Betts <olly@survex.com>
7002         * net/progclient.cc,net/tcpserver.cc: Need <cstdio> for sprintf on
7003           __WIN32__ and cygwin.
7005 Wed May 11 01:22:07 GMT 2011  Olly Betts <olly@survex.com>
7007         * configure.ac: Define __MSVCRT_VERSION__ to 0x0601 under mingw so
7008           we get _ftime64().
7010 Wed May 11 01:19:14 GMT 2011  Olly Betts <olly@survex.com>
7012         * common/closefrom.cc,common/closefrom.h: We don't need closefrom()
7013           under __WIN32__ currently, so disable it there as it doesn't
7014           compile under mingw.
7016 Mon May 09 20:13:17 GMT 2011  Olly Betts <olly@survex.com>
7018         * examples/delve.cc: Report has_positions().
7020 Thu Apr 07 05:38:36 GMT 2011  Dan Colish <dcolish@gmail.com>
7022         * matcher/phrasepostlist.cc, matcher/queryoptimiser.cc,
7023           matcher/exactphrasepostlist.cc, matcher/exactphrasepostlist.h,
7024           matcher/phrasepostlist.h: Remove temporary vector in queryoptimiser
7025           and replace with iterators.
7027 Wed Apr 06 10:27:41 GMT 2011  Richard Boulton <richard@tartarus.org>
7029         * docs/admin_notes.rst: Remove the word "also", which makes sense
7030           when read in context of the previous section, but is confusing if
7031           the paragraph is read standalone, and isn't necessary.
7033 Mon Apr 04 14:41:33 GMT 2011  Olly Betts <olly@survex.com>
7035         * NEWS: Final update for 1.2.5.
7037 Mon Apr 04 14:06:56 GMT 2011  Olly Betts <olly@survex.com>
7039         * backends/brass/brass_version.cc: Remove ? from comment - the brass
7040           version change is definitely going to be in 1.2.5.
7042 Mon Apr 04 13:57:23 GMT 2011  Olly Betts <olly@survex.com>
7044         * NEWS: Bump release date.
7046 Sat Mar 26 14:49:41 GMT 2011  Olly Betts <olly@survex.com>
7048         * INSTALL: Fix typo in previous commit.
7050 Sat Mar 26 14:03:15 GMT 2011  Olly Betts <olly@survex.com>
7052         * INSTALL: Note how to build for a non-default arch on a multi-arch
7053           platform.
7055 Sat Mar 26 13:22:49 GMT 2011  Olly Betts <olly@survex.com>
7057         * NEWS,configure.ac: Update for 1.2.5.
7059 Sat Mar 26 12:28:38 GMT 2011  Olly Betts <olly@survex.com>
7061         * AUTHORS: Update.
7063 Sat Mar 26 10:33:19 GMT 2011  Olly Betts <olly@survex.com>
7065         * backends/brass/brass_postlist.cc,backends/brass/brass_postlist.h,
7066           backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h,
7067           backends/inmemory/inmemory_database.h: Address issues highlighted
7068           by clang++ warnings.
7070 Fri Mar 25 05:36:41 GMT 2011  Olly Betts <olly@survex.com>
7072         * docs/tests.html: Slight tweak to improve up-to-date-ness, but more
7073           work would be useful.
7075 Fri Mar 25 05:30:56 GMT 2011  Olly Betts <olly@survex.com>
7077         * docs/matcherdesign.html: Update - quite a bit has changed in the
7078           matcher since this was last updated!
7080 Thu Mar 24 23:31:57 GMT 2011  Olly Betts <olly@survex.com>
7082         * api/replication.cc,common/replication.h: Pass reader_close_time as
7083           double everywhere, rather than truncating it to int.  Include
7084           reader_close_time parameters in debug logging.  Document
7085           reader_close_time in doxygen comments.
7087 Tue Mar 22 15:36:25 GMT 2011  Dan Colish <dcolish@gmail.com>
7089         * backends/brass/brass_database.h:
7090           Remove left over copyright.
7092 Tue Mar 22 04:54:12 GMT 2011  Dan Colish <dcolish@gmail.com>
7094         * backends/brass/brass_btreebase.cc,backends/chert/chert_btreebase.cc,
7095           backends/flint/flint_btreebase.cc:
7096           Correct comments for which revision is packed when writing base files
7098 Tue Mar 22 03:18:19 GMT 2011  Dan Colish <dcolish@gmail.com>
7100         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7101           backends/flint/flint_database.cc,include/xapian/database.h:
7102           Remove FIXME and comments for DB_OVERWRITE.
7104 Tue Mar 22 01:18:38 GMT 2011  Dan Colish <dcolish@gmail.com>
7106         * backends/brass/,backends/chert/chert_database.cc,
7107           backends/flint/flint_database.cc,tests/api_replicate.cc:
7108           Clean up changesets when replicating. Add test coverage for this
7109           feature. Allow XAPIAN_MAX_CHANGESETS to be altered without reopening
7110           the database. Closes Ticket #278.
7112 Mon Mar 21 01:50:41 GMT 2011  Olly Betts <olly@survex.com>
7114         * docs/bm25.html: Add a link to the 1976 Robertson/Sparck Jones paper.
7116 Wed Mar 16 05:56:58 GMT 2011  Dan Colish <dcolish@gmail.com>
7118         * bin/xapian-check-flint.cc: Initialize did and current_wdf to prevent
7119           uninitalized usage and compiler warnings.
7121 Mon Mar 14 03:20:18 GMT 2011  Olly Betts <olly@survex.com>
7123         * common/debuglog.cc,common/debuglog.h: Rename indent member to
7124           indent_level so it doesn't clash with indent() method.
7126 Mon Mar 14 02:44:24 GMT 2011  Olly Betts <olly@survex.com>
7128         * common/debuglog.cc,common/debuglog.h: Use an integer counter for the
7129           indent rather than a std::string which we add/remove spaces to/from.
7130           This is cleaner, but also there seems to be an issue with having a
7131           std::string member in a global static object on OS X.
7133 Fri Mar 11 01:12:04 GMT 2011  Olly Betts <olly@survex.com>
7135         * HACKING: Document using '{ }' rather than ';' for empty loop bodies.
7137 Fri Mar 11 01:02:47 GMT 2011  Olly Betts <olly@survex.com>
7139         * HACKING: Remove bogus ; after method definition in code example.
7141 Fri Mar 11 00:07:22 GMT 2011  Olly Betts <olly@survex.com>
7143         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7144           backends/flint/flint_database.cc: Factor out literal constant as
7145           MAX_OPEN_RETRIES.
7147 Wed Mar 09 14:54:06 GMT 2011  Olly Betts <olly@survex.com>
7149         * tests/api_anydb.cc: Improve the new testcases a bit.
7151 Wed Mar 09 14:11:59 GMT 2011  Olly Betts <olly@survex.com>
7153         * api/omenquire.cc,common/esetinternal.h,common/omenquireinternal.h,
7154           expand/esetinternal.cc,expand/expandweight.cc,
7155           include/xapian/enquire.h,tests/api_anydb.cc: Enquire::get_eset() now
7156           accepts a min_wt argument to allow the minimum wanted weight to be
7157           specified.  Default is 0, which gives the previous behaviour.
7159 Wed Mar 09 00:00:25 GMT 2011  Olly Betts <olly@survex.com>
7161         * include/xapian/termiterator.h: Fix misspelling in doc comment.
7163 Tue Mar 08 06:58:14 GMT 2011  Olly Betts <olly@survex.com>
7165         * backends/brass/brass_table.cc,backends/brass/brass_table.h,
7166           backends/chert/chert_table.cc,backends/chert/chert_table.h,
7167           backends/flint/flint_table.cc,backends/flint/flint_table.h: Use
7168           defined constant BLOCK_CAPACITY instead of hardcoded 4 (ticket#536).
7170 Tue Mar 08 05:56:42 GMT 2011  Olly Betts <olly@survex.com>
7172         * backends/brass/brass_table.cc,backends/chert/chert_table.cc,
7173           backends/flint/flint_table.cc: If we try to delete an old base file
7174           and it isn't there, just continue rather than throwing an exception.
7175           We wanted to get rid of it anyway, and it may be NFS issues telling
7176           us the wrong thing.  In particular, DatabaseCoruptError was rather
7177           a pessimistic assessment.
7179 Tue Mar 08 05:55:48 GMT 2011  Olly Betts <olly@survex.com>
7181         * common/io_utils.h: Note that io_unlink() may return false when it
7182           should have returned true on NFS.
7184 Sun Mar 06 23:25:47 GMT 2011  Olly Betts <olly@survex.com>
7186         * common/io_utils.cc,common/io_utils.h: Add io_unlink().
7187         * backends/brass/brass_database.cc,backends/brass/brass_table.cc,
7188           backends/chert/chert_database.cc,backends/chert/chert_table.cc,
7189           backends/flint/flint_database.cc,backends/flint/flint_table.cc:
7190           Use io_unlink() instead of sys_unlink_if_exists().
7192 Sun Mar 06 22:26:36 GMT 2011  Olly Betts <olly@survex.com>
7194         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7195           backends/flint/flint_database.cc: If DANGEROUS mode is turned on,
7196           then actually set the flag for this in replication changes files
7197           (the reader will currently throw an exception, but that's better
7198           than quietly handling them incorrectly).
7200 Sat Mar 05 12:58:31 GMT 2011  Olly Betts <olly@survex.com>
7202         * NEWS: Update from ChangeLog.
7204 Sat Mar 05 12:49:16 GMT 2011  Olly Betts <olly@survex.com>
7206         * NEWS: Fix a few typos.
7208 Sat Mar 05 06:19:25 GMT 2011  Olly Betts <olly@survex.com>
7210         * NEWS: Fix typo in old entry.
7212 Sat Mar 05 06:16:41 GMT 2011  Olly Betts <olly@survex.com>
7214         * common/remoteconnection.h: Internal doc comment improvements: Fix
7215           typo, finish truncated sentence, wrap lines to 80 columns.
7217 Sat Mar 05 02:59:35 GMT 2011  Olly Betts <olly@survex.com>
7219         * bin/xapian-replicate.cc: Make sure port number is specified.  Add
7220           "(required)" after --host and --port in help.
7222 Sat Mar 05 02:50:04 GMT 2011  Olly Betts <olly@survex.com>
7224         * docs/replication.rst: Mention new defaulting of -m.
7226 Sat Mar 05 02:44:37 GMT 2011  Olly Betts <olly@survex.com>
7228         * bin/xapian-replicate.cc: If --master isn't specified, default to
7229           DATABASE.
7231 Sat Mar 05 00:14:21 GMT 2011  Olly Betts <olly@survex.com>
7233         * bin/xapian-replicate.cc: Give an error if the host isn't set, rather
7234           than trying to connect to an empty hostname, which gives the error
7235           "Couldn't resolve host  (Unknown server error)", which might confuse
7236           if you fail to notice the double space and realise what it means.
7238 Fri Mar 04 17:20:13 GMT 2011  Richard Boulton <richard@tartarus.org>
7240         * docs/replication.rst: Update documentation to make it clear that
7241           users shouldn't try to create the destination directory for
7242           replication themselves.
7244 Thu Mar 03 11:10:10 GMT 2011  Olly Betts <olly@survex.com>
7246         * docs/intro_ir.html: Fix typo in author's name.
7248 Thu Mar 03 11:06:30 GMT 2011  Olly Betts <olly@survex.com>
7250         * docs/intro_ir.html: Update link to a paper.  Update text about book
7251           "to be published in 2008".
7253 Tue Mar 01 11:39:40 GMT 2011  Olly Betts <olly@survex.com>
7255         * NEWS: Update from ChangeLog.
7257 Mon Feb 28 12:40:24 GMT 2011  Olly Betts <olly@survex.com>
7259         * matcher/multimatch.cc: Avoid leaking postlist tree if an exception
7260           is thrown during the match.
7262 Wed Feb 23 15:26:56 GMT 2011  Olly Betts <olly@survex.com>
7264         * docs/Makefile.am,docs/index.html: Process collapsing.rst and link
7265           it into the documentation.
7267 Wed Feb 23 15:22:06 GMT 2011  Olly Betts <olly@survex.com>
7269         * docs/collapsing.rst: Add missing document (for some reason this file
7270           was empty in SVN, but present in my tree under a different name, and
7271           not checked in).
7273 Mon Feb 21 14:49:06 GMT 2011  Olly Betts <olly@survex.com>
7275         * docs/deprecation.rst: Deprecate MSet.items and ESet.items.
7277 Mon Feb 21 14:06:21 GMT 2011  Olly Betts <olly@survex.com>
7279         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7280           backends/flint/flint_database.cc,common/remoteconnection.h,
7281           net/remoteconnection.cc: Pass a file descriptor to
7282           RemoteConnection::send_file() to avoid a race between the caller
7283           checking if a file exists and send_file() trying to open it to send
7284           it.
7286 Mon Feb 21 13:50:06 GMT 2011  Olly Betts <olly@survex.com>
7288         * queryparser/lemon.c: Fix issues detected by DACA cppcheck run on the
7289           Debian archive.
7291 Mon Feb 21 13:30:55 GMT 2011  Olly Betts <olly@survex.com>
7293         * tests/api_anydb.cc: Fix spaceterms1 which was never running one part
7294           of the testcase (and had been that way for years).  Fix an
7295           off-by-one error in the enabled code.
7297 Mon Feb 21 13:05:36 GMT 2011  Olly Betts <olly@survex.com>
7299         * tests/api_backend.cc: Add some test coverage for
7300           DatabaseModifiedError in get_mset().
7302 Mon Feb 21 12:03:35 GMT 2011  Olly Betts <olly@survex.com>
7304         * NEWS: Fix typo in old entry.
7306 Mon Feb 21 11:36:07 GMT 2011  Olly Betts <olly@survex.com>
7308         * examples/quest.cc: Report any spelling correction (requires the
7309           database contains spelling data of course).
7311 Wed Feb 16 13:11:03 GMT 2011  Olly Betts <olly@survex.com>
7313         * include/xapian/enquire.h: Add doxygen markup so alternative
7314           overloaded forms of Enquire::get_mset() appear in the API
7315           documentation.
7317 Wed Feb 09 14:24:57 GMT 2011  Olly Betts <olly@survex.com>
7319         * docs/admin_notes.rst: Up to darte for 1.2.5.  Minor wording
7320           improvements.  Mention copydatabase --no-renumber.
7322 Wed Feb 09 14:06:55 GMT 2011  Olly Betts <olly@survex.com>
7324         * examples/copydatabase.cc: Add --no-renumber option.
7326 Tue Feb 01 11:17:58 GMT 2011  Olly Betts <olly@survex.com>
7328         * configure.ac: -Wstrict-null-sentinel was added in GCC 4.0.1 so
7329           doesn't work with GCC 4.0.0.  For simplicity, only enable it for
7330           GCC >= 4.1.
7332 Tue Feb  1 08:22:52 GMT 2011  Olly Betts <olly@survex.com>
7334         * docs/deprecation.rst: Add $set{spelling,true}.
7336 Thu Jan 20 14:52:53 GMT 2011  Olly Betts <olly@survex.com>
7338         * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h,
7339           backends/flint/flint_table.cc: Don't read the bitmaps from the base
7340           files when opening a database for reading (cross-port of equivalent
7341           change to chert).
7343 Thu Jan 20 14:37:10 GMT 2011  Olly Betts <olly@survex.com>
7345         * backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h,
7346           backends/brass/brass_table.cc: Don't read the bitmaps from the base
7347           files when opening a database for reading (cross-port of equivalent
7348           change to chert).
7350 Thu Jan 20 14:21:10 GMT 2011  Olly Betts <olly@survex.com>
7352         * backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h,
7353           backends/chert/chert_table.cc: Don't read the bitmaps from the base
7354           files when opening a database for reading.
7356 Thu Jan 20 01:57:02 GMT 2011  Olly Betts <olly@survex.com>
7358         * backends/brass/brass_database.cc: Optimise not to update doclength
7359           when it hasn't changed (cross-port of equivalent change to chert).
7361 Thu Jan 20 01:36:51 GMT 2011  Olly Betts <olly@survex.com>
7363         * backends/chert/chert_database.cc: Optimise not to update doclength
7364           when it hasn't changed.
7366 Wed Jan 19 03:50:18 GMT 2011  Olly Betts <olly@survex.com>
7368         * tests/api_compact.cc: Close ofstream objects used to write out stub
7369           files for testing before we run the actual compaction, to avoid
7370           issues on Microsoft Windows (ticket#525).
7372 Wed Jan 19 01:01:38 GMT 2011  Olly Betts <olly@survex.com>
7374         * HACKING: Snapshots and releases are now bootstrapped with autoconf
7375           2.68 and libtool 2.4.  Prune information about reasons for needing
7376           really old autotools versions when there's a reason to need a newer
7377           version anyway.
7379 Sat Jan 15 11:10:26 GMT 2011  Olly Betts <olly@survex.com>
7381         * NEWS: Update from ChangeLog and 1.0.23.
7383 Sat Jan 15 10:28:10 GMT 2011  Olly Betts <olly@survex.com>
7385         * bin/xapian-chert-update.cc: Fix to handle value slot entries in the
7386           termlist table.
7388 Wed Jan 12 23:49:21 GMT 2011  Olly Betts <olly@survex.com>
7390         * bin/xapian-chert-update.cc: Adjust keys for doclength chunks too.
7392 Wed Jan 12 13:37:30 GMT 2011  Olly Betts <olly@survex.com>
7394         * AUTHORS,bin/xapian-chert-update.cc: Fix to also rewrite docids in
7395           value chunk keys (reported by Luca Barbieri on xapian-discuss).
7397 Tue Jan 11 08:41:02 GMT 2011  Olly Betts <olly@survex.com>
7399         * docs/deprecation.rst: Note removal of if idx in mset.
7401 Tue Jan 11 08:30:29 GMT 2011  Olly Betts <olly@survex.com>
7403         * docs/deprecation.rst: PostingSource now offers a replacement for
7404           Enquire::set_bias().
7406 Mon Jan 10 09:40:24 GMT 2011  Olly Betts <olly@survex.com>
7408         * api/compactor.cc: Add missing header <ctime> for time() (ticket#530).
7410 Sun Jan 09 23:14:02 GMT 2011  Olly Betts <olly@survex.com>
7412         * api/compactor.cc: Use msvc_posix_rename() under __WIN32__ to
7413           atomically update stub file after compaction (ticket#525).
7415 Thu Dec 23 13:00:43 GMT 2010  Olly Betts <olly@survex.com>
7417         * queryparser/queryparser.lemony: Whitespace consistency tweak.
7419 Thu Dec 23 11:01:26 GMT 2010  Olly Betts <olly@survex.com>
7421         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Handle
7422           NEAR/<offset> and ADJ/<offset> where offset isn't an integer the same
7423           way at the end of the query as in the middle.
7425 Tue Dec 21 10:28:08 GMT 2010  Olly Betts <olly@survex.com>
7427         * net/tcpserver.cc: If we can't bind to the specified port because it
7428           is a privileged one, exit with code 77 (EX_NOPERM) to make it easier
7429           to automatically handle failure when starting the server from a
7430           script.
7432 Tue Dec 21 07:43:52 GMT 2010  Olly Betts <olly@survex.com>
7434         * docs/index.html: Add link to main website.
7436 Tue Dec 21 07:40:57 GMT 2010  Olly Betts <olly@survex.com>
7438         * docs/index.html,docs/overview.html: Update links to wiki.xapian.org
7439           to point to trac.xapian.org/wiki instead.
7441 Mon Dec 20 10:02:06 GMT 2010  Richard Boulton <richard@tartarus.org>
7443         * docs/deprecation.rst: Add note about botched removal of python's
7444           Enquire.get_matching_terms (now fully removed).
7446 Sun Dec 19 12:40:12 GMT 2010  Olly Betts <olly@survex.com>
7448         * NEWS: Update release date.
7450 Sat Dec 18 13:17:52 GMT 2010  Olly Betts <olly@survex.com>
7452         * NEWS,configure.ac: Update for 1.2.4.
7454 Wed Dec 15 11:56:22 GMT 2010  Olly Betts <olly@survex.com>
7456         * NEWS: Update.
7458 Tue Dec 14 12:46:36 GMT 2010  Olly Betts <olly@survex.com>
7460         * HACKING,tests/runtest.in: Add XAPIAN_TESTSUITE_LD_PRELOAD hook to
7461           allow libeatmydata to easily be used when running the testsuite.
7463 Mon Dec 13 14:28:19 GMT 2010  Olly Betts <olly@survex.com>
7465         * include/xapian/: Make it more explicitly clear that PostingIterator,
7466           PositionIterator, and TermIterator's skip_to methods advance (and
7467           hence shouldn't be expected to allow you to "rewind" the stream).
7469 Mon Dec 13 14:18:18 GMT 2010  Olly Betts <olly@survex.com>
7471         * include/xapian/database.h: "network databases" -> "remote databases".
7473 Mon Dec 13 14:10:08 GMT 2010  Olly Betts <olly@survex.com>
7475         * net/remoteserver.cc: If the message parameter only contains a
7476           string then we can just use it as is.
7478 Mon Dec 13 13:34:30 GMT 2010  Olly Betts <olly@survex.com>
7480         * backends/remote/remote-database.cc,common/remote-database.h,
7481           common/remoteprotocol.h,common/remoteserver.h,
7482           docs/remote_protocol.html,net/remoteserver.cc,tests/api_metadata.cc:
7483           Add support for iterating metadata keys with the remote backend.
7484           This change necessitated a minor version bump in the remote protocol.
7486 Sun Dec 12 12:24:48 GMT 2010  Olly Betts <olly@survex.com>
7488         * weight/tradweight.cc: Fix calculation order to avoid inconsistent
7489           weights due to rounding for TradWeight(0).
7490         * tests/api_backend.cc: Add regression test tradweight2.
7492 Sat Dec 11 11:38:32 GMT 2010  Olly Betts <olly@survex.com>
7494         * AUTHORS: Update thanks list with bug reporters and patch submitters.
7496 Thu Dec 09 03:59:42 GMT 2010  Olly Betts <olly@survex.com>
7498         * NEWS: Update from ChangeLog.
7500 Thu Dec 09 03:58:20 GMT 2010  Olly Betts <olly@survex.com>
7502         * net/remoteconnection.cc: Add FIXME note about using sendfile() or
7503           similar.
7505 Tue Dec 07 10:16:31 GMT 2010  Olly Betts <olly@survex.com>
7507         * tests/queryparsertest.cc: Note 1.0.x version #515 was fixed in.
7509 Mon Dec 06 05:26:01 GMT 2010  Olly Betts <olly@survex.com>
7511         * net/replicatetcpclient.cc: Rearrange loop to avoid duplicating code.
7513 Mon Dec 06 01:39:23 GMT 2010  Olly Betts <olly@survex.com>
7515         * queryparser/queryparser.lemony: Fix typo so we test for OP_NEAR or
7516           OP_PHRASE, not twice for OP_NEAR, which fixes a bug with not setting
7517           the correct window size for default_op of OP_PHRASE in some cases.
7518           Factor out the "is_positional(op)" test into an inlined function to
7519           help avoid repeating this error.
7520         * tests/queryparsertest.cc: Add regression test coverage.
7522 Mon Dec 06 01:01:03 GMT 2010  Olly Betts <olly@survex.com>
7524         * tests/queryparsertest.cc: Add coverage for OP_PHRASE as default_op.
7526 Sun Dec 05 12:35:32 GMT 2010  Olly Betts <olly@survex.com>
7528         * weight/bm25weight.cc: Fix calculation order to avoid inconsistent
7529           weights due to rounding when BM25Weight is used with certain
7530           non-default parameter combinations.
7531         * tests/api_backend.cc: Add regression test bm25weight2.
7533 Sun Dec 05 12:10:36 GMT 2010  Olly Betts <olly@survex.com>
7535         * backends/chert/chert_compact.cc: Add FIXME comment regarding
7536           resolve_duplicate_metadata() getting called multiple times for the
7537           same key in multipass mode.
7539 Sun Dec 05 12:09:32 GMT 2010  Olly Betts <olly@survex.com>
7541         * include/xapian/compactor.h: Add documentation comments.
7543 Sun Dec 05 04:54:03 GMT 2010  Olly Betts <olly@survex.com>
7545         * HACKING: Omega now wants libmagic-dev (though it's optional
7546           currently).
7548 Wed Nov 17 10:56:10 GMT 2010  Olly Betts <olly@survex.com>
7550         * examples/quest.cc: Add command line options to allow prefixes to
7551           be specified for the QueryParser.
7553 Tue Nov 09 23:18:36 GMT 2010  Olly Betts <olly@survex.com>
7555         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc,
7556           backends/flint/flint_compact.cc: Fix access to empty priority_queue
7557           while merging synonyms (found with _GLIBCXX_DEBUG).
7559 Tue Nov 09 03:23:49 GMT 2010  Olly Betts <olly@survex.com>
7561         * HACKING: Drop list of platforms valgrind supports, as it takes
7562           effort to keep up to date.  People can check valgrind.org for an
7563           accurate list of currently supported platforms.
7565 Sun Nov 07 14:13:44 GMT 2010  Olly Betts <olly@survex.com>
7567         * api/compactor.cc,backends/brass/brass_compact.cc,
7568           backends/chert/chert_compact.cc,backends/flint/flint_compact.cc,
7569           bin/xapian-compact.cc,include/xapian/compactor.h:
7570           Compactor::resolve_duplicate_metadata() callback method is now passed
7571           an array of std::string plus the array length, which allows for more
7572           efficient merging that the series of pairwise merges which was
7573           required before.
7575 Mon Nov 01 14:47:37 GMT 2010  Richard Boulton <richard@tartarus.org>
7577         * matcher/multimatch.cc,matcher/multixorpostlist.cc,
7578           matcher/multixorpostlist.h: Add debugging to print out the
7579           postlist description after recalculation of maxweight, and to
7580           MultiXorPostList methods.  Fix problem shown by soaktest where
7581           the matcher was not told to recalculate the maxweight after a
7582           MultiXorPostList child reached end, which was causing an
7583           assertion failure in debug builds.  (This could also have been
7584           causing some performance problems, but I have not measurements.)
7586 Mon Nov 01 10:34:30 GMT 2010  Richard Boulton <richard@tartarus.org>
7588         * tests/soaktest/soaktest_queries.cc: Fix compilation: call c_str()
7589           on argument to atoi, now that util.h no longer defines a string
7590           wrapper.
7592 Sun Oct 31 10:51:12 GMT 2010  Olly Betts <olly@survex.com>
7594         * queryparser/queryparser.lemony: Don't delete this in TermGroup, etc
7595           until after we have successfully constructed the Query object to
7596           return to avoid a double free in the Query construction throws an
7597           exception.  Fixes ticket#515.
7599 Fri Oct 29 12:46:15 GMT 2010  Olly Betts <olly@survex.com>
7601         * tests/api_backend.cc: Fix comment typo in previous commit.
7603 Fri Oct 29 12:32:47 GMT 2010  Olly Betts <olly@survex.com>
7605         * matcher/multimatch.cc: Empty query now return MSet with firstitem
7606           set correctly.
7607         * tests/api_backend.cc: Extend msetfirst2 to be a regression test for
7608           this issue too.
7610 Fri Oct 29 12:13:51 GMT 2010  Olly Betts <olly@survex.com>
7612         * api/omenquire.cc: If first is larger than get_doccount() then clamp
7613           it to avid pointlessly trying to allocate far too much memory.
7614         * tests/api_backend.cc: Regression test msetfirst2.
7616 Thu Oct 21 09:38:44 GMT 2010  Richard Boulton <richard@tartarus.org>
7618         * tests/Makefile.am: Add zlib-vg.c to distribution tarballs.
7620 Wed Oct 20 11:38:13 GMT 2010  Olly Betts <olly@survex.com>
7622         * examples/delve.cc: Add '-z' option to count zero-length documents.
7624 Mon Oct 18 10:35:46 GMT 2010  Olly Betts <olly@survex.com>
7626         * bin/xapian-compact.cc: Add --quiet/-q option to suppress progress
7627           output.
7629 Thu Oct 14 03:51:02 GMT 2010  Olly Betts <olly@survex.com>
7631         * tests/api_unicode.cc: Fix typo in previous change.
7633 Thu Oct 14 01:16:31 GMT 2010  Olly Betts <olly@survex.com>
7635         * tests/api_unicode.cc: Expand tested cases to (hopefully) cover all
7636           conditional combinations in unicode/utf8itor.cc.
7638 Mon Oct 11 11:46:30 GMT 2010  Olly Betts <olly@survex.com>
7640         * Makefile.am: Remove xapian-config on "make distclean" rather than
7641           "make clean", since configure builds it.  Never remove man pages
7642           under "make clean".
7644 Mon Oct 11 11:41:32 GMT 2010  Olly Betts <olly@survex.com>
7646         * tests/Makefile.am: Fix typo - CLEAN_FILES should be CLEANFILES.
7647           This means that where zlib-vg.so is used, it now gets cleaned up.
7649 Sun Oct 10 11:00:31 GMT 2010  Olly Betts <olly@survex.com>
7651         * Makefile.am: Fix so coverage-reconfigure-maintainer-mode adds
7652           --enable-maintainer-mode rather than coverage-reconfigure!
7654 Sun Oct 10 10:45:38 GMT 2010  Olly Betts <olly@survex.com>
7656         * Makefile.am: Factor out COVERAGE_CONFIGURE to make future changes
7657           easier.
7659 Sun Oct 10 09:59:01 GMT 2010  Olly Betts <olly@survex.com>
7661         * Makefile.am: Add coverage-reconfigure-maintainer-mode target which
7662           is just like coverage-reconfigure except it also passes
7663           --enable-maintainer-mode.
7665 Sun Oct 10 07:29:23 GMT 2010  Olly Betts <olly@survex.com>
7667         * tests/api_nodb.cc: Check Stem("none") too.  Check
7668           Stem("").get_description().  No need to check a bogus language name
7669           here as stemlangs2 now does that.
7671 Sun Oct 10 07:22:41 GMT 2010  Olly Betts <olly@survex.com>
7673         * tests/api_stem.cc: Test an invalid languages name with each possible
7674           byte value at the start to improve coverage of the switch in
7675           api/stem.cc.
7677 Sun Oct 10 06:14:42 GMT 2010  Olly Betts <olly@survex.com>
7679         * unicode/utf8itor.cc: Correct comments and use bad_cont() in another
7680           place (no change to code once inlining is taken into account).
7682 Sun Oct 10 06:11:05 GMT 2010  Olly Betts <olly@survex.com>
7684         * tests/api_unicode.cc: Improve test coverage for
7685           Utf8Iterator::calculate_sequence_length().
7687 Sun Oct 10 00:33:49 GMT 2010  Olly Betts <olly@survex.com>
7689         * tests/api_unicode.cc: Tweak testcase utf8iterator2 to add coverage
7690           for Utf8Iterator(const char *).
7692 Fri Oct 08 13:10:08 GMT 2010  Olly Betts <olly@survex.com>
7694         * matcher/selectpostlist.cc,matcher/selectpostlist.h: Implement
7695           SelectPostList::check() so that check() on OP_NEAR and OP_PHRASE
7696           subqueries won't end up checking potentially huge numbers of
7697           documents.
7699 Fri Oct 08 12:29:50 GMT 2010  Olly Betts <olly@survex.com>
7701         * tests/api_backend.cc: Add testcase phrase3 to provide coverage for
7702           SelectPostList::skip_to().
7704 Fri Oct 08 10:36:18 GMT 2010  Olly Betts <olly@survex.com>
7706         * matcher/orpostlist.cc,matcher/orpostlist.h: Fix performance
7707           regression in some cases caused by the introduction of
7708           OrPostList::check().
7710 Thu Oct 07 03:53:11 GMT 2010  Olly Betts <olly@survex.com>
7712         * tests/api_anydb.cc: Clear tout before each iteration in scaleweight1.
7714 Wed Oct 06 14:30:34 GMT 2010  Olly Betts <olly@survex.com>
7716         * NEWS: Update from 1.0.22 and ChangeLog.
7718 Wed Oct 06 12:39:36 GMT 2010  Olly Betts <olly@survex.com>
7720         * tests/queryparsertest.cc: Add two more testcases for having a phrase
7721           generator between prefix and term.
7723 Wed Oct 06 12:37:32 GMT 2010  Olly Betts <olly@survex.com>
7725         * include/xapian/matchspy.h,include/xapian/postingsource.h: Remove
7726           "experimental" marker from PostingSource and ValueCountMatchSpy.
7728 Wed Oct 06 12:31:01 GMT 2010  Olly Betts <olly@survex.com>
7730         * docs/index.html: Add links to replication and facets documents, and
7731           fix typo in serialistion document link.
7733 Wed Oct 06 12:12:51 GMT 2010  Olly Betts <olly@survex.com>
7735         * docs/Makefile.am,docs/categorisation.rst,docs/facets.rst: Change the
7736           categorisation document to talk about facets, since that's the
7737           terminology that seems to be most widely used these days, and
7738           "categorisation" can also mean automatically assigning categories to
7739           documents.  Fix up references to features which were removed or
7740           changed during development.
7742 Wed Oct 06 12:11:21 GMT 2010  Olly Betts <olly@survex.com>
7744         * docs/internals.html: Add link to replication protocol.
7746 Wed Oct 06 08:36:50 GMT 2010  Olly Betts <olly@survex.com>
7748         * examples/simplesearch.cc: Fix cut and paste error in usage message.
7750 Wed Oct 06 00:12:40 GMT 2010  Olly Betts <olly@survex.com>
7752         * api/emptypostlist.cc,matcher/queryoptimiser.cc: In the query
7753           optimiser, use value range bounds to check for value ranges which
7754           must be empty.
7755         * tests/api_opvalue.cc: Add testcase valuerange5 to check this
7756           optimisation actually fires.
7758 Tue Oct 05 03:43:02 GMT 2010  Olly Betts <olly@survex.com>
7760         * examples/simplesearch.cc: Fix cut-and-paste error - --version now
7761           reports simplesearch not simpleexpand.
7763 Tue Oct 05 03:41:48 GMT 2010  Olly Betts <olly@survex.com>
7765         * docs/categorisation.rst: Update to use the current ValueCountMatchSpy
7766           API.
7768 Fri Oct 01 09:53:50 GMT 2010  Olly Betts <olly@survex.com>
7770         * configure.ac: Simplify defaulting enable_documentation a little.
7772 Fri Oct 01 09:29:03 GMT 2010  Olly Betts <olly@survex.com>
7774         * configure.ac: Default enable_sse to yes to fix build on x86.
7776 Fri Oct 01 09:10:34 GMT 2010  Olly Betts <olly@survex.com>
7778         * configure.ac: Fix typo in SSE handling code which stopped it
7779           defaulting as intended.
7781 Fri Oct 01 02:00:49 GMT 2010  Olly Betts <olly@survex.com>
7783         * NEWS: Update from ChangeLog.
7785 Fri Oct 01 01:54:41 GMT 2010  Olly Betts <olly@survex.com>
7787         * backends/Makefile.mk,backends/brass/brass_compact.cc,
7788           backends/byte_length_strings.h,backends/chert/chert_compact.cc,
7789           backends/flint/flint_compact.cc: Factor out 3 copies of
7790           ByteLengthPrefixedStringItor and ByteLengthPrefixedStringItorGt into
7791           their own file.
7793 Fri Oct 01 01:28:57 GMT 2010  Olly Betts <olly@survex.com>
7795         * backends/Makefile.mk,backends/brass/brass_compact.cc,
7796           backends/brass/brass_spelling.cc,backends/chert/chert_compact.cc,
7797           backends/chert/chert_spelling.cc,backends/flint/flint_compact.cc,
7798           backends/flint/flint_spelling.cc,
7799           backends/prefix_compressed_strings.h: Factor out 6 copies of
7800           PrefixCompressedStringItor and PrefixCompressedStringWriter and 3
7801           copies of PrefixCompressedStringItorGt into their own file.
7803 Thu Sep 30 15:28:49 GMT 2010  Olly Betts <olly@survex.com>
7805         * NEWS: Update from ChangeLog.
7807 Thu Sep 30 15:26:52 GMT 2010  Olly Betts <olly@survex.com>
7809         * api/compactor.cc: Need utils.h for stat with a std::string argument.
7811 Thu Sep 30 15:23:50 GMT 2010  Olly Betts <olly@survex.com>
7813         * tests/api_compact.cc: Remove unwanted check left over from cut and
7814           pasting code from a previous testcase.
7816 Thu Sep 30 15:21:02 GMT 2010  Olly Betts <olly@survex.com>
7818         * tests/api_compact.cc: Convert compaction tests to use the new API.
7820 Thu Sep 30 14:54:27 GMT 2010  Olly Betts <olly@survex.com>
7822         * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc,
7823           backends/flint/flint_compact.cc: Correct filenames in @file doxygen
7824           comments.
7826 Thu Sep 30 14:46:02 GMT 2010  Olly Betts <olly@survex.com>
7828         * api/compactor.cc: Use the ChertVersion, etc classes to make sure that
7829           the new database has a new UUID rather than creating a "donor"
7830           database and then stealing its version/uuid file.
7832 Thu Sep 30 14:33:46 GMT 2010  Olly Betts <olly@survex.com>
7834         * api/Makefile.mk,api/compactor.cc,backends/brass/Makefile.mk,
7835           backends/brass/brass_compact.cc,backends/brass/brass_compact.h,
7836           backends/chert/Makefile.mk,backends/chert/chert_compact.cc,
7837           backends/chert/chert_compact.h,backends/flint/Makefile.mk,
7838           backends/flint/flint_compact.cc,backends/flint/flint_compact.h,bin/,
7839           include/Makefile.mk,include/xapian.h,include/xapian/compactor.h:
7840           Convert compaction code into a Xapian::Compactor class, and make
7841           xapian-compact a simple wrapper around this new class.  (ticket#175)
7843 Thu Sep 30 06:16:11 GMT 2010  Olly Betts <olly@survex.com>
7845         * bin/: Eliminate uses of <iostream> in bin/xapian-compact-*.cc.
7847 Thu Sep 30 05:44:06 GMT 2010  Olly Betts <olly@survex.com>
7849         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc,
7850           bin/xapian-compact-flint.cc: Fix indentation of table data
7851           arrays.
7853 Thu Sep 30 05:32:44 GMT 2010  Olly Betts <olly@survex.com>
7855         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Only
7856           skip producing an output table when there are only some inputs
7857           for the termlist - for spellings and synonyms, we want to produce
7858           an output in this case.
7859         * tests/api_compact.cc: Add regression test compactmissingtables1.
7861 Wed Sep 29 11:13:18 GMT 2010  Olly Betts <olly@survex.com>
7863         * common/document.h: Initialise docid to 0 when creating a document
7864           from scratch, as documented.
7865         * tests/api_none.cc: Add regression test document2.
7866         * include/xapian/document.h: Document that return value is unreliable
7867           in this case prior to the next 1.0 and 1.2 releases.
7869 Wed Sep 29 07:06:10 GMT 2010  Olly Betts <olly@survex.com>
7871         * configure.ac: FreeBSD and OpenBSD don't need explicit dependency
7872           libraries, so set link_all_deplibs_CXX=no there.
7874 Wed Sep 29 07:04:20 GMT 2010  Olly Betts <olly@survex.com>
7876         * xapian-config.in: Just check @link_all_deplibs_CXX@ which we adjust
7877           in configure rather than duplicating configure's list of platforms
7878           where explicit dependencies aren't required.
7880 Mon Sep 27 04:28:46 GMT 2010  Olly Betts <olly@survex.com>
7882         * bin/xapian-compact.cc: Convert error messages to stdout/stderr to
7883           exceptions, in preparation for turning this into an API class.
7885 Mon Sep 27 03:50:54 GMT 2010  Olly Betts <olly@survex.com>
7887         * bin/xapian-compact.cc: Add support for compacting to a stub database,
7888           which can be one of the inputs (for atomic update).
7889         * tests/api_compact.cc: Add testcases compactstub3 and compactstub4 as
7890           feature tests for this.
7892 Mon Sep 27 03:50:00 GMT 2010  Olly Betts <olly@survex.com>
7894         * tests/api_compact.cc: Suppress output from xapian-compact in
7895           compactstub2 (which I'd disabled for debugging).
7897 Sun Sep 26 13:59:20 GMT 2010  Olly Betts <olly@survex.com>
7899         * bin/xapian-compact.cc: Extend to work on stub database files too.
7900         * tests/api_compact.cc: Add feature test compactstub2.
7902 Sun Sep 26 13:28:45 GMT 2010  Olly Betts <olly@survex.com>
7904         * bin/xapian-compact.cc: Inputs can now be stub database directories,
7905           in which case the databases in the stub are used as inputs.
7906         * tests/api_compact.cc: Add feature test compactstub1.
7908 Sun Sep 26 11:11:49 GMT 2010  Olly Betts <olly@survex.com>
7910         * xapian-config.in: Add --static option which makes other options
7911           report values for static linking.
7913 Tue Sep 21 10:43:17 GMT 2010  Olly Betts <olly@survex.com>
7915         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow phrase
7916           generators between a probabilistic prefix and the term itself.
7918 Thu Sep 09 11:18:47 GMT 2010  Olly Betts <olly@survex.com>
7920         * INSTALL: Raise recommended GCC version from 3.3 to 4.1, since that's
7921           the oldest we regularly test with.
7923 Thu Sep 09 11:14:03 GMT 2010  Olly Betts <olly@survex.com>
7925         * HACKING: Debian etch was discontinued 6 months ago, so it's no longer
7926           useful to document packages for developing Xapian on it.
7928 Thu Sep 09 03:15:00 GMT 2010  Olly Betts <olly@survex.com>
7930         * docs/deprecation.rst: Actually write down our guidelines for
7931           supporting other software.
7933 Thu Sep 09 00:20:16 GMT 2010  Olly Betts <olly@survex.com>
7935         * docs/replication.rst: Adjust text to reflect conclusions about the
7936           issues in ticket#434.
7938 Thu Sep 09 00:10:03 GMT 2010  Olly Betts <olly@survex.com>
7940         * docs/replication.rst: Don't suggest using a symlink to switch between
7941           databases - a stub database is much better.
7943 Thu Sep 09 00:07:02 GMT 2010  Olly Betts <olly@survex.com>
7945         * docs/replication.rst: Assume xapian tools are installed on PATH not
7946           in the current directory for example commands.
7948 Thu Sep 09 00:05:22 GMT 2010  Olly Betts <olly@survex.com>
7950         * docs/replication.rst: Fix a typo.
7952 Mon Sep 06 07:10:02 GMT 2010  Olly Betts <olly@survex.com>
7954         * configure.ac: Add support for --enable-sse=sse and --enable-sse=sse2
7955           to allow control of which SSE instructions to use.
7957 Fri Sep 03 13:08:53 GMT 2010  Richard Boulton <richard@tartarus.org>
7959         * bin/xapian-replicate.cc: If a fullcopy was attempted, but was not
7960           put live, display an explanatory message (if verbose is true).
7962 Fri Sep 03 05:54:09 GMT 2010  Olly Betts <olly@survex.com>
7964         * backends/chert/chert_modifiedpostlist.h,
7965           backends/flint/flint_modifiedpostlist.h,tests/: Fixes required to
7966           build on OpenBSD 4.5 with GCC 3.3.5.
7968 Tue Aug 31 14:37:44 GMT 2010  Olly Betts <olly@survex.com>
7970         * include/xapian/queryparser.h: Document cases where FLAG_WILDCARD and
7971           FLAG_PARTIAL aren't currently supported.
7973 Mon Aug 30 06:27:46 GMT 2010  Olly Betts <olly@survex.com>
7975         * configure.ac: Actaully make autoconf 2.64 a hard minimum requirement
7976           (as HACKING already documented).
7977         * HACKING,NEWS,configure.ac: autoconf 2.67 is now used to bootstrap.
7979 Mon Aug 30 06:26:03 GMT 2010  Olly Betts <olly@survex.com>
7981         * NEWS: Update from ChangeLog.
7983 Mon Aug 30 06:04:13 GMT 2010  Olly Betts <olly@survex.com>
7985         * configure.ac: Enable use of SSE maths on x86 by default with Sun's
7986           compiler.
7988 Sat Aug 28 16:04:45 GMT 2010  Olly Betts <olly@survex.com>
7990         * api/omdatabase.cc,include/xapian/queryparser.h,
7991           tests/harness/backendmanager.h: None of the workarounds we have
7992           which are conditional on __SUNPRO_CC are needed with Sun C++
7993           version 5.8, so only enable them for older versions (which will
7994           mean we can drop these workarounds with confidence once older
7995           versions are dropped by Sun/Oracle, or once we can find out that
7996           they have been - currently all I've managed to discover is that
7997           version 5.0 reached "end of service life" in 6/2006).
7999 Sat Aug 28 15:33:14 GMT 2010  Olly Betts <olly@survex.com>
8001         * configure.ac,tests/api_replicate.cc: Solaris < 10 doesn't have
8002           setenv() so we have to use putenv() there.  And the value we set
8003           XAPIAN_MAX_CHANGESETS to is always constant currently, so set it
8004           using constant strings generated by a macro.
8006 Sat Aug 28 12:35:25 GMT 2010  Olly Betts <olly@survex.com>
8008         * configure.ac: Beef up the test for whether -lm is required and add
8009           a special case to force it to be for Sun's C++ compiler - there's
8010           some interaction with libtool and/or shared objects which means
8011           that the configure test doesn't think -lm is needed here when it
8012           is.
8014 Sat Aug 28 10:59:11 GMT 2010  Olly Betts <olly@survex.com>
8016         * api/matchspy.cc,common/const_database_wrapper.cc,net/tcpclient.cc,
8017           tests/api_replicate.cc,tests/harness/backendmanager_remotetcp.cc,
8018           tests/harness/testsuite.cc,tests/perftest/runprocess.cc,
8019           unicode/utf8itor.cc: Fix to compile with Sun C++.
8021 Sat Aug 28 10:30:08 GMT 2010  Olly Betts <olly@survex.com>
8023         * HACKING,PLATFORMS: Move PLATFORMS information to the wiki and replace
8024           with a pointer.
8026 Sat Aug 28 03:15:47 GMT 2010  Olly Betts <olly@survex.com>
8028         * matcher/queryoptimiser.cc: Need to avoid excess precision on m68k
8029           when targeting models 68010, 68020, 68030 as well as 68000.
8031 Tue Aug 24 05:54:27 GMT 2010  Olly Betts <olly@survex.com>
8033         * configure.ac: Update for 1.2.3.
8035 Tue Aug 24 05:52:47 GMT 2010  Olly Betts <olly@survex.com>
8037         * NEWS: Update from ChangeLog.
8039 Mon Aug 16 16:46:19 GMT 2010  Olly Betts <olly@survex.com>
8041         * common/closefrom.cc: Use /dev/fd on Mac OS X.
8043 Mon Aug 16 16:18:26 GMT 2010  Olly Betts <olly@survex.com>
8045         * common/closefrom.cc: Need safeerrno.h and safeunistd.h on non-Linux
8046           platforms too.
8048 Mon Aug 16 15:47:48 GMT 2010  Olly Betts <olly@survex.com>
8050         * backends/flint_lock.cc,common/Makefile.mk,common/closefrom.cc,
8051           common/closefrom.h,configure.ac,net/progclient.cc: Use closefrom()
8052           if available, otherwise provide our own implementation (optimised
8053           to some extent for many platforms).
8055 Sun Aug 15 12:43:04 GMT 2010  Olly Betts <olly@survex.com>
8057         * AUTHORS: Update.
8059 Sun Aug 15 12:11:26 GMT 2010  Olly Betts <olly@survex.com>
8061         * xapian-core.spec.in: Update BuildRequires to specify libuuid-devel
8062           instead of e2fsprogs-devel.
8064 Sun Aug 15 11:30:05 GMT 2010  Olly Betts <olly@survex.com>
8066         * HACKING,INSTALL,common/safeuuid.h,common/win32_uuid.cc,
8067           common/win32_uuid.h,configure.ac: libuuid moved from e2fsprogs to
8068           util-linux-ng about a year ago, so update documentation, comments,
8069           and configure error messages to reflect this.  Issue reported by
8070           David Jeske on xapian-devel list.
8072 Sun Aug 15 07:58:51 GMT 2010  Olly Betts <olly@survex.com>
8074         * tests/harness/backendmanager_remotetcp.cc: Under __WIN32__, we need
8075           <io.h> for _open_osfhandle() (ticket#495).
8077 Sun Aug 15 07:10:25 GMT 2010  Olly Betts <olly@survex.com>
8079         * common/realtime.h: MSVC doesn't cope with a prototype at function
8080           scope with a global namespace qualification (ticket#495).
8082 Wed Aug 04 10:44:08 GMT 2010  Olly Betts <olly@survex.com>
8084         * backends/flint_lock.cc,backends/multi/multi_alltermslist.cc,
8085           bin/xapian-chert-update.cc,queryparser/termgenerator.cc,
8086           queryparser/termgenerator_internal.cc: Fix more incorrect @file
8087           directives.
8089 Wed Aug 04 09:19:10 GMT 2010  Olly Betts <olly@survex.com>
8091         * matcher/localsubmatch.h,queryparser/termgenerator_internal.h: Fix
8092           incorrect @file doxygen directives.
8094 Tue Aug 03 14:42:56 GMT 2010  Olly Betts <olly@survex.com>
8096         * tests/harness/fdtracker.h: Fix filename in @file.
8098 Tue Aug 03 14:32:45 GMT 2010  Olly Betts <olly@survex.com>
8100         * common/contiguousalldocspostlist.h,common/unaligned.h: Fix include
8101           guards to match header filename (cosmetic issues only).
8103 Mon Aug 02 12:38:59 GMT 2010  Olly Betts <olly@survex.com>
8105         * backends/brass/brass_table.cc,backends/brass/brass_values.cc,
8106           backends/chert/chert_table.cc,backends/chert/chert_values.cc,
8107           backends/flint/flint_alldocspostlist.cc,
8108           backends/remote/remote-document.cc,matcher/multimatch.cc,
8109           matcher/remotesubmatch.cc,net/progclient.cc: Use new Literal()
8110           feature in debug logging of function calls.
8112 Mon Aug 02 12:08:42 GMT 2010  Olly Betts <olly@survex.com>
8114         * common/pretty.h: Add Literal() class to allow bypassing the pretty
8115           printer for interspersing literal strings.
8117 Sun Aug 01 10:19:38 GMT 2010  Olly Betts <olly@survex.com>
8119         * api/omdatabase.cc: Database::get_spelling_suggestion() will now
8120           suggest a correction even if the passed word is in the dictionary,
8121           provided the correction has at least the same frequency.  Partly
8122           addresses #225.
8123         * queryparser/queryparser.lemony: Check spelling even if term is in
8124           the database.
8125         * docs/spelling.rst: Update to reflect these changes.
8126         * tests/api_spelling.cc,tests/queryparsertest.cc: Add test coverage for
8127           these changes.
8129 Tue Jul 27 15:24:56 GMT 2010  Tim Brody <tdb2@ecs.soton.ac.uk>
8131         * xapian-core.spec.in: Add xapian-metadata and cmake related files to
8132           RPM packaging.
8134 Thu Jul 22 07:13:12 GMT 2010  Olly Betts <olly@survex.com>
8136         * net/remoteconnection.cc: Wrap line.
8138 Thu Jul 22 07:11:23 GMT 2010  Olly Betts <olly@survex.com>
8140         * common/remoteserver.h,net/remoteserver.cc: Pass 1.0 for the end time
8141           when relaying a NetworkTimeoutError, not RealTime::now() - any time
8142           in the past will do, we just want the operation to time out if it
8143           would block.  Removed related FIXME which is already resolved.
8145 Wed Jul 21 18:00:08 GMT 2010  Olly Betts <olly@survex.com>
8147         * unicode/tclUniData.cc: Fix comment - this is Unicode 5.2 data, not
8148           5.1.
8150 Thu Jul 15 13:45:05 GMT 2010  Olly Betts <olly@survex.com>
8152         * common/realtime.h:Explicitly specify global namespace for
8153           xapian_sleep_milliseconds prototype as MSVC seems to need this.
8155 Thu Jul 15 13:03:13 GMT 2010  Olly Betts <olly@survex.com>
8157         * queryparser/queryparser.lemony: Fix handling of groups of terms which
8158           are all stopwords - in situations where this causes a problem we now
8159           disable stopword checks for such groups.  (ticket#245)
8160         * tests/queryparsertest.cc: Add regression testcases.
8162 Thu Jul 15 08:13:03 GMT 2010  Olly Betts <olly@survex.com>
8164         * common/fileutils.cc: Fix reversed memcmp() test.
8166 Sun Jul 11 14:59:06 GMT 2010  Olly Betts <olly@survex.com>
8168         * common/fileutils.cc: Factor out UNCW path check into a helper
8169           function.
8171 Sun Jul 11 14:56:27 GMT 2010  Olly Betts <olly@survex.com>
8173         * common/fileutils.cc,tests/Makefile.am,tests/unittest.cc: Move the
8174           tests of resolve_relative_path() into a new "unittest" program so
8175           they actually are run by "make check".  (ticket#243)
8177 Sun Jul 11 13:14:24 GMT 2010  Olly Betts <olly@survex.com>
8179         * common/fileutils.cc: Support the \\?\ path syntax.
8181 Sat Jul 10 15:49:08 GMT 2010  Olly Betts <olly@survex.com>
8183         * common/fileutils.cc,common/fileutils.h: Fix resolve_relative_path()
8184           to handle UNC paths.
8186 Sat Jul 10 15:27:48 GMT 2010  Olly Betts <olly@survex.com>
8188         * common/fileutils.cc: -D__WIN32__ on the g++ command line works for
8189           testing on Linux, so no need to have that in the code.  Add a couple
8190           of UNC path test cases which pass, and a commented-out one which
8191           fails.
8193 Sat Jul 10 14:58:35 GMT 2010  Olly Betts <olly@survex.com>
8195         * common/fileutils.cc,common/fileutils.h: We use these routines to
8196           resolve a relative path (in a stub database file) in terms of a
8197           second path (the filename of that file), so just instead a
8198           routine to do exactly that, which is easier to code and more
8199           efficient.  The new implementation fixes several bugs with
8200           Microsoft Windows paths.  Some testcases (currently not used)
8201           are now present in fileutils.cc (ticket#243).
8202         * backends/dbfactory.cc: Use the new API.
8204 Fri Jul 09 07:42:31 GMT 2010  Olly Betts <olly@survex.com>
8206         * tests/perftest/perftest.cc: I missed a use of atoi() on std::string
8207           but just call .cstr() on the string instead of dragging in utils.h.
8209 Fri Jul 09 04:39:40 GMT 2010  Olly Betts <olly@survex.com>
8211         * common/utils.cc,common/utils.h: Remove unused std::string to const
8212           char * wrappers for standard functions, and remove the only use of
8213           rmdir()'s wrapper.
8215 Thu Jul 08 15:18:04 GMT 2010  Olly Betts <olly@survex.com>
8217         * api/omenquire.cc: Xapian::ESet is a reference counted handle, so it
8218           is efficient to return by value - remove FIXME which suggests we
8219           should avoid doing so.
8221 Thu Jul 08 15:17:20 GMT 2010  Olly Betts <olly@survex.com>
8223         * api/omqueryinternal.cc: Update FIXMEs - it's too late to fix stuff
8224           in 1.1.x!
8226 Thu Jul 08 15:13:47 GMT 2010  Olly Betts <olly@survex.com>
8228         * api/omenquire.cc: Remove FIXMEs about debug logging which have been
8229           addressed by the fairly recent debug logging improvements.
8231 Thu Jul 08 15:07:07 GMT 2010  Olly Betts <olly@survex.com>
8233         * api/keymaker.cc: Fix comment typos.
8235 Thu Jul 08 14:50:59 GMT 2010  Olly Betts <olly@survex.com>
8237         * api/replication.cc,backends/brass/,backends/chert/,
8238           backends/dbfactory_remote.cc,backends/flint/,
8239           backends/remote/remote-database.cc,bin/xapian-progsrv.cc,
8240           bin/xapian-tcpsrv.cc,common/,net/,tests/perftest/perftest.cc,
8241           tests/perftest/perftest.h: Replace use of OmTime with a double
8242           holding a count in seconds since the epoch.
8244 Thu Jul 08 12:35:40 GMT 2010  Olly Betts <olly@survex.com>
8246         * net/tcpclient.cc: Retry select() if it fails with EINTR while waiting
8247           for connect(), and discriminate cases with same failure message to
8248           aid debugging.
8250 Thu Jul 08 05:09:18 GMT 2010  Olly Betts <olly@survex.com>
8252         * queryparser/queryparser.lemony: Remove comment left over from the
8253           "boolean exclusive" work.
8255 Wed Jul 07 13:18:17 GMT 2010  Olly Betts <olly@survex.com>
8257         * include/xapian/types.h: Fix documentation comment for Xapian::timeout
8258           type - it holds a time interval in milliseconds not microseconds
8259           (the API docs for the methods which use it explicitly document this
8260           correctly).
8262 Tue Jul 06 15:17:09 GMT 2010  Olly Betts <olly@survex.com>
8264         * tests/queryparsertest.cc: Fix formatting.
8266 Tue Jul 06 14:13:03 GMT 2010  Olly Betts <olly@survex.com>
8268         * tests/perftest/perftest.cc: Use str(OmTime::as_double()) rather than
8269           trying to assemble a string of a floating point number from strings
8270           of the sec and usec values.
8272 Tue Jul 06 14:03:30 GMT 2010  Olly Betts <olly@survex.com>
8274         * common/debuglog.h,common/remote-database.h: Remove unused '#include
8275           "omtime.h"'.
8276         * backends/remote/remote-database.cc: Add explicit '#include
8277           "omtime.h"'.
8279 Mon Jul 05 11:40:42 GMT 2010  Olly Betts <olly@survex.com>
8281         * queryparser/queryparser.lemony: Restore iterator to start of
8282           where we tried to parse a range if we decide it might be a filter
8283           term instead.  Clear the error if we decide it is a filter.
8284         * tests/queryparsertest.cc: Fix expected test output from
8285           qp_value_range4 testcase.
8287 Mon Jul 05 06:46:16 GMT 2010  Olly Betts <olly@survex.com>
8289         * queryparser/queryparser.lemony: Fix to be smarter about handling a
8290           boolean filter term containing ".." in the presence of
8291           valuerangeprocessors.
8292         * tests/queryparsertest.cc: Add regression test qp_value_range4.
8294 Mon Jul 05 04:10:08 GMT 2010  Olly Betts <olly@survex.com>
8296         * queryparser/queryparser.lemony,queryparser/queryparser.lt: Clean up
8297           how value ranges are handled to do the checking of the range in the
8298           lexer, which then passes a single token (RANGE) to the parser
8299           (instead of a RANGE_START token which is always followed by a
8300           RANGE_END token).
8302 Fri Jul 02 12:32:37 GMT 2010  Olly Betts <olly@survex.com>
8304         * configure.ac: Don't pass -mtune=generic unless GCC >= 4.2 is in use
8305           (ticket#492).
8307 Wed Jun 30 10:54:15 GMT 2010  Olly Betts <olly@survex.com>
8309         * backends/brass/brass_postlist.cc: Remove unnecessary NULL check.
8310           Identified by Coverity's Scan.
8311         * backends/chert/chert_postlist.cc: Same change for chert.
8313 Tue Jun 29 12:17:16 GMT 2010  Olly Betts <olly@survex.com>
8315         * backends/brass/brass_chunkedlisttable.h,
8316           backends/chert/chert_chunkedlisttable.h: Remove unused files.
8318 Sun Jun 27 04:31:06 GMT 2010  Olly Betts <olly@survex.com>
8320         * NEWS: Update for 1.2.2.
8322 Sun Jun 27 04:22:28 GMT 2010  Olly Betts <olly@survex.com>
8324         * examples/delve.cc: Show the database's UUID.
8326 Sun Jun 27 03:30:16 GMT 2010  Olly Betts <olly@survex.com>
8328         * NEWS.SKELETON: Add "tools" section.
8330 Sun Jun 27 03:03:57 GMT 2010  Olly Betts <olly@survex.com>
8332         * configure.ac: Update for 1.2.2.
8334 Sat Jun 26 15:55:45 GMT 2010  Olly Betts <olly@survex.com>
8336         * NEWS: Create from ChangeLog.
8338 Sat Jun 26 15:36:37 GMT 2010  Olly Betts <olly@survex.com>
8340         * NEWS.SKELETON: Add template for NEWS entry.
8342 Sat Jun 26 11:09:03 GMT 2010  Olly Betts <olly@survex.com>
8344         * backends/brass/brass_table.cc: Sync the table right after the base
8345           file, which allows more time for the table changes to be written,
8346           and doing the sync together may be more efficient with some Linux
8347           kernel versions.
8348         * backends/chert/chert_table.cc: Same change for chert.
8350 Sat Jun 26 06:46:39 GMT 2010  Olly Betts <olly@survex.com>
8352         * HACKING: Reorder the release checklist.
8354 Thu Jun 24 08:03:18 GMT 2010  Olly Betts <olly@survex.com>
8356           bin/xapian-check.cc: Don't try to check doclengths are consistent
8357           between the postlist and termlist tables if it would use more than
8358           1GB of memory, and handle std::bad_alloc or std::length_error.  This
8359           issue affects sup users, as sup allocates docids such that they are
8360           sparse and large docids can easily occur.
8362 Wed Jun 23 15:38:25 GMT 2010  Olly Betts <olly@survex.com>
8364         * include/xapian/weight.h: Revert Xapian::Weight's copy ctor back
8365           to protected as GCC 4.1 fails to compile subclasses when it is
8366           private (this appears to be a compiler bug).
8368 Wed Jun 23 07:31:19 GMT 2010  Olly Betts <olly@survex.com>
8370         * AUTHORS: Thank people who reported bugs fixed in 1.2.1.
8372 Wed Jun 23 06:52:54 GMT 2010  Olly Betts <olly@survex.com>
8374         * xapian-core.spec.in: Update for 1.2.x - add e2fsprogs-devel to
8375           BuildRequires and add new files.
8377 Wed Jun 23 05:00:34 GMT 2010  Olly Betts <olly@survex.com>
8379         * HACKING: Wording tweak.
8381 Wed Jun 23 04:11:30 GMT 2010  Olly Betts <olly@survex.com>
8383         * tests/harness/testsuite.cc: Need <cstdio> for sprintf().  Fixes
8384           compilation error for some platforms and/or compilers (my guess would
8385           be GCC 4.5 - it builds OK with GCC 4.4).  (ticket#489)
8387 Tue Jun 22 14:45:37 GMT 2010  Olly Betts <olly@survex.com>
8389         * NEWS,configure.ac: Update for 1.2.1.
8391 Mon Jun 21 16:00:22 GMT 2010  Olly Betts <olly@survex.com>
8393         * NEWS: Sync with 1.0.21 and update from ChangeLog.
8395 Mon Jun 21 15:15:50 GMT 2010  Olly Betts <olly@survex.com>
8397         * tests/api_replicate.cc: Unix putenv() requires the buffer passed to
8398           remain valid, as it stores it directly in the environment.  It's
8399           unclear from MSDN if _putenv() does the same, but _putenv_s() must
8400           allocate a copy since it needs to have an '=' in, so use that
8401           instead.  It also has an interface much like setenv(), so the code
8402           looks more similar.
8404 Mon Jun 21 06:07:42 GMT 2010  Olly Betts <olly@survex.com>
8406         * queryparser/queryparser.cc: Add missing const.
8408 Mon Jun 21 05:21:32 GMT 2010  Olly Betts <olly@survex.com>
8410         * queryparser/queryparser.cc: Update to match header ABI fix.
8412 Mon Jun 21 03:52:41 GMT 2010  Olly Betts <olly@survex.com>
8414         * include/xapian/queryparser.h: QueryParser::add_boolean_prefix() now
8415           uses two overloaded forms instead of a default parameter so that we
8416           don't break the ABI.
8418 Fri Jun 18 16:56:59 GMT 2010  Olly Betts <olly@survex.com>
8420         * AUTHORS: Add 1.0.21 bug reporters.
8422 Fri Jun 18 05:52:00 GMT 2010  Olly Betts <olly@survex.com>
8424         * include/xapian/queryparser.h,queryparser/queryparser.cc,
8425           queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
8426           Add new optional parameter to QueryParser::add_boolean_prefix() to
8427           allow the user to indicate a prefix isn't "exclusive" and that
8428           OP_AND should be used to combine multiple instances.  Fixes
8429           ticket#402.  This change should also improve efficiency as it
8430           avoids copying the lists of prefixes and compares them more
8431           efficiently.
8433 Fri Jun 18 02:51:11 GMT 2010  Olly Betts <olly@survex.com>
8435         * include/xapian/queryparser.h: Fix doccomment typo.
8437 Thu Jun 17 14:04:35 GMT 2010  Olly Betts <olly@survex.com>
8439         * include/xapian/weight.h: Xapian::Weight's copy ctor is now
8440           private rather than protected.  This is an API and ABI compatible
8441           change since there's no definition so a subclass which tried to
8442           access it before would fail to link.
8444 Thu Jun 17 13:00:47 GMT 2010  Olly Betts <olly@survex.com>
8446         * queryparser/queryparser.lemony: Missing changes from previous commit.
8448 Thu Jun 17 11:37:30 GMT 2010  Olly Betts <olly@survex.com>
8450         * api/valuerangeproc.cc: Add support for open-ended ranges
8451           (ticket#480).
8452         * docs/queryparser.html,docs/valueranges.rst: Document.
8453         * tests/queryparsertest.cc: Add feature tests.
8455 Thu Jun 17 06:15:24 GMT 2010  Olly Betts <olly@survex.com>
8457         * queryparser/queryparser.lemony: Switch out of IN_GROUP mode when we
8458           emit a WILDCARD.  Fixeds bug#484.
8459         * tests/queryparsertest.cc: Add regression testcase to wildcard1.
8461 Thu Jun 17 02:42:16 GMT 2010  Olly Betts <olly@survex.com>
8463         * tests/api_backend.cc: Rename failedadd1 to failedreplace1 as it's the
8464           replace which fails really.  Add failedreplace2 which adds explicit
8465           coverage for the case of a failed replace when the database isn't
8466           empty to start with.
8468 Tue Jun 15 12:45:36 GMT 2010  Olly Betts <olly@survex.com>
8470         * include/xapian/queryparser.h: Note in the description of
8471           set_database() what the database is used for.
8473 Tue Jun 15 12:26:12 GMT 2010  Olly Betts <olly@survex.com>
8475         * include/xapian/queryparser.h: Fix formatting of bullet list.
8477 Mon Jun 14 17:02:10 GMT 2010  Olly Betts <olly@survex.com>
8479         * backends/brass/brass_table.cc,backends/chert/chert_table.cc,
8480           backends/flint/flint_table.cc: cancel() now marks the Btree as
8481           unmodified.
8482         * tests/api_backend.cc: Add regression test failedadd1.
8484 Sun Jun 13 16:07:49 GMT 2010  Olly Betts <olly@survex.com>
8486         * common/Makefile.mk,common/safeuuid.h,configure.ac: Fix mingw build to
8487           use __WIN32__ UUID API.
8489 Sun Jun 13 12:25:24 GMT 2010  Olly Betts <olly@survex.com>
8491         * tests/perftest/freemem.cc: Fix whitespace to match Omega's version.
8493 Sun Jun 13 11:52:24 GMT 2010  Olly Betts <olly@survex.com>
8495         * tests/perftest/freemem.cc: Merge in changes from omega's version.
8496           Clean up whitespace issues.  Put the __WIN32__ case last, as we
8497           tend to elsewhere (since most people reading the code probably
8498           want to see the other version).
8500 Sun Jun 13 11:32:30 GMT 2010  Olly Betts <olly@survex.com>
8502         * tests/perftest/perftest.cc: "MSWin32" isn't the OS name.  Also,
8503           prefer += to build up a string.
8505 Sat Jun 12 09:31:28 GMT 2010  Olly Betts <olly@survex.com>
8507         * tests/api_percentages.cc: Note that 1.0.x returned 4% for the top hit
8508           in topercent5, so checking it gets at least 50% is a regression test
8509           for that issue.
8511 Fri Jun 11 15:38:26 GMT 2010  Olly Betts <olly@survex.com>
8513         * configure.ac: -march=pentium4 doesn't seem to give a measurable
8514           speed-up or size reduction (from Richard's tests) and it carries a
8515           small risk of introducing instructions which don't work on some
8516           obscure CPU which implements SSE2, so drop it.
8518 Fri Jun 11 15:25:16 GMT 2010  Olly Betts <olly@survex.com>
8520         * weight/bm25weight.cc: Stop forcing the wdf_max value to be at least
8521           one in BM25Weight::get_maxpart() - this is no longer needed now we
8522           calculate percentages based on the number of matching subqueries, and
8523           it is more natural for a non-existent term to get zero weight (ditto
8524           for a term which always has wdf = 0.
8525         * tests/api_anydb.cc: Change qterminfo1 to check that a non-existent
8526           term gets zero weight (previously we checked that it got a non-zero
8527           weight, but really we want to ensure that it contributes to
8528           percentage calculations, which new test topercent5 now does).
8530 Fri Jun 11 15:19:29 GMT 2010  Olly Betts <olly@survex.com>
8532         * tests/api_percentages.cc: Add topercent5 testcase which checks that
8533           an OR search including an non-existent term doesn't get 100%, and
8534           that the non-existent term doesn't score more than terms which do
8535           exist.
8537 Fri Jun 11 14:15:07 GMT 2010  Olly Betts <olly@survex.com>
8539         * matcher/queryoptimiser.cc: When using SSE FP instructions on x86 we
8540           can disable the use of volatile since there are no excess precision
8541           issues to work around.
8543 Fri Jun 11 08:21:04 GMT 2010  Olly Betts <olly@survex.com>
8545         * configure.ac: Put SSE flags in AM_CXXFLAGS not CXXFLAGS.
8547 Fri Jun 11 07:08:01 GMT 2010  Olly Betts <olly@survex.com>
8549         * configure.ac: Default to building with SSE FP instructions for x86.
8550           This avoids issues with excess precision and it a bit faster too.
8551           Should fix ticket#487.
8553 Thu Jun 10 15:15:33 GMT 2010  Olly Betts <olly@survex.com>
8555         * NEWS: Update from ChangeLog.
8557 Thu Jun 10 15:00:12 GMT 2010  Olly Betts <olly@survex.com>
8559         * HACKING: Capitalise "Fedora".
8561 Thu Jun 10 11:27:18 GMT 2010  Olly Betts <olly@survex.com>
8563         * INSTALL: Reword UUID section - list platforms where we make use of
8564           built-in APIs first, give the URL for e2fsprogs home page, and
8565           give the package name for Debian and Ubuntu.
8567 Thu Jun 10 01:08:21 GMT 2010  Olly Betts <olly@survex.com>
8569         * HACKING: libtool 2.2.10 used for snapshots and releases now.
8571 Thu Jun 10 00:21:49 GMT 2010  Olly Betts <olly@survex.com>
8573         * configure.ac,include/xapian/version_h.cc,
8574           include/xapian/visibility.h: We do need to have the visibility
8575           annotations on for code compiling against the library, so substitute
8576           the probed value of XAPIAN_ENABLE_VISIBILITY into <xapian/version.h>
8577           so it is available.
8579 Wed Jun 09 11:31:14 GMT 2010  Olly Betts <olly@survex.com>
8581         * INSTALL,configure.ac,include/xapian/visibility.h: Control use of
8582           GCC's visibility support with defined(XAPIAN_ENABLE_VISIBILITY)
8583           instead of !defined(XAPIAN_DISABLE_VISIBILITY), so it is only used
8584           when building the library, not when building code which uses it.
8585           Add check to configure that GCC actually supports visibility for
8586           the platform being built for, which fixes compiler warnings with
8587           platforms which don't (such as Mac OS X and mingw).
8589 Wed Jun 09 11:17:58 GMT 2010  Olly Betts <olly@survex.com>
8591         * HACKING: "private", etc as "access specifiers", not "visibility
8592           specifiers".
8594 Wed Jun 09 11:04:55 GMT 2010  Olly Betts <olly@survex.com>
8596         * HACKING: Note flex and bison needed to build doxygen.
8598 Wed Jun 09 05:25:10 GMT 2010  Olly Betts <olly@survex.com>
8600         * common/win32_uuid.cc: Fix signed/unsigned comparison warning on
8601           mingw.
8603 Tue Jun 08 16:56:26 GMT 2010  Olly Betts <olly@survex.com>
8605         * common/safewinsock2.h: Reword #error to avoid single quote which
8606           gives compilation warning with some GCC 4.2.1 on mingw.
8608 Tue Jun 08 14:32:28 GMT 2010  Olly Betts <olly@survex.com>
8610         * backends/brass/brass_check.h,backends/chert/chert_check.h,
8611           backends/flint/flint_check.h: Remove mutable from std::ostream &
8612           member - mutable doesn't make sense for a reference.
8614 Tue Jun 08 13:03:56 GMT 2010  Olly Betts <olly@survex.com>
8616         * common/,matcher/,weight/weightinternal.cc: Replace the still rather
8617           contorted mechanism for accumulating rel termfreqs for local
8618           databases with a simpler mechanism which is more efficient in both
8619           space and time.
8621 Mon Jun 07 16:31:24 GMT 2010  Olly Betts <olly@survex.com>
8623         * api/maptermlist.h,api/matchspy.cc,api/termlist.cc,backends/brass/,
8624           backends/chert/,backends/flint/,
8625           backends/inmemory/inmemory_database.cc,
8626           backends/inmemory/inmemory_database.h,
8627           backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
8628           backends/remote/net_termlist.cc,backends/remote/net_termlist.h,
8629           common/ortermlist.h,common/termlist.h,expand/ortermlist.cc: Remove
8630           default OrTermList::skip_to() implementation and implement skip_to()
8631           in each class instead, as this allows a slightly more efficient
8632           implementation, and also avoids problems with calling skip_to() as
8633           the first operation for the many subclasses which have a "started"
8634           flag, which OrTermList::skip_to() won't set.
8636 Mon Jun 07 06:08:53 GMT 2010  Olly Betts <olly@survex.com>
8638         * queryparser/queryparser.lemony: Rename TermList class to Terms to
8639           avoid confusion with the TermList typedef used elsewhere.  Add
8640           documentation comments for Terms and TermGroup classes.
8642 Mon Jun 07 02:18:05 GMT 2010  Olly Betts <olly@survex.com>
8644         * backends/brass/: Switch to using io_utils instead of brass_io.
8646 Mon Jun 07 02:16:30 GMT 2010  Olly Betts <olly@survex.com>
8648         * AUTHORS: Add Arvid Ephraim Picciani for help fixing bootstrap for
8649           BusyBox sha1sum.
8651 Mon Jun 07 01:16:57 GMT 2010  Olly Betts <olly@survex.com>
8653         * common/io_utils.cc: Whitespace tweak.
8655 Mon Jun 07 00:58:26 GMT 2010  Olly Betts <olly@survex.com>
8657         * common/io_utils.h: Fix header guard macro name to follow convention.
8659 Sun Jun 06 15:07:55 GMT 2010  Olly Betts <olly@survex.com>
8661         * HACKING,configure.ac: Upgrade to using libtool 2.2.8.
8663 Sun Jun 06 04:34:13 GMT 2010  Olly Betts <olly@survex.com>
8665         * bin/Makefile.mk,configure.ac: Fix build failures with some
8666           combinations of backends disabled (partially addresses ticket#361).
8668 Sat Jun 05 16:30:57 GMT 2010  Olly Betts <olly@survex.com>
8670         * matcher/remotesubmatch.cc: Add missing parameter of
8671           RemoteSubMatch::start_match() to debug logging.
8673 Sat Jun 05 15:03:56 GMT 2010  Olly Betts <olly@survex.com>
8675         * matcher/queryoptimiser.h: Make QueryOptimiser::optimise_query()'s
8676           argument const pointer, since we only pass it to do_subquery() which
8677           takes a const pointer.
8679 Fri Jun 04 16:05:01 GMT 2010  Olly Betts <olly@survex.com>
8681         * common/rset.h: Just keep a reference to the set<docid> from the
8682           Xapian::RSet object rather than copying it (since we now only
8683           create the RSetI object transiently, so the Xapian::RSet object
8684           is definitely valid for its whole lifetime).
8686 Fri Jun 04 15:57:50 GMT 2010  Olly Betts <olly@survex.com>
8688         * api/omenquire.cc,matcher/localmatch.cc,matcher/localmatch.h: Keep
8689           a Xapian::RSet handle in the LocalSubMatch object and only create
8690           an RSetI object briefly in LocalSubMatch::prepare_match().
8692 Fri Jun 04 15:36:45 GMT 2010  Olly Betts <olly@survex.com>
8694         * common/pretty.h: RSetI objects are no longer passed as parameters
8695           or return values, so we no longer need to handle them.
8697 Fri Jun 04 15:28:21 GMT 2010  Olly Betts <olly@survex.com>
8699         * api/omenquire.cc,common/esetinternal.h,common/omenquireinternal.h,
8700           common/rset.h,expand/esetinternal.cc,matcher/rset.cc: RSetI is used
8701           when collating statistics prior to performing the match, and when
8702           generating an ESet.  The second use is entirely unnecessary and just
8703           ends up with us copying the std::set<Xapian::docid> from inside the
8704           Xapian::RSet object, so eliminate it and just use the Xapian::RSet
8705           object directly.  This allows RSetI to be simplified somewhat too.
8707 Fri Jun 04 14:22:38 GMT 2010  Olly Betts <olly@survex.com>
8709         * tests/api_backend.cc: Make arrays static const.
8711 Fri Jun 04 13:25:20 GMT 2010  Olly Betts <olly@survex.com>
8713         * backends/Makefile.mk: Note need to update include/xapian/version_h.cc
8714           when adding a new backend.
8715         * AUTHORS: Thanks to Conrad Hoffmann for pointing this omission out.
8717 Thu Jun 03 15:01:44 GMT 2010  Richard Boulton <richard@tartarus.org>
8719         * tests/soaktest/soaktest_queries.cc: Add missing include of str.h
8721 Thu Jun 03 12:09:35 GMT 2010  Richard Boulton <richard@tartarus.org>
8723         * tests/Makefile.am: Fix building of zlib-vg.so in VPATH builds.
8725 Thu Jun 03 11:49:31 GMT 2010  Richard Boulton <richard@tartarus.org>
8727         * matcher/orpostlist.cc,tests/api_backend.cc: Fix several bugs in
8728           OrPostList::check() (introduced since 1.2.0).  Fixes ticket #485.
8729           Specifically, we have to check a sub-postlist even if head=did,
8730           because we need to know if that sub-postlist is valid.  Also, if
8731           a sub-postlist is not valid, set its head to did+1, since we know
8732           that we're no longer interested in matches before did, and this
8733           allows the OrPostList to assume that the minimum docid of its
8734           children is the current docid.
8736 Thu Jun 03 07:15:24 GMT 2010  Olly Betts <olly@survex.com>
8738         * matcher/: Implement MultiXorPostList which returns correct weights
8739           for XOR of more than 2 subqueries, and drop XorPostList completely.
8740           (ticket#475)
8741         * tests/api_anydb.cc: Add regression test xor2.
8743 Thu Jun 03 04:38:56 GMT 2010  Olly Betts <olly@survex.com>
8745         * tests/api_replicate.cc: Tweak loop end test to be a normal while.
8747 Thu Jun 03 01:22:20 GMT 2010  Olly Betts <olly@survex.com>
8749         * tests/api_stem.cc: Note stem2's feature was backported to 1.0.21.
8751 Tue Jun 01 13:49:44 GMT 2010  Olly Betts <olly@survex.com>
8753         * backends/brass/brass_database.cc,backends/brass/brass_termlist.cc,
8754           backends/chert/chert_database.cc,backends/chert/chert_termlist.cc,
8755           backends/flint/flint_database.cc,backends/flint/flint_document.cc,
8756           backends/flint/flint_termlist.cc,matcher/: Fix LOGCALL_VOID uses
8757           for ctors and dtors to be LOGCALL_CTOR and LOGCALL_DTOR respectively.
8759 Tue Jun 01 13:33:07 GMT 2010  Olly Betts <olly@survex.com>
8761         * api/omdocument.cc: Use LOGCALL_VOID instead of LOGCALL with a void
8762           return type.
8764 Tue Jun 01 13:08:02 GMT 2010  Olly Betts <olly@survex.com>
8766         * matcher/multimatch.cc: The debug logging now copes with being passed
8767           RSet* so remove special casing with ?:.
8769 Tue Jun 01 10:17:27 GMT 2010  Olly Betts <olly@survex.com>
8771         * HACKING,configure.ac: Drop support for --enable-log=profile -
8772           dedicated profiling tools are likely to return more useful results.
8773         * common/debuglog.cc,common/debuglog.h: Rename xapian_debuglogger__
8774           global to xapian_debuglogger_ to avoid reserved __ in the name.
8775         * common/omdebug.cc,common/omdebug.h: Remove in favour of debuglog.h.
8776         * common/pretty.h: New PrettyOStream<> template class for pretty
8777           printing types in debug logs (and eventually the testsuite).
8778         * api/,backends/brass/,backends/chert/,
8779           backends/dbfactory_remote.cc,backends/flint/,
8780           backends/inmemory/inmemory_database.cc,
8781           backends/inmemory/inmemory_document.cc,
8782           backends/inmemory/inmemory_positionlist.cc,
8783           backends/multi/multi_postlist.cc,backends/multi/multi_termlist.cc,
8784           common/,expand/esetinternal.cc,expand/expandweight.cc,
8785           expand/ortermlist.cc,matcher/,net/progclient.cc,
8786           net/remoteconnection.cc: Migrate all remaining uses of omdebug.h to
8787           debuglog.h.  Write more parameters to the debug log.  Retire the
8788           barely used APICALL category and use API instead (reflecting actual
8789           current use).  Add new REPLICA category.  Fix names logged for ctors
8790           and dtors which have "::" in the class name.
8792 Sun May 30 13:45:12 GMT 2010  Olly Betts <olly@survex.com>
8794         * api/omenquire.cc: Remove bogus "Data::" from debug logging for two
8795           methods.
8797 Sun May 30 08:49:22 GMT 2010  Olly Betts <olly@survex.com>
8799         * include/xapian/stem.h,languages/stem.cc: Xapian::Stem now recognises
8800           "nb" and "nn" as codes for the Norwegian stemmer.
8801         * tests/api_stem.cc: Add feature test stem2 to check that these new
8802           codes work.
8804 Sat May 29 10:12:40 GMT 2010  Olly Betts <olly@survex.com>
8806         * common/debuglog.h: Add overload of operator| which writes ", " and
8807           then a value to std::ostream.
8808         * api/omdatabase.cc,api/replication.cc,
8809           backends/brass/brass_alldocspostlist.cc,
8810           backends/brass/brass_metadata.cc,backends/brass/brass_table.cc,
8811           backends/chert/,backends/dbfactory.cc,
8812           backends/flint/flint_alldocspostlist.cc,expand/esetinternal.cc,
8813           expand/expandweight.cc,matcher/,net/remoteconnection.cc,
8814           weight/bm25weight.cc,weight/weight.cc: Use this in LOGCALL uses to
8815           make them shorter and more readable.
8817 Fri May 28 06:47:57 GMT 2010  Olly Betts <olly@survex.com>
8819         * api/leafpostlist.cc,api/omdatabase.cc,backends/brass/brass_table.cc,
8820           backends/chert/chert_table.cc,backends/dbfactory.cc,
8821           backends/flint/flint_alldocspostlist.cc: Put LOGCALL macro use all on
8822           one line so we can more easily mechanise use and update.
8824 Fri May 28 04:22:35 GMT 2010  Olly Betts <olly@survex.com>
8826         * api/replication.cc,api/valueiterator.cc,
8827           backends/brass/brass_alltermslist.cc,
8828           backends/chert/chert_alltermslist.cc,backends/dbfactory.cc,
8829           backends/inmemory/inmemory_document.cc,
8830           backends/remote/remote-document.cc,matcher/synonympostlist.cc,
8831           net/remoteconnection.cc,weight/bm25weight.cc: Use NO_ARGS instead of
8832           "" and LOGCALL_VOID instead of LOGCALL with void return type.
8834 Fri May 28 04:12:35 GMT 2010  Olly Betts <olly@survex.com>
8836         * matcher/valuerangepostlist.cc: Add missing inclusions of
8837           "debuglog.h".
8838         * backends/brass/brass_metadata.h,backends/brass/brass_postlist.h,
8839           backends/brass/brass_synonym.h,backends/chert/chert_metadata.h,
8840           backends/chert/chert_postlist.h,backends/chert/chert_synonym.h,
8841           backends/dbfactory_remote.cc,backends/flint/flint_metadata.h,
8842           backends/flint/flint_synonym.h,common/database.h,common/rset.h:
8843           Remove unused inclusions of "omassert.h" and "omdebug.h".
8844         * common/rset.h: Remove unused inclusion of "weightinternal.h".
8845         * api/omdatabase.cc,api/registry.cc,api/replication.cc,backends/brass/,
8846           backends/chert/,backends/dbfactory.cc,backends/flint/: Add missing
8847           explicit inclusions of "debuglog.h". Fix LOGCALL markup of ctors and
8848           dtors.  Use LOGCALL instead of DEBUGCALL.
8850 Fri May 28 04:06:08 GMT 2010  Olly Betts <olly@survex.com>
8852         * backends/flint/flint_alldocspostlist.h: Add missing explicit
8853           inclusions of "autoptr.h", "flint_database.h", and forward
8854           declaration of class FlintCursor.
8856 Fri May 28 03:52:40 GMT 2010  Olly Betts <olly@survex.com>
8858         * common/const_database_wrapper.h,common/databasereplicator.h,
8859           common/gnu_getopt.h: Add "(C)" to copyright statements for
8860           consistency with other files.
8862 Fri May 28 03:45:26 GMT 2010  Olly Betts <olly@survex.com>
8864         * queryparser/queryparser.lt: Include "debuglog.h" instead of
8865           "omdebug.h".
8867 Fri May 28 03:45:03 GMT 2010  Olly Betts <olly@survex.com>
8869         * queryparser/queryparser.cc: Remove unused inclusion of "omdebug.h".
8871 Fri May 28 03:40:50 GMT 2010  Olly Betts <olly@survex.com>
8873         * expand/esetinternal.cc,matcher/localmatch.cc,matcher/multimatch.cc,
8874           matcher/rset.cc: Add missing explicit inclusions of "omassert.h".
8876 Thu May 27 23:39:57 GMT 2010  Olly Betts <olly@survex.com>
8878         * common/Makefile.mk,common/expand.h: Remove unused header.
8880 Thu May 27 06:45:27 GMT 2010  Olly Betts <olly@survex.com>
8882         * include/xapian/stem.h: Update the list of languages that the
8883           Xapian::Stem constructor recognises.
8885 Thu May 27 05:20:42 GMT 2010  Olly Betts <olly@survex.com>
8887         * include/xapian/stem.h,languages/Makefile.mk,
8888           languages/compiler/generator.c,languages/stem.cc,
8889           languages/steminternal.cc,languages/steminternal.h,tests/Makefile.am,
8890           tests/api_stem.cc: Add the ability to specify your own stemming
8891           algorithm by subclassing Xapian::StemImplementation, mostly based on
8892           patch from Evgeny Sizikov in ticket#448.
8894 Thu May 27 04:50:31 GMT 2010  Olly Betts <olly@survex.com>
8896         * tests/api_opvalue.cc: Use TEST_REL() instead of tout and TEST() with
8897           an inequality.
8899 Thu May 27 04:28:07 GMT 2010  Olly Betts <olly@survex.com>
8901         * api/replication.cc,backends/databasereplicator.cc,common/debuglog.h,
8902           common/omdebug.h,expand/esetinternal.cc,expand/ortermlist.cc,
8903           matcher/,net/remoteconnection.cc: Partial mass conversion of files
8904           from omdebug.h to debuglog.h (this takes care off all the files
8905           without BSN copyright).
8907 Thu May 27 04:24:36 GMT 2010  Olly Betts <olly@survex.com>
8909         * common/output.h: Use <ostream> not <fstream>.
8911 Thu May 27 04:09:25 GMT 2010  Olly Betts <olly@survex.com>
8913         * matcher/orpostlist.cc: Prefer ++x to x += 1 for consistency.
8915 Wed May 26 13:32:20 GMT 2010  Olly Betts <olly@survex.com>
8917         * matcher/exactphrasepostlist.cc: Separate (C) notice from @file
8918           doccomment.
8920 Wed May 26 13:11:57 GMT 2010  Olly Betts <olly@survex.com>
8922         * backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h:
8923           Move virtual method FlintPostList::get_doclength() definition out
8924           of header, which also means the header no longer needs omdebug.h.
8926 Wed May 26 13:03:22 GMT 2010  Olly Betts <olly@survex.com>
8928         * common/debuglog.h: Strip out commented out RETURN_VOID machinery.
8929           This case is automatically handled provided LOGCALL_VOID is used.
8931 Wed May 26 12:33:04 GMT 2010  Olly Betts <olly@survex.com>
8933         * common/debuglog.h: Don't check the category more than once in ctors
8934           and dtors.  Don't convert the return value to a string in RETURN()
8935           unless we want to log it.
8937 Wed May 26 02:33:00 GMT 2010  Olly Betts <olly@survex.com>
8939         * tests/api_opvalue.cc: Convert file description to doccomment.
8940           Remove unused headers and reorder remainder more standardly.
8942 Tue May 25 10:17:42 GMT 2010  Olly Betts <olly@survex.com>
8944         * tests/api_backend.cc: Note ordecay1 and ordecay2 fixes now also in
8945           1.0.21.  Whitespace tweak.
8947 Tue May 25 04:11:53 GMT 2010  Olly Betts <olly@survex.com>
8949         * tests/api_backend.cc: make_ordecay1_db and make_ordecay2_db end up
8950           looping over at least 4 billion values (or possibly infinitely) on
8951           platforms where sizeof(long) == 8.  The two databases are very
8952           similar and the latter one works for the former test, so use the
8953           same db for both tests, and rewrite the generator to work
8954           portably.
8956 Sun May 23 07:30:58 GMT 2010  Olly Betts <olly@survex.com>
8958         * tests/api_backend.cc: Note XOR decay bug also fixed in 1.0.21.
8960 Sat May 22 13:31:38 GMT 2010  Olly Betts <olly@survex.com>
8962         * configure.ac,tests/Makefile.am: Only try to build zlib-vg.so if we
8963           are found a suitable valgrind installed (otherwise it's a waste of
8964           effort to build it, and the build will fail without the valgrind
8965           headers).
8967 Sat May 22 13:18:33 GMT 2010  Olly Betts <olly@survex.com>
8969         * configure.ac,tests/Makefile.am,tests/runtest.in,tests/zlib-vg.c: zlib
8970           can produce "uninitialised" output from "initialised" input - the
8971           output does decode to the input, so this is presumably just some
8972           unused bits in the output, so we use an LD_PRELOAD hack to get
8973           valgrind to check the input is initialised and then tell it that the
8974           output is initialised.
8976 Wed May 19 14:34:52 GMT 2010  Richard Boulton <richard@tartarus.org>
8978         * matcher/andmaybepostlist.cc,matcher/andmaybepostlist.h,
8979           matcher/orpostlist.cc: Fix a bug causing documents to be skipped
8980           when OR decayed to AND_MAYBE, if the new RHS was behind the LHS
8981           at the time of the decay.  Fixes #476.
8982         * tests/api_backend.cc: Add test case ordecay2 as a regression test
8983           of this.  Also, remove some debug output in ordecay1, to speed it
8984           up quite a bit.
8986 Wed May 19 11:48:07 GMT 2010  Richard Boulton <richard@tartarus.org>
8988         * matcher/orpostlist.cc,tests/api_backend.cc: Fix a bug in the
8989           decay from OR to AND: if the decay happened when the two
8990           sub-postlists were on different docids, but the higher of those
8991           docids actually occurred in both postlists, the higher docid
8992           would be incorrectly skipped.  Add regression test ordecay1 to
8993           test this.
8995 Wed May 19 10:36:55 GMT 2010  Richard Boulton <richard@tartarus.org>
8997         * tests/api_backend.cc,tests/api_compact.cc,
8998           tests/harness/testrunner.cc,tests/harness/testrunner.h: Add new
8999           test backend selection flag "generated", to select only backends
9000           which support generated test databases.
9002 Wed May 19 03:14:15 GMT 2010  Olly Betts <olly@survex.com>
9004         * api/,backends/brass/,backends/chert/,
9005           backends/contiguousalldocspostlist.cc,backends/flint/,
9006           backends/inmemory/inmemory_database.cc,
9007           backends/remote/remote-database.cc,backends/slowvaluelist.cc,
9008           common/utils.h,expand/esetinternal.cc,matcher/phrasepostlist.cc,
9009           net/remoteserver.cc,net/remotetcpclient.cc,
9010           queryparser/termgenerator.cc,tests/,
9011           tests/harness/backendmanager_multi.cc,
9012           tests/harness/backendmanager_remote.cc,
9013           tests/harness/backendmanager_remotetcp.cc,tests/internaltest.cc,
9014           tests/perftest/perftest.cc,tests/perftest/perftest_matchdecider.cc,
9015           tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc,
9016           tests/termgentest.cc: Fully migrate from om_tostring() to str().
9018 Wed May 19 03:13:43 GMT 2010  Olly Betts <olly@survex.com>
9020         * cmake/xapian-config-version.cmake,cmake/xapian-config.cmake: Remove
9021           generated files from SVN.
9023 Wed May 19 02:59:47 GMT 2010  Olly Betts <olly@survex.com>
9025         * bin/xapian-inspect.cc: Add misisng explicit '#include <utils.h>'.
9027 Tue May 18 14:24:03 GMT 2010  Olly Betts <olly@survex.com>
9029         * bin/Makefile.mk,bin/xapian-check.cc,bin/xapian-compact.cc: Improve
9030           building with flint, chert and/or brass disabled (partially addresses
9031           ticket#361).
9033 Tue May 18 00:42:08 GMT 2010  Olly Betts <olly@survex.com>
9035         * matcher/multimatch.cc: Fix warnings with --disable-backend-remote
9036           (partially addresses ticket#361).
9038 Sat May 15 06:56:26 GMT 2010  Olly Betts <olly@survex.com>
9040         * net/progclient.cc: Read the max fd with sysconf() instead of using
9041           a hardcoded value of 256.  Work even if stdin and stdout have been
9042           closed.
9044 Thu May 13 10:53:24 GMT 2010  Richard Boulton <richard@tartarus.org>
9046         * matcher/orpostlist.cc: Correct some debugging lines.
9048 Thu May 13 09:57:12 GMT 2010  Richard Boulton <richard@tartarus.org>
9050         * matcher/xorpostlist.cc,matcher/xorpostlist.h: Pass a minweight
9051           value of 0 to children of XOR postlists, because we need to know
9052           about all matching documents from the children even if they have
9053           a low weight.
9054         * tests/api_backend.cc: Regression test for this: xordecay1.
9056 Thu May 13 08:47:22 GMT 2010  Richard Boulton <richard@tartarus.org>
9058         * tests/soaktest/soaktest_queries.cc: Add more code comments,
9059           increase the number of repetitions from 100 to 10000, remove
9060           accidentally added semicolons after some braces, remove "return
9061           false" at end of test which was added for debugging purposes,
9062           clear tout before testing each query, and display the query
9063           number, the query, and the msets in the event of failure.
9065 Tue May 11 10:16:05 GMT 2010  Richard Boulton <richard@tartarus.org>
9067         * tests/soaktest/soaktest_queries.cc: Don't fail for empty result
9068           sets.
9070 Tue May 11 10:13:08 GMT 2010  Richard Boulton <richard@tartarus.org>
9072         * tests/soaktest/: Add a "soaktest" testsuite, intended to contain
9073           long-running tests with random data.  Currently contains a single
9074           test which builds and runs random queries, checking that the
9075           results returned are consistent when asking for different result
9076           ranges.
9078 Mon May 10 16:57:29 GMT 2010  Richard Boulton <richard@tartarus.org>
9080         * tests/api_opvalue.cc: Add tests for OP_VALUE_RANGE to get
9081           coverage of the skip_to() and check() methods of
9082           ValueRangePostList.
9084 Mon May 10 16:51:14 GMT 2010  Richard Boulton <richard@tartarus.org>
9086         * tests/api_opvalue.cc: Add a test to get coverage of
9087           ValueGePostList::skip_to().
9089 Sun May 09 21:22:50 GMT 2010  Richard Boulton <richard@tartarus.org>
9091         * tests/api_nodb.cc,tests/api_opvalue.cc: Move test "opvaluege1"
9092           from api_nodb.cc to api_opvalue.cc, and rename to valuege3 for
9093           consistency with other tests of OP_VALUE_GE.
9095 Sun May 09 21:19:43 GMT 2010  Richard Boulton <richard@tartarus.org>
9097         * tests/Makefile.am,tests/api_anydb.cc,tests/api_opvalue.cc: Move
9098           the tests for OP_VALUE_* query operators from api_anydb.cc to
9099           api_opvalue.cc.  Remove copyright statements earlier than 2007,
9100           since OP_VALUE_* wasn't added until 2007.
9102 Sun May 09 21:04:06 GMT 2010  Richard Boulton <richard@tartarus.org>
9104         * matcher/valuegepostlist.cc: Initialise valuelist in check() if
9105           necessary.
9106         * tests/api_anydb.cc: Add regression test for this.
9108 Thu May 06 15:03:43 GMT 2010  Richard Boulton <richard@tartarus.org>
9110         * tests/api_replicate.cc: Add some extra debugging, to help
9111           identify the problem with ticket #472.
9113 Thu May 06 13:38:25 GMT 2010  Olly Betts <olly@survex.com>
9115         * common/safeuuid.h,configure.ac,INSTALL: Make use of built-in UUID API
9116           on FreeBSD and NetBSD.  (ticket#470)
9118 Thu May 06 13:10:30 GMT 2010  Olly Betts <olly@survex.com>
9120         * AUTHORS,Makefile.am,cmake/,configure.ac: Install files to make Xapian
9121           easier to use with cmake.  Thanks to Sune Vuorela for providing the
9122           desired output.
9124 Thu May 06 11:42:16 GMT 2010  Olly Betts <olly@survex.com>
9126         * tests/harness/fdtracker.cc: Don't pass NULL to closedir().
9128 Thu May 06 11:19:41 GMT 2010  Olly Betts <olly@survex.com
9130         * tests/api_anydb.cc: Test UUID is 36 characters long.
9132 Thu May 06 10:41:21 GMT 2010  Olly Betts <olly@survex.com>
9134         * matcher/valuegepostlist.cc: Use "str.h" and str().
9136 Thu May 06 10:01:48 GMT 2010  Olly Betts <olly@survex.com>
9138         * matcher/valuegepostlist.cc: Remove unused headers.
9140 Thu May 06 09:55:27 GMT 2010  Richard Boulton <richard@tartarus.org>
9142         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc:
9143           Keep return value from valuelist->get_value() as a const string &
9144           rather than a string - could be more efficient on some compilers,
9145           though testing with gcc 4.1 revealed no difference.
9147 Thu May 06 09:49:12 GMT 2010  Richard Boulton <richard@tartarus.org>
9149         * matcher/valuegepostlist.cc: "while(" -> "while (" in recent patch.
9151 Thu May 06 09:30:27 GMT 2010  Olly Betts <olly@survex.com>
9153         * docs/replication.rst: Remove experimental warning.
9155 Thu May 06 05:05:57 GMT 2010  Olly Betts <olly@survex.com>
9157         * matcher/valuerangepostlist.cc: Use "str.h" and str().
9159 Thu May 06 05:03:22 GMT 2010  Olly Betts <olly@survex.com>
9161         * matcher/valuerangepostlist.cc: Remove '#include "leafpostlist.h"'
9162           and '#include "document.h"' which are no longer used.
9164 Thu May 06 04:53:07 GMT 2010  Olly Betts <olly@survex.com>
9166         * matcher/valuerangepostlist.cc: Remove '#include "autoptr.h"' which is
9167           no longer required.
9169 Thu May 06 04:18:25 GMT 2010  Olly Betts <olly@survex.com>
9171         * matcher/valuerangepostlist.cc: "while(" -> "while (" in recent patch.
9173 Wed May 05 16:44:17 GMT 2010  Richard Boulton <richard@tartarus.org>
9175         * matcher/orpostlist.cc,matcher/orpostlist.h: Add
9176           OrPostList::check() method, which calls check() on the
9177           sub-postlists, rather than falling back to skip_to().  This is
9178           particularly helpful when a sub-postlist is one for which
9179           skip_to() can be significantly more expensive than check(), such
9180           as a ValueRangePostList.  I've observed a speedup of 10 times for
9181           such a subquery with this change.
9183 Wed May 05 16:34:30 GMT 2010  Richard Boulton <richard@tartarus.org>
9185         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc,
9186           matcher/valuerangepostlist.h: Implement ValueRangePostList and
9187           ValueGePostList using a ValueList streaming values for the value
9188           slot of interest, rather than using an AllDocsPostList to get all
9189           documents, using that to open temporary documents for each
9190           document being considered, and then using that to get the value.
9191           I've observed a speedup of more than 70 times for range queries
9192           in a real-world situation with this change (a 29 second search
9193           became a 0.4 second search). (ticket#432)
9195 Wed May 05 06:44:31 GMT 2010  Olly Betts <olly@survex.com>
9197         * NEWS: Update from ChangeLog.
9199 Wed May 05 05:42:56 GMT 2010  Olly Betts <olly@survex.com>
9201         * backends/brass/brass_cursor.cc,backends/chert/chert_cursor.cc,
9202           backends/flint/flint_cursor.cc: If we have to rebuild the cursor
9203           on next() because the table changed underneath us, we need to
9204           advance it because find_entry() will put the cursor on the entry
9205           we were already on, or the one before if the entry we were on
9206           has been removed.  Bug uncovered by notmuch testsuite, but I'm
9207           unable to reduce it to a sane testcase for our testsuite.
9208           (Debian#579951)
9210 Tue May 04 19:38:31 GMT 2010  Richard Boulton <richard@tartarus.org>
9212         * api/replication.cc,bin/xapian-replicate.cc,
9213           common/replicatetcpclient.h,common/replication.h,
9214           net/replicatetcpclient.cc,tests/api_replicate.cc: Fix a bug in
9215           replication, which triggered when multiple modifications were
9216           made to a database while a full copy of the database was in
9217           progress.  In this situation, the client would fail to apply more
9218           than one changeset before trying (and failing) to make the
9219           database live, due to an incorrect assignment of the new revision
9220           number to "offline_needed_revision" instead of
9221           "offline_revision".  Also, replication now only sleeps for a
9222           period (to allow reader to catch up) after a changeset has been
9223           applied to a live database - previously, it would sleep
9224           unnecessarily after a changeset had been applied to an offline
9225           database.  Also, make the period for which replication sleeps in
9226           this situation configurable with the "-r" command line option to
9227           xapian-replicate.
9228           A test for these changes will be committed to xapian-bindings
9229           shortly.
9231 Sat May 01 15:25:48 GMT 2010  Olly Betts <olly@survex.com>
9233         * Merge change accidentally committed to brass-btree branch:
9234         * tests/perftest/runprocess.cc: Use safesyswait.h, fixing build failure
9235           on "make check" on FreeBSD.
9237 Fri Apr 30 12:33:25 GMT 2010  Richard Boulton <richard@tartarus.org>
9239         * backends/brass/brass_databasereplicator.cc,
9240           backends/chert/chert_databasereplicator.cc,
9241           backends/flint/flint_databasereplicator.cc,tests/api_replicate.cc:
9242           If a DB file doesn't exist when applying a changeset, try
9243           creating it - this happens with lazy tables which aren't created
9244           in the initial revision copied.  Add replicate4 test to check
9245           that this works correctly with a lazily created position table.
9246           Fixes ticket #468.
9248 Fri Apr 30 07:09:31 GMT 2010  Olly Betts <olly@survex.com>
9250         * docs/deprecation.rst: Replication and PostingSource aren't
9251           experimental in 1.2.x.
9253 Fri Apr 30 00:52:22 GMT 2010  Olly Betts <olly@survex.com>
9255         * tests/harness/testsuite.cc: Fix typo in previous commit.
9257 Thu Apr 29 23:46:09 GMT 2010  Olly Betts <olly@survex.com>
9259         * tests/harness/testsuite.cc: Check is SA_SIGINFO is defined before
9260           using it as it isn't available everywhere.  Fixes FTBFS on GNU Hurd.
9262 Thu Apr 29 12:11:48 GMT 2010  Olly Betts <olly@survex.com>
9264         * configure.ac: Install headers under PREFIX/include not
9265           PREFIX/include/xapian.  This broke compiling code which didn't use
9266           XO_LIB_XAPIAN or xapian-config.
9268 Wed Apr 28 12:05:23 GMT 2010  Olly Betts <olly@survex.com>
9270         * Makefile.am,m4-macros/xapian-1.1.m4: Remove -1.1 suffix from
9271           xapian-1.1.m4 and libxapian-1.1.la.
9273 Wed Apr 28 06:15:45 GMT 2010  Olly Betts <olly@survex.com>
9275         * NEWS: Sync with 1.0.20.
9276         * NEWS,configure.ac: 1.2.0!
9278 Tue Apr 27 12:45:29 GMT 2010  Olly Betts <olly@survex.com>
9280         * AUTHORS: Add bug reporter.
9282 Mon Apr 26 08:26:26 GMT 2010  Olly Betts <olly@survex.com>
9284         * common/getopt.cc,common/gnu_getopt.h: On Cygwin, #include <getopt.h>
9285           for declarations of optind, etc rather than providing our own
9286           declarations.  Should fix warnings in Cygwin build reported by Reini
9287           Urban on xapian-devel list.
9289 Mon Apr 26 06:27:07 GMT 2010  Olly Betts <olly@survex.com>
9291         * common/getopt.cc,common/gnu_getopt.h: Revert previous 2
9292           getopt-related patches.  The latest state was breaking on Solaris
9293           which (contrary to what its man pages say) prototypes getopt() stuff
9294           in stdlib.h.  This seems to be a rabbit hole we don't want to head
9295           further down.
9297 Sat Apr 24 02:12:53 GMT 2010  Olly Betts <olly@survex.com>
9299         * examples/delve.cc: Update --help output for -v to cover all terms
9300           case.
9302 Sat Apr 24 01:58:00 GMT 2010  Olly Betts <olly@survex.com>
9304         * examples/delve.cc: Add -a option to list all terms in a database.
9306 Sat Apr 24 01:51:01 GMT 2010  Olly Betts <olly@survex.com>
9308         * examples/copydatabase.cc: Prefer string() to "" converted to string.
9310 Thu Apr 22 14:21:30 GMT 2010  Olly Betts <olly@survex.com>
9312         * matcher/multimatch.cc: Fix bug related to ticket#464 (the previous
9313           fix doesn't fix some similar cases).
9314         * tests/api_backend.cc: Add regression test msize2.
9316 Thu Apr 22 11:02:11 GMT 2010  Olly Betts <olly@survex.com>
9318         * tests/: Hook up --abort-on-error fix for termgentest, stemtest,
9319           queryparsertest, and internaltest.
9321 Thu Apr 22 06:06:53 GMT 2010  Olly Betts <olly@survex.com>
9323         * HACKING: Add a hyphen.
9325 Wed Apr 21 11:16:50 GMT 2010  Olly Betts <olly@survex.com>
9327         * tests/harness/testrunner.cc: Exit with status 1 not 0 if we caught an
9328           exception from the harness itself.
9330 Wed Apr 21 11:11:10 GMT 2010  Olly Betts <olly@survex.com>
9332         * tests/harness/testrunner.cc,tests/harness/testsuite.cc: Fix
9333           --abort-on-error to actually work.
9335 Tue Apr 20 12:53:29 GMT 2010  Olly Betts <olly@survex.com>
9337         * docs/deprecation.rst: Note how to disable deprecation warnings.
9339 Tue Apr 20 07:27:23 GMT 2010  Olly Betts <olly@survex.com>
9341         * api/omenquire.cc,matcher/multimatch.cc: Fix incorrect estimate and
9342           bounds on matches when sorting and collapsing in a particular case
9343           (ticket#464).
9344         * tests/api_backend.cc: Add regression test msize1.
9346 Mon Apr 19 01:59:59 GMT 2010  Olly Betts <olly@survex.com>
9348         * examples/delve.cc: Use strtoul() instead of atoi() to decode document
9349           id and value slot numbers passed on the command line.  Report out of
9350           range and invalid values.
9352 Sat Apr 17 09:17:25 GMT 2010  Olly Betts <olly@survex.com>
9354         * common/getopt.cc,common/gnu_getopt.h: Fix getopt code to work on
9355           platforms without GNU getopt but with getopt().
9357 Fri Apr 16 14:23:49 GMT 2010  Olly Betts <olly@survex.com>
9359         * NEWS,configure.ac: Update for 1.1.5.
9360         * NEWS: Sync changes from 1.0.19.
9362 Fri Apr 16 12:29:14 GMT 2010  Olly Betts <olly@survex.com>
9364         * tests/harness/testsuite.cc: Handle NULL in the const char * catch.
9366 Fri Apr 16 05:47:43 GMT 2010  Olly Betts <olly@survex.com>
9368         * api/postingsource.cc: Fix wrapping.
9370 Thu Apr 15 09:07:40 GMT 2010  Richard Boulton <richard@tartarus.org>
9372         * tests/api_replicate.cc: Use a fixed size buffer for copying a
9373           file, rather than a dynamically sized buffer; avoids using the
9374           GCC extension allowing dynamically sized arrays.
9376 Thu Apr 15 04:02:34 GMT 2010  Olly Betts <olly@survex.com>
9378         * AUTHORS: Update with bug reporters.
9380 Thu Apr 15 00:30:45 GMT 2010  Olly Betts <olly@survex.com>
9382         * include/xapian/termgenerator.h: Note how TermGenerator handles
9383           stopwords.
9385 Wed Apr 14 23:41:55 GMT 2010  Olly Betts <olly@survex.com>
9387         * common/getopt.cc,common/gnu_getopt.h: Put our optarg, etc in a
9388           namespace and then pull them in to avoid linking to versions in the C
9389           library.  Fixes warnings on Cygwin.
9391 Wed Apr 14 15:33:39 GMT 2010  Olly Betts <olly@survex.com>
9393         * tests/api_backend.cc: Remove already fixed FIXME comment.
9395 Wed Apr 14 14:13:10 GMT 2010  Olly Betts <olly@survex.com>
9397         * queryparser/queryparser.lemony: Use const reference to avoid a
9398           needless handle copy.
9400 Wed Apr 14 14:00:21 GMT 2010  Olly Betts <olly@survex.com>
9402         * backends/brass/brass_alltermslist.cc,
9403           backends/brass/brass_alltermslist.h,
9404           backends/chert/chert_alltermslist.cc,
9405           backends/chert/chert_alltermslist.h,
9406           backends/flint/flint_alltermslist.cc,
9407           backends/flint/flint_alltermslist.h: Fix memory leak if Database
9408           throws an exception in XXXAllTermsList constructor.  Fixes bug#462.
9409         * tests/api_backend.cc: Enable qpmemoryleak1 for non-remote backends as
9410           a regression test for this fix.
9412 Tue Apr 13 12:38:08 GMT 2010  Olly Betts <olly@survex.com>
9414         * backends/flint/flint_table.cc: Don't memcpy() a block to itself -
9415           it's a waste of effort, and (probably) undefined behaviour (as a
9416           block overlaps itself).
9418 Tue Apr 13 12:36:53 GMT 2010  Olly Betts <olly@survex.com>
9420         * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Don't
9421           memcpy() a block to itself - it's a waste of effort, and (probably)
9422           undefined behaviour (as a block overlaps itself).
9424 Tue Apr 13 08:38:40 GMT 2010  Olly Betts <olly@survex.com>
9426         * queryparser/queryparser.lemony: Add a ParserHandler class to take
9427           care of releasing the yyParser object.
9429 Tue Apr 13 07:49:33 GMT 2010  Olly Betts <olly@survex.com>
9431         * common/autoptr.h: Fix comment typo.
9433 Tue Apr 13 07:47:40 GMT 2010  Olly Betts <olly@survex.com>
9435         * api/replication.cc: "autoptr.h" not <autoptr.h> (it's an in-tree
9436           header).
9438 Tue Apr 13 07:25:11 GMT 2010  Olly Betts <olly@survex.com>
9440         * queryparser/queryparser.lemony: Fix leak of yyParser if an exception
9441           is thrown during parsing.   Partly fixes ticket#462.
9442         * tests/api_backend.cc: Add regression test qpmemoryleak1.
9444 Tue Apr 13 01:37:08 GMT 2010  Olly Betts <olly@survex.com>
9446         * common/utils.cc,common/utils.h: Revert change to make removedir()
9447           recurse into subdirectories - it doesn't fix a bug, so isn't
9448           appropriate when we're trying to get 1.2.0 out (backends don't
9449           currently put files in subdirectories, which was the justification
9450           in the commit message).
9452 Mon Apr 12 11:50:37 GMT 2010  Olly Betts <olly@survex.com>
9454         * Backport change from brass:
9455         * backends/flint/: Fix to rebuild cursors if the table gains or loses a
9456           level.  Fixes ticket#455.
9458 Mon Apr 12 09:29:39 GMT 2010  Olly Betts <olly@survex.com>
9460         * Backport change from brass:
9461         * backends/chert/: Fix to rebuild cursors if the table gains or loses a
9462           level.  Fixes ticket#455.
9464 Mon Apr 12 09:26:53 GMT 2010  Olly Betts <olly@survex.com>
9466         * backends/brass/: Fix to rebuild cursors if the table gains or loses a
9467           level.  Fixes ticket#455.
9469 Mon Apr 12 08:27:29 GMT 2010  Olly Betts <olly@survex.com>
9471         * tests/api_none.cc: Work around compilation failure on OpenBSD.  Fixes
9472           ticket#458.
9474 Fri Apr 02 04:03:04 GMT 2010  Olly Betts <olly@survex.com>
9476         * m4-macros/xapian-1.1.m4: Give a more specific error message for the
9477           cases where XAPIAN_CONFIG isn't found, is a directory, or isn't
9478           executable.
9480 Thu Mar 25 14:43:57 GMT 2010  Olly Betts <olly@survex.com>
9482         * tests/api_backend.cc: Add databasemodified1 testcase to provide some
9483           test coverage for DatabaseModifiedError.
9485 Thu Mar 25 06:32:44 GMT 2010  Olly Betts <olly@survex.com>
9487         * bin/xapian-check-flint.cc: Report docid for doclength mismatch.
9489 Thu Mar 25 06:23:26 GMT 2010  Olly Betts <olly@survex.com>
9491         * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Report docid for
9492           doclength mismatch.
9494 Sat Mar 20 15:04:18 GMT 2010  Olly Betts <olly@survex.com>
9496         * docs/spelling.rst: Add a note about removing automatically added
9497           spelling dictionary entries.
9499 Sat Mar 20 09:30:44 GMT 2010  Olly Betts <olly@survex.com>
9501         * docs/spelling.rst: Add section on indexing.  Move the "algorithm"
9502           section to the end, as it is really just background information for
9503           the curious.
9505 Wed Mar 17 01:33:39 GMT 2010  Olly Betts <olly@survex.com>
9507         * INSTALL: Add a hyphen.
9509 Wed Mar 17 01:30:34 GMT 2010  Olly Betts <olly@survex.com>
9511         * INSTALL: Correct description of --enable-assertions.  It does NOT
9512           enable debugging symbols, and shouldn't control checks on bad data
9513           passed to API calls (if it does anywhere, that's a bug).  Note that
9514           Xapian will run more slowly with assertions on.
9516 Wed Mar 17 01:10:13 GMT 2010  Olly Betts <olly@survex.com>
9518         * backends/brass/brass_values.cc: Put ValueUpdater in Brass namespace
9519           to avoid cross-linking issues with ValueUpdater class in chert
9520           (change taken from brass-btree branch).
9522 Sun Mar 14 10:05:36 GMT 2010  Olly Betts <olly@survex.com>
9524         * Backport change from chert:
9525         * backends/flint/flint_database.cc,
9526           backends/flint/flint_positionlist.cc,
9527           backends/flint/flint_positionlist.h: When updating a document, rather
9528           than decoding the old positions, comparing with the new, and then
9529           encoding the new if different, we now just encode the new and then
9530           compare the encoded forms.  (ticket#428)  This change also avoids
9531           calling FlintPositionListTable::del() when we know the entry doesn't
9532           already exist.
9533         * backends/flint/flint_positionlist.cc: Minor refactor to improve
9534           code clarity and to only create std::string variable when it
9535           is needed.
9537 Sun Mar 14 09:45:34 GMT 2010  Olly Betts <olly@survex.com>
9539         * Backport change from brass:
9540         * backends/chert/chert_positionlist.cc: Minor refactor to improve
9541           code clarity and to only create std::string variable when it
9542           is needed.
9544 Sun Mar 14 09:29:54 GMT 2010  Olly Betts <olly@survex.com>
9546         * backends/brass/brass_positionlist.cc: Minor refactor to improve
9547           code clarity and to only create std::string variable when it
9548           is needed.
9550 Sun Mar 14 07:37:03 GMT 2010  Olly Betts <olly@survex.com>
9552         * api/replication.cc,tests/api_closedb.cc,tests/api_metadata.cc,
9553           tests/internaltest.cc: Catch by const reference rather than just
9554           reference, unless we actually need to modify the caught object.
9556 Sun Mar 14 06:45:11 GMT 2010  Olly Betts <olly@survex.com>
9558         * api/replication.cc: Check live_db only has a single sub-database even
9559           if we just lazily opened it.
9561 Sun Mar 14 05:00:21 GMT 2010  Olly Betts <olly@survex.com>
9563         * backends/flint/flint_database.cc,
9564           backends/flint/flint_databasereplicator.cc: Add missing explicit
9565           '#include "str.h"'.
9567 Sat Mar 13 09:22:24 GMT 2010  Richard Boulton <richard@tartarus.org>
9569         * tests/api_replicate.cc: Always use off_t to refer to the size of a
9570           file: fixes warnings about comparting a signed value to an unsigned
9571           value.
9573 Thu Mar 11 16:07:10 GMT 2010  Richard Boulton <richard@tartarus.org>
9575         * api/replication.cc: Open the livedb lazily if it gets left in a
9576           closed state (due to an exception when applying a changeset),
9577           rather than reopening it straight away in an exception handler.
9578           This requires the livedb to become a mutable member, but is safer
9579           in the event that an exception is thrown by the WritableDatabase
9580           constructor.
9582 Thu Mar 11 15:17:12 GMT 2010  Richard Boulton <richard@tartarus.org>
9584         * tests/api_replicate.cc: Uncomment the rmtmpdir() at the end of
9585           replicate3; it was accidentally committed debugging code.
9587 Thu Mar 11 13:03:57 GMT 2010  Richard Boulton <richard@tartarus.org>
9589         * api/replication.cc: If an exception is thrown, mark that the
9590           offline revision needed is unknown (represented by being empty);
9591           ensures that a database isn't put live incorrectly in this case.
9592           Also, actually read the message for REPL_REPLY_END_OF_CHANGES, so
9593           that we get an error if the message is truncated.  Also, if an
9594           attempt to apply a changeset to the live database fails with an
9595           exception while the live database is closed, reopen the live
9596           database before allowing the exception to propagate.
9597         * tests/api_replicate.cc: Split replicate() helper function into
9598           two parts, to separate getting the changeset messages, and
9599           applying them. Add replicate3 test, which checks that
9600           replications which are provided with truncated messages raise
9601           appropriate errors.
9603 Thu Mar 11 00:46:39 GMT 2010  Olly Betts <olly@survex.com>
9605         * common/replicate_utils.cc: Avoid creating temporary string objects
9606           to reduce bloat in compiled code.  Remove explicit std:: qualifiers.
9608 Thu Mar 11 00:38:00 GMT 2010  Olly Betts <olly@survex.com>
9610         * common/replicate_utils.cc: The directory we're writing changesets
9611           to will always exist, so no need to ensure it does.
9613 Thu Mar 11 00:10:19 GMT 2010  Olly Betts <olly@survex.com>
9615         * backends/chert/chert_databasereplicator.cc,
9616           backends/flint/flint_databasereplicator.cc: Fix calculation of end
9617           pointer for changes file.  Since the merge, it has been off by
9618           CONST_STRLEN(CHANGES_MAGIC_STRING).
9620 Wed Mar 10 23:59:38 GMT 2010  Olly Betts <olly@survex.com>
9622         * backends/chert/chert_database.cc,
9623           backends/chert/chert_databasereplicator.cc: Add missing explicit
9624           '#include "str.h"'.
9626 Wed Mar 10 13:07:41 GMT 2010  Richard Boulton <richard@tartarus.org>
9628         * common/Makefile.mk,common/replicate_utils.cc,
9629           common/replicate_utils.h: Add some utility functions for
9630           replication to create changeset files, and append content to
9631           them, to avoid duplicating the code in each backend.
9632         * backends/chert/chert_database.cc,
9633           backends/chert/chert_databasereplicator.cc,
9634           backends/chert/chert_databasereplicator.h,
9635           backends/flint/flint_database.cc,
9636           backends/flint/flint_databasereplicator.cc,
9637           backends/flint/flint_databasereplicator.h: Make the
9638           DatabaseReplicator subclasses respect the XAPIAN_MAX_CHANGESETS
9639           environment variable, such that they write the changesets they're
9640           applying to disk if the value is non-zero.  Enables replication
9641           from a replicated copy.
9642         * tests/api_replicate.cc: Refactor some common code, and add
9643           replicate2, which tests replication from a replicated copy.  Skip
9644           this test for brass, since brass doesn't support this.
9646 Wed Mar 10 12:11:41 GMT 2010  Richard Boulton <richard@tartarus.org>
9648         * common/utils.cc,common/utils.h: Make removedir() recurse into
9649           subdirectories; this ensures that replication works if backends
9650           put some files in subdirectories of their replicas (eg, if the
9651           replica is itself a replicated database).
9653 Wed Mar 10 12:07:40 GMT 2010  Richard Boulton <richard@tartarus.org>
9655         * backends/chert/,backends/flint/,common/Makefile.mk,
9656           common/io_utils.cc,common/io_utils.h: Refactor duplicated code
9657           from {flint,chert}_io.{cc,h} into common/io_utils.{cc,h}.  Rename
9658           flint_io_read() to io_read(); do similar for flint_io_write()
9659           and flint_io_sync(), and for the chert versions.  Leave brass
9660           alone to avoid conflicting with the new brass backend development
9661           branch.
9663 Mon Mar 08 02:32:35 GMT 2010  Olly Betts <olly@survex.com>
9665         * bin/xapian-check-chert.cc: Check that the doclen initial chunk
9666           exists.
9668 Tue Mar 02 13:28:50 GMT 2010  Olly Betts <olly@survex.com>
9670         * Backport change from brass:
9671         * backends/chert/chert_database.cc,
9672           backends/chert/chert_positionlist.cc,
9673           backends/chert/chert_positionlist.h: When updating a document, rather
9674           than decoding the old positions, comparing with the new, and then
9675           encoding the new if different, we now just encode the new and then
9676           compare the encoded forms.  (ticket#428)  This change also avoids
9677           calling ChertPositionListTable::del() when we know the entry doesn't
9678           already exist.
9680 Tue Mar 02 04:00:22 GMT 2010  Olly Betts <olly@survex.com>
9682         * tests/harness/testsuite.cc: Harness now catches const char *
9683           exceptions explicitly so it can show their contents.
9685 Tue Mar 02 03:59:27 GMT 2010  Olly Betts <olly@survex.com>
9687         * include/xapian/valueiterator.h: Comment tweak.
9689 Tue Mar 02 03:57:55 GMT 2010  Olly Betts <olly@survex.com>
9691         * include/xapian/queryparser.h: Add missing forward declaration of
9692           "class Database".
9694 Tue Mar 02 01:51:33 GMT 2010  Olly Betts <olly@survex.com>
9696         * NEWS: Update partially from ChangeLog.
9698 Mon Mar 01 05:38:41 GMT 2010  Olly Betts <olly@survex.com>
9700         * backends/brass/brass_database.cc,
9701           backends/brass/brass_positionlist.cc,
9702           backends/brass/brass_positionlist.h: When updating a document, rather
9703           than decoding the old positions, comparing with the new, and then
9704           encoding the new if different, we now just encode the new and then
9705           compare the encoded forms.  (ticket#428)  This change also avoids
9706           calling BrassPositionListTable::del() when we know the entry doesn't
9707           already exist.
9709 Mon Mar 01 02:09:40 GMT 2010  Olly Betts <olly@survex.com>
9711         * net/serialise.cc: Don't call Document::values_count() twice when we
9712           can trivially avoid doing so.  Ditto for termlist_count() and
9713           positionlist_count().
9715 Mon Mar 01 01:53:58 GMT 2010  Olly Betts <olly@survex.com>
9717         * bin/: Rename tot_off to last_docid when it is actually holding the
9718           last_docid value.
9720 Sun Feb 28 23:47:49 GMT 2010  Olly Betts <olly@survex.com>
9722         * backends/flint/flint_table.cc: Whitespace tweak.
9724 Sun Feb 28 23:44:58 GMT 2010  Olly Betts <olly@survex.com>
9726         * tests/dbcheck.cc: Tweak whitespace to match standard usage.  Catch
9727           exceptions by const reference.
9728         * HACKING: Discuss why exceptions should be caught by const reference.
9729           Tweak markup of blockquotes.
9731 Sun Feb 28 22:50:50 GMT 2010  Olly Betts <olly@survex.com>
9733         * HACKING: Add note about "new SomePODType()" not being the same as
9734           "new SomePODType".
9736 Sun Feb 28 22:29:31 GMT 2010  Olly Betts <olly@survex.com>
9738         * HACKING: Quote ``cat`` and ``more``.
9740 Sun Feb 28 14:00:39 GMT 2010  Richard Boulton <richard@tartarus.org>
9742         * tests/api_compact.cc: Clarify comment about regression test for
9743           1.1.4, and remove a test line which is implicit in the following
9744           dbcheck() line anyway.
9746 Sun Feb 28 11:07:33 GMT 2010  Olly Betts <olly@survex.com>
9748         * tests/harness/fdtracker.cc,tests/harness/fdtracker.h: Add GPL
9749           boilerplate and copyright notices which I failed to do before
9750           committing these new files.
9752 Thu Feb 25 10:34:15 GMT 2010  Olly Betts <olly@survex.com>
9754         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
9755           Initialise z_stream members zalloc, zfree, and opaque with Z_NUL
9756           rather than 0 cast to the appropriate type, as that's what the zlib
9757           documentation says to do.  Add missing initialisation of opaque for
9758           the inflate z_stream which the docs say is needed, though reading
9759           the zlib code, isn't actually for current versions.
9761 Wed Feb 24 14:24:05 GMT 2010  Olly Betts <olly@survex.com>
9763         * backends/remote/remote-database.cc: Fix indentation.
9765 Wed Feb 24 14:18:25 GMT 2010  Olly Betts <olly@survex.com>
9767         * backends/remote/remote-database.cc,common/remote-database.h,
9768           common/remoteprotocol.h,common/remoteserver.h,
9769           docs/remote_protocol.html,net/remoteserver.cc,tests/api_spelling.cc:
9770           Add remote backend support for WritableDatabase::add_spelling() and
9771           WritableDatabase::remove_spelling().  This bumps the remote protocol
9772           to version 35.0 (so both client and servers will need updating).
9773           Suggesting spelling corrections isn't yet supported.  (ticket#178)
9775 Wed Feb 24 09:09:27 GMT 2010  Olly Betts <olly@survex.com>
9777         * examples/delve.cc: "lastdocid" -> "highest document id ever used"
9778           in output so it's clearer what this number means.
9780 Tue Feb 23 14:03:47 GMT 2010  Olly Betts <olly@survex.com>
9782         * api/postingsource.cc: Fix incorrect classname in error message.
9784 Tue Feb 23 13:16:11 GMT 2010  Olly Betts <olly@survex.com>
9786         * configure.ac: For -fno-strict-aliasing for GCC 4.2 to avoid bad code
9787           being generated due to a bug in that compiler version.  Fixes
9788           ticket#449.
9790 Tue Feb 23 03:08:02 GMT 2010  Olly Betts <olly@survex.com>
9792         * configure.ac,tests/harness/testsuite.cc: Use sigsetjmp() and
9793           siglongjmp() where available so that the set of blocked signals
9794           get restored and the test harness can catch a second incidence
9795           of a particular signal in a run.  Use sigaction() instead of
9796           signal() where available, which allows us to report the address
9797           associated with SIGSEGV, SIGFPE, SIGILL, and SIGBUS.
9799 Mon Feb 22 14:29:50 GMT 2010  Olly Betts <olly@survex.com>
9801         * backends/brass/brass_databasereplicator.cc,
9802           backends/chert/chert_databasereplicator.cc,
9803           backends/flint/flint_databasereplicator.cc: Fix exception message
9804           if we get an unsupported changeset type.
9806 Mon Feb 22 01:49:03 GMT 2010  Richard Boulton <richard@tartarus.org>
9808         * tests/dbcheck.cc: Check the wdf, doclen, and value bounds
9809           reported by the database against correct (tight) bounds
9810           calculated by iterating through the database contents.
9812 Mon Feb 22 01:47:20 GMT 2010  Richard Boulton <richard@tartarus.org>
9814         * backends/brass/brass_database.cc,backends/chert/chert_database.cc:
9815           Ensure that wdfs are reported to the stats object correctly when
9816           replacing documents.  These checks were absent entirely in chert,
9817           and incorrectly skipped in some cases in brass.
9819 Mon Feb 22 00:59:57 GMT 2010  Olly Betts <olly@survex.com>
9821         * tests/api_valuestream.cc: Reset tout before testing each interval.
9822           Prefer string() to "".
9824 Mon Feb 22 00:57:59 GMT 2010  Olly Betts <olly@survex.com>
9826         * docs/deprecation.rst,examples/delve.cc: Remove delve's -k option,
9827           accepted as an undocumented alias for -V since 0.9.10 for
9828           compatibility with 0.9.9 and earlier.  Just use -V instead.
9830 Mon Feb 22 00:45:37 GMT 2010  Olly Betts <olly@survex.com>
9832         * examples/delve.cc: If documents are specified, change "-V<valueno>"
9833           to only show calues for those documents.
9835 Sun Feb 21 14:11:58 GMT 2010  Olly Betts <olly@survex.com>
9837         * common/stringutils.h: Factor out looking up a character in the table
9838           into a separate inlined function.  Add C_islcxdigit() to check for
9839           an lower case hex digit.
9841 Sun Feb 21 11:10:10 GMT 2010  Olly Betts <olly@survex.com>
9843         * examples/Makefile.mk,examples/xapian-metadata.cc: Add new example
9844           "xapian-metadata" which allows you to get and set individual user
9845           metadata entries.
9847 Sun Feb 21 10:31:56 GMT 2010  Olly Betts <olly@survex.com>
9849         * configure.ac: Belatedly update version number to 1.1.4.
9851 Sat Feb 20 01:09:45 GMT 2010  Olly Betts <olly@survex.com>
9853         * tests/runtest.in: Now we have fd leak checking in the test harness,
9854           remove the ulimit as it doesn't add anything, and has caused problems
9855           on some Debian buildds.
9857 Fri Feb 19 02:08:25 GMT 2010  Olly Betts <olly@survex.com>
9859         * tests/harness/backendmanager.h,tests/harness/testsuite.cc:
9860           Call backendmanager->clean_up() before checking for fd leaks
9861           to avoid finding the sockets/pipes as leaks.  This means that
9862           clean_up() needs to handle being called more than once for
9863           a test sometimes (which the current versions do) so document
9864           that.
9866 Thu Feb 18 02:31:17 GMT 2010  Olly Betts <olly@survex.com>
9868         * examples/simpleindex.cc: Explicitly call commit() on the database,
9869           as that is good practice (since you see any exceptions).
9871 Thu Feb 18 01:52:10 GMT 2010  Olly Betts <olly@survex.com>
9873         * tests/api_wrdb.cc: Clear tout on each pass of the loop to avoid a
9874           lot of irrelevant output under --verbose if the test fails.
9876 Thu Feb 18 01:33:53 GMT 2010  Olly Betts <olly@survex.com>
9878         * tests/harness/testsuite.cc: Fix fd tracking change to work when
9879           HAVE_VALGRIND isn't defined.
9881 Thu Feb 18 00:46:20 GMT 2010  Olly Betts <olly@survex.com>
9883         * include/xapian/queryparser.h: Document the possible exception
9884           messages from QueryParser::parse_query().
9886 Thu Feb 18 00:20:18 GMT 2010  Olly Betts <olly@survex.com>
9888         * tests/harness/backendmanager.cc: Also explicitly commit after
9889           indexing for flint and chert.
9891 Wed Feb 17 15:58:04 GMT 2010  Olly Betts <olly@survex.com>
9893         * tests/harness/: Add machinery to check for leaked FDs.  Currently
9894           requires /proc/self/fd to work (so it works on at least Linux), but
9895           should do nothing on platforms without this directory.
9897 Wed Feb 17 15:53:30 GMT 2010  Olly Betts <olly@survex.com>
9899         * tests/harness/backendmanager.cc: Explicitly commit after indexing
9900           for brass, so we see any exceptions from the commit (commit from
9901           the dtor swallows any exceptions).
9903 Tue Feb 16 16:23:30 GMT 2010  Richard Boulton <richard@tartarus.org>
9905         * bin/xapian-compact.cc: Fix failure to set lastdocid to an
9906           appropriate value when using --no-renumber.
9907         * tests/api_compact.cc: Add regression test for this.
9909 Tue Feb 16 16:10:49 GMT 2010  Richard Boulton <richard@tartarus.org>
9911         * examples/delve.cc: Display the lastdocid value when displaying
9912           general database statistics.
9914 Tue Feb 16 15:39:50 GMT 2010  Richard Boulton <richard@tartarus.org>
9916         * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Correct typo
9917           in error message.
9919 Mon Feb 15 13:59:45 GMT 2010  Olly Betts <olly@survex.com>
9921         * configure.ac: Update for 1.1.4.
9923 Mon Feb 15 13:58:44 GMT 2010  Olly Betts <olly@survex.com>
9925         * PLATFORMS: We don't support GCC < 3.1, so remove discussion of
9926           issues with GCC 2.95.
9928 Mon Feb 15 13:55:10 GMT 2010  Olly Betts <olly@survex.com>
9930         * PLATFORMS: Update from 1.0.18.
9932 Mon Feb 15 11:51:15 GMT 2010  Olly Betts <olly@survex.com>
9934         * NEWS: Update from ChangeLog.  Update from 1.0.18.
9936 Sun Feb 14 05:47:30 GMT 2010  Olly Betts <olly@survex.com>
9938         * queryparser/queryparser.lemony: Fix QueryParser to handle an explicit
9939           AND before a hated term (foo AND -bar).  (ticket#447)
9940         * tests/queryparsertest.cc: Add regression test cases.
9942 Fri Feb 12 01:27:32 GMT 2010  Olly Betts <olly@survex.com>
9944         * queryparser/termgenerator_internal.cc: Only include trailing '+' or
9945           '#' on a term if it isn't followed by a word character (makes more
9946           sense and matches QueryParser's behaviour).  (ticket#446)
9947         * tests/termgentest.cc: Add regression test.
9949 Thu Feb 11 04:30:56 GMT 2010  Olly Betts <olly@survex.com>
9951         * bin/xapian-inspect.cc: Add new "open" command to allow easy switching
9952           between tables.
9954 Wed Feb 10 02:40:36 GMT 2010  Olly Betts <olly@survex.com>
9956         * include/xapian/document.h: Rewrite the note about Document being a
9957           lazy handle to fix a few details and avoid nailing down the
9958           exact implementation.
9960 Wed Feb 10 00:37:54 GMT 2010  Olly Betts <olly@survex.com>
9962         * docs/admin_notes.rst: Update for chert and other recent changes.
9964 Wed Feb 10 00:37:04 GMT 2010  Olly Betts <olly@survex.com>
9966         * docs/replication_protocol.rst: Update.
9968 Mon Feb 08 12:05:05 GMT 2010  Olly Betts <olly@survex.com>
9970         * backends/brass/brass_version.cc: Fix comments about BRASS_VERSION
9971           which were previously just cut-and-pasted from those about
9972           CHERT_VERSION.
9974 Mon Feb 08 11:54:04 GMT 2010  Olly Betts <olly@survex.com>
9976         * backends/brass/brass_metadata.cc: Include missing headers.
9978 Mon Feb 08 09:23:00 GMT 2010  Olly Betts <olly@survex.com>
9980         * backends/brass/brass_document.h,backends/chert/chert_document.h:
9981           Fix typos in documentation comments.
9983 Mon Feb 08 08:27:09 GMT 2010  Olly Betts <olly@survex.com>
9985         * tests/harness/testsuite.cc: Remove unused headers <streambuf> and
9986           "omdebug.h".
9988 Mon Feb 08 01:28:48 GMT 2010  Olly Betts <olly@survex.com>
9990         * common/debuglog.h: Use std::boolalpha so bool is logged as "true"
9991           or "false" (instead of "1" or "0").
9993 Sat Feb 06 10:04:42 GMT 2010  Olly Betts <olly@survex.com>
9995         * AUTHORS: Sync with 1.0 branch.
9997 Sat Feb 06 08:20:31 GMT 2010  Olly Betts <olly@survex.com>
9999         * tests/api_closedb.cc: Avoid trying to create a database where
10000           an already open one exists (which fails on Microsoft Windows).
10001           (ticket#443).
10003 Fri Feb 05 13:28:08 GMT 2010  Olly Betts <olly@survex.com>
10005         * examples/simpleexpand.cc,examples/simpleindex.cc,
10006           examples/simplesearch.cc: Handle --help and --version.
10008 Fri Feb 05 13:25:37 GMT 2010  Olly Betts <olly@survex.com>
10010         * bin/xapian-compact.cc: Fix not to assign elements off the end of a
10011           vector (ticket#440).
10013 Fri Feb 05 11:41:05 GMT 2010  Richard Boulton <richard@tartarus.org>
10015         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
10016           Remove ValueCountMatchSpy::get_values().  values_begin() should
10017           be used instead to iterate over the values.
10019 Fri Feb 05 07:39:46 GMT 2010  Olly Betts <olly@survex.com>
10021         * configure.ac: Enable automake's std-options feature to check all
10022           installed programs support --help and --version.
10024 Fri Feb 05 01:45:49 GMT 2010  Olly Betts <olly@survex.com>
10026         * include/xapian/document.h: Add Document::add_boolean_term().
10027         * tests/api_none.cc: Add testcase document1 as a feature test.
10029 Fri Feb 05 00:27:52 GMT 2010  Olly Betts <olly@survex.com>
10031         * backends/chert/chert_btreebase.cc,backends/flint/flint_btreebase.cc:
10032           Add missing SEQUENTIAL entry to documentation of base file format.
10034 Thu Feb 04 03:06:26 GMT 2010  Olly Betts <olly@survex.com>
10036         * tests/api_compact.cc: Fix to work with MSVC makefiles (ticket#440).
10038 Thu Feb 04 03:04:43 GMT 2010  Olly Betts <olly@survex.com>
10040         * HACKING,common/Makefile.mk,common/safesyswait.h: Add wrapper
10041           for <sys/wait.h> which defines macros for WEXITSTATUS and
10042           WIFEXITED when required.
10044 Wed Feb 03 15:01:36 GMT 2010  Richard Boulton <richard@tartarus.org>
10046         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
10047           Add ValueCountMatchSpy::values_begin() and values_end() to allow
10048           iteration over all the values in a ValueCountMatchSpy without
10049           needing to handle the dict.  Move the contents of
10050           ValueCountMatchSpy into a reference counted internal object, so
10051           that the iterator can ensure that the contents aren't deleted
10052           before it finishes.
10054 Wed Feb 03 15:01:02 GMT 2010  Richard Boulton <richard@tartarus.org>
10056         * tests/generate-api_generated: Add ValueCountMatchSpy to the list
10057           of non-copyable API classes.
10059 Wed Feb 03 13:18:03 GMT 2010  Richard Boulton <richard@tartarus.org>
10061         * include/xapian/matchspy.h,tests/api_matchspy.cc: Provide an
10062           iterator for accessing the top values found by a matchspy, rather
10063           than using a method which takes a vector reference as a
10064           parameter.  Should be wrappable much more nicely (and get wrapped
10065           automatically), and be easier to use: the testcase for this is
10066           significantly shorter than for the old API.  Remove
10067           StringAndFrequency from API - it's now just an internal class.
10068         * api/matchspy.cc: Test new access method for top_values.
10070 Wed Feb 03 06:46:37 GMT 2010  Olly Betts <olly@survex.com>
10072         * AUTHORS: Add Emmanuel Engelhart for reporting problems indexing
10073           Burmese text.
10075 Wed Feb 03 06:32:03 GMT 2010  Olly Betts <olly@survex.com>
10077         * include/xapian/unicode.h,queryparser/queryparser.lemony,
10078           queryparser/termgenerator_internal.cc: Add ENCLOSING_MARK and
10079           COMBINING_SPACING_MARK categories to is_wordchar().  Make
10080           TermGenerator and QueryParser ignore several zero-width space
10081           characters.
10082         * tests/queryparsertest.cc,tests/termgentest.cc: Add test coverage for
10083           the changes.
10085 Wed Feb 03 03:14:30 GMT 2010  Olly Betts <olly@survex.com>
10087         * queryparser/queryparser.lemony: Fix apostrophe abuse in comment.
10089 Wed Feb 03 01:23:04 GMT 2010  Olly Betts <olly@survex.com>
10091         * queryparser/queryparser.lemony: Make TermList::as_opwindow_query()
10092           private.
10094 Wed Feb 03 01:19:19 GMT 2010  Olly Betts <olly@survex.com>
10096         * common/replication.h: Use "" not <> for including API headers.
10098 Wed Feb 03 01:08:58 GMT 2010  Olly Betts <olly@survex.com>
10100         * common/replication.h: Remove warnings about this being an
10101           experimental API, which no longer make sense now it is internal.
10103 Tue Feb 02 21:59:59 GMT 2010  Olly Betts <olly@survex.com>
10105         * tests/generate-api_generated: Remove DatabaseReplica.
10107 Tue Feb 02 17:01:23 GMT 2010  Richard Boulton <richard@tartarus.org>
10109         * include/xapian/document.h: Add a note to the API documentation
10110           for the Document class about the potential issues involved in
10111           lazy loading.  Fixes ticket #421.
10113 Tue Feb 02 16:21:39 GMT 2010  Richard Boulton <richard@tartarus.org>
10115         * docs/categorisation.rst: Remove documentation of NumericRanges
10116           stuff for now, since the NumericRanges is no longer on trunk.
10118 Tue Feb 02 15:59:14 GMT 2010  Richard Boulton <richard@tartarus.org>
10120         * common/replication.h: Put the ReplicationInfo, DatabaseMaster and
10121           DatabaseReplica symbols back into public visibility - they're
10122           needed for the tests, and for the command line scripts.
10124 Tue Feb 02 15:06:44 GMT 2010  Richard Boulton <richard@tartarus.org>
10126         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
10127           Remove NumericRanges from trunk - their API is still uncertain,
10128           so I want to do a bit more development work on them on the
10129           matchspy branch before committing to support them for several
10130           years.
10132 Tue Feb 02 13:45:24 GMT 2010  Richard Boulton <richard@tartarus.org>
10134         * api/replication.cc,backends/brass/brass_database.cc,
10135           backends/chert/chert_database.cc,backends/flint/flint_database.cc,
10136           common/,include/Makefile.mk,include/xapian/replication.h,
10137           net/replicatetcpclient.cc,net/replicatetcpserver.cc,
10138           tests/generate-api_generated: Move replication support out of the
10139           public API headers and public symbol visibility.  Access to
10140           replication, for now, is via the command-line scripts: this is
10141           similar to the access to running a remote database server, and
10142           the access to database compaction and checking.  See ticket #347
10143           for some commentary.
10145 Tue Feb 02 07:22:28 GMT 2010  Olly Betts <olly@survex.com>
10147         * Backport change from chert:
10148         * backends/flint/flint_alltermslist.h,backends/flint/flint_spelling.h,
10149           backends/flint/flint_spellingwordslist.h: Add missing std::
10150           qualifiers.
10152 Tue Feb 02 07:12:51 GMT 2010  Olly Betts <olly@survex.com>
10154         * docs/doxygen_api.conf.in: Add generated include/xapian/error.h so
10155           that Xapian::Error and subclass API docs are collated for a VPATH
10156           build.
10157         * docs/Makefile.am: Add regression test to make sure doxygen collated
10158           API docs for Xapian::RuntimeError.
10160 Tue Feb 02 06:52:55 GMT 2010  Olly Betts <olly@survex.com>
10162         * Backport change from brass:
10163         * backends/chert/chert_alltermslist.h,backends/chert/chert_spelling.h,
10164           backends/chert/chert_spellingwordslist.h: Add missing std::
10165           qualifiers.
10167 Tue Feb 02 01:34:52 GMT 2010  Richard Boulton <richard@tartarus.org>
10169         * docs/replication.rst: Add note about not using reopen() with
10170           databases being updated by the replication client.
10172 Tue Feb 02 01:17:34 GMT 2010  Richard Boulton <richard@tartarus.org>
10174         * api/matchspy.cc,docs/categorisation.rst,include/xapian/matchspy.h,
10175           tests/api_matchspy.cc: Remove score_evenness(), since it turned
10176           out to be of little or no use in practical situations.  See
10177           ticket #435 for more details.
10179 Mon Feb 01 21:53:41 GMT 2010  Olly Betts <olly@survex.com>
10181         * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Use
10182           LOGCALL_VOID for add() methods which now return void.
10184 Mon Feb 01 21:50:05 GMT 2010  Olly Betts <olly@survex.com>
10186         * Backport change from brass:
10187         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
10188           Fix documentation comments for FlintTable::add() and
10189           FlintTable::del() - errors actually cause exceptions, not a false
10190           return value, and del() returns true if it actually removed an entry.
10191           Fix FlintTable::add() to throw an exception for the (hopefully never
10192           hit) case when the tag value is too insanely large to handle.  With
10193           that FlintTable::add() always returns true, and we never check the
10194           return value anyway, so just make it return void.
10196 Mon Feb 01 21:37:33 GMT 2010  Olly Betts <olly@survex.com>
10198         * Backport change from brass:
10199         * backends/chert/chert_table.cc,backends/chert/chert_table.h:
10200           Fix documentation comments for ChertTable::add() and
10201           ChertTable::del() - errors actually cause exceptions, not a false
10202           return value, and del() returns true if it actually removed an entry.
10203           Fix ChertTable::add() to throw an exception for the (hopefully never
10204           hit) case when the tag value is too insanely large to handle.  With
10205           that ChertTable::add() always returns true, and we never check the
10206           return value anyway, so just make it return void.
10208 Mon Feb 01 16:02:27 GMT 2010  Richard Boulton <richard@tartarus.org>
10210         * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Fix checking
10211           of the METAINFO key in chert and brass.  For small databases, the
10212           statistics fit in few enough bytes that the trailing
10213           unpack_uint_last() moved to end, so errors weren't being
10214           reported, but for large databases the check was incorrectly
10215           reporting an error.
10217 Mon Feb 01 09:24:14 GMT 2010  Olly Betts <olly@survex.com>
10219         * backends/brass/brass_table.cc,backends/brass/brass_table.h:
10220           Fix documentation comments for BrassTable::add() and
10221           BrassTable::del() - errors actually cause exceptions, not a false
10222           return value, and del() returns true if it actually removed an entry.
10223           Fix BrassTable::add() to throw an exception for the (hopefully never
10224           hit) case when the tag value is too insanely large to handle.  With
10225           that BrassTable::add() always returns true, and we never check the
10226           return value anyway, so just make it return void.
10228 Mon Feb 01 01:45:09 GMT 2010  Olly Betts <olly@survex.com>
10230         * backends/brass/brass_alltermslist.h,backends/brass/brass_spelling.h,
10231           backends/brass/brass_spellingwordslist.h: Add missing std::
10232           qualifiers.
10234 Mon Feb 01 00:57:21 GMT 2010  Olly Betts <olly@survex.com>
10236         * backends/flint/flint_spelling.h: Add missing std:: qualifier.
10238 Mon Feb 01 00:52:27 GMT 2010  Olly Betts <olly@survex.com>
10240         * backends/brass/brass_spelling.h,backends/chert/chert_spelling.h:
10241           Add missing std:: qualifier.
10243 Sun Jan 31 23:35:52 GMT 2010  Olly Betts <olly@survex.com>
10245         * backends/chert/chert_termlisttable.cc,
10246           backends/chert/chert_termlisttable.h: Remove
10247           ChertTermListTable::get_doclength() as it is no longer used.
10249 Sun Jan 31 23:19:50 GMT 2010  Olly Betts <olly@survex.com>
10251         * backends/brass/brass_termlisttable.cc,
10252           backends/brass/brass_termlisttable.h: Remove
10253           BrassTermListTable::get_doclength() as it is no longer used.
10255 Sun Jan 31 09:19:39 GMT 2010  Olly Betts <olly@survex.com>
10257         * bin/xapian-inspect.cc: "until" improvements:
10258           + No longer reports the current key and tag.
10259           + If passed a key before the current one, no longer silently advances
10260             to the next key.
10261           + Explicitly says if the specified key doesn't exist, including where
10262             we ended up.
10264 Sun Jan 31 00:19:41 GMT 2010  Olly Betts <olly@survex.com>
10266         * tests/api_compact.cc: Use a single Document object rather than
10267           creating the same one 10000 times.
10269 Sun Jan 31 00:08:38 GMT 2010  Olly Betts <olly@survex.com>
10271         * tests/api_compact.cc: Move make_multichunk_db() before the testcase
10272           which uses it, rather than between two helper functions for another
10273           testcase.
10275 Sun Jan 31 00:07:03 GMT 2010  Olly Betts <olly@survex.com>
10277         * tests/api_compact.cc: Remove confusing comment, cut-and-pasted from
10278           elsewhere and not relevant here.
10280 Fri Jan 29 06:13:18 GMT 2010  Olly Betts <olly@survex.com>
10282         * backends/brass/brass_metadata.cc,backends/chert/chert_metadata.cc,
10283           backends/flint/flint_metadata.cc: Correct filenames in @file.
10285 Thu Jan 28 22:34:03 GMT 2010  Richard Boulton <richard@tartarus.org>
10287         * tests/api_compact.cc: Add check that xapian-compact works
10288           correctly on a database with multiple chunks for a single term;
10289           this is a regression test for ticket #427
10291 Thu Jan 28 22:33:16 GMT 2010  Richard Boulton <richard@tartarus.org>
10293         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Don't
10294           cut the extra byte of doclen chunk keys.
10296 Thu Jan 28 21:23:48 GMT 2010  Richard Boulton <richard@tartarus.org>
10298         * bin/xapian-compact-flint.cc: Revert previous patch for flint - it
10299           only applies to new key format used by chert and brass.
10301 Thu Jan 28 21:13:38 GMT 2010  Richard Boulton <richard@tartarus.org>
10303         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc,
10304           bin/xapian-compact-flint.cc: Partial fix for #427: truncate
10305           follow-on keys for postlist chunks fully (was leaving the
10306           trailing 0-byte, causing the code for chert and brass to
10307           incorrectly think a new chunk had started, resulting in a
10308           truncated posting list.
10310 Thu Jan 28 20:42:47 GMT 2010  Richard Boulton <richard@tartarus.org>
10312         * bin/xapian-inspect.cc: Add "until" command to display keys until
10313           a specified one.  Useful for seeing all keys for a particular
10314           posting list, etc.
10316 Thu Jan 28 01:31:54 GMT 2010  Olly Betts <olly@survex.com>
10318         * tests/dbcheck.cc: Whitespace tweak.
10320 Wed Jan 27 06:29:21 GMT 2010  Olly Betts <olly@survex.com>
10322         * tests/dbcheck.cc: <config.h> not "config.h".
10324 Wed Jan 27 04:20:42 GMT 2010  Olly Betts <olly@survex.com>
10326         * backends/brass/brass_inverter.h: Make two getters const.
10328 Wed Jan 27 04:01:17 GMT 2010  Olly Betts <olly@survex.com>
10330         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
10331           backends/flint/flint_database.cc,backends/flint/flint_database.h:
10332           Add ChertWritableDatabase::insert_mod_plist() to handle the simpler
10333           case where we know the document doesn't already exist, to avoid
10334           adding extra code to that common path over the code we had before
10335           the #250-related changes.
10337 Tue Jan 26 03:25:59 GMT 2010  Olly Betts <olly@survex.com>
10339         * tests/internaltest.cc: In testcase pack_uint_preserving_sort1, use
10340           data() not c_str(), calculate the end position just once, and use
10341           swap to copy the current packed to prev_packed.
10343 Fri Jan 15 12:51:38 GMT 2010  Olly Betts <olly@survex.com>
10345         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
10346           Fix to use 'M' as the flag character for modified entries in
10347           modplists (not 'U').  We never explicitly check for 'M' (we check for
10348           'A' vs 'D' vs something else), so this isn't a functional change,
10349           but rather making the values consistent (as they were before the
10350           fix for #250).
10352 Fri Jan 15 08:25:14 GMT 2010  Olly Betts <olly@survex.com>
10354         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
10355           backends/flint/flint_database.cc,backends/flint/flint_database.h:
10356           Use Xapian::termcount_diff instead of Xapian::termcount for
10357           parameters of add_freq_delta() which can be signed.  Fix parameter
10358           docs to say "change" instead of "increase".
10360 Fri Jan 15 06:05:28 GMT 2010  Olly Betts <olly@survex.com>
10362         * tests/api_replacedoc.cc: Just test that begin == end when we expect
10363           no positions rather than generating a string representation and
10364           then testing if it is empty.
10366 Thu Jan 14 11:17:36 GMT 2010  Olly Betts <olly@survex.com>
10368         * HACKING: Auto-enabling of -Werror is now done for GCC 4.1 or newer.
10370 Thu Jan 14 05:06:42 GMT 2010  Olly Betts <olly@survex.com>
10372         * HACKING: Include the MIT licence text in HACKING itself.
10373         * COPYING_MIT: Remove external copy of text - it could mislead users
10374           into thinking that this is the current licence of Xapian.
10376 Sun Jan 10 07:36:16 GMT 2010  Olly Betts <olly@survex.com>
10378         * configure.ac:With --enable-maintainer-mode, enable -Werror for GCC
10379           >= 4.1 rather than >= 4.0 as Apple's GCC 4.0 gives bogus
10380           uninitialised variable warnings for pack.h.
10382 Sat Jan 09 00:56:06 GMT 2010  Olly Betts <olly@survex.com>
10384         * queryparser/queryparser.lemony: Add support for quoting boolean terms
10385           so they can contain arbitrary characters (partly addresses
10386           ticket#128).
10387         * tests/queryparsertest.cc: Add test coverage.
10389 Fri Jan 08 13:25:25 GMT 2010  Richard Boulton <richard@tartarus.org>
10391         * tests/api_compact.cc: Add copyright note for my changes committed
10392           earlier today.
10394 Fri Jan 08 12:19:07 GMT 2010  Olly Betts <olly@survex.com>
10396         * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Fix merging
10397           of databases by xapian-compact for brass and chert.
10398         * tests/api_compact.cc: Enable test compactmerge1 for brass and chert
10399           as a regression test.
10401 Fri Jan 08 11:26:41 GMT 2010  Olly Betts <olly@survex.com>
10403         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
10404           backends/flint/flint_database.cc: Rearrange comparison between old
10405           and new termlists to avoid double check of termlist.at_end().
10407 Fri Jan 08 11:22:30 GMT 2010  Richard Boulton <richard@tartarus.org>
10409         * tests/api_compact.cc: Add test of xapian-compact when merging
10410           databases.  Currently, the generated databases are broken for
10411           chert and brass, so skipping the test for those to avoid breaking
10412           the snapshotter.
10414 Fri Jan 08 11:13:13 GMT 2010  Richard Boulton <richard@tartarus.org>
10416         * tests/: Move routines for helping to check database contents and
10417           consistency into dbcheck.cc, with headers in dbcheck.h.
10419 Fri Jan 08 10:07:09 GMT 2010  Richard Boulton <richard@tartarus.org>
10421         * tests/internaltest.cc: Add test_pack_uint_preserving_sort1()
10422           which I wrote when suspicious of that function - passes fine, but
10423           probably worth keeping the test coverage.
10425 Fri Jan 08 00:23:06 GMT 2010  Olly Betts <olly@survex.com>
10427         * AUTHORS: Add Henry Combrinck for Search::Xapian patches.
10429 Thu Jan 07 15:51:57 GMT 2010  Richard Boulton <richard@tartarus.org>
10431         * api/postingsource.cc: For ValueWeightPostingSources for which
10432           there are no entries, the upper bound returned will be an empty
10433           string, which translated to -inf when passed to
10434           sortable_unserialise().  This was causing the matcher to get
10435           confused and return no results in some queries involving such a
10436           posting source.  This commit fixes this.
10437         * tests/api_postingsource.cc: Add emptyvalwtsource1 as a regression
10438           test for this, and a general test of this area of code.
10440 Thu Jan 07 09:17:58 GMT 2010  Olly Betts <olly@survex.com>
10442         * backends/brass/brass_inverter.h: Fix comment typo.
10444 Wed Dec 30 11:46:45 GMT 2009  Richard Boulton <richard@tartarus.org>
10446         * backends/brass/brass_database.cc,backends/chert/chert_database.cc,
10447           backends/flint/flint_database.cc: When updating documents, don't
10448           update posting entries which havn't changed.  Largely fixes
10449           ticket #250.
10450         * AUTHORS: Add Kan-Ru Chen, since his patch attached to ticket #250
10451           was the basis of this fix.
10453 Wed Dec 30 11:44:18 GMT 2009  Richard Boulton <richard@tartarus.org>
10455         * backends/brass/brass_inverter.h: Add methods for updating an
10456           existing posting, so we don't have to remove then re-add it.
10458 Wed Dec 30 11:41:57 GMT 2009  Richard Boulton <richard@tartarus.org>
10460         * backends/brass/brass_database.h: Remove old unused members:
10461           total_length and lastdocid.
10463 Wed Dec 30 01:07:04 GMT 2009  Richard Boulton <richard@tartarus.org>
10465         * backends/chert/chert_database.h: Remove old unused members:
10466           total_length and lastdocid.
10468 Wed Dec 30 00:21:03 GMT 2009  Richard Boulton <richard@tartarus.org>
10470         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
10471           backends/flint/flint_database.cc,backends/flint/flint_database.h:
10472           Move frequently repeated code for updating the freq_deltas and
10473           mod_plists items into separate functions.  Makes the code
10474           considerably clearer, and prepares the way for applying the patch
10475           to fix ticket #250.
10477 Wed Dec 30 00:07:33 GMT 2009  Richard Boulton <richard@tartarus.org>
10479         * tests/api_replacedoc.cc: Add a few more sequences of operations
10480           which look worth testing, after looking at the code implementing
10481           replace_document().
10483 Tue Dec 29 22:29:08 GMT 2009  Richard Boulton <richard@tartarus.org>
10485         * tests/api_replacedoc.cc: Check consistency of the posting lists
10486           with the termlists, and consistency of the statistics, at each
10487           step of modtermwdf1.  Also, add some other terms to the document,
10488           so we can check the stored doclength for terms which haven't been
10489           modified.
10491 Sun Dec 27 14:56:16 GMT 2009  Richard Boulton <richard@tartarus.org>
10493         * backends/chert/chert_modifiedpostlist.cc,
10494           backends/flint/flint_modifiedpostlist.cc: Report the wdf from the
10495           modifications, rather the sum of the wdf from the modifications
10496           and the old wdf.  The old behaviour was just wrong, but we had no
10497           test coverage for this until the last commit.
10499 Sun Dec 27 13:34:06 GMT 2009  Richard Boulton <richard@tartarus.org>
10501         * tests/api_replacedoc.cc: Add test of the contents of the
10502           postlist of a term which is being modified.  Also, tidy up the
10503           output of docterms_to_string() to skip any empty position lists.
10505 Sat Dec 26 19:21:19 GMT 2009  Richard Boulton <richard@tartarus.org>
10507         * tests/api_replacedoc.cc: Extend test to cover removing a term but
10508           not deleting it, and finally deleting the document.
10510 Thu Dec 24 19:18:41 GMT 2009  Richard Boulton <richard@tartarus.org>
10512         * tests/api_replacedoc.cc: Expand test to cover some modification
10513           to the positional information.
10515 Thu Dec 24 19:06:32 GMT 2009  Richard Boulton <richard@tartarus.org>
10517         * tests/api_replacedoc.cc: Add some more sets of modification
10518           operations to the tests.
10520 Thu Dec 24 18:55:37 GMT 2009  Richard Boulton <richard@tartarus.org>
10522         * tests/api_replacedoc.cc: Add test modtermwdf1, which tests a lot
10523           more cases where documents are modified.
10525 Thu Dec 24 14:36:38 GMT 2009  Olly Betts <olly@survex.com>
10527         * tests/: Canonicalise the conditions on testcases.
10529 Thu Dec 24 14:08:59 GMT 2009  Olly Betts <olly@survex.com>
10531         * tests/api_closedb.cc: Fix typo in last commit.
10533 Thu Dec 24 13:39:28 GMT 2009  Olly Betts <olly@survex.com>
10535         * tests/api_closedb.cc: Check WritableDatabase::close() during a
10536           transaction does *NOT* implicitly call commit().
10538 Thu Dec 24 13:07:09 GMT 2009  Olly Betts <olly@survex.com>
10540         * backends/brass/brass_database.cc,backends/brass/brass_database.h,
10541           backends/chert/chert_database.cc,backends/chert/chert_database.h,
10542           backends/flint/flint_database.cc,backends/flint/flint_database.h:
10543           Fix WritableDatabase::close() to commit() changes (unless a
10544           transaction is in progress).
10545         * tests/api_closedb.cc: Add regression test closedb4.
10547 Wed Dec 23 00:26:34 GMT 2009  Olly Betts <olly@survex.com>
10549         * backends/brass/brass_database.cc,backends/brass/brass_inverter.cc,
10550           backends/brass/brass_inverter.h: For allterms iteration of a
10551           WritableDatabase, if a prefix is specified only flush changes for
10552           terms with that prefix.  Also, don't flush document lengths for
10553           allterms iteration.
10555 Tue Dec 22 22:48:55 GMT 2009  Olly Betts <olly@survex.com>
10557         * bin/xapian-check.cc: Fixed reversed checks for chert and flint being
10558           enabled in r13781.
10560 Tue Dec 22 14:20:24 GMT 2009  Olly Betts <olly@survex.com>
10562         * tests/harness/testrunner.cc: Add brass variants of multi and remote
10563           backends.
10565 Tue Dec 22 14:15:43 GMT 2009  Olly Betts <olly@survex.com>
10567         * bin/: Implement xapian-check and xapian-compact support for brass.
10569 Tue Dec 22 13:41:08 GMT 2009  Olly Betts <olly@survex.com>
10571         * bin/: Split the chert-specific checking code into a separate file
10572           so xapian-check.cc is just the driver code.
10574 Tue Dec 22 12:47:59 GMT 2009  Olly Betts <olly@survex.com>
10576         * backends/brass/: Add new Inverter class to encapsulate the inversion
10577           data structures and associated code.  Instead of carefully iterating
10578           modified posting lists and document length lists, just flush the
10579           particular list needed to disk and iterate that.  This is much
10580           simpler and more obviously free of subtle bugs, and means we don't
10581           need to use data structures which allow such iteration.
10583 Tue Dec 22 12:25:04 GMT 2009  Olly Betts <olly@survex.com>
10585         * backends/brass/,backends/dbfactory.cc,include/xapian/dbfactory.h,
10586           include/xapian/valueiterator.h,include/xapian/version_h.cc,
10587           tests/harness/Makefile.mk: Fix to actually build brass.  Testsuite
10588           doesn't currently all pass.
10590 Tue Dec 22 04:26:17 GMT 2009  Olly Betts <olly@survex.com>
10592         * HACKING,INSTALL,backends/Makefile.mk,backends/brass/,
10593           backends/chert/dir_contents,backends/databasereplicator.cc,
10594           backends/dbfactory.cc,common/pack.h,configure.ac,docs/,tests/,
10595           tests/harness/: Add new development backend called "brass" and
10596           promote "chert" to being the stable backend.
10598 Mon Dec 21 09:41:57 GMT 2009  Olly Betts <olly@survex.com>
10600         * backends/chert/chert_database.cc: Update comment about
10601           MAX_SAFE_TERM_LENGTH to reflect the key format changes.
10603 Mon Dec 21 08:12:55 GMT 2009  Olly Betts <olly@survex.com>
10605         * backends/chert/chert_alldocsmodifiedpostlist.cc,
10606           backends/chert/chert_alldocsmodifiedpostlist.h: Change reference
10607           parameter to const reference.
10609 Mon Dec 21 03:19:09 GMT 2009  Olly Betts <olly@survex.com>
10611         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
10612           Replacing a document deleted since the last flush failed to update
10613           the collection frequency and wdf, and caused an assertion failure
10614           when assertions were enabled.
10615         * tests/api_backend.cc: Add regression test replacedoc8.
10617 Sun Dec 20 07:26:30 GMT 2009  Olly Betts <olly@survex.com>
10619         * configure.ac: Divert to AS_MESSAGE_LOG_FD rather than literal fd 5.
10620           Divert more output to AS_MESSAGE_LOG_FD rather than /dev/null.
10622 Thu Dec 17 13:53:31 GMT 2009  Olly Betts <olly@survex.com>
10624         * NEWS: Update from ChangeLog.
10626 Thu Dec 17 13:36:54 GMT 2009  Olly Betts <olly@survex.com>
10628         * Backport change from chert:
10629         * backends/flint/flint_alltermslist.cc: Tweak to not apply the
10630           prefix test in the "at end" case.
10631         * backends/flint/flint_alltermslist.cc: There's no point checking
10632           follow-on chunks match the prefix - the first chunk we'll hit
10633           which doesn't match has to be an initial chunk for a term.
10635 Thu Dec 17 11:57:31 GMT 2009  Olly Betts <olly@survex.com>
10637         * tests/api_replacedoc.cc: Fix to test the right variable.
10639 Thu Dec 17 11:16:51 GMT 2009  Olly Betts <olly@survex.com>
10641         * tests/api_wrdb.cc: The regression test replacedoc5 no longer actually
10642           checks for the situation it was written for, due to the shortcutting
10643           we now do in flint and chert when replacing a document with itself,
10644           so extend it with a check with that behaviour suppressed (fortunately
10645           it still passes).
10647 Wed Dec 16 12:03:13 GMT 2009  Olly Betts <olly@survex.com>
10649         * backends/chert/,bin/Makefile.mk,common/pack.h: Change the packing
10650           of uints and strings into sortable keys in chert databases, which
10651           reduces database size by 2.5% in tests.  This means an incompatible
10652           change in the chert format.
10653         * bin/xapian-chert-update.cc: Utility to update a chert database from
10654           the old format to the new format.  It works much like xapian-compact
10655           so should take a similar amount of time (and results in a compact
10656           database).
10657         * tests/api_wrdb.cc: Adjust the test which checks a string of zero
10658           bytes fails in the correct way - 126 zero bytes is now handled, so
10659           we need 127 to check the failure mode.
10661 Wed Dec 16 11:52:27 GMT 2009  Olly Betts <olly@survex.com>
10663         * bin/xapian-compact.cc: Ensure that the resultant database has a
10664           fresh UUID (previously chert copied the UUID from the first input,
10665           while flint didn't set a UUID so one was generated on demand when
10666           next requested, if the database is writable.
10667         * tests/api_compact.cc: Add tests that a UUID is set and that it is
10668           different from that of the input.
10670 Wed Dec 16 09:57:27 GMT 2009  Olly Betts <olly@survex.com>
10672         * examples/quest.cc: If no database is specified, still parse the query
10673           and report get_description() on it as this provides a useful way to
10674           see how a query parses.
10676 Wed Dec 16 00:40:51 GMT 2009  Olly Betts <olly@survex.com>
10678         * languages/german.sbl,languages/german2.sbl: Update the german and
10679           german2 stemming algorithms to the latest versions from Snowball.
10680           These add an extra rule for the "-nisse" ending.
10682 Tue Dec 15 13:08:33 GMT 2009  Olly Betts <olly@survex.com>
10684         * bin/: Split apart the flint and chert compaction code.  Should be
10685           no change in functionality.
10687 Tue Dec 15 10:11:10 GMT 2009  Olly Betts <olly@survex.com>
10689         * backends/chert/chert_alltermslist.cc: Tweak to not apply the
10690           prefix test in the "at end" case.
10692 Tue Dec 15 09:40:19 GMT 2009  Olly Betts <olly@survex.com>
10694         * backends/chert/chert_alltermslist.cc: There's no point checking
10695           follow-on chunks match the prefix - the first chunk we'll hit
10696           which doesn't match has to be an initial chunk for a term.
10698 Tue Dec 15 08:24:04 GMT 2009  Olly Betts <olly@survex.com>
10700         * include/xapian/: Convert DerefStringWrapper_ to a templated
10701           DerefWrapper_ and use it instead of DocIDWrapper and TermPosWrapper.
10703 Tue Dec 15 08:23:08 GMT 2009  Olly Betts <olly@survex.com>
10705         * include/xapian/query.h: Mark Query::Internal as @private for doxygen.
10707 Tue Dec 15 03:59:44 GMT 2009  Olly Betts <olly@survex.com>
10709         * common/pack.h: Return false not true if
10710           unpack_string_preserving_sort() fails.  Add assertions that the
10711           source pointer isn't NULL to all the functions.
10713 Tue Dec 15 02:30:24 GMT 2009  Olly Betts <olly@survex.com>
10715         * examples/delve.cc: Improve phrasing ("unique terms" -> "distinct
10716           terms").
10718 Sat Dec 12 13:07:51 GMT 2009  Richard Boulton <richard@tartarus.org>
10720         * tests/Makefile.am,tests/api_posdb.cc,tests/api_replacedoc.cc:
10721           Split my recently added replacedoc test out into a new file.
10723 Sat Dec 12 12:58:22 GMT 2009  Richard Boulton <richard@tartarus.org>
10725         * tests/api_posdb.cc: Extend test of document modification to cover
10726           removing the last term in the document, too.
10728 Sat Dec 12 12:57:43 GMT 2009  Richard Boulton <richard@tartarus.org>
10730         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
10731           Fix comparison of old term with new.
10733 Sat Dec 12 11:30:23 GMT 2009  Richard Boulton <richard@tartarus.org>
10735         * backends/chert/chert_database.cc,backends/flint/flint_database.cc,
10736           tests/api_posdb.cc: Delete old positionlist chunks in
10737           replace_document().  Uncomment part of test which tested this.
10739 Sat Dec 12 04:24:42 GMT 2009  Olly Betts <olly@survex.com>
10741         * backends/chert/chert_database.cc,backends/flint/flint_database.cc,
10742           common/document.h: If a document is replaced with itself unmodified,
10743           we no longer increase the automatic flush counter.
10744         * tests/api_backend.cc: Add regression test replacedoc7.
10746 Fri Dec 11 19:39:34 GMT 2009  Richard Boulton <richard@tartarus.org>
10748         * tests/api_posdb.cc: Add a basic test of adding a document, and
10749           modifying its positions.  Found one bug already, but the line
10750           which triggers this is commented out for now so that we don't
10751           break the snapshotters until it's fixed.
10753 Fri Dec 11 16:51:22 GMT 2009  Richard Boulton <richard@tartarus.org>
10755         * common/documentterm.h: Fix some documentation comments which were
10756           trivially incorrect or incomplete.
10758 Fri Dec 11 11:05:19 GMT 2009  Richard Boulton <richard@tartarus.org>
10760         * COPYING_MIT,HACKING: Add details of our policy for accepting
10761           patches.  This has informally been true for a while, but it
10762           probably helps to tell people about it!
10764 Tue Dec 08 13:15:28 GMT 2009  Olly Betts <olly@survex.com>
10766         * backends/chert/chert_cursor.h: Fix to build with --enable-assertions.
10768 Tue Dec 08 13:05:36 GMT 2009  Olly Betts <olly@survex.com>
10770         * backends/chert/chert_cursor.cc,backends/chert/chert_cursor.h,
10771           backends/chert/chert_postlist.cc: Add MutableChertCursor subclass of
10772           ChertCursor and implement del() there rather than in ChertCursor.
10773           This means we can use the C++ type system to track whether we got
10774           a const or non-const ChertTable * and so whether it is safe to
10775           cast away that const and delete the entry the cursor points to.
10777 Tue Dec 08 12:03:08 GMT 2009  Olly Betts <olly@survex.com>
10779         * backends/chert/chert_database.cc,backends/chert/chert_table.cc,
10780           backends/chert/chert_table.h,backends/flint/flint_database.cc,
10781           backends/flint/flint_table.cc,backends/flint/flint_table.h,
10782           bin/xapian-compact.cc,bin/xapian-inspect.cc: Add empty() method to
10783           FlintTable and ChertTable which works completely reliably even if
10784           the item count has wrapped.
10785         * tests/api_closedb.cc: Add closedb3 for coverage of get_doccount() and
10786           has_positions().
10788 Tue Dec 08 08:23:12 GMT 2009  Olly Betts <olly@survex.com>
10790         * backends/chert/chert_cursor.h: Tweak whitespace in comment.
10792 Mon Dec 07 04:56:42 GMT 2009  Olly Betts <olly@survex.com>
10794         * backends/flint/flint_database.cc,backends/flint/flint_synonym.h:
10795           Eliminate "size" private member of FlintSynonymTermList which is set
10796           but never used.
10798 Mon Dec 07 04:49:54 GMT 2009  Olly Betts <olly@survex.com>
10800         * backends/chert/chert_database.cc,backends/chert/chert_synonym.h:
10801           Eliminate "size" private member of ChertSynonymTermList which is set
10802           but never used.
10804 Mon Dec 07 04:32:46 GMT 2009  Olly Betts <olly@survex.com>
10806         * backends/chert/: Use > 32 bit type to keep count of items in a
10807           table.  This fixes misreporting by xapian-check, and in the very
10808           unlikely case where the counter has just wrapped to 0, makes
10809           xapian-compact not mistakenly think tables are empty and the
10810           matcher ignore positional information.
10812 Thu Dec 03 10:08:28 GMT 2009  Richard Boulton <richard@tartarus.org>
10814         * tests/api_compact.cc: Cast character value in string constructor
10815           to a char; without this we were getting a stack overflow and
10816           general nastiness on i386, which we hypothesise was due to the
10817           wrong overload for string() being picked.
10819 Wed Dec 02 23:10:50 GMT 2009  Olly Betts <olly@survex.com>
10821         * backends/flint_lock.cc: Add missing include of xapian/error.h.
10822           This was causing the snapshot builder to fail, but worked OK
10823           in my tree for reasons I don't understand.
10825 Wed Dec 02 14:30:40 GMT 2009  Olly Betts <olly@survex.com>
10827         * backends/chert/chert_database.cc,
10828           backends/chert/chert_databasereplicator.cc,
10829           backends/flint/flint_database.cc,
10830           backends/flint/flint_databasereplicator.cc,backends/flint_lock.cc,
10831           backends/flint_lock.h: Factor out 4 copies of the same code to
10832           report why Xapian failed to get a lock.
10834 Wed Dec 02 10:05:27 GMT 2009  Olly Betts <olly@survex.com>
10836         * backends/Makefile.mk,backends/chert/,backends/flint/,
10837           backends/flint_lock.cc,backends/flint_lock.h: Factor out a single
10838           version of the "flint-compatible locking code" and use it from both
10839           flint and chert.
10841 Wed Dec 02 02:49:14 GMT 2009  Olly Betts <olly@survex.com>
10843         * tests/api_compact.cc,tests/apitest.cc,tests/apitest.h,
10844           tests/harness/backendmanager.cc,tests/harness/backendmanager.h: Add
10845           get_database_path() variant which takes a generator function and use
10846           it so that the right database names are used in compactnorenumber1.
10848 Tue Dec 01 12:37:24 GMT 2009  Olly Betts <olly@survex.com>
10850         * tests/apitest.cc,tests/harness/backendmanager.cc,
10851           tests/harness/backendmanager.h: Move generator function variant of
10852           get_database() to BackendManager, and tweak it to build the database
10853           under a temporary path and rename it once built, to avoid leaving a
10854           partial database in place if interrupted.
10855         * tests/perftest/perftest_matchdecider.cc: Use this mechanism to lazily
10856           generate test databases.
10857         * tests/harness/: Remove the optional name parameter from various
10858           BackendManager methods as it was only used by perftest and is no
10859           longer needed.
10861 Tue Dec 01 11:00:35 GMT 2009  Olly Betts <olly@survex.com>
10863         * tests/apitest.cc,tests/apitest.h: Add mechanism for caching databases
10864           generated by a function.
10865         * tests/api_compact.cc: Use it for compactnorenumber1.
10867 Tue Dec 01 10:59:50 GMT 2009  Olly Betts <olly@survex.com>
10869         * tests/api_db.cc: Rename matchfunctor<n> to matchdecider<n> to match
10870           current terminology.
10872 Tue Dec 01 10:51:23 GMT 2009  Olly Betts <olly@survex.com>
10874         * tests/api_db.cc: Don't run matchfunctor3 under remote backends as
10875           MatchDecider isn't actually supported there (uncovered by recent
10876           change to throw UnimplementedError in this case).
10878 Tue Dec 01 09:35:53 GMT 2009  Richard Boulton <richard@tartarus.org>
10880         * include/xapian/matchspy.h: Remove out-of-date reference to
10881           add_slot(), which no longer exists: users are expected to use
10882           multiple ValueCountMatchSpies if they need to monitor more than
10883           one slot.
10885 Tue Dec 01 08:04:17 GMT 2009  Olly Betts <olly@survex.com>
10887         * tests/Makefile.am,tests/api_compact.cc: Add test coverage for
10888           xapian-compact --no-renumber with multiple databases.
10890 Tue Dec 01 06:25:47 GMT 2009  Olly Betts <olly@survex.com>
10892         * tests/api_backend.cc: Clean up matchdecider4.
10894 Tue Dec 01 06:12:29 GMT 2009  Olly Betts <olly@survex.com>
10896         * HACKING: A couple more std::string efficiency tips.
10898 Tue Dec 01 05:51:52 GMT 2009  Olly Betts <olly@survex.com>
10900         * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
10901           net/remoteserver.cc: Throw UnimplementedError if a matchdecider or
10902           "legacy" matchspy is used with the remote backend.
10903         * tests/api_backend.cc: Add regression test matchdecider4.
10905 Mon Nov 30 05:42:43 GMT 2009  Olly Betts <olly@survex.com>
10907         * backends/remote/remote-database.cc,common/remote-database.h,
10908           common/remoteprotocol.h,common/remoteserver.h,
10909           docs/remote_protocol.html,net/remoteserver.cc,tests/api_metadata.cc,
10910           tests/harness/testrunner.cc: Add support for
10911           WritableDatabase::set_metadata() and Database::get_metadata() to the
10912           remote backend (based largely on patch in #178).
10913         * AUTHORS: Thanks to Paul Rudin for patch.
10915 Thu Nov 26 07:25:15 GMT 2009  Olly Betts <olly@survex.com>
10917         * NEWS: Start to update from ChangeLog.
10919 Thu Nov 26 02:26:43 GMT 2009  Olly Betts <olly@survex.com>
10921         * common/str.cc: Tweak the length calculation for the buffer used by
10922           str() when converting integers to strings so that the buffer is
10923           exactly the minimum required size for integers of size 1, 2, 4,
10924           and 8 bytes, and only a byte extra for 16 byte integers.
10926 Wed Nov 25 05:59:13 GMT 2009  Olly Betts <olly@survex.com>
10928         * bin/xapian-compact.cc: In the --no-renumber case, just set offset[]
10929           entries to zero to start with rather than fixing them up later.
10931 Wed Nov 25 05:49:37 GMT 2009  Olly Betts <olly@survex.com>
10933         * bin/xapian-compact.cc: Extend --no-renumber to support merging
10934           databases, but only if they have disjoint ranges of used document
10935           ids.
10937 Wed Nov 25 04:37:38 GMT 2009  Olly Betts <olly@survex.com>
10939         * bin/xapian-compact.cc: Fix typos in --help output.
10941 Wed Nov 25 04:22:26 GMT 2009  Olly Betts <olly@survex.com>
10943         * bin/xapian-compact.cc: Prune unused docids off the end of database
10944           when merging multiple databases with renumbering.
10946 Wed Nov 25 03:12:24 GMT 2009  Olly Betts <olly@survex.com>
10948         * bin/xapian-compact.cc: Use string() instead of "" and string(1, '\0')
10949           instead of string("", 1).
10951 Wed Nov 25 02:34:10 GMT 2009  Olly Betts <olly@survex.com>
10953         * backends/chert/chert_lock.cc: Fix locking code to work if stdin
10954           and/or stdout have been closed.
10955         * backends/flint/flint_lock.cc: Backport fix to flint.
10956         * tests/api_backend.cc: Add regression test lockfilefd0or1.
10958 Wed Nov 25 00:59:05 GMT 2009  Olly Betts <olly@survex.com>
10960         * backends/chert/chert_database.cc,backends/chert/chert_lock.cc,
10961           backends/chert/chert_lock.h: Add "FDLIMIT" reason code for why
10962           locking failing.
10964 Tue Nov 24 12:44:56 GMT 2009  Olly Betts <olly@survex.com>
10966         * api/omdatabase.cc: Factor out throwing an exception for docid 0 not
10967           being valid.
10969 Tue Nov 24 12:39:10 GMT 2009  Olly Betts <olly@survex.com>
10971         * tests/api_none.cc: Note previous fix was ticket#415.
10973 Tue Nov 24 12:33:12 GMT 2009  Olly Betts <olly@survex.com>
10975         * api/omdatabase.cc: Fix many Xapian::Database methods to behave better
10976           on a database with no subdatabases, such as is constructed by
10977           Database().
10978         * tests/Makefile.am,tests/api_nodb.cc,tests/api_none.cc: Expand
10979           emptydb_metadata1 to also regression test these other cases, and
10980           rename to nosubdatabases1.
10982 Mon Nov 23 14:01:51 GMT 2009  Olly Betts <olly@survex.com>
10984         * common/debuglog.h: Add "NO_ARGS" which can be used for debug logging
10985           when a function or method takes no arguments.  The main advantage
10986           over "" is that no extra code is generated for it.
10987         * api/omdatabase.cc: Convert to use debuglog.h fully.
10988         * api/matchspy.cc,api/omdatabase.cc: Make use of NO_ARGS.
10990 Mon Nov 23 09:10:55 GMT 2009  Olly Betts <olly@survex.com>
10992         * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc,
10993           common/debuglog.cc,common/debuglog.h,common/omdebug.h,configure.ac,
10994           matcher/multimatch.cc,queryparser/queryparser.lt: Rename
10995           XAPIAN_DEBUG_VERBOSE macro to XAPIAN_DEBUG_LOG to better match the
10996           user-visible "--enable-log" configure option which controls it.
10998 Mon Nov 23 08:08:45 GMT 2009  Olly Betts <olly@survex.com>
11000         * backends/chert/chert_database.cc,backends/chert/chert_lock.cc,
11001           backends/chert/chert_table.cc,backends/flint/: Use string() or
11002           s.resize(0) instead of "".  Use string(1, '\0') instead of
11003           string("", 1).
11005 Sun Nov 22 14:20:51 GMT 2009  Olly Betts <olly@survex.com>
11007         * backends/chert/chert_postlist.cc: When skipping through a chunk of
11008           postings to find the one we want, don't bother to unpack the wdf
11009           values we're skipping over, which should save a significant amount
11010           of time in certain cases where the profile data shows we spend
11011           something like 1/3 of the time in the function where this happens.
11013 Sun Nov 22 13:12:39 GMT 2009  Olly Betts <olly@survex.com>
11015         * api/matchspy.cc,backends/chert/chert_values.cc,
11016           languages/steminternal.cc: Tweak whitespace after while to be
11017           consistent.
11019 Sat Nov 21 17:39:23 GMT 2009  Richard Boulton <richard@tartarus.org>
11021         * backends/chert/chert_values.cc,backends/chert/chert_values.h:
11022           Make ValueChunkReader::skip_to() assign the value to a string
11023           only when the target has been reached.  Saves a lot of
11024           unnecessary string copying - on a benchmark of mydeco data,
11025           improves time for 100 queries from 3.66s to 3.10s.
11027 Sat Nov 21 01:13:26 GMT 2009  Olly Betts <olly@survex.com>
11029         * tests/: Make arrays which don't need to be modified const.
11031 Sat Nov 21 00:01:04 GMT 2009  Olly Betts <olly@survex.com>
11033         * tests/api_matchspy.cc: The default parameter for
11034           get_writable_database() is string(), so don't explicitly pass "".
11036 Fri Nov 20 16:19:13 GMT 2009  Richard Boulton <richard@tartarus.org>
11038         * tests/api_matchspy.cc: Add regression test for underflow in
11039           numeric ranges (based on python version in ticket #321).
11041 Fri Nov 20 10:54:08 GMT 2009  Olly Betts <olly@survex.com>
11043         * matcher/valuestreamdocument.cc: Use check() instead of skip_to() in
11044           ValueStreamDocument.
11046 Fri Nov 20 09:57:12 GMT 2009  Olly Betts <olly@survex.com>
11048         * common/document.h,matcher/: Implement ValueStreamDocument subclass
11049           of Xapian::Document::Internal which provides a way to connect up
11050           valuestreams to uses of values during the match.  Other
11051           (non-recommended) uses of the Document passed to MatchDecider, etc
11052           are passed through to a lazily created backend Document::Internal
11053           subclass.  This should be a lot more efficient for chert.  It's
11054           unclear how it will affect performance for backends which don't store
11055           values in streams - profiling is required.
11057 Fri Nov 20 02:35:14 GMT 2009  Olly Betts <olly@survex.com>
11059         * backends/inmemory/inmemory_document.cc: Fix closedb1 on InMemory
11060           backend, broken by recent commit.
11062 Thu Nov 19 12:03:52 GMT 2009  Olly Betts <olly@survex.com>
11064         * backends/multi/multi_valuelist.cc: Fix to handle the case where all
11065           the sublists turn out to be empty when we first call next().
11067 Thu Nov 19 11:12:53 GMT 2009  Olly Betts <olly@survex.com>
11069         * backends/inmemory/: Set the document data and values lazily for the
11070           inmemory backend too.  They're much less costly to fetch than if
11071           a disk access may be needed, but it avoids a copy of the respective
11072           data if they aren't needed, and either could potentially be large.
11073           Consistency here also makes things easier to understand.
11075 Thu Nov 19 08:47:24 GMT 2009  Olly Betts <olly@survex.com>
11077         * api/omdocument.cc: Prefer string() to "".
11079 Thu Nov 19 07:38:29 GMT 2009  Olly Betts <olly@survex.com>
11081         * api/omdatabase.cc,backends/multi/Makefile.mk,
11082           backends/multi/multi_valuelist.cc,common/Makefile.mk,
11083           common/multivaluelist.h,tests/api_valuestream.cc: Implement support
11084           for iterating valuestreams for multidatabases.
11086 Thu Nov 19 06:19:05 GMT 2009  Olly Betts <olly@survex.com>
11088         * bin/xapian-check.cc: Rework the checking of postlist chunks into
11089           a cleaner approach which should report errors better, and
11090           eliminate the (probably) impossible "did might not be initialised"
11091           path which GCC 4.2 spotted.
11093 Thu Nov 19 01:15:03 GMT 2009  Olly Betts <olly@survex.com>
11095         * common/pack.h: Remove incorrect assertion and document what NULL
11096           parameter value means in this case.
11098 Wed Nov 18 16:33:01 GMT 2009  Richard Boulton <richard@tartarus.org>
11100         * bin/xapian-check.cc: Fix compiler warning (with gcc-4.2) that did
11101           could be used uninitialised: it couldn't be, but it's hard for a
11102           compiler to see that.
11104 Wed Nov 18 12:48:17 GMT 2009  Richard Boulton <richard@tartarus.org>
11106         * AUTHORS: Update my email address.
11108 Wed Nov 18 12:21:09 GMT 2009  Olly Betts <olly@survex.com>
11110         * common/valuelist.h: Fix internal documentation comment.
11112 Wed Nov 18 10:40:54 GMT 2009  Olly Betts <olly@survex.com>
11114         * configure.ac: Use <cstdlib>, <cmath>, <cstdio>, <cstring> for
11115           configure tests since we use these forms in the code and want
11116           consistency between what configure tests and what the code
11117           uses.
11118         * NEWS,configure.ac: Update for 1.1.3.
11120 Wed Nov 18 10:39:59 GMT 2009  Olly Betts <olly@survex.com>
11122         * PLATFORMS: Update from 1.0.17.
11124 Wed Nov 18 10:31:49 GMT 2009  Olly Betts <olly@survex.com>
11126         * INSTALL: Improve text about zlib dependency.
11128 Wed Nov 18 10:13:59 GMT 2009  Olly Betts <olly@survex.com>
11130         * INSTALL: Note the package to install for building against libuuid on
11131           Fedora, and note that libuuid isn't required on Microsoft Windows.
11133 Wed Nov 18 02:34:30 GMT 2009  Olly Betts <olly@survex.com>
11135         * NEWS: Update from 1.0.17 and ChangeLog.
11137 Mon Nov 16 08:35:52 GMT 2009  Olly Betts <olly@survex.com>
11139         * queryparser/queryparser.lemony: Fix interaction of FLAG_PARTIAL and
11140           FLAG_SYNONYM.  (ticket#407)
11141         * tests/Makefile.am,tests/api_qpbackend.cc: Add regression test
11142           qpsynonympartial1.
11144 Mon Nov 16 02:15:14 GMT 2009  Olly Betts <olly@survex.com>
11146         * backends/flint/flint_version.cc: Add "using namespace std;" and drop
11147           the explicit std:: qualifiers.
11149 Fri Nov 13 02:27:48 GMT 2009  Olly Betts <olly@survex.com>
11151         * backends/chert/chert_spelling.h,backends/chert/chert_table.h,
11152           backends/flint/flint_spelling.h,backends/flint/flint_table.h,
11153           common/getopt.cc,common/stringutils.h,languages/steminternal.h:
11154           Add missing std:: qualifiers for functions in <cstring>, <cstdlib>,
11155           etc.
11157 Fri Nov 13 02:25:50 GMT 2009  Olly Betts <olly@survex.com>
11159         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Add
11160           "using namespace std;" and drop the explicit std:: qualifiers.
11162 Fri Nov 13 02:11:18 GMT 2009  Olly Betts <olly@survex.com>
11164         * common/str.cc: Use assignment to initialise a size_t - the current
11165           code was turning a missing snprintf() prototype into a confusing
11166           error message with Sun's C++, and is less clear anyway.
11168 Fri Nov 13 02:03:28 GMT 2009  Olly Betts <olly@survex.com>
11170         * HACKING,backends/chert/chert_lock.cc,backends/flint/flint_lock.cc,
11171           backends/remote/remote-database.cc,net/remoteserver.cc,
11172           net/tcpserver.cc,tests/harness/backendmanager_remotetcp.cc,
11173           tests/harness/testsuite.cc: Sun C++'s <csignal> (not unreasonably)
11174           excludes non-ISO-C functions which are in <signal.h> - for example,
11175           kill() (which POSIX specifies).  So revert <csignal> to <signal.h>
11176           and document this as a global exception.
11178 Thu Nov 12 08:30:07 GMT 2009  Olly Betts <olly@survex.com>
11180         * matcher/collapser.h: Remove spurious comma after last entry in enum,
11181           which Sun's C++ compiler warns about.
11183 Thu Nov 12 00:24:55 GMT 2009  Olly Betts <olly@survex.com>
11185         * matcher/multimatch.cc: Sorter -> KeyMaker in an exception message.
11187 Thu Nov 12 00:01:55 GMT 2009  Olly Betts <olly@survex.com>
11189         * include/xapian/database.h: Tweak documentation comments about
11190           committing changes.
11192 Wed Nov 11 12:23:48 GMT 2009  Olly Betts <olly@survex.com>
11194         * queryparser/queryparser.lemony: Fix handling of a group of stopwords
11195           which notably caused issues when default_op was OP_AND, but could
11196           probably manifest in other cases too.  Fixes ticket#406.
11197         * tests/queryparsertest.cc: Add regression test qp_stopword_group1.
11199 Wed Nov 11 10:54:58 GMT 2009  Olly Betts <olly@survex.com>
11201         * backends/chert/chert_version.h,common/safeuuid.h: Fix workaround for
11202           uuid.h headers which lack const to actually work on Solaris.
11204 Wed Nov 11 10:53:50 GMT 2009  Olly Betts <olly@survex.com>
11206         * common/Makefile.mk: Need to ship new pack.h header.
11208 Tue Nov 10 22:27:47 GMT 2009  Olly Betts <olly@survex.com>
11210         * bin/xapian-check.cc: Fix compiler warning introduced by previous
11211           change.
11213 Tue Nov 10 12:24:34 GMT 2009  Olly Betts <olly@survex.com>
11215         * backends/chert/,bin/xapian-check.cc,common/pack.h: Rewrite the
11216           packing and unpacking functions more efficiently.  As well as being
11217           generally faster, the pack functions now take a reference to a string
11218           to append to, which avoids creating a lot of temporary string
11219           objects.  Indexing HTML files with omindex is 5-10% faster.
11220           Searching for "The" on gmane (which results in a lot of unpacking of
11221           postings and document lengths) is about 35% faster.  (ticket#326)
11223 Thu Nov 05 03:55:37 GMT 2009  Olly Betts <olly@survex.com>
11225         * common/safeuuid.h: Fix to work with uuid libraries which lack const
11226           qualifiers.  Fixes build failure on Solaris.
11228 Thu Nov 05 00:15:24 GMT 2009  Olly Betts <olly@survex.com>
11230         * HACKING: Update details of debian packaging.
11232 Wed Nov 04 04:11:38 GMT 2009  Olly Betts <olly@survex.com>
11234         * common/output.h: Use C++ syntax for NULL with a type in log output.
11236 Wed Nov 04 04:02:09 GMT 2009  Olly Betts <olly@survex.com>
11238         * queryparser/lemon.c: Avoid trivial memory leak.
11240 Wed Nov 04 00:13:00 GMT 2009  Olly Betts <olly@survex.com>
11242         * include/xapian/database.h: Reword to avoid somewhat ambiguous "this
11243           method".
11245 Tue Nov 03 12:12:09 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11247         * include/xapian/database.h: Make it more clear that you need to
11248           add the unique term to the document if you want to use
11249           replace_document() to use external unique IDs for documents.
11251 Tue Nov 03 06:08:43 GMT 2009  Olly Betts <olly@survex.com>
11253         * tests/generate-api_generated: Update MultiValueSorter to
11254           MultiValueKeyMaker.
11256 Tue Nov 03 05:51:23 GMT 2009  Olly Betts <olly@survex.com>
11258         * tests/api_sorting.cc,tests/api_sortingold.cc: Fix changesorter1 and
11259           oldchangesorter1 to not be run for the remote backend where they will
11260           now fail with UnimplementedError.
11262 Tue Nov 03 02:43:12 GMT 2009  Olly Betts <olly@survex.com>
11264         * matcher/multimatch.cc: Xapian::Sorter isn't supported with the remote
11265           backend so throw UnimplementedError rather than giving incorrect
11266           results.  (ticket#384)
11267         * tests/api_sorting.cc: Add sortfunctorremote1 test this exception is
11268           actually thrown.
11270 Tue Nov 03 01:26:57 GMT 2009  Olly Betts <olly@survex.com>
11272         * common/database.h: Fix vertical whitespace glitch.
11274 Mon Nov 02 08:10:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11276         * api/omdatabase.cc: Check that internal is not empty before
11277           referencing its first element, in get_metadata() and
11278           metadata_keys_begin(), to avoid a potential segfault.
11279         * tests/api_nodb.cc: Add emptydb_metadata1, a regression test for
11280           this bug.
11282 Sun Nov 01 22:10:54 GMT 2009  Olly Betts <olly@survex.com>
11284         * examples/delve.cc,examples/quest.cc: Extend exception handling to the
11285           whole of main.  Xapian::Stem("english") can't actually throw, but
11286           that's not obvious to static analysis tools, and it is more robust
11287           to wrap the whole of main, and reduces indentation.
11289 Sun Nov 01 21:27:05 GMT 2009  Olly Betts <olly@survex.com>
11291         * bin/xapian-compact.cc: Add missing exception catch for const char *.
11292           The only case which currently throws this is an "impossible"
11293           situation, but if we're going to check for it, the reporting of
11294           failure should actually work.  Identified by Coverity's Scan.
11296 Sun Nov 01 07:56:38 GMT 2009  Olly Betts <olly@survex.com>
11298         * examples/quest.cc: Tighten up the type of the error we catch to
11299           detect an unknown stemming language.
11301 Sat Oct 31 07:16:11 GMT 2009  Olly Betts <olly@survex.com>
11303         * NEWS: Update from ChangeLog.
11305 Sat Oct 31 06:59:19 GMT 2009  Olly Betts <olly@survex.com>
11307         * include/xapian/enquire.h: Fix deprecation warnings when building with
11308           recent GCC.
11310 Sat Oct 31 02:46:04 GMT 2009  Olly Betts <olly@survex.com>
11312         * tests/queryparsertest.cc: Add another test query string to cover a
11313           case we didn't previously check.
11315 Tue Oct 27 00:42:59 GMT 2009  Olly Betts <olly@survex.com>
11317         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Don't
11318           try to close the fd one more than the maximum allowable.
11319           (ticket#408)
11320         * AUTHORS: Add Carl Worth for the patch.
11322 Mon Oct 05 09:00:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11324         * configure.ac: Mention e2fsprogs-devel in the message thrown up by
11325           configure, too.
11327 Mon Oct 05 08:53:05 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11329         * HACKING: Note the command needed to get the uuid library
11330           installed on fedora, since it's rather non-obvious.
11332 Sat Oct 03 20:11:48 GMT 2009  Olly Betts <olly@survex.com>
11334         * unicode/tclUniData.cc: Update Unicode character database to Unicode
11335           5.2.  (ticket#351)
11336         * tests/api_unicode.cc: Add tests for some characters added in Unicode
11337           5.2.
11339 Thu Oct 01 21:19:34 GMT 2009  Olly Betts <olly@survex.com>
11341         * xapian-config.in: Need to quote ^ for Solaris /bin/sh.
11343 Fri Sep 18 13:23:00 GMT 2009  Olly Betts <olly@survex.com>
11345         * configure.ac: Actually use any flags we determine are needed to
11346           switch the compiler to proper ANSI C++ mode, when building
11347           xapian-core - this stopped working in 1.0.12, breaking support for
11348           HP's aCC, Compaq's cxx, Sun's CC, and SGI's CC.
11350 Fri Sep 18 12:40:37 GMT 2009  Olly Betts <olly@survex.com>
11352         * include/xapian/matchspy.h: Mark ValueCountMatchSpy, NumericRange,
11353           NumericRanges, and score_evenness() as experimental.
11355 Fri Sep 18 08:36:34 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11357         * include/xapian/weight.h,weight/weight.cc: Remove default
11358           implementation of Weight::clone() which returns NULL - we always
11359           need clone() to be implemented because it's called for every term
11360           in the query, not just used for the remote backend.
11362 Fri Sep 18 08:02:08 GMT 2009  Olly Betts <olly@survex.com>
11364         * api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h: Mark
11365           and document the matchspy parameter of Enquire::get_mset() as
11366           deprecated in favour of the new MatchSpy class and
11367           Enquire::add_matchspy().
11369 Fri Sep 18 07:58:11 GMT 2009  Olly Betts <olly@survex.com>
11371         * tests/perftest/perftest_matchdecider.cc: Don't pass default values
11372           for optional parameters to Enquire::get_mset().
11374 Fri Sep 18 02:36:43 GMT 2009  Olly Betts <olly@survex.com>
11376         * queryparser/queryparser.lemony: If FLAG_PARTIAL is specified, don't
11377           try to spell correct a term at the end of the query which we attempt
11378           to expand as partial.
11379         * tests/queryparsertest.cc: Add regression test qp_spellpartial1.
11381 Fri Sep 18 02:33:55 GMT 2009  Olly Betts <olly@survex.com>
11383         * tests/queryparsertest.cc: For testcase qp_spellwild1: Fix the dbdir
11384           to qp_spellwild1 to match the testname;  Fix the ordering of
11385           TESTCASE macros to match the order of the test functions;  Note that
11386           this is a regression test and the versions the bug will be fixed in.
11388 Fri Sep 18 01:25:37 GMT 2009  Olly Betts <olly@survex.com>
11390         * tests/queryparsertest.cc: Fix to work with the old scoping rules for
11391           variables declared in for().
11393 Thu Sep 17 19:17:30 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11395         * queryparser/queryparser.lemony: Don't apply spelling correction
11396           to wildcard terms if FLAG_WILDCARD and FLAG_SPELLING_CORRECTION
11397           are both specified.
11398         * tests/queryparsertest.cc: Add qp_spellwild1 as a test for this.
11400 Thu Sep 17 12:08:17 GMT 2009  Olly Betts <olly@survex.com>
11402         * NEWS: Update from ChangeLog.
11404 Thu Sep 17 10:20:35 GMT 2009  Olly Betts <olly@survex.com>
11406         * api/keymaker.cc: Implement Richard's idea of not encoding any
11407           trailing, forward sorted, empty values which is a generalisation
11408           of encoding all forward sorted, empty values as an empty string.
11409         * tests/api_sorting.cc: Add new testcase multivaluekeymaker1 to
11410           check encodings are as expected.
11412 Thu Sep 17 07:15:10 GMT 2009  Olly Betts <olly@survex.com>
11414         * api/,common/multimatch.h,common/omenquireinternal.h,
11415           docs/deprecation.rst,docs/sorting.rst,include/Makefile.mk,
11416           include/xapian.h,include/xapian/enquire.h,include/xapian/keymaker.h,
11417           include/xapian/sorter.h,matcher/multimatch.cc,tests/Makefile.am,
11418           tests/api_sorting.cc,tests/api_sortingold.cc: Rename Sorter to
11419           KeyMaker, paving the way for using it to build collapse keys too.
11420           Resolve the inconsistency in MultiValueSorter::add()'s "forward"
11421           parameter by replacing it with MultiKeyMaker::add_value() with a
11422           "reverse" parameter.  (ticket#359)
11424 Thu Sep 17 07:13:25 GMT 2009  Olly Betts <olly@survex.com>
11426         * api/valuesetmatchdecider.cc,include/xapian/valuesetmatchdecider.h:
11427           Inline trivial constructor from header.  Add explicit '#include
11428           "xapian/document.h"'.
11430 Thu Sep 17 05:22:50 GMT 2009  Olly Betts <olly@survex.com>
11432         * HACKING: Document how to use the XAPIAN_DEPRECATED() macro to
11433           mark a class as deprecated.
11435 Wed Sep 16 02:40:13 GMT 2009  Olly Betts <olly@survex.com>
11437         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
11438           Eliminate a couple of assertions which can never fire.
11440 Sat Sep 12 04:05:35 GMT 2009  Olly Betts <olly@survex.com>
11442         * matcher/msetpostlist.cc: Fix MSetPostList not to read off the end of
11443           the MSet if get_maxweight() is called when at_end().  This can
11444           happen but the testcase was too large to send so sadly no
11445           regression test I'm afraid.
11447 Sat Sep 12 03:41:04 GMT 2009  Olly Betts <olly@survex.com>
11449         * backends/chert/chert_values.cc: Fix code to find the first docid in
11450           the net chunk (ticket#399).
11451         * tests/api_backend.cc: Add regression test from Rich Lane.
11453 Fri Sep 11 11:14:49 GMT 2009  Olly Betts <olly@survex.com>
11455         * backends/chert/,bin/xapian-check.cc,bin/xapian-compact.cc: Add
11456           support for chert databases without a termlist table (ticket#181).
11457           Currently the only way to create such a database is to create a
11458           chert database and do "rm termlist.*".
11460 Fri Sep 11 10:07:35 GMT 2009  Olly Betts <olly@survex.com>
11462         * bin/xapian-compact.cc: Don't report an absent lazy input table as 0
11463           size.
11465 Fri Sep 11 03:17:17 GMT 2009  Olly Betts <olly@survex.com>
11467         * backends/chert/chert_table.h: Improve documentation of "handle"
11468           member.
11470 Thu Sep 10 13:24:29 GMT 2009  Olly Betts <olly@survex.com>
11472         * m4-macros/xapian-1.1.m4: Report the default xapian-config
11473           basename in configure's --help output.
11475 Thu Sep 10 12:55:48 GMT 2009  Olly Betts <olly@survex.com>
11477         * m4-macros/xapian-1.1.m4: Add optional third parameter to
11478           XO_LIB_XAPIAN which specifies the basename for the "xapian-config"
11479           script (defaults to "xapian-config" to give the current behaviour).
11481 Thu Sep 10 06:39:17 GMT 2009  Olly Betts <olly@survex.com>
11483         * NEWS: Update with changes in 1.0.16 and from ChangeLog.
11485 Thu Sep 10 02:17:56 GMT 2009  Olly Betts <olly@survex.com>
11487         * include/xapian/queryparser.h: Clarify the documentation comments for
11488           QueryParser::set_default_op() and QueryParser::get_default_op().
11490 Wed Sep 09 13:36:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11492         * matcher/andmaybepostlist.cc,tests/Makefile.am,tests/api_queryopt.cc:
11493           Back out patch from r13440 which introduced a new optimisation
11494           for AND_MAYBE when the maximum weight of the RHS becomes zero,
11495           due to various undesirable side effects.  I've put the patch into
11496           ticket #400 with an explanation.
11498 Wed Sep 09 01:54:05 GMT 2009  Olly Betts <olly@survex.com>
11500         * backends/chert/chert_postlist.cc,tests/api_backend.cc: Fix
11501           WritableDatabase::get_doclength() to work properly after a call to
11502           commit for the chert backend (ticket#397).
11504 Wed Sep 09 00:28:09 GMT 2009  Olly Betts <olly@survex.com>
11506         * AUTHORS: Add Dmitry Liakh for fix for #398.
11508 Wed Sep 09 00:02:47 GMT 2009  Olly Betts <olly@survex.com>
11510         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Fix a
11511           typo which stopped this fix in 1.0.12 from working (ticket #398):
11513           If we fail to get the lock after we spawn the child lock process
11514           (the common case is because the database is already open for
11515           writing) then we now clean up the child process properly.
11517 Fri Sep 04 11:24:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11519         * docs/categorisation.rst: Remove out-of-date call to get_mset()
11520           which passed a MatchSpy in - spies are now set with
11521           add_matchspy() before get_mset() is called.
11523 Thu Sep 03 00:29:27 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11525         * matcher/andmaybepostlist.cc: For AndMaybe, if the RHS has a
11526           maximum possible weight of 0, we now decay to just the LHS.
11527         * tests/Makefile.am,tests/api_queryopt.cc: Test coverage that this
11528           optimisation doesn't break anything.
11530 Tue Sep 01 12:04:13 GMT 2009  Olly Betts <olly@survex.com>
11532         * configure.ac: Send stderr output from ldconfig to config.log.
11534 Tue Sep 01 10:35:51 GMT 2009  Olly Betts <olly@survex.com>
11536         * AUTHORS,common/safeuuid.h: Fix uuid_unparse_lower() replacement for
11537           older libuuid to actually compile (really fixes ticket#368).
11539 Mon Aug 31 05:58:55 GMT 2009  Olly Betts <olly@survex.com>
11541         * NEWS: Sync with 1.0.15.
11543 Mon Aug 31 05:48:13 GMT 2009  Olly Betts <olly@survex.com>
11545         * NEWS: Start to format entries for 1.1.3.
11547 Mon Aug 31 04:14:58 GMT 2009  Olly Betts <olly@survex.com>
11549         * PLATFORMS: Sync with 1.0.15.
11551 Mon Aug 31 01:30:01 GMT 2009  Olly Betts <olly@survex.com>
11553         * common/getopt.cc: Use USE_GLIBC_GNUGETOPT from gnu_getopt.h rather
11554           than repeating the conditionals used to determine it here.  Rename
11555           __getopt_initialized to getopt_initialized and make it static.
11556           Rename _getopt_initialize() to getopt_initialize().
11558 Mon Aug 31 01:24:29 GMT 2009  Olly Betts <olly@survex.com>
11560         * common/gnu_getopt.h: Update (C) dates.  Markup file description for
11561           doxygen.  Fix comment reference to ctype.h as we now use <cctype>.
11563 Sun Aug 30 23:28:25 GMT 2009  Olly Betts <olly@survex.com>
11565         * common/gnu_getopt.h: Make optarg, optind, opterr, and optopt extern
11566           "C" to avoid linkage clash with these symbols on Mac OS X 10.6.
11568 Thu Aug 27 03:05:33 GMT 2009  Olly Betts <olly@survex.com>
11570         * HACKING: Add note to document the reason for any exceptions to the
11571           rule to use C++ forms of ISO C headers.
11573 Wed Aug 26 13:07:07 GMT 2009  Olly Betts <olly@survex.com>
11575         * AUTHORS,INSTALL,docs/install.html: Drop .php from xapian.org URLs.
11577 Wed Aug 26 12:58:51 GMT 2009  Olly Betts <olly@survex.com>
11579         * HACKING: Update URLs.  Remove duplicated text about updating RoadMap
11580           from the release checklist.
11582 Wed Aug 26 10:56:07 GMT 2009  Olly Betts <olly@survex.com>
11584         * configure.ac: Update various URLs.
11586 Tue Aug 25 01:52:51 GMT 2009  Olly Betts <olly@survex.com>
11588         * tests/harness/testsuite.cc: Fix not to report heaps of bogus errors
11589           under valgrind 3.5.0.
11591 Mon Aug 24 02:19:06 GMT 2009  Olly Betts <olly@survex.com>
11593         * include/xapian/enquire.h: Also update the documentation comment for
11594           set_sort_by_relevance_then_value() to mention sortable_serialise().
11596 Fri Aug 21 14:35:35 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11598         * Makefile.am: Add generate-exceptions to EXTRA_DIST - was missing
11599           from tarballs.
11601 Fri Aug 21 12:21:59 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11603         * AUTHORS: Add Michael Vogt, who suggested adding a comment about
11604           sortable_serialise to set_sort_by_value().
11606 Fri Aug 21 12:14:13 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11608         * include/xapian/enquire.h: Update documentation comments for
11609           set_sort_by_value() and set_sort_by_value_then_relevance() to
11610           mention sortable_serialise() as a good way to store values if you
11611           want to sort by them.
11613 Mon Aug 17 16:51:10 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11615         * matcher/multimatch.cc: When sorting by non-pure-relevance, ensure
11616           that the document is shown to the matchspy even if it couldn't
11617           get in the mset.
11618         * tests/api_matchspy.cc: Extend matchspy4 to include a regression
11619           test for this.
11621 Mon Aug 17 11:51:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11623         * api/matchspy.cc,include/xapian/matchspy.h: Add overload for
11624           score_evenness to allow a NumericRanges object to be passed to
11625           it.
11627 Mon Aug 17 07:36:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11629         * api/matchspy.cc,include/xapian/matchspy.h: Replace
11630           build_numeric_ranges() function with a NumericRanges object,
11631           whose constructor is passed the values and which exposes the
11632           calculated ranges via a getter.
11633         * tests/api_matchspy.cc: Update tests to use new NumericRanges
11634           object instead of build_numeric_ranges().
11636 Wed Aug 12 17:33:53 GMT 2009  Olly Betts <olly@survex.com>
11638         * Makefile.am: Fix generate-exceptions change to work in a VPATH
11639           build.
11641 Wed Aug 12 15:57:44 GMT 2009  Olly Betts <olly@survex.com>
11643         * exception_data.pm: Add new SerialisationError.
11644         * common/serialise-double.cc: Throw SerialisationError or InternalError
11645           instead of NetworkError.
11647 Wed Aug 12 15:19:05 GMT 2009  Olly Betts <olly@survex.com>
11649         * Makefile.am,configure.ac,generate-exceptions,generate-exceptions.in:
11650           It's not very useful to be able to run generate-exceptions outside
11651           the build system, and it only gets the #! line substituted, so just
11652           move those runes into Makefile.am and reduce the number of files that
11653           configure needs to generate by one.
11655 Mon Aug 10 13:25:22 GMT 2009  Olly Betts <olly@survex.com>
11657         * api/matchspy.cc: Use <cfloat> and <cmath> rather than <float.h> and
11658           <math.h> (regression from merging the matchspy branch).
11660 Mon Aug 10 13:01:57 GMT 2009  Olly Betts <olly@survex.com>
11662         * api/,bin/xapian-tcpsrv.cc,common/,docs/postingsource.rst,
11663           docs/serialisation.rst,include/Makefile.mk,include/xapian.h,
11664           include/xapian/,net/remoteserver.cc,tests/: Rename
11665           SerialisationContext to Registry.
11667 Mon Aug 10 11:23:23 GMT 2009  Olly Betts <olly@survex.com>
11669         * NEWS: Start to update from ChangeLog.
11671 Mon Aug 10 10:29:13 GMT 2009  Olly Betts <olly@survex.com>
11673         * api/omenquire.cc,include/xapian/weight.h,matcher/localmatch.cc:
11674           Make Weight::clone() public, and remove Weight::clone_() as it is
11675           no longer required.
11677 Mon Aug 10 07:55:04 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11679         * HACKING: Add section on ordering of include files, and fix a few
11680           formatting issues to make this file into valid restructured text
11681           again.
11683 Mon Aug 10 06:55:45 GMT 2009  Olly Betts <olly@survex.com>
11685         * api/serialisationcontext.cc,common/serialisationcontextinternal.h:
11686           Refactor to use a template function to implement the exception safe
11687           approach I implemented for PostingSource, and use it for MatchSpy
11688           and Weight too.
11689         * tests/api_serialise.cc: Add tests for exception safety of MatchSpy
11690           and Weight with SerialisationContext.
11692 Mon Aug 10 06:15:23 GMT 2009  Olly Betts <olly@survex.com>
11694         * include/xapian/weight.h,weight/weight.cc: Add default implementations
11695           of Weight methods name(), serialise(), unserialise(), and clone() for
11696           consistency with PostingSource and MatchSpy.
11698 Mon Aug 10 03:29:12 GMT 2009  Olly Betts <olly@survex.com>
11700         * tests/api_postingsource.cc: Tweak header include order.
11702 Tue Aug 04 15:49:54 GMT 2009  Olly Betts <olly@survex.com>
11704         * include/xapian/queryparser.h: Explicitly document that an empty
11705           prefix argument to QueryParser::add_prefix() means "no prefix".
11707 Tue Aug 04 13:11:26 GMT 2009  Olly Betts <olly@survex.com>
11709         * api/postingsource.cc: Throw UnimplementedError rather than
11710           InvalidOperationError from PostingSource::serialise() and
11711           PostingSource::unserialise() for consistency with MatchSpy.
11712         * include/xapian/postingsource.h: Document this behaviour (previously
11713           we didn't say what the default implementation actually did).
11714         * tests/api_serialise.cc: Add test coverage.
11716 Mon Aug 03 11:40:31 GMT 2009  Olly Betts <olly@survex.com>
11718         * api/serialisationcontext.cc: Fix to handle the clone() method or dtor
11719           of a PostingSource subclass throwing exceptions.
11720         * tests/api_serialise.cc: Add new testcase serialisationcontext1 as a
11721           regression test for this.
11723 Mon Aug 03 06:40:28 GMT 2009  Olly Betts <olly@survex.com>
11725         * tests/api_serialise.cc: Fix copy-and-pasted @brief.
11727 Sun Aug 02 16:21:54 GMT 2009  Olly Betts <olly@survex.com>
11729         * common/remoteprotocol.h: Correction: protocol version 33 will debut
11730           in 1.1.3 not 1.1.4.
11732 Sun Aug 02 16:20:28 GMT 2009  Olly Betts <olly@survex.com>
11734         * docs/remote_protocol.html: Update to document protocol version 33.
11736 Sun Aug 02 16:17:24 GMT 2009  Olly Betts <olly@survex.com>
11738         * backends/remote/remote-database.cc,net/remoteserver.cc: We were
11739           ignoring any trailing junk after the matchspies in MSG_GETMSET, so
11740           change to not send a count of them and just unpack until we run out
11741           of data.
11743 Sun Aug 02 15:47:30 GMT 2009  Olly Betts <olly@survex.com>
11745         * common/remoteprotocol.h: Note the versions in which recent protocol
11746           versions were introduced.
11748 Sun Aug 02 15:09:13 GMT 2009  Olly Betts <olly@survex.com>
11750         * backends/remote/remote-database.cc,common/serialise.h,
11751           net/remoteserver.cc,net/serialise.cc: Put the serialised MSet last in
11752           REPLY_RESULTS as then it doesn't need to know its own length (so the
11753           encoding is the same size it used to be in the non-matchspy case),
11754           and we avoid having to check for there being "junk" data left over
11755           after unserialising.
11757 Sun Aug 02 14:39:18 GMT 2009  Olly Betts <olly@survex.com>
11759         * matcher/remotesubmatch.h: Fix to build with GCC 4.4.1.
11761 Sun Aug 02 14:27:44 GMT 2009  Olly Betts <olly@survex.com>
11763         * backends/remote/remote-database.cc: Don't assign a temporary string
11764           object.
11766 Sun Aug 02 13:50:14 GMT 2009  Olly Betts <olly@survex.com>
11768         * include/xapian/matchspy.h: Add missing documentation comments.
11770 Sun Aug 02 12:15:43 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11772         Merge from matchspy branch.
11773         * api/,backends/remote/remote-database.cc,common/,docs/Makefile.am,
11774           docs/categorisation.rst,include/Makefile.mk,include/xapian.h,
11775           include/xapian/enquire.h,include/xapian/matchspy.h,
11776           include/xapian/serialisationcontext.h,matcher/multimatch.cc,
11777           matcher/remotesubmatch.cc,matcher/remotesubmatch.h,
11778           net/remoteserver.cc,net/serialise.cc,tests/Makefile.am,
11779           tests/api_matchspy.cc: Add new-style Xapian::MatchSpy class,
11780           which is a pure "spy" class, rather than being able to take a
11781           decision on whether a spy is applied before or after a result.
11782           This class is also designed to work with remote databases,
11783           passing the results back in serialised form.  Also, add
11784           ValueCountMatchSpy, which counts the occurrences of each value in
11785           a slot in the search results seen (useful for faceted or
11786           categorisation systems).
11788 Fri Jul 31 12:50:57 GMT 2009  Olly Betts <olly@survex.com>
11790         * tests/api_backend.cc,tests/api_wrdb.cc: Move new test
11791           modifiedpostlist1 from api_wrdb.cc to api_backend.cc - we're trying
11792           not to make api-wrdb.cc any larger.  Also note the ticket number and
11793           the release this will be fixed in.
11795 Thu Jul 30 16:30:06 GMT 2009  Olly Betts <olly@survex.com>
11797         * backends/chert/chert_modifiedpostlist.cc: Fix ChertModifiedPostList
11798           to skip added-but-then-deleted-before-flush documents.  (ticket#392)
11799           backends/flint/flint_modifiedpostlist.cc: Same fix for flint.
11800         * tests/api_wrdb.cc: Add regression test modifiedpostlist1.
11801         * AUTHORS: Add Rich Lane for patch.
11803 Wed Jul 29 09:44:15 GMT 2009  Olly Betts <olly@survex.com>
11805         * NEWS: Update from ChangeLog.
11807 Wed Jul 29 09:29:45 GMT 2009  Olly Betts <olly@survex.com>
11809         * include/xapian/valueiterator.h: Fix typos ("again" -> "and").
11811 Wed Jul 29 06:18:41 GMT 2009  Olly Betts <olly@survex.com>
11813         * tests/Makefile.am: Actually distribute testdata/apitest_declen.txt
11814           - new test data from the postingsources branch merge.
11816 Tue Jul 28 16:38:55 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11818         Merge from postingsources branch:
11819         * tests/generate-api_generated: Test get_description() methods of
11820           Xapian::PostingSource subclasses.
11822 Tue Jul 28 16:35:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11824         Merge from postingsources branch:
11825         * api/Makefile.mk,api/decvalwtsource.cc,api/serialisationcontext.cc,
11826           include/xapian/postingsource.h: Add
11827           DecreasingValueWeightPostingSource class, which reads weights
11828           from a value slot in which a significant range of the values are
11829           in decreasing order.  This functions similarly to
11830           ValueWeightPostingSource, but can be much more efficient.
11831         * tests/api_valuestream.cc,tests/testdata/apitest_declen.txt:
11832           Tests, and some associated constructed test data, for
11833           DecreasingValueWeightPostingSource.
11835 Mon Jul 27 04:50:45 GMT 2009  Olly Betts <olly@survex.com>
11837         * HACKING: Now using autoconf 2.64.
11839 Mon Jul 27 04:46:17 GMT 2009  Olly Betts <olly@survex.com>
11841         * HACKING: Add note about preferring std::string::assign(), and also
11842           one about building up strings using +=.
11844 Mon Jul 27 04:45:15 GMT 2009  Olly Betts <olly@survex.com>
11846         * backends/chert/chert_lock.cc,backends/chert/chert_utils.h,
11847           backends/flint/flint_lock.cc,backends/flint/flint_utils.h,
11848           backends/remote/remote-database.cc: Use std::string::assign() rather
11849           than constructing a temporary string object to assign.
11851 Sun Jul 26 16:08:10 GMT 2009  Olly Betts <olly@survex.com>
11853         * AUTHORS: Update for bugs fixed in 1.0.14.
11855 Sun Jul 26 16:03:54 GMT 2009  Olly Betts <olly@survex.com>
11857         * HACKING: Update the release checklist.
11859 Sun Jul 26 14:28:25 GMT 2009  Olly Betts <olly@survex.com>
11861         * docs/doxygen_source.conf.in: Update roughly in-line with apidoc
11862           changes.  I've not looked at the output much though.
11864 Sun Jul 26 14:00:14 GMT 2009  Olly Betts <olly@survex.com>
11866         * include/xapian/database.h: Remove documentation comment for namespace
11867           Xapian - this is now documented in xapian.h.
11869 Sun Jul 26 13:59:42 GMT 2009  Olly Betts <olly@survex.com>
11871         * include/xapian/unicode.h: Add documentation comment for namespace
11872           Unicode.
11874 Sun Jul 26 13:58:44 GMT 2009  Olly Betts <olly@survex.com>
11876         * include/xapian/dbfactory.h: Add documentation comments for the
11877           backend namespaces (InMemory, etc).
11879 Sun Jul 26 13:57:29 GMT 2009  Olly Betts <olly@survex.com>
11881         * include/xapian/version_h.cc: Add documentation comments for the
11882           generated version.h, and all the preprocessor defines it contains.
11884 Sun Jul 26 13:56:15 GMT 2009  Olly Betts <olly@survex.com>
11886         * include/xapian.h: Consistently say "linked with" rather than "linked
11887           to" in some cases.  Put documentation comment for namespace Xapian
11888           in this file.
11890 Sun Jul 26 13:06:45 GMT 2009  Olly Betts <olly@survex.com>
11892         * docs/doxygen_api.conf.in: More fettling to try to get better output:
11893           + Wrap long comments.
11894           + Quote arguments containing @...@ substitutions as they could
11895             conceivably contain spaces.
11896           + ALWAYS_DETAILED_SEC = NO: since a detailed section with no extra
11897             information is pointless.
11898           + STRIP_FROM_PATH, INCLUDE_PATH: Add "@top_builddir@/include" for
11899             VPATH builds.
11900           + HIDE_UNDOC_MEMBERS = YES: otherwise @internal members show up
11901             (with no documentation).
11902           + HIDE_FRIEND_COMPOUNDS = YES: as friend declarations in the API
11903             headers are implementation details.
11904           + SHOW_INCLUDE_FILES = NO: users should just include <xapian.h>
11905             for all their API needs.
11906           + GENERATE_TODOLIST, GENERATE_TESTLIST, GENERATE_BUGLIST: all set to
11907             NO as we don't want these in the API documentation.
11908           + SHOW_NAMESPACES = YES: We have several sub-namespaces so these are
11909             useful to document.
11910           + INPUT: Prepend "@top_builddir@/include/xapian/version.h" so that
11911             XAPIAN_HAS_FLINT_BACKEND, etc are defined before parsing other
11912             headers.
11913           + EXCLUDE: remove all entries and use EXCLUDE_PATTERNS instead.
11914           + EXCLUDE_PATTERNS: Include entries corresponding to those in EXCLUDE
11915             and add */derefwrapper.h and */.* (the latter avoids trying to look
11916             in .svn or any other hidden files or directories).
11917           + REFERENCES_LINK_SOURCE = NO: Improves output.
11918           + VERBATIM_HEADERS = NO: The verbatim headers aren't very
11919             interesting.
11920           + PREDEFINED: Define XAPIAN_VISIBILITY_DEFAULT and
11921             XAPIAN_DEPRECATED(D)=D as doxygen seem reluctant to parse included
11922             files.
11923           + EXPAND_AS_DEFINED: Remove XAPIAN_VISIBILITY_DEFAULT and
11924             XAPIAN_DEPRECATED as these are now handled by PREDEFINED.
11925           + EXTERNAL_GROUPS = NO, GROUP_GRAPHS = NO: We don't use groups so
11926             disable these.
11928 Sun Jul 26 10:14:32 GMT 2009  Olly Betts <olly@survex.com>
11930         * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Change
11931           @PACKAGE@ to @PACKAGE_NAME@ and @VERSION@ to @PACKAGE_VERSION@ to
11932           reflect modern autotools usage.
11934 Fri Jul 24 16:23:31 GMT 2009  Olly Betts <olly@survex.com>
11936         * configure.ac,docs/: Rename doxygen configuration files from "_conf"
11937           to ".conf".  Rename doxygen_full.conf to doxygen_source.conf, etc.
11939 Fri Jul 24 16:02:39 GMT 2009  Olly Betts <olly@survex.com>
11941         * HACKING: Update to note that doxygen is now installed in-tree, and
11942           that we now use 1.5.9 for 1.1.x snapshots and releases, and that
11943           graphviz ">1.8.10" is now required.
11945 Fri Jul 24 16:01:31 GMT 2009  Olly Betts <olly@survex.com>
11947         * include/xapian/: Documentation comment tweaks.
11949 Fri Jul 24 15:34:03 GMT 2009  Olly Betts <olly@survex.com>
11951         * include/xapian/unicode.h: Fix @param names to match parameter names.
11953 Fri Jul 24 15:33:12 GMT 2009  Olly Betts <olly@survex.com>
11955         * docs/doxygen_api_conf.in: Major doxygen config overhaul:
11956           + STRIP_FROM_PATH: Strip include from header names.
11957           + JAVADOC_AUTOBRIEF: Re-enable as we have lost most of our brief
11958             descriptions - we can fix up the few cases where this caused
11959             problems with an explicit @brief.
11960           + BUILTIN_STL_SUPPORT: Enable for slightly STL-related stuff.
11961           + DISTRIBUTE_GROUP_DOC: Enable so group members get the group's
11962             comments.
11963           + EXTRACT_STATIC, EXTRACT_LOCAL_CLASSES: Disable since we don't
11964             need these.
11965           + SHOW_NAMESPACES: Disable to hide the "Xapian" namespace.
11966           + QUIET: Enable for less doxygen chatter.
11967           + WARN_LOGFILE: Unset so warnings go to stderr to encourage us to
11968             actually fix them!
11969           + EXCLUDE: Hide base.h, deprecated.h, errordispatch.h, visibility.h.
11970           + HTML_DYNAMIC_SECTIONS: Enable so the class diagrams are hidden by
11971             default but can be "expanded" to be viewed.
11972           + COLLABORATION_GRAPH: Disable as these don't ever seem useful in
11973             the API docs.
11974           + TEMPLATE_RELATIONS: Disable as we don't want to see template
11975             instantiations in inheritance diagrams.
11976           + DOT_MULTI_TARGETS: Enable for faster dot processsing.  Needs
11977             graphviz ">1.8.10", but that's really old now.
11979 Fri Jul 24 13:00:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11981         * bin/xapian-compact.cc: Fix to work with the metainfo key stored
11982           in the latest format of chert databases.
11984 Fri Jul 24 10:32:32 GMT 2009  Olly Betts <olly@survex.com>
11986         * backends/chert/chert_values.cc: Avoid doing pointless work by trying
11987           to delete non-existent lists of values when we're just adding
11988           documents.
11990 Fri Jul 24 05:32:34 GMT 2009  Olly Betts <olly@survex.com>
11992         * docs/doxygen_api_conf.in: Update with "doxygen -u" using doxygen
11993           1.5.9 and then trim trailing whitespace.
11995 Thu Jul 23 04:10:49 GMT 2009  Olly Betts <olly@survex.com>
11997         * NEWS,configure.ac: Update for 1.1.2.
11999 Wed Jul 22 13:58:13 GMT 2009  Olly Betts <olly@survex.com>
12001         * backends/chert/chert_databasereplicator.cc,
12002           backends/flint/flint_databasereplicator.cc: Prefer += to + for
12003           building up strings.
12005 Wed Jul 22 09:01:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12007         * backends/chert/chert_databasereplicator.cc,
12008           backends/flint/flint_databasereplicator.cc: Check result of
12009           ::open() for -1, and throw an error immediately if this happens,
12010           rather than leaving it to a later call to fail with EBADF.
12011           Should make it easier to diagnose problems, since we'll now see
12012           the reason that the open() failed.
12014 Tue Jul 21 17:08:41 GMT 2009  Olly Betts <olly@survex.com>
12016         * NEWS: Update from ChangeLog and sync with 1.0.14.
12018 Mon Jul 20 04:48:32 GMT 2009  Olly Betts <olly@survex.com>
12020         * matcher/queryoptimiser.cc: Fix build with assertions enabled.
12022 Mon Jul 20 04:47:33 GMT 2009  Olly Betts <olly@survex.com>
12024         * include/xapian/query.h: Update doc comment - OP_SYNONYM can take any
12025           number of subqueries too.
12027 Sun Jul 19 17:26:53 GMT 2009  Olly Betts <olly@survex.com>
12029         * api/omqueryinternal.cc,include/xapian/query.h,matcher/localmatch.cc:
12030           Remove wqf member of Xapian::Query::Internal and store the wqf in
12031           the parameter member instead.  (ticket#280)
12033 Sun Jul 19 17:24:02 GMT 2009  Olly Betts <olly@survex.com>
12035         * api/omqueryinternal.cc,include/xapian/query.h: Remove unused
12036           method Xapian::Query::Internal::swap().
12038 Sun Jul 19 16:22:01 GMT 2009  Olly Betts <olly@survex.com>
12040         * api/valuerangeproc.cc,include/xapian/queryparser.h: Move support for
12041           a prefix/suffix from NumberValueRangeProcessor to
12042           StringValueRangeProcessor, and change NumberValueRangeProcessor and
12043           DateValueRangeProcessor to inherit from StringValueRangeProcessor so
12044           all three now support a prefix/suffix.  (ticket#220)
12045         * tests/queryparsertest.cc: Add test coverage for new features.
12047 Sun Jul 19 16:05:04 GMT 2009  Olly Betts <olly@survex.com>
12049         * tests/queryparsertest.cc: Reenable tests which require the inmemory
12050           backend to be enabled by fixing typo XAPIAN_HAS_BACKEND_INMEMORY ->
12051           XAPIAN_HAS_INMEMORY_BACKEND.
12053 Sun Jul 19 14:56:16 GMT 2009  Olly Betts <olly@survex.com>
12055         * api/documentvaluelist.cc: Use str() instead of om_tostring().
12057 Sun Jul 19 14:42:15 GMT 2009  Olly Betts <olly@survex.com>
12059         * matcher/msetcmp.cc: Eliminate two more relocations.
12061 Sun Jul 19 13:46:08 GMT 2009  Olly Betts <olly@survex.com>
12063         * api/omqueryinternal.cc: Factor out "is_distributable()" function.
12065 Sun Jul 19 11:11:06 GMT 2009  Olly Betts <olly@survex.com>
12067         * include/xapian/version_h.cc: Fix "dummy" -> "dummy[]" so the code
12068           here is valid C - we only preprocess it, but since the reason for
12069           having the dummy stuff at all is to avoid problems with "smart"
12070           preprocessors which moan if the code isn't valid, this seems worth
12071           fixing.
12073 Sun Jul 19 10:21:41 GMT 2009  Olly Betts <olly@survex.com>
12075         * backends/flint/flint_database.cc: Backport the previous change to
12076           flint.
12078 Sun Jul 19 08:04:48 GMT 2009  Olly Betts <olly@survex.com>
12080         * backends/chert/chert_database.cc: Instead of dynamically building a
12081           std::list of the leafnames we need to replicate, just list them in a
12082           compact format in the source file.  Results in smaller code and
12083           should be faster and smaller at runtime.
12085 Sat Jul 18 17:12:58 GMT 2009  Olly Betts <olly@survex.com>
12087         * languages/compiler/generator.c: Merge among table entries which are
12088           substrings of others in the same among.  We could be much cleverer
12089           and merge between amongs, and allow overlaps, etc, but this get us
12090           a nice size reduction for a small amount of effort, so it'll do for
12091           now.
12093 Sat Jul 18 15:42:48 GMT 2009  Olly Betts <olly@survex.com>
12095         * languages/compiler/generator.c,languages/steminternal.cc,
12096           languages/steminternal.h: Change how snowball generates the data used
12097           by among - instead of using pointers to the strings in struct among,
12098           store an offset into a constant pool, as this reduces the number of
12099           relocations from 5001 to 2706, which should decrease the time taken
12100           by the dynamic linker when loading the library.  This also results
12101           in slightly smaller code.
12103 Fri Jul 17 16:32:02 GMT 2009  Olly Betts <olly@survex.com>
12105         * tests/api_nodb.cc: Check output of Stem::get_description() for each
12106           supported language.
12108 Thu Jul 16 04:34:57 GMT 2009  Olly Betts <olly@survex.com>
12110         * common/fileutils.h: Remove unnecessary XAPIAN_VISIBILITY_DEFAULT
12111           (ticket#63).
12112         * common/fileutils.cc,common/fileutils.h: Make isabspath() static
12113           since it is only used by other functions in the same file.
12115 Thu Jul 16 04:13:48 GMT 2009  Olly Betts <olly@survex.com>
12117         * queryparser/queryparser.lemony: Fix comment typo.
12119 Thu Jul 16 03:59:49 GMT 2009  Olly Betts <olly@survex.com>
12121         * api/sorter.cc,include/xapian/sorter.h: MultiValueSorter doesn't
12122           need an explicit dtor - it's enough that Sorter has a virtual dtor.
12124 Thu Jul 16 03:29:41 GMT 2009  Olly Betts <olly@survex.com>
12126         * AUTHORS: Add Andreas Flöter for the Solaris package howto.
12128 Wed Jul 15 14:37:19 GMT 2009  Olly Betts <olly@survex.com>
12130         * matcher/rset.cc: Just pass pointer as AutoPtr constructor parameter
12131           rather constructing a temporary AutoPtr and invoking the assignment
12132           operator.
12134 Wed Jul 15 03:43:35 GMT 2009  Olly Betts <olly@survex.com>
12136         * common/omenquireinternal.h: "class" -> "object" in doc comment.
12138 Wed Jul 15 03:38:55 GMT 2009  Olly Betts <olly@survex.com>
12140         * tests/runtest.in: Raise the fd limit from 32 to 64 - multi_flint
12141           tests need more than 32 fds.
12143 Tue Jul 14 20:32:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12145         * api/omenquire.cc,common/omenquireinternal.h: Revert r13052, which
12146           changed Enquire::Internal::weight not to be mutable.  Expand the
12147           comment explaining why it's mutable.
12149 Tue Jul 14 18:40:43 GMT 2009  Olly Betts <olly@survex.com>
12151         * tests/runtest.in: Use "ulimit -n" where available to limit the
12152           number of available file descriptors to 32 so we catch file
12153           descriptor leaks sooner.
12155 Tue Jul 14 16:53:48 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12157         * api/omenquire.cc,common/omenquireinternal.h: Tidy up mutable
12158           Weight member on Enquire::Internal class; make it non-mutable,
12159           and just make a temporary BM25Weight object if the weight member
12160           was NULL.
12162 Tue Jul 14 12:36:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12164         * common/output.h: Display a "<NULL $CLASSNAME>" message in debug
12165           output when a pointer being output is NULL.  Previously, NULL
12166           Query::Internal pointers were causing segfaults with debug
12167           logging for many tests (eg, emptyquery1).
12169 Sun Jul 12 14:56:18 GMT 2009  Olly Betts <olly@survex.com>
12171         * backends/chert/chert_database.cc: We no longer have a "value" table
12172           (values are now stored in the postlist and termlist tables) so fix
12173           comments not to refer to it.
12175 Sun Jul 12 14:47:17 GMT 2009  Olly Betts <olly@survex.com>
12177         * backends/chert/: Add new ChertLazyTable class and subclass lazy
12178           tables from it so that we only need to implement the common
12179           differences once.
12181 Sun Jul 12 13:41:27 GMT 2009  Olly Betts <olly@survex.com>
12183         * api/replication.cc: No point using join_paths() to append a literal
12184           leaf name, especially as we already don't elsewhere.
12186 Sun Jul 12 12:01:25 GMT 2009  Olly Betts <olly@survex.com>
12188         * queryparser/queryparser.lemony: Fix memory leak accidentally
12189           introduced in r13005.
12191 Sun Jul 12 11:40:26 GMT 2009  Olly Betts <olly@survex.com>
12193         * tests/api_opsynonym.cc: Remove debug "cout" calls.
12195 Sun Jul 12 09:43:06 GMT 2009  Olly Betts <olly@survex.com>
12197         * matcher/queryoptimiser.cc: Don't just skip counting subqueries which
12198           are the RHS of OP_AND_NOT - skip based on factor == 0.0, which means
12199           we get the RHS of OP_FILTER too.
12200         * tests/api_percentages.cc: Add topercent4 as a regression test for
12201           this.
12203 Sun Jul 12 09:32:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12205         * matcher/andmaybepostlist.cc: Add DEBUGCALL macro to
12206           count_matching_subqs() to fix build with assertions.
12208 Sun Jul 12 08:17:02 GMT 2009  Olly Betts <olly@survex.com>
12210         * matcher/remotesubmatch.cc: Percentage scaling for remote results is
12211           handled in a different way, so replace FIXME with comment noting
12212           this.
12214 Sun Jul 12 05:48:17 GMT 2009  Olly Betts <olly@survex.com>
12216         * matcher/multimatch.cc: Fix handling of percentage weights in various
12217           cases when we're searching multiple remote databases or a mix of
12218           local and remote databases.
12219         * tests/api_percentages.cc: Add regression test topercent3.
12221 Sat Jul 11 13:35:02 GMT 2009  Olly Betts <olly@survex.com>
12223         * matcher/mergepostlist.cc: Fix file description - MergePostList can
12224           merge any number of posting lists, not just two.
12226 Sat Jul 11 13:09:40 GMT 2009  Olly Betts <olly@survex.com>
12228         * matcher/extraweightpostlist.h:
12229           ExtraWeightPostList::read_position_list() and
12230           ExtraWeightPostList::open_position_list() aren't used, so remove
12231           them.
12233 Sat Jul 11 12:54:30 GMT 2009  Olly Betts <olly@survex.com>
12235         * api/leafpostlist.cc,api/postlist.cc,common/leafpostlist.h,
12236           common/postlist.h,common/submatch.h,matcher/,tests/api_anydb.cc,
12237           tests/api_opsynonym.cc: Count how many leaf subqueries match for the
12238           document with the highest weight when calculating the percentage
12239           weights, instead of using the termlist of that document (ticket#363).
12240           Also fixes XOR with a SYNONYM subquery which could achieve 100%
12241           weight before.
12243 Fri Jul 10 08:02:18 GMT 2009  Olly Betts <olly@survex.com>
12245         * api/omdatabase.cc,backends/chert/chert_spelling.cc,
12246           backends/flint/flint_spelling.cc,common/database.h: Deal with the
12247           case of get_spelling_suggestion() with an empty or single character
12248           word up front.
12250 Thu Jul 09 16:20:47 GMT 2009  Olly Betts <olly@survex.com>
12252         * tests/harness/backendmanager_remotetcp.cc: In clean_up(), only scan
12253           through the pid_to_fd array once, and disable the signal handler
12254           and call waitpid() for any remaining pids ourselves, rather than
12255           calling sleep(1) and rechecking.  This should avoid pointless delays
12256           when the child hasn't exited when we first check.
12258 Thu Jul 09 12:40:52 GMT 2009  Olly Betts <olly@survex.com>
12260         * tests/harness/: BackendManager has a virtual dtor, so we don't need
12261           empty virtual dtors in its subclasses.
12263 Thu Jul 09 11:40:20 GMT 2009  Olly Betts <olly@survex.com>
12265         * tests/harness/backendmanager_remotetcp.cc,
12266           tests/harness/backendmanager_remotetcp.h: Move the
12267           BackendManagerRemoteTcp ctor back into the header now it is trivial
12268           again.
12270 Wed Jul 08 16:56:53 GMT 2009  Olly Betts <olly@survex.com>
12272         * backends/flint/flint_io.h: Backport change to use F_FULLSYNC from
12273           chert.
12275 Wed Jul 08 15:30:22 GMT 2009  Olly Betts <olly@survex.com>
12277         * configure.ac: Check that we can find the valgrind/memcheck.h header
12278           as well as the valgrind binary.
12280 Wed Jul 08 14:30:53 GMT 2009  Olly Betts <olly@survex.com>
12282         * tests/harness/backendmanager_remotetcp.cc: Sort out the clash
12283           between two different patches to fix leaking file descriptors.
12284           Also, call clean_up() from the destructor to correctly handle the
12285           case when a BackendManagerRemoteTcp is created by a test case
12286           directly.
12288 Wed Jul 08 14:17:43 GMT 2009  Olly Betts <olly@survex.com>
12290         * tests/harness/: Rename "posttest()" method to "clean_up()" - I keep
12291           thinking "power-on self-test".
12293 Wed Jul 08 05:08:09 GMT 2009  Olly Betts <olly@survex.com>
12295         * backends/chert/chert_io.h: Use F_FULLFSYNC where available (Mac OS X
12296           currently).  (ticket#288)
12298 Tue Jul 07 09:31:35 GMT 2009  Olly Betts <olly@survex.com>
12300         * queryparser/queryparser.lemony: If default_op is OP_NEAR or OP_PHRASE
12301           then make the default window size (9 + no_of_terms), like it would be
12302           for an explicit NEAR or PHRASE without an explicit window size.
12303           (ticket#254)
12304         * tests/queryparsertest.cc: Add feature tests for this.
12306 Tue Jul 07 07:18:15 GMT 2009  Olly Betts <olly@survex.com>
12308         * HACKING,api/,backends/chert/,backends/flint/,
12309           backends/remote/remote-database.cc,common/,languages/steminternal.h,
12310           net/,queryparser/queryparser.cc,tests/harness/,tests/internaltest.cc,
12311           tests/perftest/freemem.cc,tests/perftest/perftest_randomidx.cc,
12312           tests/stemtest.cc,unicode/utf8itor.cc: Update to use C++ forms for
12313           ISO C standard headers (ticket#330).
12315 Tue Jul 07 05:30:58 GMT 2009  Olly Betts <olly@survex.com>
12317         * backends/inmemory/inmemory_database.h: Use "omassert.h" not
12318           <omassert.h>.
12320 Mon Jul 06 04:30:59 GMT 2009  Olly Betts <olly@survex.com>
12322         * AUTHORS: Add Rolf Köhling for fixes for Omega on MS Windows.
12324 Sun Jul 05 16:28:54 GMT 2009  Olly Betts <olly@survex.com>
12326         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
12327           Backport the lazyupdate changes from chert to flint.
12329 Sun Jul 05 13:12:53 GMT 2009  Olly Betts <olly@survex.com>
12331         * tests/harness/backendmanager.cc,tests/harness/backendmanager.h: Move
12332           virtual destructor definition out of the header.
12334 Sun Jul 05 04:09:04 GMT 2009  Olly Betts <olly@survex.com>
12336         * common/documentterm.h: Add const to OmDocumentTerm::get_wdf() method
12337           (ticket#139).
12339 Sat Jul 04 16:45:43 GMT 2009  Olly Betts <olly@survex.com>
12341         * queryparser/lemon.c: Merge upstream "Check-in Number: 6757" - no
12342           functional changes in generated code for our parser.
12344 Sat Jul 04 16:39:41 GMT 2009  Olly Betts <olly@survex.com>
12346         * queryparser/lemon.c: Merge upstream "Check-in Number: 6756" - no
12347           functional changes in generated code for our parser.
12349 Sat Jul 04 16:36:59 GMT 2009  Olly Betts <olly@survex.com>
12351         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
12352           "Check-in Number: 6755" - no functional changes in generated code for
12353           our parser.
12355 Sat Jul 04 16:29:24 GMT 2009  Olly Betts <olly@survex.com>
12357         * queryparser/lemon.c: Merge upstream "Check-in Number: 6754" - no
12358           changes in generated code for our parser.
12360 Sat Jul 04 16:24:45 GMT 2009  Olly Betts <olly@survex.com>
12362         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6749" -
12363           only changes are in code which isn't compiled due to preprocessor
12364           conditionals.
12366 Sat Jul 04 16:02:08 GMT 2009  Olly Betts <olly@survex.com>
12368         * api/editdistance.cc: Add const to is_transposed() method
12369           (ticket#139).
12371 Sat Jul 04 15:19:55 GMT 2009  Olly Betts <olly@survex.com>
12373         * backends/chert/chert_lock.h,backends/flint/flint_lock.h: Make
12374           ChertLock::operator bool() and FlintLock::operator bool() const
12375           (ticket#139).
12377 Sat Jul 04 14:56:42 GMT 2009  Olly Betts <olly@survex.com>
12379         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
12380           backends/flint/flint_database.cc,backends/flint/flint_database.h:
12381           Make ChertDatabase::get_changeset_revisions() and
12382           FlintDatabase::get_changeset_revisions() const (ticket#139).
12384 Sat Jul 04 14:10:55 GMT 2009  Olly Betts <olly@survex.com>
12386         * backends/chert/chert_changesetapplier.h,
12387           backends/flint/flint_changesetapplier.h: "the the" -> "the" in
12388           comments.
12390 Sat Jul 04 14:06:39 GMT 2009  Olly Betts <olly@survex.com>
12392         * backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h:
12393           Make ChertTable_base::do_unpack_uint() just a static non-class
12394           function.  Use string::+= to build up the error string in it, and
12395           mark the error case as rare.
12397 Wed Jul 01 04:12:22 GMT 2009  Olly Betts <olly@survex.com>
12399         * docs/spelling.rst: Omega now supports spelling correction.
12401 Mon Jun 29 08:16:13 GMT 2009  Olly Betts <olly@survex.com>
12403         * queryparser/queryparser.lemony: Reset the begin and end strings
12404           before trying the next ValueRangeProcessor in case they've been
12405           modified.
12406         * tests/queryparsertest.cc: Add regression tests and general coverage
12407           for this area.
12409 Mon Jun 29 06:33:45 GMT 2009  Olly Betts <olly@survex.com>
12411         * backends/remote/net_postlist.cc: Remove unused '#include
12412           "serialise-double.h"'.
12414 Mon Jun 29 06:32:52 GMT 2009  Olly Betts <olly@survex.com>
12416         * backends/remote/net_postlist.cc: Build up description string using
12417           +=.
12419 Sun Jun 28 14:50:56 GMT 2009  Olly Betts <olly@survex.com>
12421         * backends/remote/net_postlist.h: Fix internal doc comment.
12423 Sat Jun 27 13:35:45 GMT 2009  Olly Betts <olly@survex.com>
12425         * configure.ac: -Wshadow produces false positives with GCC 4.0, so
12426           only enable  it for >= 4.1 since we enable -Werror for
12427           maintainer-mode builds for GCC >= 4.0.
12429 Sat Jun 27 13:30:22 GMT 2009  Olly Betts <olly@survex.com>
12431         * backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h:
12432           Fix return type of MultiTermList::positionlist_count() to be
12433           Xapian::termcount rather than Xapian::termpos.
12435 Sat Jun 27 12:50:17 GMT 2009  Olly Betts <olly@survex.com>
12437         * backends/flint/flint_alltermslist.h,backends/flint/flint_postlist.cc,
12438           backends/flint/flint_postlist.h: Fix to use Xapian::doccount for
12439           termfreq in flint too.
12441 Sat Jun 27 12:28:47 GMT 2009  Olly Betts <olly@survex.com>
12443         * backends/chert/chert_alltermslist.cc: Prefer 'str.resize(0)' to
12444           'str = ""'.
12446 Sat Jun 27 12:16:17 GMT 2009  Olly Betts <olly@survex.com>
12448         * backends/chert/chert_alltermslist.h,backends/chert/chert_postlist.h:
12449           Fix to use Xapian::doccount for termfreq in more places.
12451 Sat Jun 27 11:51:25 GMT 2009  Olly Betts <olly@survex.com>
12453         * backends/chert/chert_table.cc: Change so add_item_to_block() can
12454           always assume there is another contiguous space in the block
12455           (previously it could assume that there was enough space, but not
12456           that it was necessarily contiguous).
12458 Sat Jun 27 09:55:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12460         * include/xapian/postingsource.h,include/xapian/weight.h: Add note
12461           that PostingSource and Weight objects returned by clone() and
12462           unserialise() methods will be deallocated with "delete".
12464 Sat Jun 27 07:26:41 GMT 2009  Olly Betts <olly@survex.com>
12466         * backends/chert/chert_postlist.cc: Adjust use of Xapian::doccount vs
12467           Xapian::termcount for consistency so things work better when these
12468           types aren't identical.
12470 Sat Jun 27 01:48:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12472         * api/matchspy.cc: Remove unused matchspy.cc - there is an updated
12473           version of this on the matchspy branch; having an old copy here
12474           is just likely to lead to confusion.
12476 Fri Jun 26 05:42:26 GMT 2009  Olly Betts <olly@survex.com>
12478         * api/documentvaluelist.cc,api/documentvaluelist.h: Change
12479           DocumentValueList::skip_to()'s parameter type from Xapian::valueno
12480           to Xapian::docid to agree with the type in ValueList::skip_to().
12481           This is a latent bug - it doesn't matter provided the types are
12482           actually the same (ticket#385).
12484 Thu Jun 25 11:20:07 GMT 2009  Olly Betts <olly@survex.com>
12486         * matcher/phrasepostlist.cc: Use Xapian::termcount(1) instead of 1u
12487           so that the code doesn't assume Xapian::termcount is unsigned int.
12489 Sun Jun 21 12:09:55 GMT 2009  Olly Betts <olly@survex.com>
12491         * backends/chert/chert_check.cc,backends/chert/chert_table.cc,
12492           backends/chert/chert_table.h: Replace duplicated macros with
12493           a single version in chert_table.h, and use DIR_START instead of
12494           a literal 11 in that header.
12495         * backends/chert/chert_table.h: Add more assertions.  Use
12496           BYTES_PER_BLOCK_NUMBER instead of a literal 4 in more places.
12498 Sat Jun 20 07:38:56 GMT 2009  Olly Betts <olly@survex.com>
12500         * backends/chert/chert_table.cc,backends/flint/flint_table.cc: Fix
12501           misspelling in comment (neccessary -> necessary).
12503 Sat Jun 20 07:38:06 GMT 2009  Olly Betts <olly@survex.com>
12505         * backends/chert/chert_table.cc: Don't reconstruct Item(p, c) when we
12506           already have it as a local variable.
12508 Wed Jun 17 01:23:16 GMT 2009  Olly Betts <olly@survex.com>
12510         * common/str.cc: Fix potential warning in signed version of str().
12512 Tue Jun 16 11:20:43 GMT 2009  Olly Betts <olly@survex.com>
12514         * tests/harness/testsuite.cc,tests/harness/testsuite.h: Factor out
12515           writing out what was sent to tout and clearing it into a new
12516           method test_driver::write_and_clear_tout().
12517         * tests/harness/testsuite.cc: Prefer string() to "".  When sending a
12518           colour change code, do it before the preceding space when that allows
12519           string literals to be merged.  Always give the full exception message
12520           (was conditional on --verbose).  Tidy up output for reporting the
12521           various different exception types and other failures to give more
12522           consistent output.
12524 Tue Jun 16 11:01:14 GMT 2009  Olly Betts <olly@survex.com>
12526         * tests/harness/scalability.cc: Increase the number of tests until the
12527           first sample takes more than 0.001 seconds to avoid trying to base
12528           calculations on a length of time we probably can't reliably measure
12529           to start with.
12531 Tue Jun 16 10:58:34 GMT 2009  Olly Betts <olly@survex.com>
12533         * tests/harness/cputimer.cc: Don't bother trying to count CPU time
12534           for child processes, as it's hard to ensure that the child processes
12535           have finished with the current framework, and just counting time in
12536           the current process checks most things (the local backend tests cover
12537           much of the work done by the server part of the remote backend).
12539 Tue Jun 16 02:15:31 GMT 2009  Olly Betts <olly@survex.com>
12541         * tests/harness/cputimer.h: Don't need '#include <ctime>'.
12543 Tue Jun 16 02:10:29 GMT 2009  Olly Betts <olly@survex.com>
12545         * tests/harness/cputimer.h: Fix naming of header multiple-inclusion
12546           protection macro.
12548 Sun Jun 14 14:11:51 GMT 2009  Olly Betts <olly@survex.com>
12550         * tests/internaltest.cc: In testcase serialisequery1, use a helper
12551           function rather than wasting effort building a std::list with all the
12552           testcases in just so we can iterate over them.
12554 Sun Jun 14 13:52:22 GMT 2009  Olly Betts <olly@survex.com>
12556         * tests/harness/testsuite.cc: <iomanip> isn't used so remove it.
12558 Sun Jun 14 13:30:34 GMT 2009  Olly Betts <olly@survex.com>
12560         * tests/harness/testsuite.h: Fix comment typo.
12562 Sat Jun 13 06:30:57 GMT 2009  Olly Betts <olly@survex.com>
12564         * tests/api_anydb.cc: Fix reversed conditional in last but one change.
12566 Sat Jun 13 04:42:27 GMT 2009  Olly Betts <olly@survex.com>
12568         * tests/api_anydb.cc: Use TEST_EQUAL_DOUBLE() when comparing
12569           get_max_attained() to allow for rounding differences.
12571 Sat Jun 13 04:39:49 GMT 2009  Olly Betts <olly@survex.com>
12573         * tests/api_anydb.cc: Use "startswith()" rather than comparing an
12574           extracted substring.
12576 Fri Jun 12 12:45:37 GMT 2009  Olly Betts <olly@survex.com>
12578         * tests/harness/backendmanager_remotetcp.cc: Fix the mechanism for
12579           closing the file descriptors used by child xapian-tcpsrv processes
12580           once they exit, which has been broken ever since it was added nearly
12581           two years ago (sigh).  Fixes fd leaking which caused "apitest
12582           -bremotetcp" to fail on OpenBSD (ticket#382).
12584 Fri Jun 12 03:37:13 GMT 2009  Olly Betts <olly@survex.com>
12586         * tests/harness/backendmanager_remotetcp.cc: Fix comment typo.
12588 Wed Jun 10 04:29:43 GMT 2009  Olly Betts <olly@survex.com>
12590         * common/serialise-double.cc,common/serialise-double.h: Relicense as
12591           MIT/X rather than GPLv2+ as these are low level routines which other
12592           projects may find useful.
12594 Tue Jun 09 14:34:20 GMT 2009  Olly Betts <olly@survex.com>
12596         * NEWS: Update for 1.1.1.
12598 Tue May 26 14:55:05 GMT 2009  Olly Betts <olly@survex.com>
12600         * configure.ac: Update version to 1.1.1.
12602 Tue May 26 14:49:23 GMT 2009  Olly Betts <olly@survex.com>
12604         * NEWS: Lick into shape.
12606 Mon May 25 11:55:59 GMT 2009  Olly Betts <olly@survex.com>
12608         * PLATFORMS: Sync with changes in 1.0 version.
12610 Mon May 25 10:57:59 GMT 2009  Olly Betts <olly@survex.com>
12612         * common/weightinternal.h: Remove declarations of unimplemented
12613           constructors (ticket#379).
12615 Sat May 23 16:06:05 GMT 2009  Olly Betts <olly@survex.com>
12617         * NEWS: Update from 1.0.13 and ChangeLog.
12619 Sat May 23 15:35:39 GMT 2009  Olly Betts <olly@survex.com>
12621         * HACKING: ValueIterator is now a PIMPL class like TermIterator, etc.
12623 Sat May 23 05:24:33 GMT 2009  Olly Betts <olly@survex.com>
12625         * docs/postingsource.rst: Since we are sticking with an recursive
12626           maxweight recalculation for now, add back a warning about the
12627           potential overhead from calling set_maxweight() very frequently,
12628           with an informed estimate for the worst case overhead.
12630 Fri May 22 11:44:04 GMT 2009  Olly Betts <olly@survex.com>
12632         * backends/inmemory/inmemory_database.cc: We can trivially make
12633           Database::metadata_keys_begin() work for inmemory in the special
12634           case when there are no keys, so do so.
12635         * tests/api_metadata.cc: Add test coverage for this case.
12637 Fri May 22 09:31:07 GMT 2009  Olly Betts <olly@survex.com>
12639         * configure.ac: Only bother passing -Winit-self for GCC >= 4.3, as it
12640           doesn't do anything for GCC <= 4.4 anyway.
12642 Fri May 22 07:00:29 GMT 2009  Olly Betts <olly@survex.com>
12644         * backends/flint/flint_version.h: Initialise filename using + not +=.
12645           Fix odd whitespace in recent change.
12647 Fri May 22 05:27:56 GMT 2009  Olly Betts <olly@survex.com>
12649         * AUTHORS: Update.
12651 Fri May 22 05:24:19 GMT 2009  Olly Betts <olly@survex.com>
12653         * api/postingsource.cc,common/multimatch.h,matcher/multimatch.cc:
12654           Replace MultiMatch::reduce_maxweight_by() with a call to
12655           MultiMatch::recalc_maxweight() and inline the later from the header.
12657 Fri May 22 05:16:03 GMT 2009  Olly Betts <olly@survex.com>
12659         * configure.ac: Enable more GCC warnings - "-Woverloaded-virtual" for
12660           all versions, "-Wstrict-null-sentinel" for 4.0+, "-Wlogical-op
12661           -Wmissing-declarations" for 4.3+.  Notably "-Wmissing-declarations"
12662           caught that consistency2 wasn't being run.
12664 Fri May 22 05:15:08 GMT 2009  Olly Betts <olly@survex.com>
12666         * languages/steminternal.cc,languages/steminternal.h: Inline simple
12667           Stem::Internal::Internal() constructor from header.
12669 Thu May 21 16:23:26 GMT 2009  Olly Betts <olly@survex.com>
12671         * tests/harness/backendmanager_remotetcp.cc: Make on_SIGCHLD() static.
12673 Thu May 21 16:22:56 GMT 2009  Olly Betts <olly@survex.com>
12675         * tests/api_wrdb.cc: Fix testcase consistency2 to actually be run.
12677 Thu May 21 16:22:30 GMT 2009  Olly Betts <olly@survex.com>
12679         * tests/api_transdb.cc: Add missing '#include "api_transdb.h"'.
12681 Thu May 21 12:58:22 GMT 2009  Olly Betts <olly@survex.com>
12683         * backends/databasereplicator.cc: Don't bother to check if the
12684           database path works in stat() and is a directory - the case we want
12685           to be fast is when the database does exist, and if path +
12686           "/iamflint" (or "iamchert") exists, then the check for path being a
12687           directory is redundant.  If the path isn't a flint or chert database
12688           then a generic message including the path seems sufficient.
12690 Thu May 21 09:17:15 GMT 2009  Olly Betts <olly@survex.com>
12692         * backends/databasereplicator.cc,common/databasereplicator.h: Inline
12693           empty DatabaseReplicator default ctor.
12695 Thu May 21 08:25:24 GMT 2009  Olly Betts <olly@survex.com>
12697         * api/replication.cc: Cache the result of get_replica_path() when we
12698           are going to need it again.
12700 Thu May 21 08:09:51 GMT 2009  Olly Betts <olly@survex.com>
12702         * backends/chert/chert_databasereplicator.h,
12703           backends/flint/flint_databasereplicator.h: Correct parent class name
12704           in doxygen comments.
12706 Thu May 21 08:08:06 GMT 2009  Olly Betts <olly@survex.com>
12708         * HACKING: Update list of Debian/Ubuntu packages needed to for a
12709           development environment.
12711 Thu May 21 06:28:00 GMT 2009  Olly Betts <olly@survex.com>
12713         * backends/databasereplicator.cc: Fix nested comment start introduced
12714           by the previous commit.
12716 Thu May 21 06:21:39 GMT 2009  Olly Betts <olly@survex.com>
12718         * api/replication.cc,backends/databasereplicator.cc,
12719           common/databasereplicator.h: We only keep one pointer to a
12720           DatabaseReplicator, so use AutoPtr not RefCntPtr.
12722 Thu May 21 05:00:17 GMT 2009  Olly Betts <olly@survex.com>
12724         * api/replication.cc: Fix SEGV when calling get_description() on a
12725           default constructed DatabaseReplica.
12726         * tests/generate-api_generated: Test DatabaseReplica (regression test
12727           for the above bug) and SerialisationContext.   Fix @file in the
12728           generated api_generated.cc.  Update (C) dates in generated
12729           api_generated.cc.
12731 Thu May 21 03:58:59 GMT 2009  Olly Betts <olly@survex.com>
12733         * tests/generate-api_generated: Call get_description() on the default
12734           constructed object to make sure that works (and doesn't try to
12735           dereference NULL, or fail some assertion, etc).  All currently
12736           checked classes are fine - this is to avoid future regressions or
12737           such problems with new classes.
12739 Wed May 20 14:19:54 GMT 2009  Olly Betts <olly@survex.com>
12741         * net/tcpclient.cc,net/tcpserver.cc: Fix xapian-tcpsrv --interface
12742           option to work on MacOS X (ticket#373).
12744 Wed May 20 13:58:09 GMT 2009  Olly Betts <olly@survex.com>
12746         * api/omdatabase.cc,api/sortable-serialise.cc,backends/chert/,
12747           backends/flint/,backends/remote/remote-database.cc,
12748           common/serialise-double.cc,common/str.cc,
12749           matcher/exactphrasepostlist.cc,net/remoteconnection.cc,
12750           net/remoteserver.cc: Replace C-style casts.  Add a few missing casts.
12751           Tweak types used in a few places.
12753 Wed May 20 13:55:41 GMT 2009  Olly Betts <olly@survex.com>
12755         * backends/chert/chert_databasereplicator.cc,
12756           backends/flint/flint_databasereplicator.cc: Need <cstdio> for
12757           rename().  Replace C-style cast to off_t.
12759 Wed May 20 13:53:25 GMT 2009  Olly Betts <olly@survex.com>
12761         * api/editdistance.cc: Make edist_state class uncopyable and
12762           unassignable.  Initialise maxdist in the initialiser list.
12764 Wed May 20 11:19:53 GMT 2009  Olly Betts <olly@survex.com>
12766         * languages/steminternal.cc,languages/steminternal.h: Change C-style
12767           casts to C++-style ones.
12769 Wed May 20 10:40:03 GMT 2009  Olly Betts <olly@survex.com>
12771         * common/str.h: Add static_cast<char>() to suppress bogus MSVC
12772           warning (ticket#377).
12774 Tue May 19 15:26:39 GMT 2009  Olly Betts <olly@survex.com>
12776         * backends/chert/,backends/flint/,common/rset.h,tests/api_anydb.cc:
12777           Pass std::string by const reference rather than value (except in
12778           a few cases where we need a modifiable copy anyway) as benchmarking
12779           shows this is better even with GCC's reference counted std::string
12780           implementation (ticket#140).
12781         * tests/api_anydb.cc: Use string() instead of "" for an empty string.
12783 Tue May 19 08:47:55 GMT 2009  Olly Betts <olly@survex.com>
12785         * api/omquery.cc,include/xapian/query.h: Make Xapian::Query::MatchAll
12786           and Xapian::Query::MatchNothing const since they're immutable.  All
12787           the public methods are const, so this should be completely API
12788           compatible.
12790 Tue May 19 06:25:26 GMT 2009  Olly Betts <olly@survex.com>
12792         * include/xapian/enquire.h: Document what passing maxitems=0 to
12793           get_mset() does.
12795 Mon May 18 13:32:49 GMT 2009  Olly Betts <olly@survex.com>
12797         * include/xapian/database.h: Correct doxygen comments for user
12798           metadata functions: get_metadata() can't throw UnimplementedError
12799           but set_metadata() can.
12800         * include/xapian/database.h,tests/api_metadata.cc: Document that
12801           metadata_keys_begin() returns an end iterator if the backend doesn't
12802           support metadata, and add test coverage for this case.
12803         * backends/inmemory/inmemory_database.cc,
12804           backends/inmemory/inmemory_database.h,include/xapian/database.h,
12805           tests/api_metadata.cc,tests/harness/testrunner.cc: The test harness
12806           didn't have the inmemory backend flagged as supporting
12807           user-specified metadata, and so it's perhaps not a great surprise to
12808           discover that inmemory doesn't support it fully - you can't iterate
12809           over metadata keys, but instead get an empty iteration.  Fix this
12810           to at least throw UnimplementedError and document that this is the
12811           situation.
12813 Mon May 18 11:29:10 GMT 2009  Olly Betts <olly@survex.com>
12815         * tests/Makefile.am,tests/api_metadata.cc,tests/api_wrdb.cc: Split out
12816           tests of user metadata into their own file.
12818 Sun May 17 12:52:41 GMT 2009  Olly Betts <olly@survex.com>
12820         * matcher/: Add a new constructor to MultiAndPostList for the "decay
12821           from OrPostList or AndMaybePostList" case which takes the already
12822           know max weights to avoid having to refetch them.  Also, we know
12823           that the subpostlists of OrPostList are ordered a particular way
12824           so can avoid needing to check the order in that case.
12826 Sat May 16 05:02:35 GMT 2009  Olly Betts <olly@survex.com>
12828         * backends/flint/flint_version.cc: Fix comment - this file doesn't
12829           use memcpy() now.
12831 Thu May 14 04:38:47 GMT 2009  Olly Betts <olly@survex.com>
12833         * tests/api_percentages.cc: Remove superfluous explicit std::
12834           qualifiers.
12836 Thu May 14 04:36:29 GMT 2009  Olly Betts <olly@survex.com>
12838         * tests/api_percentages.cc: Update for the PostingSource
12839           get_maxweight() API changes.
12841 Tue May 12 14:50:57 GMT 2009  Olly Betts <olly@survex.com>
12843         * matcher/multimatch.cc: Rename "max_weight" variable to "max_possible"
12844           since that is what it is referred to via the MSet API.
12846 Tue May 12 12:38:11 GMT 2009  Olly Betts <olly@survex.com>
12848         * common/safeuuid.h: Fix length of buffer to lower case - it's
12849           36, not sizeof(uuid_t).
12851 Tue May 12 02:49:34 GMT 2009  Olly Betts <olly@survex.com>
12853         * common/safeuuid.h,configure.ac: Older versions of libuuid don't have
12854           uuid_unparse_lower() so probe for it in configure, and if it isn't
12855           present provide an inline version in safeuuid.h (ticket#368).
12857 Mon May 11 13:07:47 GMT 2009  Olly Betts <olly@survex.com>
12859         * tests/api_postingsource.cc: In changemaxweightsource1, set
12860           descending docid order so that the matcher isn't able to terminate
12861           early after 4 documents just because weight == maxweight.
12863 Mon May 11 12:00:04 GMT 2009  Olly Betts <olly@survex.com>
12865         * net/serialise.cc: Build up string using +=.
12867 Mon May 11 11:39:49 GMT 2009  Olly Betts <olly@survex.com>
12869         * docs/postingsource.rst: Improve documentation for get_maxweight().
12871 Mon May 11 11:26:02 GMT 2009  Olly Betts <olly@survex.com>
12873         * include/xapian/postingsource.h: Initialise max_weight_ to 0 in the
12874           PostingSource constructor in case nobody else sets a value for it.
12876 Mon May 11 10:54:47 GMT 2009  Olly Betts <olly@survex.com>
12878         * tests/api_postingsource.cc: Fix class name in FAIL_TEST message.
12880 Mon May 11 10:41:31 GMT 2009  Olly Betts <olly@survex.com>
12882         * tests/api_postingsource.cc: Fix get_termfreq_min(), etc for
12883           ChangeMaxweightPostingSource to return 4 not 5.
12885 Mon May 11 09:03:14 GMT 2009  Olly Betts <olly@survex.com>
12887         * api/postingsource.cc: Remove assertion checking that set_maxweight()
12888           doesn't set a lower weight - it legitimately can when we call init()
12889           on a non-clone-able PostingSource for reuse.
12891 Mon May 11 03:12:00 GMT 2009  Olly Betts <olly@survex.com>
12893         * api/postingsource.cc,common/multimatch.h,docs/postingsource.rst,
12894           include/xapian/postingsource.h,matcher/externalpostlist.cc,
12895           matcher/externalpostlist.h,matcher/msetpostlist.cc,
12896           tests/api_postingsource.cc: Replace PostingSource's
12897           notify_new_maxweight() and virtual get_maxweight() mechanism with a
12898           non-virtual set_maxweight() and get_maxweight().  Currently the
12899           plumbing at the matcher end is much as before, but this API seems
12900           more obvious to the user and will allow the matcher to simply reduce
12901           its maximum weight value rather than having to recursively call
12902           recalc_maxweight() in response to this situation (ticket#340).
12904 Mon May 11 02:38:26 GMT 2009  Olly Betts <olly@survex.com>
12906         * docs/postingsource.rst: Fix a typo and reword to avoid "namespaced".
12908 Mon May 11 02:30:59 GMT 2009  Olly Betts <olly@survex.com>
12910         * matcher/msetpostlist.cc: Fix typo - MSetPostList::get_maxweight()
12911           with a sort ordered primarily by decreasing relevance was returning
12912           the docid for the maxweight!  This could have led to wrong results
12913           when searching multiple databases with the remote backend, but
12914           probably usually didn't matter as with BM25 the weights are usually
12915           small (often all < 1) while docids are inevitably >= 1.  No
12916           regression test for this (currently anyway).
12918 Sun May 10 07:49:11 GMT 2009  Olly Betts <olly@survex.com>
12920         * backends/dbfactory.cc: Fix comment typo.
12922 Sat May 09 14:15:38 GMT 2009  Olly Betts <olly@survex.com>
12924         * tests/api_collapse.cc,tests/perftest/runprocess.cc: Remove unused
12925           include of <iostream>.
12927 Sat May 09 14:03:34 GMT 2009  Olly Betts <olly@survex.com>
12929         * api/omquery.cc,matcher/andnotpostlist.cc,
12930           queryparser/termgenerator_internal.cc,tests/api_wrdb.cc: Remove
12931           unused inclusions of <algorithm>.
12933 Sat May 09 13:47:54 GMT 2009  Olly Betts <olly@survex.com>
12935         * matcher/multimatch.cc: Remove unused inclusion of <queue>.
12937 Sat May 09 13:38:02 GMT 2009  Olly Betts <olly@survex.com>
12939         * api/omquery.cc,api/omqueryinternal.cc,api/replication.cc,
12940           backends/alltermslist.cc,backends/chert/chert_table.cc,
12941           backends/flint/flint_table.cc,bin/xapian-compact.cc,
12942           common/bitstream.cc,common/inmemory_positionlist.h,
12943           common/positionlist.h,matcher/localmatch.h,matcher/queryoptimiser.cc,
12944           matcher/queryoptimiser.h,tests/api_wrdb.cc: Remove unused inclusions
12945           of <list>, <map>, <string>, and <vector>.
12947 Sat May 09 12:48:18 GMT 2009  Olly Betts <olly@survex.com>
12949         * api/documentvaluelist.cc,matcher/queryoptimiser.cc: Remove unused
12950           '#include "autoptr.h"'.
12952 Sat May 09 09:41:03 GMT 2009  Olly Betts <olly@survex.com>
12954         * queryparser/queryparser.lemony,queryparser/termgenerator.cc,
12955           weight/bm25weight.cc,weight/boolweight.cc,weight/tradweight.cc:
12956           Remove unneeded explicit "std::" qualifiers.
12958 Sat May 09 09:35:32 GMT 2009  Olly Betts <olly@survex.com>
12960         * weight/weight.cc: Doesn't use '#include "autoptr.h"'.
12962 Fri May 08 19:59:00 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12964         * configure.ac: Change source file which autoconf looks for, since
12965           I've just removed the old one that it looked for!
12967 Fri May 08 19:28:31 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12969         * matcher/andmaybepostlist.cc,matcher/branchpostlist.h: Call
12970           check() instead of skip_to() on the optional branch of AND_MAYBE.
12971           This can be much faster if that branch is a posting source.
12973 Fri May 08 18:31:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12975         * matcher/: Remove AndPostList, in favour of MultiAndPostList.
12976           AndPostList was only used as a decay product (by AndMaybePostList
12977           and OrPostList); for most queries, MultiAnd has pretty much
12978           indistinguishable performance as far as I can test; however, it
12979           uses check() when possible, which makes performance much better
12980           with searches involving external posting sources.  Removal also
12981           reduces the amount of code cluttering up the caches during a
12982           search, so may help speed things up in some other situations.
12984 Fri May 08 16:00:42 GMT 2009  Olly Betts <olly@survex.com>
12986         * api/postingsource.cc,backends/inmemory/inmemory_database.cc,
12987           examples/delve.cc,include/xapian/postingsource.h: Don't store an
12988           end iterator in a variable just to compare against it - it's now
12989           definitely more efficient to compare against the return value of
12990           the relevant _end() method.
12992 Fri May 08 15:44:07 GMT 2009  Olly Betts <olly@survex.com>
12994         * api/valueiterator.cc,include/xapian/database.h,
12995           include/xapian/document.h,include/xapian/valueiterator.h: Create a
12996           new proxy object class ValueIteratorEnd_ which is returned instead
12997           of ValueIterator(NULL) for end iterators.  This class will be
12998           converted to ValueIterator(NULL) if assigned to or passed as
12999           ValueIterator, but operator== and operator!= are overloaded to
13000           handle it directly which means that the compiler no longer calls
13001           ~ValueIterator for each call which returns ValueIterator(NULL).
13003 Fri May 08 15:42:12 GMT 2009  Olly Betts <olly@survex.com>
13005         * backends/chert/chert_values.cc: Swap two statements for cosmetic
13006           reasons.
13008 Fri May 08 14:42:49 GMT 2009  Olly Betts <olly@survex.com>
13010         * api/postingsource.cc,include/xapian/postingsource.h: It is actually
13011           better not to store the end iterator in a member variable - if we
13012           explicitly call db.postlist_end(string()) then that just gets
13013           optimised to PostingSource(NULL).
13015 Fri May 08 14:02:21 GMT 2009  Olly Betts <olly@survex.com>
13017         * tests/api_postingsource.cc: We've decided that "going back" with
13018           skip_to() or check() should have unspecified behaviour, so stop
13019           testing how this case behaves!
13021 Fri May 08 12:37:33 GMT 2009  Olly Betts <olly@survex.com>
13023         * common/Makefile.mk: Ship common/win32_uuid.cc and common/win32_uuid.h
13024           (ticket#367).
13026 Fri May 08 12:30:45 GMT 2009  Olly Betts <olly@survex.com>
13028         * tests/harness/cputimer.cc: Fix typo in the "ftime" case.
13030 Fri May 08 10:25:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13032         * matcher/andpostlist.cc: Fix a swap which was the wrong way round,
13033           so that we call next() on the subpostlist with the lower
13034           frequency, rather than the one with the higher frequency.  This
13035           should improve performance in many situations, and I don't think
13036           it's likely to slow anything down.  It also fixes some cases
13037           where optimisation of an AND_MAYBE to an AND results in a slower
13038           search, such that search times went down when more hits were
13039           requested.
13041 Fri May 08 08:48:14 GMT 2009  Olly Betts <olly@survex.com>
13043         * matcher/externalpostlist.cc: ExternalPostList::get_doclength()
13044           should never get called, so make it "Assert(false)".
13046 Fri May 08 05:16:50 GMT 2009  Olly Betts <olly@survex.com>
13048         * api/postingsource.cc: Another string concatention.
13050 Fri May 08 05:04:55 GMT 2009  Olly Betts <olly@survex.com>
13052         * api/postingsource.cc: Use str() instead of om_tostring() and build
13053           up strings using +=.
13055 Fri May 08 04:37:05 GMT 2009  Olly Betts <olly@survex.com>
13057         * api/postingsource.cc: "using namespace std;".
13059 Thu May 07 16:46:14 GMT 2009  Olly Betts <olly@survex.com>
13061         * matcher/: Check for collection_size == 0 up front so we don't need
13062           to repeatedly special case it when implementing
13063           get_termfreq_est_using_stats().
13065 Thu May 07 16:28:07 GMT 2009  Olly Betts <olly@survex.com>
13067         * matcher/xorpostlist.cc: Fix typo bug - collection_size should be
13068           rset_size.  This would have lead to a floating point division by
13069           zero when XOR was used under a synonym without an RSet, but that
13070           would just give infinity, and so just give a bogus value for the
13071           rel_termfreq rather than aborting instantly.
13073 Thu May 07 16:19:52 GMT 2009  Olly Betts <olly@survex.com>
13075         * HACKING: Update auto_ptr information.  Mention constructor syntax as
13076           an alternative replacement for some C-style casts.
13078 Thu May 07 15:25:00 GMT 2009  Olly Betts <olly@survex.com>
13080         * matcher/localmatch.cc,matcher/localmatch.h: Don't rebuild the
13081           termname -> termfreq and weight map for every subdatabase - just do
13082           it once for the first one.  Also eliminate a copy of this map.
13083           This should speed up searches a little, especially those over
13084           multiple databases.
13086 Thu May 07 15:01:24 GMT 2009  Olly Betts <olly@survex.com>
13088         * api/omdatabase.cc,api/omqueryinternal.cc,
13089           backends/remote/remote-database.cc,common/autoptr.h,
13090           expand/esetinternal.cc,matcher/localmatch.cc: Make our AutoPtr just
13091           a macro wrapper for std::auto_ptr.  Since std::auto_ptr doesn't
13092           allow assignment from a raw pointer, this requires changing such
13093           assignments into calls to auto_ptr::reset().
13095 Thu May 07 14:19:22 GMT 2009  Olly Betts <olly@survex.com>
13097         * api/leafpostlist.cc: Add an assertion that the term in the stats.
13098           Add "using namespace std;" so we can avoid explicit std:: qualifiers.
13100 Thu May 07 13:26:21 GMT 2009  Olly Betts <olly@survex.com>
13102         * matcher/: Eliminate EmptySubMatch - we can just store NULL for a
13103           submatch which has failed but which ErrorHandler told us to continue
13104           without.
13106 Thu May 07 12:52:24 GMT 2009  Olly Betts <olly@survex.com>
13108         * common/database.h: Update internal documentation comment -
13109           Database::Internal::open_post_list() can no longer return
13110           EmptyPostList as it is no longer a subclass of LeafPostList.
13112 Thu May 07 12:13:50 GMT 2009  Olly Betts <olly@survex.com>
13114         * api/leafpostlist.cc,backends/chert/chert_postlist.cc,
13115           backends/chert/chert_postlist.h,
13116           backends/flint/flint_alldocspostlist.h,
13117           backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h,
13118           backends/inmemory/inmemory_database.cc,
13119           backends/inmemory/inmemory_database.h,backends/remote/net_postlist.h,
13120           common/contiguousalldocspostlist.h,common/leafpostlist.h: Squash
13121           TermBasedLeafPostList into LeafPostList since there are no longer
13122           any other subclasses.
13124 Thu May 07 11:49:06 GMT 2009  Olly Betts <olly@survex.com>
13126         * api/Makefile.mk,api/emptypostlist.cc,common/emptypostlist.h:
13127           Reimplement EmptyPostList from scratch, and inherit from PostList
13128           not LeafPostList.
13130 Thu May 07 11:19:34 GMT 2009  Olly Betts <olly@survex.com>
13132         * matcher/mergepostlist.cc: Add explicit '#include "omassert.h"'.
13134 Thu May 07 10:28:33 GMT 2009  Olly Betts <olly@survex.com>
13136         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
13137           Subclass MultiPostList directly from PostList instead of from
13138           LeafPostList.  This gets rid of two unused data members per
13139           MultiPostList in exchange for having to define 5 extra "never
13140           called" methods, but 4 of these just tailcall.
13142 Thu May 07 10:26:39 GMT 2009  Olly Betts <olly@survex.com>
13144         * backends/inmemory/inmemory_alltermslist.cc,
13145           backends/inmemory/inmemory_database.cc: Fix assertion failures and
13146           a SEGV in an assertion test.
13148 Thu May 07 09:27:35 GMT 2009  Olly Betts <olly@survex.com>
13150         * backends/inmemory/inmemory_alltermslist.cc,
13151           backends/inmemory/inmemory_alltermslist.h,
13152           backends/inmemory/inmemory_database.cc:
13153           Keep a dummy entry in InMemoryDatabase::postlists so that the
13154           implementation of InMemoryAllTermsList doesn't need a "started"
13155           flag, and we can use an InMemoryPostList on the dummy item for
13156           the "term not in database" case.
13158 Thu May 07 05:45:48 GMT 2009  Olly Betts <olly@survex.com>
13160         * tests/api_backend.cc: Add tset coverage for alldocs iterator on an
13161           empty database.
13162         * backends/inmemory/inmemory_database.cc: No need to special case an
13163           empty database as InMemoryAllDocsPostList handles this case
13164           correctly.
13166 Thu May 07 05:08:07 GMT 2009  Olly Betts <olly@survex.com>
13168         * weight/weightinternal.cc: Use str() instead of om_tostring(), += to
13169           build up strings, and fix a cut-and-paste comment error.
13171 Wed May 06 13:03:40 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13173         * net/serialise.cc: Better serialisation - don't include the
13174           reltermfreqs if the rset_size is 0, since they'll all be 0 too.
13176 Wed May 06 12:13:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13178         * common/remoteprotocol.h,net/serialise.cc: When serialising stats,
13179           serialise the termfreq and reltermfreq together, rather than in
13180           separate lists.  Results in a smaller serialised form, and
13181           matches the in-memory structure now used better. Fixes ticket
13182           #362.  This is an incompatible remote protocol change, however,
13183           so bump the major version to 32.
13185 Wed May 06 04:02:43 GMT 2009  Olly Betts <olly@survex.com>
13187         * matcher/multimatch.cc: Check termfreqandwts for MatchAll queries
13188           before we check terms from the document so that the "terminate
13189           early once we've seen all the query terms" test when checking the
13190           document terms can fire in this case.
13192 Wed May 06 03:26:05 GMT 2009  Olly Betts <olly@survex.com>
13194         * matcher/multimatch.cc: Remove incorrect comment accidentally
13195           committed in r12623.
13197 Wed May 06 03:18:42 GMT 2009  Olly Betts <olly@survex.com>
13199         * tests/api_opsynonym.cc: Fix comment typo.
13201 Wed May 06 01:35:14 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13203         * tests/api_postingsource.cc: changemaxweightsource1 uses
13204           ChangeMaxweightPostingSource, which doesn't work with multi or
13205           remote, so mark the test accordingly.
13207 Wed May 06 01:11:25 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13209         * include/xapian/postingsource.h,api/postingsource.cc: Add
13210           notify_new_maxweight() method to be called by subclasses when they
13211           want to notify the matcher that their maxweight has changed
13212           significantly.  Add ExternalPostList as a friend and add
13213           register_externalpl() to be used to associate the ExternalPostList
13214           with the PostingSource.
13215         * matcher/externalpostlist.cc,matcher/externalpostlist.h,
13216           matcher/queryoptimiser.cc: Register the externalpostlist with the
13217           PostingSource it's iterating through.  Add
13218           ExternalPostList::notify_new_maxweight() method for
13219           PostingSource::notify_new_maxweight() to call.
13220         * docs/postingsource.rst: Document notify_new_maxweight() and the
13221           reasons for calling it.
13222         * tests/api_postingsource.cc: Test the handling of maxweight.
13224 Tue May 05 19:37:56 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13226         * tests/Makefile.am,tests/api_db.cc,tests/api_postingsource.cc:
13227           Split the tests of PostingSource subclasses out of api_db.cc; I'm
13228           about to add some more, and bloating api_db.cc further is
13229           unworkable.
13231 Tue May 05 18:23:02 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13233         * docs/postingsource.rst,include/xapian/postingsource.h:
13234           Documentation updates to describe way that init() is called
13235           again if a PostingSource is reused.  Fixes #352.
13237 Tue May 05 16:05:48 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13239         * tests/api_opsynonym.cc: Test that the top document has a weight
13240           of 100%, which is should do for all the current examples here.
13242 Tue May 05 16:03:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13244         * matcher/multimatch.cc: Add logging to keep track of the weights
13245           being added to percent_scale.  If the percent_scale total is 0.0,
13246           which can happen if the top document only matches synonym terms,
13247           force percent_scale to 1.0, to avoid an assertion failure.
13249 Tue May 05 13:41:57 GMT 2009  Olly Betts <olly@survex.com>
13251         * common/str.h: Fix swapped parameters in string ctor in code for
13252           str(bool) overload which lead to us returning 48 or 49 \x01
13253           characters instead of "0" or "1".
13254         * tests/internaltest.cc: Add regression test strbool1.
13255         * AUTHORS: Thank Peter Kelm for helping us spot this.
13257 Tue May 05 12:54:36 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13259         Merge from opsynonym branch:
13260         * queryparser/queryparser.lemony: Use OP_SYNONYM instead of OP_OR
13261           for synonyms, wildcards, and partial queries.
13262         * tests/queryparsertest.cc: Test use of OP_SYNONYM by query parser.
13264 Tue May 05 12:18:06 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13266         Merge from opsynonym branch:
13267         * api/omqueryinternal.cc,include/xapian/query.h,matcher/,
13268           weight/weight.cc: Implement a new OP_SYNONYM query operator,
13269           which behaves similarly to OP_OR, but produces weights for the
13270           combined set of terms as if they were a single term (by merging
13271           their wdfs).
13272         * tests/Makefile.am,tests/api_opsynonym.cc: Add tests for the
13273           OP_SYNONYM operator.
13274         * include/xapian/weight.h: Add a Weight::init_() method for
13275           synonym, since there isn't a single term involved.  Also,
13276           requires a method get_sumpart_needs_wdf_() to check if wdfs are
13277           needed, since the synonym weight calculation requires fetching
13278           the doclength, which is potentially expensive, in order that the
13279           wdf returned can be clamped to a sane range.  Mark the weighting
13280           methods which require WDF with need_stat(WDF).
13282 Tue May 05 12:04:33 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13284         * common/remoteprotocol.h: Add comment to remind use to do the
13285           FIXME in serialise_stats() when next breaking remote protocol
13286           compatibility.
13288 Tue May 05 10:53:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13290         * common/output.h: Add output function for TermFreqs.
13292 Tue May 05 08:23:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13294         * api/leafpostlist.cc,api/postlist.cc,common/emptypostlist.h,
13295           common/leafpostlist.h,common/postlist.h,matcher/: Add
13296           PostList::get_termfreq_est_using_stats() method, with default
13297           implementation which raises an InvalidOperationError.  Implement
13298           this for those postlists which it makes sense for.  Also,
13299           implement get_wdf() for postlists used by the matcher for
13300           implementing various query operators.  This isn't currently used
13301           or tested on trunk, but is used for the opsynonym branch.
13303 Tue May 05 07:37:04 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13305         * common/rset.h,common/weightinternal.h,matcher/rset.cc,
13306           net/serialise.cc,weight/weightinternal.cc: Store termfreqs and
13307           reltermfreqs in a Weight::Internal in a single map; introduce a
13308           new struct (TermFreqs) for the values stored here.
13309           Remove now unused Xapian::TermFreqMap typedef.
13311 Tue May 05 07:19:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13313         * backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h,
13314           backends/flint/flint_alldocspostlist.h,
13315           backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h,
13316           backends/inmemory/inmemory_database.cc,
13317           backends/inmemory/inmemory_database.h,backends/remote/net_postlist.h,
13318           common/contiguousalldocspostlist.h,common/leafpostlist.h:
13319           Introduce TermBasedLeafPostList, as a new common base class for
13320           postlists which are derived from a term in the query (including
13321           alldocs postlists which are derived from the empty term).
13323 Tue May 05 06:47:11 GMT 2009  Olly Betts <olly@survex.com>
13325         * backends/chert/,backends/flint/flint_modifiedpostlist.cc,
13326           backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h:
13327           Rename "tname" parameters to LeafPostList subclasses to "term".
13328         * backends/inmemory/inmemory_database.cc,
13329           backends/inmemory/inmemory_database.h: Rename term parameter of
13330           type InMemoryTerm to imterm ready for opsynonym branch changes.
13332 Tue May 05 04:51:28 GMT 2009  Olly Betts <olly@survex.com>
13334         * backends/chert/chert_alldocspostlist.h,matcher/multimatch.cc:
13335           Remove unused '#include "leafpostlist.h"'.
13337 Tue May 05 02:15:35 GMT 2009  Olly Betts <olly@survex.com>
13339         * common/contiguousalldocspostlist.h: Wrap comment.
13341 Tue May 05 02:04:02 GMT 2009  Olly Betts <olly@survex.com>
13343         * common/Makefile.mk: Move str.h into alphabetical order.
13345 Mon May 04 12:04:16 GMT 2009  Olly Betts <olly@survex.com>
13347         * tests/queryparsertest.cc: Rename qp_stem_scale1 to qp_scale1 as it
13348           has no connection with stemming.  Factor out a helper function to
13349           do the timing comparison, and update time_query_parse() to use
13350           CPUTimer rather than OmTime.  Tweak the "fudge factor" up from
13351           2 to 2.15 to allow for non-equal ticks due to rounding of an
13352           interval which isn't an exact multiple of 1/CLK_TCK (ticket#308).
13354 Mon May 04 12:02:32 GMT 2009  Olly Betts <olly@survex.com>
13356         * tests/harness/cputimer.cc: If we don't have rusage() or times(), but
13357           do have ftime(), use that instead of time() so we at least get
13358           subsecond resolution (as we do currently with OmTime).
13360 Mon May 04 03:31:51 GMT 2009  Olly Betts <olly@survex.com>
13362         * docs/queryparser.html: Add examples of using a prefix on a phrase
13363           or subexpression.
13365 Sun May 03 14:58:42 GMT 2009  Olly Betts <olly@survex.com>
13367         * tests/api_valuestats.cc: Testcase valuestats4 requires transactions,
13368           so indicate that and remove the explicit SKIP for inmemory.
13370 Sun May 03 12:34:30 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13372         * common/rset.h,common/weightinternal.h,matcher/rset.cc,
13373           weight/weightinternal.cc: Typedef std::map<string, Xapian::doccount>
13374           as TermFreqMap; tidies up code a little here, but mainly useful
13375           for keeping code tidy on branches/opsynonym.
13377 Sun May 03 11:49:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13379         * common/multimatch.h: Remove unused include of <map>
13381 Sun May 03 05:23:32 GMT 2009  Olly Betts <olly@survex.com>
13383         * tests/api_db.cc: Protect tests which assume Flint is enabled with
13384           #ifdef XAPIAN_HAS_FLINT_BACKEND.
13386 Sat May 02 15:49:46 GMT 2009  Olly Betts <olly@survex.com>
13388         * configure.ac,tests/Makefile.am,tests/api_scalability.cc,
13389           tests/api_wrdb.cc,tests/harness/: Add new "test_scalability()" helper
13390           function which checks that an operation scales in CPU time used in
13391           the desired way.  Use this to reimplement bigoaddvalue (and rename
13392           to bigoaddvalue1 for consistency).
13394 Fri May 01 04:58:41 GMT 2009  Olly Betts <olly@survex.com>
13396         * bin/xapian-check.cc: For chert, check value stats are the correct
13397           format and that the streamed values are consistent with their stats
13398           (ticket#277).
13400 Fri May 01 04:53:22 GMT 2009  Olly Betts <olly@survex.com>
13402         * api/omdocument.cc: Don't ever store empty values explicitly, which
13403           eliminates an inconsistently handled corner case which was causing
13404           the "value frequency" to be wrong from at least one point of view.
13405           This is consistent with how user metadata works too.
13406         * include/xapian/document.h: Explicitly document this behaviour.
13407         * tests/api_valuestats.cc: Add regression test for the above change.
13409 Fri May 01 03:11:25 GMT 2009  Olly Betts <olly@survex.com>
13411         * bin/xapian-check.cc: Chert doesn't store termlist entries for
13412           documents without terms, which resulted in us reporting an error when
13413           we found document ids in the doclength "postlist" which were greater
13414           than any with an entry in the termlist.  Instead compare these
13415           entries against db.get_last_docid() if we are checking a whole db
13416           and able to call it.  If not, suppress this check.
13418 Thu Apr 30 15:02:41 GMT 2009  Olly Betts <olly@survex.com>
13420         * common/valuestats.h: Fix comment typo.
13422 Tue Apr 28 14:01:41 GMT 2009  Olly Betts <olly@survex.com>
13424         * api/omdatabase.cc: Use <cstdlib> rather than <stdlib.h> which means
13425           that there's an overload for abs(long).
13427 Tue Apr 28 13:17:48 GMT 2009  Olly Betts <olly@survex.com>
13429         * HACKING,INSTALL,configure.ac,include/xapian/deprecated.h,
13430           include/xapian/version_h.cc,tests/harness/testsuite.cc: Actually,
13431           let's require GCC 3.1 as doing so eliminates some preprocessor
13432           conditionals which we aren't able to test regularly as we don't
13433           have easy access to such old GCC versions.  GCC 3.1 is nearly 7
13434           years old now, and GCC3 didn't get widespread use until later
13435           versions anyway.
13437 Tue Apr 28 12:47:11 GMT 2009  Olly Betts <olly@survex.com>
13439         * common/debuglog.h: Add missing initialisation of uncaught_exception
13440           in a couple of places.
13442 Tue Apr 28 11:24:02 GMT 2009  Olly Betts <olly@survex.com>
13444         * INSTALL: Note that Xapian 1.0.x should build with GCC 2.95.3.
13446 Tue Apr 28 11:20:51 GMT 2009  Olly Betts <olly@survex.com>
13448         * HACKING,INSTALL,backends/chert/chert_database.h,
13449           backends/flint/flint_database.h,
13450           backends/inmemory/inmemory_database.h,configure.ac,
13451           include/xapian/version_h.cc,tests/harness/testsuite.cc: Drop support
13452           for GCC 2.95.3 - we now require at least 3.0.
13454 Mon Apr 27 12:20:25 GMT 2009  Olly Betts <olly@survex.com>
13456         * include/xapian/weight.h: Add "need_stat(WDF);" for Weight subclasses
13457           which use wdf.  Currently this is never actually checked by trunk
13458           (so a regression test for this omission isn't really feasible), but
13459           the opsynonym branch uses it.
13461 Sun Apr 26 14:47:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13463         * weight/bm25weight.cc: Add call debugging.
13465 Sun Apr 26 10:57:48 GMT 2009  Olly Betts <olly@survex.com>
13467         * tests/api_db.cc: stubdb6 is "inmemory" not "flint || chert || multi".
13469 Sun Apr 26 10:51:50 GMT 2009  Olly Betts <olly@survex.com>
13471         * tests/queryparsertest.cc: Fix to build with the inmemory backend
13472           disabled.
13474 Sun Apr 26 07:28:47 GMT 2009  Olly Betts <olly@survex.com>
13476         * tests/generate-api_generated: Fix so generated api_generated.cc
13477           builds with the inmemory backend disabled.
13479 Sun Apr 26 06:30:57 GMT 2009  Olly Betts <olly@survex.com>
13481         * tests/api_anydb.cc: Fix to build with the inmemory backend disabled.
13483 Sat Apr 25 01:10:49 GMT 2009  Olly Betts <olly@survex.com>
13485         * bin/xapian-check.cc: Fix to build with the flint and/or chert
13486           backends disabled.
13488 Sat Apr 25 01:06:00 GMT 2009  Olly Betts <olly@survex.com>
13490         * matcher/multimatch.cc: Fix to build with the remote backend
13491           disabled.
13493 Sat Apr 25 00:57:41 GMT 2009  Olly Betts <olly@survex.com>
13495         * backends/dbfactory.cc: Fix to build with the inmemory backend
13496           disabled.
13498 Fri Apr 24 22:59:34 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13500         * weight/weight.cc: Add debug logging to Weight::init_() methods.
13501         * net/remoteserver.cc: Fix bounds returned by Weight::Internal
13502           object in get_mset() in remote submatches, by setting the
13503           database used to read the bounds.
13505 Fri Apr 24 13:14:50 GMT 2009  Olly Betts <olly@survex.com>
13507         * matcher/branchpostlist.cc,matcher/branchpostlist.h: Remove
13508           BranchPostList::get_wdf() which isn't currently used, and isn't
13509           wanted on branches/opsynonym.
13511 Fri Apr 24 12:46:18 GMT 2009  Olly Betts <olly@survex.com>
13513         * queryparser/queryparser.lemony: Apply doxygen comment improvement
13514           from branches/opsynonym.
13516 Fri Apr 24 12:31:15 GMT 2009  Olly Betts <olly@survex.com>
13518         * matcher/localmatch.cc: Apply assertion and debug logging
13519           improvements from branches/opsynonym.
13521 Thu Apr 23 06:16:05 GMT 2009  Olly Betts <olly@survex.com>
13523         * Makefile.am,configure.ac,docs/Makefile.am,tests/Makefile.am: Fix
13524           things up so that in a bootstrapped SVN tree, automatic regeneration
13525           of autotools-generated files uses the in-tree versions of the
13526           autotools.
13528 Thu Apr 23 04:37:31 GMT 2009  Olly Betts <olly@survex.com>
13530         * AUTHORS: Add another bug reporter.
13532 Thu Apr 23 04:26:25 GMT 2009  Olly Betts <olly@survex.com>
13534         * Makefile.am,languages/Makefile.mk,queryparser/Makefile.mk,
13535           tests/Makefile.am,tests/perftest/Makefile.mk: Don't remove any
13536           built sources in "make clean" even under --make-maintainer-mode
13537           as that breaks switching a tree away from maintainer-mode with:
13538           make distclean;./configure
13540 Thu Apr 23 03:51:03 GMT 2009  Olly Betts <olly@survex.com>
13542         * Makefile.am: Use "--coverage" instead of "-fprofile-arcs
13543           -ftest-coverage" in the test coverage build.
13545 Wed Apr 22 14:32:56 GMT 2009  Olly Betts <olly@survex.com>
13547         * PLATFORMS: Sync with 1.0.12; add entry for atreus for 1.1.0.
13549 Wed Apr 22 14:27:36 GMT 2009  Olly Betts <olly@survex.com>
13551         * AUTHORS: Add more bug reporters and patch contributors.  Remove a
13552           duplicate entry.
13554 Wed Apr 22 13:58:31 GMT 2009  Olly Betts <olly@survex.com>
13556         * NEWS: Set release date.
13558 Wed Apr 22 13:36:04 GMT 2009  Olly Betts <olly@survex.com>
13560         * NEWS: Update, perhaps even ready for release now.
13562 Wed Apr 22 11:00:50 GMT 2009  Olly Betts <olly@survex.com>
13564         * NEWS: More work.
13566 Tue Apr 21 17:59:13 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13568         * docs/queryparser.html: Add closing <code> tag.
13570 Tue Apr 21 11:05:17 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13572         * NEWS: A few minor corrections and adjustments.
13574 Tue Apr 21 07:49:49 GMT 2009  Olly Betts <olly@survex.com>
13576         * include/xapian/weight.h: Don't use the term "term" to talk about the
13577           extra weight component as it already has a strong meaning in Xapian.
13579 Tue Apr 21 07:16:18 GMT 2009  Olly Betts <olly@survex.com>
13581         * queryparser/lemon.c: Merge upstream "Check-in Number: 6451".
13583 Tue Apr 21 06:54:00 GMT 2009  Olly Betts <olly@survex.com>
13585         * matcher/queryoptimiser.h: '#include <map>' isn't required.
13587 Tue Apr 21 06:45:14 GMT 2009  Olly Betts <olly@survex.com>
13589         * matcher/queryoptimiser.cc,matcher/queryoptimiser.h: Eliminate
13590           QueryOptimiser::do_leaf() as it is only called from one place
13591           and if only two lines of code.
13593 Mon Apr 20 14:10:08 GMT 2009  Olly Betts <olly@survex.com>
13595         * NEWS: Update from ChangeLog and start to lick into shape for a
13596           release.
13598 Mon Apr 20 13:06:17 GMT 2009  Olly Betts <olly@survex.com>
13600         * HACKING: XAPIAN_DEBUG_LOG=- send output to stderr, not stdout.
13602 Mon Apr 20 11:53:07 GMT 2009  Olly Betts <olly@survex.com>
13604         * common/output.h: Add new macro XAPIAN_OUTPUT_FUNCTION_PTR and use it
13605           so that debug logging of Xapian::Query::Internal* doesn't just
13606           report the pointer value.
13608 Mon Apr 20 06:39:42 GMT 2009  Olly Betts <olly@survex.com>
13610         * matcher/multimatch.cc: Apply debug logging change lifted from
13611           branches/opsynonym.
13613 Mon Apr 20 05:22:24 GMT 2009  Olly Betts <olly@survex.com>
13615         * tests/harness/testutils.cc: Add FIXME comments about use of internal
13616           macro from a different header.
13618 Mon Apr 20 05:08:34 GMT 2009  Olly Betts <olly@survex.com>
13620         * HACKING: Update release checklist.
13622 Sun Apr 19 14:50:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13624         * tests/api_nodb.cc: Stick the reciprocal of "factor" into a
13625           volatile double temporary variable to stop compiler using
13626           extended precision calculation on x86, and coming up an answer of
13627           exactly 1.0 when multiplying by "factor" again.
13629 Sun Apr 19 14:26:09 GMT 2009  Olly Betts <olly@survex.com>
13631         * NEWS: Sync with 1.0.12 and update from ChangeLog.
13633 Sun Apr 19 12:12:19 GMT 2009  Olly Betts <olly@survex.com>
13635         * AUTHORS: Update for 1.0 branch.
13637 Thu Apr 16 12:08:24 GMT 2009  Olly Betts <olly@survex.com>
13639         * backends/chert/chert_values.cc: When copying the tail of a value
13640           chunk because did > last_allowed_did, we don't need to check if
13641           the docids being copied are < did, since they should all be <=
13642           last_allowed_did, so just assert the latter.
13644 Tue Apr 14 20:32:41 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13646         * tests/api_wrdb.cc: patch from james to move logging in
13647           modifyvalues1 so it reports the values it's rewriting correctly,
13648           rather than the empty string.  Also display the expected value in
13649           tout when checking the value.  Also, pull the setting of the random
13650           seed out to the start of the function, and set it to 7 (which
13651           exposed the bug fixed with the previous commit, which that the old
13652           value of 42 didn't, on my machine, at least).
13654 Tue Apr 14 18:12:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13656         * backends/chert/chert_values.cc: When we move the reader to a new
13657           chunk, write any trailing values left in it to the stream first.
13659 Thu Apr 09 05:01:04 GMT 2009  Olly Betts <olly@survex.com>
13661         * docs/admin_notes.rst: Document the child process used for locking
13662           which exec-s "cat" (ticket #258).
13664 Thu Apr 09 03:49:13 GMT 2009  Olly Betts <olly@survex.com>
13666         * bin/: Use C++ forms of C headers in bin (ticket#330).
13668 Thu Apr 09 03:47:42 GMT 2009  Olly Betts <olly@survex.com>
13670         * examples/: Use C++ forms of C headers in examples (ticket#330).
13672 Mon Apr 06 06:35:03 GMT 2009  Olly Betts <olly@survex.com>
13674         * include/xapian/unicode.h: Fix documentation comment typos.
13676 Mon Apr 06 06:03:45 GMT 2009  Olly Betts <olly@survex.com>
13678         * AUTHORS: Add Muayyad Alsadi for reporting #355.
13680 Mon Apr 06 05:59:38 GMT 2009  Olly Betts <olly@survex.com>
13682         * tests/api_unicode.cc: Note which characters in the new
13683           unicodepredicate1 testcase are new in Unicode 5.1.0.
13685 Sun Apr 05 14:24:47 GMT 2009  Olly Betts <olly@survex.com>
13687         * include/xapian/unicode.h: Add NON_SPACING_MARK to is_wordchar() for
13688           better tokenisation of Arabic, for example.  (ticket#355)
13689         * tests/queryparsertest.cc: Add test that this has the desired effect.
13690         * tests/api_unicode.cc: Add feature tests of Unicode::is_wordchar(),
13691           Unicode::is_currency(), and Unicode::is_whitespace().
13693 Sat Apr 04 05:41:47 GMT 2009  Olly Betts <olly@survex.com>
13695         * NEWS: Update from ChangeLog.
13697 Wed Apr 01 00:18:02 GMT 2009  Olly Betts <olly@survex.com>
13699         * bin/xapian-compact.cc: Fix totlen overflow test.  Refactor lightly
13700           to reduce indenting.
13702 Tue Mar 31 17:01:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13704         * bin/xapian-compact.cc: Handle databases which contain no
13705           documents (and hence have no METAINFO item), but do contain some
13706           metadata (so the postlist table is not empty).  Fixes ticket
13707           #356.
13709 Tue Mar 31 13:49:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13711         * api/postingsource.cc,include/xapian/postingsource.h: Change
13712           return types of clone() and unserialise() methods to be of the
13713           subclass returned; this is a bit more flexible, but the main
13714           reason is to be consistent: previously, the clone() methods
13715           returned the subclass, but the unserialise() methods returned
13716           PostingSource.
13718 Tue Mar 31 12:10:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13720         * include/xapian/postingsource.h: Add comment on PostingSource base
13721           class listing it as an experimental feature.
13722         * docs/deprecation.rst: Describe what "experimental" features are,
13723           and why replication and posting sources are currently
13724           experimental.
13726 Tue Mar 31 11:34:25 GMT 2009  Olly Betts <olly@survex.com>
13728         * include/xapian/matchspy.h: Removed currently unused header to stop
13729           doxygen from generating documentation for it.
13731 Tue Mar 31 11:27:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13733         * docs/replication.rst,include/xapian/replication.h: Note that
13734           replication is currently "experimental".
13736 Fri Mar 27 14:29:05 GMT 2009  Olly Betts <olly@survex.com>
13738         * backends/chert/chert_spelling.cc,backends/chert/chert_spelling.h,
13739           backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h:
13740           Fix WritableDatabase::remove_spelling() to not be very broken in
13741           several ways.
13742         * tests/api_spelling.cc: Add test coverage for it.
13744 Fri Mar 27 10:43:34 GMT 2009  Olly Betts <olly@survex.com>
13746         * xapian-config.in: Add @LIBRARY_VERSION_SUFFIX@ to -lxapian too.
13748 Fri Mar 27 08:22:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13750         * include/xapian/postingsource.h: Update documentation comments to
13751           refer to init() instead of the old name of reset().
13753 Fri Mar 27 08:10:48 GMT 2009  Olly Betts <olly@survex.com>
13755         * HACKING: Document the lcov make targets.
13757 Fri Mar 27 07:44:59 GMT 2009  Olly Betts <olly@survex.com>
13759         * Makefile.am: Add two new targets to assist generating test coverage
13760           reports with lcov: coverage-reconfigure which reruns configure in
13761           the source tree and coverage-check which runs "make check" and
13762           generates an HTML report in a directory called "lcov".
13764 Thu Mar 26 23:59:36 GMT 2009  Olly Betts <olly@survex.com>
13766         * Makefile.am,m4-macros/xapian.m4,xapian-core.spec.in: Rename
13767           xapian.m4 to xapian-1.1.m4 to avoid clash with Xapian 1.0.x.  Both
13768           xapian.m4 and xapian-1.1.m4 will contain XO_LIB_XAPIAN, but aclocal
13769           copes and only copies one of them.  We need to avoid incompatible
13770           changes to XO_LIB_XAPIAN though.
13772 Thu Mar 26 14:29:54 GMT 2009  Olly Betts <olly@survex.com>
13774         * configure.ac,include/Makefile.mk,xapian-config.in: Install headers
13775           in $prefix/include/xapian-1.1/ so they don't clash with 1.0.
13777 Thu Mar 26 13:46:06 GMT 2009  Olly Betts <olly@survex.com>
13779         * configure.ac: Default program suffix to -1.1 if not specified.  If
13780           you really want no suffix, "./configure --program-suffix=" will
13781           achieve that.
13783 Thu Mar 26 12:49:10 GMT 2009  Olly Betts <olly@survex.com>
13785         * Makefile.am,api/Makefile.mk,backends/Makefile.mk,
13786           backends/chert/Makefile.mk,backends/flint/Makefile.mk,
13787           backends/inmemory/Makefile.mk,backends/multi/Makefile.mk,
13788           backends/remote/Makefile.mk,bin/Makefile.mk,common/Makefile.mk,
13789           configure.ac,examples/Makefile.mk,expand/Makefile.mk,
13790           languages/Makefile.mk,matcher/Makefile.mk,net/Makefile.mk,
13791           queryparser/Makefile.mk,tests/Makefile.am,tests/perftest/Makefile.mk,
13792           unicode/Makefile.mk,weight/Makefile.mk,xapian-config.in,
13793           xapian-core.spec.in: Change library name to libxapian-1.1 as a first
13794           step towards allowing parallel installation with 1.0.x.
13796 Thu Mar 26 06:53:27 GMT 2009  Olly Betts <olly@survex.com>
13798         * NEWS: Update from ChangeLog.
13800 Thu Mar 26 06:50:44 GMT 2009  Olly Betts <olly@survex.com>
13802         * backends/chert/chert_values.h: Fix class name in file doc comment.
13804 Thu Mar 26 00:13:48 GMT 2009  Olly Betts <olly@survex.com>
13806         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
13807           Call ChertDatabase::close() rather than repeating its code.
13809 Wed Mar 25 17:39:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13811         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
13812           Release the lock when the database is closed (either due to a
13813           call to close() or due to a serious error during modifications).
13814           Should fix ticket #354.
13816 Wed Mar 25 16:42:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13818         * tests/harness/testutils.cc: Use TEST_EQUAL_DOUBLE_ for comparison
13819           of weights in mset, to fix test failures due to floating point
13820           differences.  (Currently only manifests in some tests in the
13821           matchspy branch, but it's a generally useful fix.)
13823 Wed Mar 25 11:44:36 GMT 2009  Olly Betts <olly@survex.com>
13825         * configure.ac: Only put ANSI_CXXFLAGS in CXXFLAGS for the duration of
13826           configure - put it in AM_CXXFLAGS for substituting so that the user
13827           can safely override CXXFLAGS at make-time: "make CXXFLAGS=-Os"
13829 Wed Mar 25 10:50:44 GMT 2009  Olly Betts <olly@survex.com>
13831         * configure.ac: Fix comment typo.
13833 Wed Mar 25 04:48:50 GMT 2009  Olly Betts <olly@survex.com>
13835         * api/omdatabase.cc,backends/chert/chert_database.h,
13836           backends/flint/flint_database.h,
13837           backends/inmemory/inmemory_database.h,
13838           backends/remote/remote-database.cc,common/const_database_wrapper.h,
13839           common/database.h: Drop the default value of the lazy parameter to
13840           Database::open_document() - it's better to force us to consider
13841           whether a new call should be lazy or not.
13842         * common/database.h: Better description of lazy parameter.
13843         * backends/remote/remote-database.cc: Update comment about when lazy
13844           is set to true.
13846 Wed Mar 25 04:20:34 GMT 2009  Olly Betts <olly@survex.com>
13848         * backends/inmemory/inmemory_database.cc: Don't "return false" when
13849           the return type is a pointer!
13851 Tue Mar 24 17:42:22 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13853         * backends/database.cc: Open documents lazily in
13854           collect_document().
13856 Tue Mar 24 11:10:57 GMT 2009  Olly Betts <olly@survex.com>
13858         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
13859           MultiPostList::read_position_list() is never used, so remove it.
13861 Tue Mar 24 10:04:03 GMT 2009  Olly Betts <olly@survex.com>
13863         * backends/multi/multi_postlist.cc: Remove "[" and "]" from the output
13864           of MultiPostList::get_description().  Remove excess "," from output
13865           of MultiPostList::get_description().
13866         * tests/api_db.cc: Add some test coverage of
13867           PostingIterator::get_wdf() and PostingIterator::get_description().
13869 Tue Mar 24 10:00:23 GMT 2009  Olly Betts <olly@survex.com>
13871         * api/ompostlistiterator.cc: Remove "[" and "]" from
13872           Xapian::PostingIterator::get_description() as they don't add
13873           anything useful.
13875 Tue Mar 24 09:57:39 GMT 2009  Olly Betts <olly@survex.com>
13877         * backends/inmemory/inmemory_database.cc: Add a space in the output
13878           of InMemoryPostList::get_description() and
13879           InMemoryAllDocsPostList::get_description().
13881 Tue Mar 24 08:52:46 GMT 2009  Olly Betts <olly@survex.com>
13883         * api/leafpostlist.cc,include/xapian/weight.h,tests/api_db.cc,weight/:
13884           Get rid of the virtual Weight::get_sumpart_needs_doclength() method
13885           - subclasses can call need_stat(DOC_LENGTH) in their constructor if
13886           they need doc lengths.
13888 Tue Mar 24 07:55:06 GMT 2009  Olly Betts <olly@survex.com>
13890         * weight/weight.cc: Check stats_needed for stats which aren't just a
13891           simple member variable lookup.
13893 Tue Mar 24 06:46:24 GMT 2009  Olly Betts <olly@survex.com>
13895         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
13896           MultiPostList::get_termfreq() is never used, so remove it.
13898 Mon Mar 23 14:09:33 GMT 2009  Olly Betts <olly@survex.com>
13900         * tests/api_unicode.cc: Add test coverage for
13901           Xapian::Unicode::append_utf8().
13903 Mon Mar 23 11:40:09 GMT 2009  Olly Betts <olly@survex.com>
13905         * api/postingsource.cc,docs/postingsource.rst,
13906           include/xapian/postingsource.h,matcher/externalpostlist.cc,
13907           tests/api_db.cc,tests/api_percentages.cc,tests/api_valuestream.cc:
13908           Rename PostingSource::reset() to PostingSource::init().
13910 Mon Mar 23 11:01:02 GMT 2009  Olly Betts <olly@survex.com>
13912         * tests/harness/testsuite.h: Fix documentation comment in line with
13913           the corrected --help output from "Sat Feb 21 08:18:21 GMT 2009".
13915 Mon Mar 23 02:24:44 GMT 2009  Olly Betts <olly@survex.com>
13917         * api/omqueryinternal.cc: Fix handling of empty and single subquery
13918           OP_NEAR and OP_PHRASE (was breaking queryparsertest).
13920 Sun Mar 22 10:23:37 GMT 2009  Olly Betts <olly@survex.com>
13922         * backends/chert/chert_database.cc,backends/flint/flint_database.cc,
13923           backends/inmemory/inmemory_database.cc,
13924           backends/inmemory/inmemory_positionlist.cc,
13925           common/inmemory_positionlist.h,docs/deprecation.rst,
13926           tests/api_posdb.cc: Change Database::positionlist_begin() not to
13927           throw exceptions if the term or document doesn't exist.
13929 Sun Mar 22 09:02:46 GMT 2009  Olly Betts <olly@survex.com>
13931         * docs/deprecation.rst: Fix typo.
13933 Sun Mar 22 07:54:30 GMT 2009  Olly Betts <olly@survex.com>
13935         * api/omqueryinternal.cc,include/xapian/query.h,tests/api_nodb.cc,
13936           tests/api_query.cc: Fix valgrind errors on nearsubqueries1
13937           (ticket#349) and enhance distribution of OP_NEAR/OP_PHRASE over
13938           non-leaf subqueries to work when there are multiple non-leaf
13939           subqueries (ticket#201).  Extend nearsubqueries1 to test that
13940           trying to distribute OP_NEAR/OP_PHRASE over OP_NEAR/OP_PHRASE
13941           throws UnimplementedError.
13943 Fri Mar 20 08:43:20 GMT 2009  Olly Betts <olly@survex.com>
13945         * tests/api_query.cc: Add coverage for OP_AND with MatchNothing
13946           subquery (new testcase matchnothing1).
13948 Fri Mar 20 05:16:18 GMT 2009  Olly Betts <olly@survex.com>
13950         * api/omqueryinternal.cc: Fix assertions in previous check-in to
13951           verify the right condition.  And return the simplified query in
13952           the case the assertion would have failed, as that means a small
13953           memory leak rather than unpredictable behaviour in a non-assertion
13954           build.
13956 Fri Mar 20 04:26:29 GMT 2009  Olly Betts <olly@survex.com>
13958         * api/omqueryinternal.cc: Check that end_construction() returns NULL
13959           when unserialising queries.
13961 Fri Mar 20 02:51:32 GMT 2009  Olly Betts <olly@survex.com>
13963         * api/omqueryinternal.cc: Fix return type of
13964           Xapian::Query::Internal::simplify_query() in a debug build.  Since
13965           RETURN() isn't used by this function, this is only a cosmetic issue
13966           in the log file.
13968 Wed Mar 18 09:26:02 GMT 2009  Olly Betts <olly@survex.com>
13970         * backends/chert/chert_database.cc,backends/flint/flint_database.cc,
13971           docs/deprecation.rst: Move just returning an empty PositionIterator
13972           from Database::positionlist_begin() when the docs or term isn't
13973           present from 1.2.0 to 1.1.0 (has to be 1.1.0 or 1.3.0 really).
13975 Wed Mar 18 09:24:27 GMT 2009  Olly Betts <olly@survex.com>
13977         * docs/glossary.rst: Chert as the default backend in 1.2.0 is pretty
13978           much definite.
13980 Wed Mar 18 06:42:09 GMT 2009  Olly Betts <olly@survex.com>
13982         * NEWS: Update from ChangeLog.
13984 Wed Mar 18 04:36:59 GMT 2009  Olly Betts <olly@survex.com>
13986         * xapian-core.spec.in: Tweak reference to "1.1.0 branch" to make more
13987           sense.
13989 Wed Mar 18 04:30:18 GMT 2009  Olly Betts <olly@survex.com>
13991         * api/postingsource.cc,include/xapian/postingsource.h: Remove the
13992           optional "max_weight_" parameter to ValuePostingSource's ctor.
13993         * include/xapian/postingsource.h: Correct a few errors in
13994           documentation comments.
13996 Wed Mar 18 04:29:22 GMT 2009  Olly Betts <olly@survex.com>
13998         * docs/postingsource.rst: "ctx" -> "context" in example code.
14000 Tue Mar 17 23:45:52 GMT 2009  Olly Betts <olly@survex.com>
14002         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: If the
14003           locking attempt fails after we spawn the child process, call
14004           waitpid() in the parent process to avoid creating a zombie process.
14005         * AUTHORS: Add Jim Spath for reporting this.
14007 Tue Mar 17 23:34:16 GMT 2009  Olly Betts <olly@survex.com>
14009         * common/Makefile.mk,common/str.cc,common/str.h: New family of
14010           overloaded str() functions for converting types to std::string.
14011           The integer conversion are much faster than the existing
14012           om_tostring().
14013         * common/omassert.h,common/omdebug.h: Use str() instead of
14014           om_tostring().
14015         * common/utils.cc,common/utils.h: Make om_tostring() a macro wrapping
14016           str() for now to avoid introducing a lot of conflicts with other
14017           branches and unapplied patches.
14019 Tue Mar 17 21:28:54 GMT 2009  Olly Betts <olly@survex.com>
14021         * configure.ac: Fix comment typo.
14023 Tue Mar 17 00:47:26 GMT 2009  Olly Betts <olly@survex.com>
14025         * common/utils.cc: Fix previous change to actually compile...
14027 Mon Mar 16 20:10:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14029         * common/utils.cc,common/utils.h: Add om_tostring() version of
14030           unsigned long long int, to fix debug build on i686.
14032 Mon Mar 16 14:01:02 GMT 2009  Olly Betts <olly@survex.com>
14034         * NEWS: Sync with 1.0.11.
14036 Fri Mar 13 06:59:29 GMT 2009  Olly Betts <olly@survex.com>
14038         * weight/weightinternal.cc: Need "utils.h" for om_tostring().
14040 Fri Mar 13 05:47:24 GMT 2009  Olly Betts <olly@survex.com>
14042         * include/xapian/queryparser.h: Note that QueryParser::FLAG_DEFAULT
14043           was new in 1.0.11.
14045 Fri Mar 13 04:36:19 GMT 2009  Olly Betts <olly@survex.com>
14047         * weight/weightinternal.cc: Implement
14048           Weight::Internal::get_description().
14050 Thu Mar 12 11:57:02 GMT 2009  Olly Betts <olly@survex.com>
14052         * common/output.h: Fix last commit.
14054 Thu Mar 12 11:29:58 GMT 2009  Olly Betts <olly@survex.com>
14056         * common/output.h: Define operator<< for Xapian::Weight::Internal.
14058 Thu Mar 12 11:21:09 GMT 2009  Olly Betts <olly@survex.com>
14060         * net/remoteserver.cc: Fix overlooked case which was still sending
14061           REPLY_DOCLENGTH as a double.
14063 Wed Mar 11 22:56:59 GMT 2009  Olly Betts <olly@survex.com>
14065         * backends/chert/chert_valuelist.cc: Fix comment typo.
14067 Wed Mar 11 22:50:49 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14069         * tests/api_valuestream.cc: Enable valuestream3 for chert.
14070         * backends/chert/chert_valuelist.cc: Fix return value of
14071           ChertValueList::check() when it needs to move to a new chunk.
14072           Fixes valuestream3 test.
14074 Wed Mar 11 13:17:58 GMT 2009  Olly Betts <olly@survex.com>
14076         * include/xapian/weight.h: Mark Weight::init_() methods as "@private
14077           @internal" for doxygen API docs.
14079 Wed Mar 11 13:13:32 GMT 2009  Olly Betts <olly@survex.com>
14081         * include/xapian/weight.h,tests/api_db.cc,tests/api_nodb.cc,
14082           weight/bm25weight.cc,weight/boolweight.cc,weight/tradweight.cc:
14083           Make Weight::name() return std::string to allow sane wrapping
14084           with SWIG directors.
14086 Wed Mar 11 05:46:40 GMT 2009  Olly Betts <olly@survex.com>
14088         * api/,backends/chert/,backends/contiguousalldocspostlist.cc,
14089           backends/flint/,backends/inmemory/inmemory_database.cc,
14090           backends/inmemory/inmemory_database.h,
14091           backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
14092           backends/remote/,common/,docs/remote_protocol.html,
14093           include/xapian/database.h,include/xapian/postingiterator.h,matcher/,
14094           net/remoteserver.cc: Internally, pass around non-normalised document
14095           lengths as Xapian::termcount (unsigned integer) not Xapian::doclength
14096           (double).
14098 Wed Mar 11 05:25:40 GMT 2009  Olly Betts <olly@survex.com>
14100         * tests/api_anydb.cc: Use TEST_REL; wrap long comment.
14102 Wed Mar 11 04:52:41 GMT 2009  Olly Betts <olly@survex.com>
14104         * Makefile.am,api/,backends/chert/,backends/database.cc,
14105           backends/flint/flint_database.cc,backends/flint/flint_database.h,
14106           backends/inmemory/inmemory_database.cc,
14107           backends/inmemory/inmemory_database.h,
14108           backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
14109           examples/delve.cc,include/Makefile.mk,include/xapian.h,
14110           include/xapian/database.h,include/xapian/enquire.h,
14111           include/xapian/weight.h,matcher/,net/remoteserver.cc,
14112           net/serialise.cc,tests/,weight/: Reimplementation of weighting
14113           schemes which allows user subclasses to access the same stats which
14114           built in schemes can (bug#213) and which also can use lower and
14115           upper bounds of doclength and upper bounds on wdf to give a tighter
14116           maxweight, which should allow the matcher weight-based optimisations
14117           to be more effective.  Chert now tracks doclength bounds and a
14118           global (rather than per term) bound on wdf.  Other backends
14119           return much less good bounds, but these still lead to better
14120           maxweight bounds.
14122 Wed Mar 11 00:13:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14124         * include/xapian/query.h: Rename parameter name from "ctx" to the
14125           more human-friendly "context".
14127 Tue Mar 10 14:03:33 GMT 2009  Olly Betts <olly@survex.com>
14129         * tests/harness/testutils.cc: If mset_range_is_same_percents() fails
14130           because the percentages differ, report what they were to tout.
14132 Mon Mar 09 12:27:28 GMT 2009  Olly Betts <olly@survex.com>
14134         * matcher/localmatch.cc: Remove special case handling for empty string
14135           being returned from the TermIterator returned by
14136           Query::Internal::get_terms() as this should no longer happen.
14138 Mon Mar 09 12:09:21 GMT 2009  Olly Betts <olly@survex.com>
14140         * api/omqueryinternal.cc: Don't return "" from a TermIterator from
14141           Query::get_terms_begin() (happened when Query contained or was
14142           Query::MatchAll).
14143         * tests/Makefile.am,tests/api_query.cc: Add regression testcase
14144           queryterms1.
14146 Sun Mar 08 06:16:24 GMT 2009  Olly Betts <olly@survex.com>
14148         * tests/api_backend.cc: Add check that backends don't truncate total
14149           document length to 32 bits.
14151 Sun Mar 08 06:02:43 GMT 2009  Olly Betts <olly@survex.com>
14153         * tests/api_backend.cc: Disable lockfileumask1 on Cygwin and on OS/2.
14155 Sun Mar 08 05:36:54 GMT 2009  Olly Betts <olly@survex.com>
14157         * matcher/extraweightpostlist.h: Add forward declaration of
14158           Xapian::Weight since we use "Xapian::Weight *".
14160 Sun Mar 08 04:39:22 GMT 2009  Olly Betts <olly@survex.com>
14162         * backends/chert/chert_types.h,backends/flint/flint_types.h,
14163           bin/xapian-check-flint.cc,bin/xapian-check.cc,bin/xapian-compact.cc,
14164           common/Makefile.mk,common/database.h,common/internaltypes.h:
14165           Move totlen_t to a new header (internaltypes.h) to avoid needing to
14166           pull in database.h in when we want to use it.  Also move int4 and
14167           uint4 there to avoid duplicated definitions and abstract out a
14168           new uint8 from defining totlen_t.
14170 Sun Mar 08 00:50:38 GMT 2009  Olly Betts <olly@survex.com>
14172         * backends/chert/chert_database.h,backends/chert/chert_types.h,
14173           backends/flint/flint_database.h,backends/flint/flint_types.h,
14174           bin/xapian-check-flint.cc,bin/xapian-check.cc,bin/xapian-compact.cc,
14175           common/database.h: Replace flint_totlen_t and chert_totlen_t with
14176           a common totlen_t.
14178 Sat Mar 07 08:35:27 GMT 2009  Olly Betts <olly@survex.com>
14180         * backends/chert/chert_database.cc: Wrap comment.
14182 Sat Mar 07 08:28:17 GMT 2009  Olly Betts <olly@survex.com>
14184         * backends/inmemory/inmemory_database.h: Fix file description
14185           ("multiple database" -> "inmemory database").
14187 Sat Mar 07 08:25:11 GMT 2009  Olly Betts <olly@survex.com>
14189         * backends/inmemory/inmemory_database.cc,
14190           backends/inmemory/inmemory_database.h: Store non-normalised document
14191           lengths as Xapian::termcount (unsigned int) rather than
14192           Xapian::doclength (double).
14194 Sat Mar 07 06:56:26 GMT 2009  Olly Betts <olly@survex.com>
14196         * common/database.h: Removed unused forward declarations of classes.
14198 Sat Mar 07 06:52:11 GMT 2009  Olly Betts <olly@survex.com>
14200         * common/database.h: Fix comment typo.
14202 Sat Mar 07 05:44:18 GMT 2009  Olly Betts <olly@survex.com>
14204         * net/serialise.cc: Fix top of file to actually be a doxygen comment.
14205           Tweak layout of definition of serialise_stats().
14207 Sat Mar 07 05:40:58 GMT 2009  Olly Betts <olly@survex.com>
14209         * net/serialise.cc: c_str() -> data() since we don't need the
14210           nul-termination.
14212 Thu Mar 05 11:49:45 GMT 2009  Olly Betts <olly@survex.com>
14214         * tests/api_db.cc,tests/api_nodb.cc: Back out accidentally committed
14215           changes 2 commits ago.
14217 Thu Mar 05 10:28:07 GMT 2009  Olly Betts <olly@survex.com>
14219         * AUTHORS: Add Frank J. Bruzzaniti for omindex patches.
14221 Thu Mar 05 10:20:38 GMT 2009  Olly Betts <olly@survex.com>
14223         * tests/Makefile.am: If both chert and flint are enabled, run
14224           remoteprog_chert and remotetcp_flint but not the other two
14225           combinations as they don't buy us any useful extra test
14226           coverage, but cost a lot of extra time per testrun.
14228 Thu Mar 05 07:51:52 GMT 2009  Olly Betts <olly@survex.com>
14230         * docs/deprecation.rst: Update to reflect that odd minor versions are
14231           now development series.
14233 Thu Mar 05 04:20:43 GMT 2009  Olly Betts <olly@survex.com>
14235         * common/serialisationcontextinternal.h: Fix forward declarations.
14237 Thu Mar 05 02:11:26 GMT 2009  Olly Betts <olly@survex.com>
14239         * api/omdatabase.cc: "new_uuid" -> "sub_uuid" - it's not really new.
14241 Wed Mar 04 22:53:13 GMT 2009  Olly Betts <olly@survex.com>
14243         * include/xapian/queryparser.h,include/xapian/termgenerator.h: Make
14244           default empty std::string parameters use std::string() rather than
14245           "".
14247 Wed Mar 04 16:06:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14249         * api/omdatabase.cc: If a sub-database of a multi-database has no
14250           uuid, we cannot return a uuid for the database, so return
14251           string() instead.
14252         * tests/api_anydb.cc: Test for this.
14254 Wed Mar 04 13:45:41 GMT 2009  Olly Betts <olly@survex.com>
14256         * HACKING: Conversion to C++ names for ISO C headers will happen in
14257           1.1.x, not 1.1.0.
14259 Wed Mar 04 13:37:47 GMT 2009  Olly Betts <olly@survex.com>
14261         * api/omdatabase.cc,backends/database.cc,
14262           backends/remote/remote-database.cc,common/database.h,
14263           include/xapian/database.h,net/remoteserver.cc,tests/api_anydb.cc:
14264           Return an empty string from Database::get_uuid() when then backend
14265           doesn't support UUIDs for consistency with flint when the database
14266           has no UUID.  For a multiple database, build a string from the UUIDs
14267           of each subdatabase and return this as the UUID.  If there are no
14268           subdatabases return the empty string.
14270 Wed Mar 04 11:34:04 GMT 2009  Olly Betts <olly@survex.com>
14272         * backends/remote/remote-database.cc,common/remoteprotocol.h,
14273           common/remoteserver.h,docs/remote_protocol.html,net/remoteserver.cc:
14274           Change the remote server to always default to opening a Database and
14275           having the client request write access explicitly.  This allows a
14276           single server to support multiple readers and one writer
14277           simultaneously.  (bug#145)
14278         * net/remoteserver.cc,backends/remote/remote-database.cc: For constant
14279           empty string parameters, pass string() rather than "".
14280         * common/remoteserver.h: Remove unused '#include <map>'.  Remove
14281           'using namespace std;' and explicitly qualify the few bare mentions
14282           of 'string'.
14284 Wed Mar 04 07:24:39 GMT 2009  Olly Betts <olly@survex.com>
14286         * queryparser/queryparser.lt: Sync with latest upstream lempar.c
14287           (only changes were in code which isn't in our version).
14289 Wed Mar 04 04:03:44 GMT 2009  Olly Betts <olly@survex.com>
14291         * tests/Makefile.am,tests/api_percentages.cc,
14292           tests/testdata/apitest_sortconsist.txt: Apply regression test patch
14293           from bug#216.
14295 Wed Mar 04 03:41:49 GMT 2009  Olly Betts <olly@survex.com>
14297         * include/xapian/enquire.h,matcher/multimatch.cc: Fix inconsistent
14298           percentage scores when sorting primarily by valuei, except when
14299           a MatchDecider is also being used; document this remaining problem
14300           case.  (bug#216)
14302 Wed Mar 04 01:58:07 GMT 2009  Olly Betts <olly@survex.com>
14304         * backends/chert/chert_table.cc,backends/flint/flint_table.cc: No need
14305           to initialise inflate_zstream->next_out and avail_out twice.
14307 Wed Mar 04 01:16:32 GMT 2009  Olly Betts <olly@survex.com>
14309         * backends/chert/chert_table.cc,backends/flint/flint_table.cc: If
14310           deflateReset() or inflateReset() fails, just delete the zstream
14311           take the initialisation codepath - that should mean we recover
14312           if the stream does somehow end up in a bad state and is less
14313           code than throwing an exception.  Annotate tests with rare()
14314           or usual() if they are for exceptional conditions.  Fix bug
14315           introduced by the laziness patch which was adding an int error
14316           code to a const char * message.  If deflateInit2() or inflateInit2()
14317           fails, delete and zero the stream so there's no risk of ending up
14318           wedged on a partly initialised stream.
14320 Tue Mar 03 15:32:53 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14322         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
14323           Check for errors from deflateReset() and inflateReset() - there
14324           shouldn't be any if we've given them a valid stream, so just
14325           raise InternalError if we get one.
14327 Tue Mar 03 09:43:34 GMT 2009  Olly Betts <olly@survex.com>
14329         * NEWS: Updated from ChangeLog.
14331 Tue Mar 03 05:52:16 GMT 2009  Olly Betts <olly@survex.com>
14333         * tests/api_closedb.cc: Fix testcase closedb2 not to create a test
14334           database named closedb3.
14336 Tue Mar 03 04:31:48 GMT 2009  Olly Betts <olly@survex.com>
14338         * include/xapian/queryparser.h: Add QueryParser::FLAG_DEFAULT to make
14339           it easier to add flags to those set by default.
14340         * tests/queryparsertest.cc: Use FLAG_DEFAULT in a few places to serve
14341           as a feature test.
14343 Tue Mar 03 03:45:53 GMT 2009  Olly Betts <olly@survex.com>
14345         * docs/index.html: Add link to new serialisation topic document.
14346         * docs/serialisation.rst: Reword to avoid pluralising class names.
14347           Add link to postingsource document where we reference it.
14349 Tue Mar 03 03:35:29 GMT 2009  Olly Betts <olly@survex.com>
14351         * tests/runsrv.in: Use @top_builddir@ rather than relying on it
14352           coming from the environment.
14354 Tue Mar 03 03:05:47 GMT 2009  Olly Betts <olly@survex.com>
14356         * tests/api_wrdb.cc: Clear tout regularly in modifyvalues1 as
14357           otherwise the output builds up.  Some string stream implementations
14358           get very inefficient with large strings, and also this seems to
14359           interact badly with valgrind's leak detection resulting in the
14360           test having to be rerun to check if it really leaks.  Prefer
14361           tout.str(string()) to tout.str("") in existing uses too.
14363 Tue Mar 03 01:41:07 GMT 2009  Olly Betts <olly@survex.com>
14365         * backends/flint/flint_table.cc: Update handling of shutting down
14366           the zstream objects in the dtor to match chert.
14368 Mon Mar 02 23:57:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14370         * backends/chert/chert_table.h,backends/flint/flint_table.h: Add
14371           documentation comments for the lazy allocation methods, and
14372           separate comments for the zstream members.
14374 Mon Mar 02 23:40:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14376         * AUTHORS,backends/chert/chert_table.cc,backends/chert/chert_table.h,
14377           backends/flint/flint_table.cc,backends/flint/flint_table.h:
14378           Reduce allocation of zstreams by allocating them lazily, keeping
14379           them in the table objects, and reuse them, rather than allocating
14380           a new one each time it's wanted.  Heavily based on a patch from
14381           Todd Lipcon.  Apparently improves performance significantly on
14382           some systems; on my tests it has no perceptible negative impact,
14383           but it makes sense that it could help in some situations, so
14384           let's apply it.  Fixes #325.
14386 Mon Mar 02 21:10:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14388         * docs/deprecation.rst: Deprecate Stem_get_available_languages()
14389           from the python bindings.
14391 Mon Mar 02 19:56:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14393         * common/Makefile.mk,common/const_database_wrapper.cc,
14394           common/const_database_wrapper.h,matcher/queryoptimiser.cc: Avoid
14395           const_cast() on Database::Internal, and exposing
14396           compiler-dependent behaviour if non-const methods are called, by
14397           adding a ConstDatabaseWrapper class, which is a subclass of
14398           Database::Internal, and also takes a Database::Internal as a
14399           parameter, to be wrapped.  This class proxies all const methods
14400           to the wrapped Database::Internal, and raises
14401           InvalidOperationError on non-const methods.  Fixes #332.
14403 Mon Mar 02 18:27:00 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14405         * include/xapian/postingsource.h: Documentation comment
14406           improvements.  Be explicit that Xapian will call reset() before
14407           various methods, and will call next, skip_to or check before
14408           at_end.
14409         * include/xapian/query.h: Wrap over-long line.
14411 Mon Mar 02 18:26:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14413         * docs/Makefile.am,docs/serialisation.rst: Add topic document about
14414           serialisation.
14416 Mon Mar 02 17:58:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14418         * docs/postingsource.rst: Update documentation with new design.
14420 Mon Mar 02 17:16:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14422         * api/omqueryinternal.cc: Change serialisation of queries to use
14423           encode_length() rather than om_tostring(), for a more compact and
14424           easier to parse representation.
14426 Mon Mar 02 14:48:08 GMT 2009  Olly Betts <olly@survex.com>
14428         * backends/multi/multi_alltermslist.cc: Fix memory leak which
14429           was causing allterms6 to fail.
14431 Mon Mar 02 14:15:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14433         * matcher/externalpostlist.cc: Fix memory leak in external source
14434           postlist (fixes fixedweightsource1).
14436 Mon Mar 02 13:41:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14438         * api/postingsource.cc: Don't set max_weight in
14439           ValueMapPostingSource::set_default_weight() - it's set in
14440           reset() before being used, and it's not been set here yet, so
14441           accessing it in std::max() was making valgrind complain.
14443 Mon Mar 02 12:23:01 GMT 2009  Olly Betts <olly@survex.com>
14445         * HACKING,configure.ac,tests/runtest.in: Don't use valgrind if it's
14446           < 3.3.0 as that's well over a year old and greatly simplifies the
14447           configure tests.  Fix options passed to valgrind so that the
14448           testsuite harness actually reports problems detected by newer
14449           valgrind versions.
14451 Mon Mar 02 10:08:25 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14453         * api/,bin/xapian-tcpsrv.cc,common/Makefile.mk,common/remoteserver.h,
14454           common/serialisationcontextinternal.h,include/Makefile.mk,
14455           include/xapian.h,include/xapian/enquire.h,include/xapian/query.h,
14456           include/xapian/serialisationcontext.h,net/remoteserver.cc,
14457           tests/api_serialise.cc,tests/internaltest.cc: Add
14458           SerialisationContext.  This object is used to register
14459           PostingSource or Weight subclasses, so that they can be
14460           serialised and unserialised, and therefore used in remote
14461           searches.  Add two-argument form for Query::unserialise() which
14462           takes a serialisation context.  Fixes #206.
14464 Mon Mar 02 07:13:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14466         * include/xapian/database.h: Further tweak to wording of
14467           documentation about close().
14469 Mon Mar 02 07:05:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14471         * backends/chert/chert_table.cc,backends/chert/chert_table.h,
14472           backends/flint/flint_table.cc,backends/flint/flint_table.h:
14473           Factor out more "throw Xapian::DatabaseError("Database has been
14474           closed")" bits into separate functions: knocks another 20KB off
14475           the shared library size.
14477 Mon Mar 02 05:46:15 GMT 2009  Olly Betts <olly@survex.com>
14479         * include/xapian/enquire.h: Document how to get all matches from
14480           Enquire::get_mset().
14482 Mon Mar 02 04:52:17 GMT 2009  Olly Betts <olly@survex.com>
14484         * backends/inmemory/inmemory_alltermslist.cc,
14485           backends/inmemory/inmemory_database.cc,
14486           backends/inmemory/inmemory_database.h: Factor out "throw
14487           Xapian::DatabaseError("Database has been closed") into a separate
14488           function which knocks over 100KB off the shared library size (just
14489           over 0.5%).
14491 Mon Mar 02 03:57:17 GMT 2009  Olly Betts <olly@survex.com>
14493         * matcher/phrasepostlist.h: Remove blank line from end of file.
14495 Mon Mar 02 03:52:10 GMT 2009  Olly Betts <olly@survex.com>
14497         * api/replication.cc,common/msvc_posix_wrapper.cc: Cuddle braces for
14498           "if" and "switch".
14500 Mon Mar 02 03:32:32 GMT 2009  Olly Betts <olly@survex.com>
14502         * tests/api_closedb.cc: Use more conventional uppercase macro parameter
14503           names.  Wrap long comments.  Remove another unused exception name.
14505 Mon Mar 02 03:21:39 GMT 2009  Olly Betts <olly@survex.com>
14507         * api/replication.cc,backends/chert/chert_databasereplicator.cc,
14508           backends/flint/flint_databasereplicator.cc,net/remoteserver.cc,
14509           tests/api_closedb.cc,tests/perftest/perftest_matchdecider.cc:
14510           Don't name the exception being caught if we don't look at it.  While
14511           GCC doesn't currently warn "unused variable" here, I'm fairly sure
14512           there are compilers which do.
14514 Mon Mar 02 03:20:52 GMT 2009  Olly Betts <olly@survex.com>
14516         * tests/perftest/perftest.cc: Wrap overlong comment.
14518 Mon Mar 02 03:17:48 GMT 2009  Olly Betts <olly@survex.com>
14520         * matcher/mergepostlist.cc: Change "do { ... } while (true);" to the
14521           more usual "while (true) { ... }".
14523 Sun Mar 01 19:41:16 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14525         * tests/api_closedb.cc: Merge closedb1 and closedb2 into a single
14526           test, and add lots more checking to it.  Rename closedb3 to
14527           closedb2, to avoid leaving an odd gap.  closedb1 needs more work,
14528           but is a useful start; committing now, rather than once I've done
14529           this work, since the old test is failing in buildbot, and I don't
14530           want to get in the way of snapshot tarballs.
14532 Sun Mar 01 19:27:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14534         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
14535           Add a few guards to throw DatabaseError when the database has
14536           been permanently closed, rather than behaving as if the table is
14537           empty in that situation.  Also, don't delete the resources in the
14538           table when Database::close() is called, because they may still be
14539           used to attempt to look up cached content.
14541 Sun Mar 01 18:22:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14543         * include/xapian/database.h: Update documentation comments for
14544           reopen() and close() to document the API we're aiming for (ie,
14545           that closed databases either return the right result from cache,
14546           or raise a DatabaseError).
14548 Sun Mar 01 18:20:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14550         * backends/inmemory/inmemory_alltermslist.cc,
14551           backends/inmemory/inmemory_database.cc,
14552           backends/inmemory/inmemory_database.h: Add a flag to mark whether
14553           the database is closed, and add guards before all methods which
14554           access content which goes away when the database is closed, to
14555           raise an exception if the database is closed.
14557 Sun Mar 01 18:20:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14559         * backends/inmemory/inmemory_document.h: Fix a typo in a comment.
14561 Sun Mar 01 17:49:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14563         * matcher/mergepostlist.cc: Fix ticket #336 by calling
14564           recalc_maxweight when a sub-posting list finishes (other than
14565           after the last one, where there is no point in calling
14566           recalc_maxweight).
14568 Sun Mar 01 15:34:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14570         * tests/api_db.cc: Fix MyDontAskWeightPostingSource to use the
14571           database passed to reset(), rather than one passed to its
14572           constructor.  This allows externalsource4 to be enabled for
14573           multidatabases.
14575 Sun Mar 01 13:07:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14577         * include/xapian/postingsource.h: Add comments as discussed in
14578           ticket #295 to make clear that in a multi-database search,
14579           PostingSources are passed a single sub-database.  Also mention
14580           that the returned value of clone() will be deallocated with
14581           delete.
14583 Sat Feb 28 08:21:33 GMT 2009  Olly Betts <olly@survex.com>
14585         * api/omdatabase.cc,backends/chert/chert_database.cc,
14586           backends/chert/chert_database.h,backends/database.cc,
14587           backends/flint/flint_database.cc,backends/flint/flint_database.h,
14588           backends/inmemory/inmemory_database.cc,
14589           backends/inmemory/inmemory_database.h,
14590           backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
14591           examples/copydatabase.cc,include/xapian/database.h,
14592           net/remoteserver.cc,tests/,tests/perftest/perftest_matchdecider.cc,
14593           tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc: Add
14594           WritableDatabase::commit() as a new, preferred alias for
14595           WritableDatabase::flush().  (bug#266)
14597 Fri Feb 27 01:59:31 GMT 2009  Olly Betts <olly@survex.com>
14599         * include/xapian/database.h: WritableDatabase::flush() can't throw
14600           DatabaseLockError.  WritableDatabase's ctor can throw at least
14601           DatabaseCorruptError or DatabaseLockError.
14603 Thu Feb 26 14:54:28 GMT 2009  Olly Betts <olly@survex.com>
14605         * tests/api_db.cc,tests/api_valuestream.cc: Update comments about why
14606           certain tests are disabled for certain backends.  Enable
14607           valueweightsource5 for multi and valuemapsource2 for remote.
14609 Thu Feb 26 14:53:19 GMT 2009  Olly Betts <olly@survex.com>
14611         * matcher/multiandpostlist.cc: Use AssertRelParanoid() instead
14612           of AssertParanoid() so the values get reported if the assertion
14613           fails.
14615 Thu Feb 26 14:18:21 GMT 2009  Olly Betts <olly@survex.com>
14617         * include/xapian/postingsource.h: Tweak word order.
14619 Thu Feb 26 12:48:16 GMT 2009  Olly Betts <olly@survex.com>
14621         * tests/api_db.cc: Make the PostingSource subclass ctors which are
14622           only called from clone() private to set a good example for users.
14624 Thu Feb 26 12:28:34 GMT 2009  Olly Betts <olly@survex.com>
14626         * include/xapian/postingsource.h: Fix doc comment typo.
14628 Thu Feb 26 12:08:40 GMT 2009  Olly Betts <olly@survex.com>
14630         * api/omqueryinternal.cc,include/xapian/query.h: Avoid copying
14631           Query::Internal objects needlessly when unserialising Query
14632           objects.
14634 Thu Feb 26 10:07:18 GMT 2009  Olly Betts <olly@survex.com>
14636         * tests/api_db.cc: A couple more uncollapsed tests.
14638 Thu Feb 26 08:28:42 GMT 2009  Olly Betts <olly@survex.com>
14640         * tests/api_anydb.cc,tests/api_wrdb.cc,tests/harness/testsuite.h,
14641           tests/perftest/perftest_matchdecider.cc,tests/queryparsertest.cc:
14642           Update to use new TEST_REL() macro.  Remove old TEST_LESSER(),
14643           etc.
14645 Thu Feb 26 07:51:43 GMT 2009  Olly Betts <olly@survex.com>
14647         * matcher/multimatch.cc: Fix the new
14648           Enquire::get_uncollapsed_matches_lower_bound(), etc methods for
14649           certain cases.
14650         * tests/api_anydb.cc,tests/api_db.cc: Extend existing tests to also
14651           check Enquire::get_uncollapsed_matches_lower_bound(), etc.
14653 Thu Feb 26 07:49:23 GMT 2009  Olly Betts <olly@survex.com>
14655         * tests/harness/Makefile.mk,tests/harness/testmacros.h,
14656           tests/harness/testsuite.h: Add new "TEST_REL" macro which can test
14657           for a condition using any relational operator and report a failure
14658           clearly yet concisely.
14660 Wed Feb 25 13:43:41 GMT 2009  Olly Betts <olly@survex.com>
14662         * matcher/multimatch.cc: Fix adjustment of the uncollapse bounds and
14663           estimate.
14665 Wed Feb 25 12:32:13 GMT 2009  Olly Betts <olly@survex.com>
14667         * configure.ac: GCC --version keeps changing format, and as a result
14668           we were currently getting "g++" as the version.  So change to the
14669           (hopefully) more robust technique of using g++ -E to pull out
14670           __GNUC__ and __GNUC_MINOR__.
14672 Wed Feb 25 03:14:08 GMT 2009  Olly Betts <olly@survex.com>
14674         * api/omdatabase.cc: Fix for compiling with Sun's compiler
14675           (untested as I no longer have access to it).
14677 Mon Feb 23 14:11:12 GMT 2009  Olly Betts <olly@survex.com>
14679         * docs/sorting.rst: Clarify meaning.
14681 Mon Feb 23 14:04:50 GMT 2009  Olly Betts <olly@survex.com>
14683         * docs/deprecation.rst,include/xapian/enquire.h,tests/: Rename the
14684           wrongly named "ascending" parameter of the set_sort_by*() methods
14685           of Enquire to "reverse" and deprecate the default value since
14686           defaulting to "reverse=true" is confusing.  (bug#311)
14688 Mon Feb 23 01:24:23 GMT 2009  Olly Betts <olly@survex.com>
14690         * api/omenquire.cc,backends/remote/remote-database.cc,
14691           common/multimatch.h,common/omenquireinternal.h,
14692           common/remote-database.h,docs/collapsing.rst,
14693           docs/remote_protocol.html,include/xapian/enquire.h,matcher/,
14694           net/remoteserver.cc,net/serialise.cc,tests/Makefile.am,
14695           tests/api_collapse.cc: Replace the collapsing code in the matcher
14696           with a separate Collapser class.  This new class can keep more than
14697           one document with each collapse key.  Also track bounds and an
14698           estimate of the total number of matches if collapsing wasn't in use.
14700 Mon Feb 23 00:52:16 GMT 2009  Olly Betts <olly@survex.com>
14702         * api/omdatabase.cc: Fix AssertionError from apitest testcases
14703           fixedweightsource2 and valueweightsource1.
14705 Sun Feb 22 11:02:24 GMT 2009  Olly Betts <olly@survex.com>
14707         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Check for
14708           fork failing *after* we check if we're now the child process.
14710 Sun Feb 22 10:06:13 GMT 2009  Olly Betts <olly@survex.com>
14712         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Note
14713           explicitly why we now have the strange empty if (not) checking the
14714           return value of chdir("/") (it's actually newer glibc and
14715           _FORTIFY_SOURCE rather than newer GCC).  Retry closing filehandle if
14716           it returns EINTR.  Whitespace tweaks.
14718 Sat Feb 21 11:04:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14720         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Fix
14721           warning about ignoring result of chdir (with GCC 4.2)
14723 Sat Feb 21 08:18:21 GMT 2009  Olly Betts <olly@survex.com>
14725         * tests/harness/testsuite.cc: Fix option usage in --help - "-x=foo"
14726           doesn't work - "-x foo" does.
14728 Sat Feb 21 07:37:01 GMT 2009  Olly Betts <olly@survex.com>
14730         * tests/perftest/perftest_randomidx.cc: Use two argument version of
14731           rand_int() where applicable.  Reserve length of result string in
14732           gen_word().  Fix truncated comment.
14734 Sat Feb 21 04:27:45 GMT 2009  Olly Betts <olly@survex.com>
14736         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: In the
14737           locking child process, before we exec /bin/cat change directory to
14738           / so that we don't block unmounting of any partitions and close
14739           any open file descriptors (apart from those we're using) so that if
14740           the files are closed by our parent and deleted the disk space gets
14741           released right away.
14743 Sat Feb 21 02:06:56 GMT 2009  Olly Betts <olly@survex.com>
14745         * api/postingsource.cc,include/xapian/postingsource.h: Pass string as
14746           const string &; drop trailing "_" from parameters which don't clash
14747           with member variables; fix brace formatting on a couple of for
14748           loops.
14750 Fri Feb 20 14:32:46 GMT 2009  Olly Betts <olly@survex.com>
14752         * tests/api_closedb.cc: Fix testcase closedb3 not to create a test
14753           database named closedb2.
14755 Fri Feb 20 01:38:32 GMT 2009  Olly Betts <olly@survex.com>
14757         * include/xapian/enquire.h: Documentation comment improvements.
14759 Wed Feb 18 06:48:43 GMT 2009  Olly Betts <olly@survex.com>
14761         * matcher/multimatch.cc: Use AssertRel rather than Assert with an
14762           inequality so that we see the arguments if the assertion fails.
14764 Wed Feb 18 06:39:33 GMT 2009  Olly Betts <olly@survex.com>
14766         * matcher/multimatch.cc: "items" -> "rsetitems" to distinguish from
14767           items used elsewhere for the MSet items.
14769 Wed Feb 18 06:20:38 GMT 2009  Olly Betts <olly@survex.com>
14771         * matcher/multimatch.cc: Drop superfluous "std::".
14773 Wed Feb 18 05:46:59 GMT 2009  Olly Betts <olly@survex.com>
14775         * NEWS: Update from ChangeLog.
14777 Tue Feb 17 23:53:54 GMT 2009  Olly Betts <olly@survex.com>
14779         * include/xapian/document.h,include/xapian/query.h: "xapian" ->
14780           "Xapian".
14782 Tue Feb 17 15:02:49 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14784         * include/xapian/document.h,include/xapian/query.h: Soften comment
14785           warning about changes in serialised format between xapian
14786           versions; note that the format won't change unless the remote
14787           database protocol has changed.
14789 Tue Feb 17 14:59:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14791         * api/omquery.cc: Return std::string() rather than "" to encourage
14792           compilers to use special empty string representation.
14794 Mon Feb 16 14:27:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14796         * api/postingsource.cc: Change the name() methods of the built-in
14797           posting sources to return a full name (starting with Xapian:: and
14798           ending with PostingSource), as documented in the API
14799           documentation comments.
14801 Mon Feb 16 13:32:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14803         * api/omqueryinternal.cc,common/remoteserver.h,
14804           matcher/externalpostlist.cc,matcher/externalpostlist.h,
14805           matcher/queryoptimiser.cc,net/remoteserver.cc,
14806           tests/api_percentages.cc,tests/api_valuestream.cc: Add some
14807           copyright lines missed in changeset [11838].
14809 Mon Feb 16 11:56:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14811         * matcher/queryoptimiser.cc: Add another reference from a FIXME to
14812           a ticket number.
14814 Mon Feb 16 11:47:21 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14816         * api/omqueryinternal.cc: Update two FIXMEs to reference the
14817           appropriate ticket.
14819 Mon Feb 16 10:11:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14821         * Add support for multi and remote backends with posting sources,
14822           from ticket #295:
14823         * include/xapian/postingsource.h: Add some clarifying comments
14824           about the interface of PostingSources, and add clone(), name(),
14825           serialise() and unserialise() methods to PostingSources, for
14826           remote and multidatabase support.
14827         * include/xapian/query.h: Add internal member to track ownership of
14828           external posting sources, and update some comments.
14829         * api/postingsource.cc: Add implementations of the new methods, so
14830           that all standard PostingSources support remote and multi
14831           database searches.
14832         * api/omquery.cc: Clone external PostingSources if possible.
14833         * api/omqueryinternal.cc: Add serialisation and unserialisation
14834           support for posting sources, and support for keeping track of
14835           whether an external posting source is owned by the query object
14836           or not (ie, whether it needs to be deleted by the destructor).
14837         * matcher/externalpostlist.cc,matcher/externalpostlist.h: (Attempt
14838           to) clone external posting sources at start, and call the reset()
14839           method with the database in use.  Delete the posting source
14840           afterwards, if the clone was successful.
14841         * matcher/queryoptimiser.cc: Pass the database to ExternalPostList.
14842           Sadly, this currently requires a const_cast.
14843         * tests/: Update tests of PostingSources to take the db parameter
14844           on the reset() method, and to test behaviour with multi and
14845           remote backends where appropriate.  Also, add regression test for
14846           segfault in FixedWeightPostingSource::skip_to() when database is
14847           empty.
14848         * net/remoteserver.cc,common/remoteserver.h: Add the built-in
14849           posting sources to the remote server, and add
14850           register_posting_source() to the remoteserver, for use in
14851           xapian-tcpsrv.cc for user posting sources, analogously to
14852           register_weighting_scheme().
14854 Fri Feb 13 20:09:10 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14856         * api/postingsource.cc: Fix segfaults which occur if an empty
14857           ValuePostingSource subclass has the skip_to() or check() methods
14858           called on it first.
14859         * tests/api_db.cc tests/api_valuestream.cc: Move valuemapsource1 to
14860           api_valuestream.cc, since that seems like a better place (and
14861           api_db.cc is already rather over-large).  Add regression test
14862           "valuemapsource2" to check the behaviour of ValuePostingSource
14863           subclasses on empty lists.
14865 Fri Feb 13 19:29:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14867         * api/postingsource.cc,include/xapian/postingsource.h: Add
14868           ValuePostingSource, which is a base class for implementing
14869           posting sources based on reading from a value slot.  Convert
14870           ValueWeightPostingSource to be a subclass of this, and add
14871           ValueMapPostingSource, which is a posting source which uses a map
14872           to convert values to weights.
14873         * tests/api_db.cc: Add valuemapsource1, testing the
14874           ValueMapPostingSource.
14876 Fri Feb 13 15:14:53 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14878         * tests/harness/index_utils.cc: Add value 13, containing the first
14879           3 letters of the paragraph - needed for some tests I'm going to
14880           commit shortly.
14882 Fri Feb 13 14:05:44 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14884         * tests/api_sorting.cc: Change slot number used to get an empty
14885           slot from 13 to 100 - we're getting close to using slot 13 now!
14887 Sat Feb 07 00:31:12 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14889         * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc:
14890           Return accidentally changed "XAPIAN_ASSERTIONS_VERBOSE" ifdefs to
14891           "XAPIAN_DEBUG_VERBOSE".
14893 Sat Feb 07 00:16:43 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14895         * api/omdocument.cc,api/omquery.cc,include/xapian/document.h,
14896           include/xapian/query.h: Add methods for serialising documents and
14897           queries into strings, and unserialising back from strings.  Fixes
14898           most of ticket #206 - missing part is that serialising queries
14899           containing PostingSources doesn't work.
14900         * tests/Makefile.am,tests/api_serialise.cc: Add tests of document
14901           and query serialisation.
14903 Fri Feb 06 16:06:50 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14905         * configure.ac: Set HAVE_PREAD and HAVE_PWRITE if pread and pwrite
14906           are found; turns use of pread and pwrite back on.  This improves
14907           the speed of a test case of 10,000 (fully cached) searches from
14908           1.84 seconds to 1.78 seconds for me (on ubuntu hardy) - ie, about
14909           3% speed increase.
14911 Tue Jan 20 06:22:20 GMT 2009  Olly Betts <olly@survex.com>
14913         * tests/api_db.cc: Prefer value.empty() to value == "".
14915 Mon Jan 19 05:08:48 GMT 2009  Olly Betts <olly@survex.com>
14917         * AUTHORS,queryparser/Makefile.mk: Fix "#line" directives in generated
14918           file queryparser/queryparser_internal.cc to give a relative path -
14919           previously they had a full path when generated by a VPATH build, and
14920           this confused GCC 2.95 and depcomp.
14922 Sun Jan 18 23:34:22 GMT 2009  Olly Betts <olly@survex.com>
14924         * api/omenquire.cc: Throw UnimplementedError from Enquire::get_mset()
14925           if we're asked for a percentage cutoff and to sort primarily by
14926           value - this has never been correctly supported and it's better to
14927           warn people than give incorrect results.
14928         * tests/api_percentages.cc: Add test that this error gets thrown.
14930 Tue Jan 13 08:20:36 GMT 2009  Olly Betts <olly@survex.com>
14932         * common/omenquireinternal.h: Swap the items vector into the
14933           MSet::Internal object rather than copying it to avoid the overhead
14934           of the copy.
14936 Thu Jan 08 05:14:47 GMT 2009  Olly Betts <olly@survex.com>
14938         * backends/chert/chert_cursor.cc,backends/chert/chert_postlist.cc,
14939           backends/flint/flint_cursor.cc,backends/flint/flint_postlist.cc,
14940           backends/multi/multi_postlist.cc,common/omassert.h,configure.ac,
14941           matcher/multimatch.cc: Change preprocessor defines controlling
14942           assertions from XAPIAN_DEBUG->XAPIAN_ASSERTIONS and
14943           XAPIAN_DEBUG_PARANOID->XAPIAN_ASSERTIONS_PARANOID so their purpose
14944           is clearer.
14946 Thu Jan 08 02:23:21 GMT 2009  Olly Betts <olly@survex.com>
14948         * NEWS: Update from ChangeLog.
14950 Wed Jan 07 03:43:07 GMT 2009  Olly Betts <olly@survex.com>
14952         * api/matchspy.cc: Fix FP rounding bug (bug#321).
14953         * AUTHORS: Add Shane Evans for bug report.
14955 Tue Jan 06 22:08:12 GMT 2009  Olly Betts <olly@survex.com>
14957         * backends/inmemory/inmemory_database.cc: Fix comment typo.
14959 Tue Jan 06 21:39:30 GMT 2009  Olly Betts <olly@survex.com>
14961         * api/matchspy.cc: Add assertions to try to track down what's causing
14962           bug#321.
14964 Tue Jan 06 03:20:27 GMT 2009  Olly Betts <olly@survex.com>
14966         * matcher/exactphrasepostlist.cc,matcher/phrasepostlist.cc: Fix
14967           comment typos.
14969 Mon Jan 05 04:42:04 GMT 2009  Olly Betts <olly@survex.com>
14971         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6016" -
14972           only change is to comment noting the synced version as the changed
14973           code has been deleted in our version.
14975 Fri Dec 26 15:05:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14977         * include/xapian/database.h: Add Database.close() method, used to
14978           close the resources (in particular, the filehandles) held by a
14979           database before the destructor is called.  Particularly useful
14980           for the bindings from other languages.
14981         * api/omdatabase.cc,backends/chert/chert_database.cc,
14982           backends/chert/chert_database.h,backends/flint/flint_database.cc,
14983           backends/flint/flint_database.h,
14984           backends/inmemory/inmemory_database.cc,
14985           backends/inmemory/inmemory_database.h,
14986           backends/remote/remote-database.cc,common/database.h,
14987           common/remote-database.h,net/remoteconnection.cc: Implementation
14988           of close() methods.
14989         * tests/Makefile.am,tests/api_closedb.cc: New test file, for
14990           testing the close method.  Could do with being expanded to test
14991           many more methods of databases in the closed state, and to test
14992           the behaviour after the close of objects created from databases
14993           before the database was closed.
14995 Fri Dec 26 13:42:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14997         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
14998           Raise error if database has been closed permanently when
14999           cursor_get() is called - a NULL return type isn't checked in
15000           various places (for tables which are never closed temporarily),
15001           so this is the easiest place to add a check to avoid a segfault
15002           without incurring extra overhead.
15004 Tue Dec 23 13:42:21 GMT 2008  Olly Betts <olly@survex.com>
15006         * languages/compiler/analyser.c: Fix GCC 4.3 warning.
15008 Tue Dec 23 06:35:11 GMT 2008  Olly Betts <olly@survex.com>
15010         * PLATFORMS: Sync with 1.0 branch.
15011         * PLATFORMS: Remove 0.9.x build reports; move 1.0.x build reports
15012           to the "old version" section.
15013         * INSTALL: Adapt old footnotes from PLATFORMS about HP's aCC and IRIX
15014           into new paragraphs here.
15016 Tue Dec 23 05:19:52 GMT 2008  Olly Betts <olly@survex.com>
15018         * HACKING,configure.ac: Make automake 1.10.2 a hard minimum
15019           requirement.
15021 Tue Dec 23 04:36:27 GMT 2008  Olly Betts <olly@survex.com>
15023         * NEWS: Update from ChangeLog.
15025 Mon Dec 22 16:02:58 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15027         * backends/chert/chert_databasereplicator.cc,
15028           backends/databasereplicator.cc,
15029           backends/flint/flint_databasereplicator.cc: Fix some missing bits
15030           for debug compilation.
15032 Mon Dec 22 13:30:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15034         * api/replication.cc,backends/Makefile.mk,backends/chert/,
15035           backends/database.cc,backends/databasereplicator.cc,backends/flint/,
15036           common/Makefile.mk,common/database.h,common/databasereplicator.h:
15037           Add DatabaseReplicator base class, and subclasses for flint and
15038           chert, to hold parts of database replication code which need to
15039           be applied to a partially replicated database which may not be a
15040           valid database.  Move the code for applying changesets and
15041           comparing revision numbers into here, and add code for getting
15042           uuids which simply returns "" if the database is too broken to
15043           have a uuid associated with it.  Update the replication code to
15044           use DatabaseReplicator subclasses instead of Database classes
15045           where necessary, to avoid failing if a partial database is
15046           transmitted.  Add additional checks to ensure that the UUID of a
15047           replicated databse is equal to that sent in the replication
15048           protocol message introducing a full database copy; if they
15049           differ, a retry of the copy is needed, so ensure that the next
15050           message sent is a new copy of the database.
15052 Mon Dec 22 11:24:43 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15054         * docs/replication.rst: Warning about a possible way to confuse the
15055           replication process.
15057 Sat Dec 20 14:00:34 GMT 2008  Olly Betts <olly@survex.com>
15059         * tests/api_percentages.cc: Update (C) too.
15061 Sat Dec 20 13:51:35 GMT 2008  Olly Betts <olly@survex.com>
15063         * matcher/multimatch.cc: If we're using values for sorting and for
15064           another purpose, cache the Document::Internal object from getting
15065           the value for sorting like we do between other uses.
15067 Sat Dec 20 13:09:13 GMT 2008  Olly Betts <olly@survex.com>
15069         * tests/api_percentages.cc: Make formatting of MyPostingSource code
15070           more self-consistent.  Remove a superfluous block scope.  Wrap a
15071           long comment.
15073 Sat Dec 20 12:25:40 GMT 2008  Olly Betts <olly@survex.com>
15075         * exception_data.pm: Build a hash mapping a class to a list of its
15076           subclasses and export this as %subclasses.
15078 Sat Dec 20 05:51:50 GMT 2008  Olly Betts <olly@survex.com>
15080         * HACKING: Wrap a long line.
15082 Sat Dec 20 05:28:57 GMT 2008  Olly Betts <olly@survex.com>
15084         * queryparser/lemon.c: Merge upstream "Check-in Number: 6016".
15086 Fri Dec 19 14:25:10 GMT 2008  Olly Betts <olly@survex.com>
15088         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6015".
15090 Fri Dec 19 14:07:52 GMT 2008  Olly Betts <olly@survex.com>
15092         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6006".
15094 Fri Dec 19 13:51:33 GMT 2008  Olly Betts <olly@survex.com>
15096         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5919"
15097           - code changes are in deleted code, so no actual code changes for
15098           us.
15100 Fri Dec 19 13:46:22 GMT 2008  Olly Betts <olly@survex.com>
15102         * queryparser/lemon.c: Merge upstream "Check-in Number: 6008".
15104 Fri Dec 19 11:15:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15106         * tests/api_replicate.cc: Fix comment describing test.
15108 Thu Dec 18 23:38:50 GMT 2008  Olly Betts <olly@survex.com>
15110         * backends/chert/chert_table.cc,backends/flint/flint_table.cc: Tidy up
15111           comment wrapping and indenting of code wrapped in try blocks by the
15112           previous commit.
15114 Thu Dec 18 14:26:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15116         * backends/chert/chert_database.cc,backends/chert/chert_table.cc,
15117           backends/chert/chert_table.h,backends/flint/flint_database.cc,
15118           backends/flint/flint_table.cc,backends/flint/flint_table.h:
15119           Improve resilience to unexpected errors during commit.  Firstly,
15120           fix FlintTable and ChertTable to close the table if an error
15121           occurs during commit - this avoids the table being left in an
15122           inconsistent state (instead, the table is reopened in a
15123           consistent state the next time it is used).  Secondly, add a
15124           "permanent" close state for tables (indicated by handle being set
15125           to -2), which will raise an error if anything tries to do an
15126           action which needs the table to be opened, and set the tables to
15127           this state if we fail to recover the database after error in
15128           commit().  This prevents further actions on the database if we
15129           couldn't recover the state (eg, because we're out of disk space),
15130           avoiding risk of corruption.
15132 Thu Dec 18 01:28:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15134         * backends/chert/chert_database.cc,backends/chert/chert_database.h,
15135           backends/flint/flint_database.cc,backends/flint/flint_database.h:
15136           Improve the error reporting when modifications fail and we cannot
15137           set the revision numbers in the table to consistent values, to
15138           report the original error too.
15140 Wed Dec 17 17:27:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15142         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
15143           Fix construction of the error message when a base can't be
15144           re-read: used to do pointer arithmetic by mistake - now does the
15145           correct string concatenation.
15147 Wed Dec 17 15:18:10 GMT 2008  Olly Betts <olly@survex.com>
15149         * tests/api_valuestream.cc: Skip valuestream3 on chert for now so that
15150           snapshots and the tinderbox work again.
15152 Wed Dec 17 15:17:07 GMT 2008  Olly Betts <olly@survex.com>
15154         * tests/api_wrdb.cc: Need omassert.h for STATIC_ASSERT.
15156 Wed Dec 17 10:45:45 GMT 2008  Olly Betts <olly@survex.com>
15158         * api/omqueryinternal.cc,tests/api_nodb.cc: A NEAR of 2 OR subqueries
15159           shouldn't throw AssertionError - instead throw UnimplementedError.
15160           Addresses the worst aspect of bug#201, but this should really be
15161           implemented.
15163 Wed Dec 17 04:44:10 GMT 2008  Olly Betts <olly@survex.com>
15165         * backends/chert/chert_database.cc,backends/chert/chert_database.h:
15166           Implement ChertWritableDatabase::open_value_list().
15167         * tests/api_valuestream.cc: Add valueweightsource5 testcase which is a
15168           regression test for bug#299 and also exercises the above method.
15170 Tue Dec 16 13:30:47 GMT 2008  Olly Betts <olly@survex.com>
15172         * common/expandweight.h,expand/expandweight.cc: Overhaul ExpandWeight
15173           - now we use the "official" formula and don't return terms which it
15174           would give a negative weight to (since that means they are expected
15175           to be harmful not helfpul).
15176         * tests/api_anydb.cc,tests/api_db.cc: Fix unwarranted assumptions in
15177           existing testcases broken by this change.
15179 Thu Dec 11 01:02:41 GMT 2008  Olly Betts <olly@survex.com>
15181         * examples/delve.cc: Add missing "and" to --help output.  Report
15182           termfreq and collection freq for each term we're asked about.
15184 Mon Dec 08 00:52:51 GMT 2008  Olly Betts <olly@survex.com>
15186         * AUTHORS: Add Daniel Andersson for reporting the flintlock
15187           permissions issue.
15189 Sun Dec 07 22:50:32 GMT 2008  Olly Betts <olly@survex.com>
15191         * api/sorter.cc,tests/api_sorting.cc: Fix an empty MultiValueSorter
15192           not to SEGV/hang.
15194 Fri Dec 05 21:08:08 GMT 2008  Olly Betts <olly@survex.com>
15196         * backends/chert/chert_database.cc,tests/api_backend.cc: Use
15197           "flintlock" rather than "chertlock" for the lockfile in chert.
15198           The locking is compatible and this avoids the possibility of
15199           creating a chert and flint database in the same directory (which
15200           will result in one being corrupt since the Btree filenames overlap).
15202 Thu Dec 04 09:00:04 GMT 2008  Olly Betts <olly@survex.com>
15204         * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Create
15205           the lockfile with permissions 0666 so that the umask is honoured
15206           just like we do for the other files (previously we used 0600).
15207         * tests/Makefile.am,tests/api_backend.cc: Add regression test
15208           lockfileumask1.
15210 Thu Dec 04 08:56:54 GMT 2008  Olly Betts <olly@survex.com>
15212         * tests/stemtest.cc: Use str.resize(0) instead of str = "".
15214 Thu Dec 04 04:56:55 GMT 2008  Olly Betts <olly@survex.com>
15216         * tests/queryparsertest.cc: No need to explicitly initialise a
15217           std::string to "".
15219 Thu Dec 04 04:55:47 GMT 2008  Olly Betts <olly@survex.com>
15221         * tests/api_db.cc: Prefer str.empty() to str == "".
15223 Thu Dec 04 01:50:10 GMT 2008  Olly Betts <olly@survex.com>
15225         * tests/api_wrdb.cc: Make helper function static.  Use STATIC_ASSERT
15226           to ensure a constant is coprime with 13.
15228 Wed Dec 03 22:56:19 GMT 2008  Olly Betts <olly@survex.com>
15230         * api/omdatabase.cc: Fix API logging.
15232 Wed Dec 03 03:11:45 GMT 2008  Olly Betts <olly@survex.com>
15234         * INSTALL: Note that libuuid is required for Xapian 1.1.0 and higher.
15236 Wed Dec 03 03:10:59 GMT 2008  Olly Betts <olly@survex.com>
15238         * INSTALL: Remove ':' from the end of headings.
15240 Mon Dec 01 08:59:04 GMT 2008  Olly Betts <olly@survex.com>
15242         * HACKING: Explicitly give the commands to install the required
15243           packages for developing on recent Debian or Ubuntu for added
15244           convenience.  Update the Debian/Ubuntu packages needed for
15245           documentation to reflect the change from tetex to texlive.  Fix
15246           unfinished paragraph about requiring a newline at the end of a
15247           source file and note that this is actually undefined behaviour in
15248           C++.
15250 Sun Nov 30 21:46:59 GMT 2008  Olly Betts <olly@survex.com>
15252         * bin/,examples/quest.cc,tests/harness/testsuite.cc: Pull out lists of
15253           short options next to list of long options to help make sure they
15254           are kept in step.  xapian-tcpsrv and xapian-progsrv now accept -w
15255           as a short form of --writable, as their long option table had, but
15256           their short option string didn't.
15258 Sun Nov 30 20:44:48 GMT 2008  Olly Betts <olly@survex.com>
15260         * docs/postingsource.rst: Wrap a long line.  Note that the remote
15261           backend isn't supported yet.
15263 Wed Nov 19 11:36:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15265         * docs/postingsource.rst: Make it clear that PostingSources must
15266           always return documents in increasing document ID order.
15268 Wed Nov 19 08:43:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15270         * bin/,examples/delve.cc,examples/quest.cc,tests/harness/testsuite.cc:
15271           Test return type of gnu_getopt_long for being != -1, rather than
15272           == 0, since there are a wide variety of return types other than 0
15273           which may be returned in the successful case (with the builtin
15274           implementation in common/getopt.cc, at least).
15276 Tue Nov 18 23:22:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15278         * api/omdatabase.cc: Change unknown "DATABASE" debug type to "DB".
15280 Mon Nov 17 13:00:12 GMT 2008  Olly Betts <olly@survex.com>
15282         * docs/queryparser.html: Add link to valueranges.html.
15284 Fri Nov 14 22:23:10 GMT 2008  Olly Betts <olly@survex.com>
15286         * NEWS: Update revision we're current to.
15288 Fri Nov 14 17:43:15 GMT 2008  Olly Betts <olly@survex.com>
15290         * backends/chert/chert_alldocsmodifiedpostlist.cc,
15291           backends/chert/chert_modifiedpostlist.cc,
15292           backends/flint/flint_modifiedpostlist.cc: Correct comments.
15294 Fri Nov 14 17:38:33 GMT 2008  Olly Betts <olly@survex.com>
15296         * tests/harness/testsuite.cc: Update comment about valgrind and C++
15297           STL allocators.
15299 Fri Nov 14 17:36:47 GMT 2008  Olly Betts <olly@survex.com>
15301         * bin/,examples/delve.cc,examples/quest.cc,tests/harness/testsuite.cc:
15302           Don't compare return value of gnu_getopt_long() with EOF - it's
15303           documented to simply return -1 or 0, and EOF requires inclusion of
15304           stdio.h.
15306 Fri Nov 14 17:30:39 GMT 2008  Olly Betts <olly@survex.com>
15308         * common/serialise-double.cc: Fix "#elif" with no argument to
15309           "#else" - the former surprisingly compiles with most compilers, but
15310           GCC 4.4 snapshots reject it.
15312 Fri Nov 14 16:54:15 GMT 2008  Olly Betts <olly@survex.com>
15314         * common/win32_uuid.cc: A few code clean-ups.
15316 Fri Nov 14 13:09:16 GMT 2008  Olly Betts <olly@survex.com>
15318         * common/Makefile.mk: Ship common/safeuuid.h to unbreak tarball
15319           snapshot building.
15321 Sun Nov 09 13:31:19 GMT 2008  Olly Betts <olly@survex.com>
15323         * api/omquery.cc,api/omqueryinternal.cc,bin/xapian-tcpsrv.cc,
15324           common/omenquireinternal.h,matcher/,net/remoteserver.cc:
15325           Prefer "" to <> for including Xapian API headers from within the
15326           library.  Remove so unused xapian/enquire.h inclusions.
15328 Fri Nov 07 12:50:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15330         * backends/chert/chert_version.cc,backends/chert/chert_version.h,
15331           backends/flint/flint_version.cc,backends/flint/flint_version.h,
15332           common/safeuuid.h,common/win32_uuid.cc,common/win32_uuid.h: Add
15333           implementation of UUID functions for windows (using the built-in
15334           UUID methods in the windows API). Fixes bug #303.
15336 Sat Nov 01 01:47:44 GMT 2008  Olly Betts <olly@survex.com>
15338         * NEWS: Sync with 1.0.9 release.
15340 Fri Oct 31 18:55:03 GMT 2008  Olly Betts <olly@survex.com>
15342         * include/xapian/database.h: Document XAPIAN_FLUSH_THRESHOLD
15343           (bug#306).
15345 Fri Oct 31 18:30:11 GMT 2008  Olly Betts <olly@survex.com>
15347         * configure.ac: Fix whitespace inconsistency with omega's
15348           configure.ac.
15350 Fri Oct 31 10:51:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15352         * api/postingsource.cc,include/xapian/postingsource.h: Add a new
15353           built-in posting source, FixedWeightSource, which returns every
15354           document in the database, but with a fixed weight.  In
15355           particular, this is useful to add a constant weight to every item
15356           in a subquery.  Also, in ValueWeightPostingSource, refactor the
15357           "last_docid" member to a bool "started", since this is all it's
15358           used for.
15359         * tests/api_db.cc: Add fixedweightsource1, to test FixedWeightSource.
15361 Mon Oct 27 17:05:39 GMT 2008  Olly Betts <olly@survex.com>
15363         * tests/queryparsertest.cc: Skip test if the timer granularity is too
15364           coarse in all cases.
15366 Mon Oct 27 08:12:16 GMT 2008  Olly Betts <olly@survex.com>
15368         * tests/api_valuestream.cc: Disable valuestream1 for multi backends.
15370 Sun Oct 26 00:30:54 GMT 2008  Olly Betts <olly@survex.com>
15372         * backends/chert/chert_valuelist.cc: Remove incorrect assertions.
15374 Sat Oct 25 06:18:37 GMT 2008  Olly Betts <olly@survex.com>
15376         * api/Makefile.mk: Fix typo so we once again ship editdistance.h and
15377           maptermlist.h.
15379 Thu Oct 23 17:34:13 GMT 2008  Olly Betts <olly@survex.com>
15381         * tests/queryparsertest.cc: Skip test if the timer granularity is too
15382           coarse.
15384 Tue Oct 21 05:00:59 GMT 2008  Olly Betts <olly@survex.com>
15386         * NEWS: Sync with branches/1.0.
15388 Tue Oct 21 02:09:18 GMT 2008  Olly Betts <olly@survex.com>
15390         * tests/api_valuestream.cc: Add feature test of ValueIterator::check().
15392 Tue Oct 21 01:36:45 GMT 2008  Olly Betts <olly@survex.com>
15394         * backends/inmemory/inmemory_database.cc,
15395           backends/inmemory/inmemory_database.h: Prefer string() to "", slot
15396           to valno, and not using else after return.
15398 Tue Oct 21 01:32:37 GMT 2008  Olly Betts <olly@survex.com>
15400         * tests/api_anydb.cc,tests/api_db.cc: Remove '#include <iomanip>'
15401           which aren't used.
15403 Mon Oct 20 13:30:37 GMT 2008  Olly Betts <olly@survex.com>
15405         * api/postingsource.cc,api/valueiterator.cc,
15406           include/xapian/postingsource.h,include/xapian/valueiterator.h: Add
15407           new API method ValueIterator::check() and use it in PostingIterator.
15409 Mon Oct 20 12:28:16 GMT 2008  Olly Betts <olly@survex.com>
15411         * tests/api_valuestream.cc: Add test for skip_to() on valuestream
15412           iterator.
15414 Mon Oct 20 11:19:12 GMT 2008  Olly Betts <olly@survex.com>
15416         * tests/Makefile.am,tests/api_valuestream.cc: Add a simple test of
15417           valuestream iteration.
15419 Mon Oct 20 11:01:26 GMT 2008  Olly Betts <olly@survex.com>
15421         * tests/Makefile.am,tests/collate-test,tests/perftest/Makefile.mk:
15422           Generate the header listing the collated tests so that we can avoid
15423           updating its timestamp when the contents are unchanged, such as in
15424           the common case where you modify tests but don't add, remove, or
15425           change the conditions on any tests.
15427 Mon Oct 20 10:01:56 GMT 2008  Olly Betts <olly@survex.com>
15429         * examples/delve.cc: Use valuestream iterator to implement "-V<slot>".
15431 Mon Oct 20 02:19:09 GMT 2008  Olly Betts <olly@survex.com>
15433         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
15434           Remove unused members of MultiPostList: tname, collfreq_initialised,
15435           collfreq, and termweight.
15437 Sun Oct 19 14:01:15 GMT 2008  Olly Betts <olly@survex.com>
15439         * api/postingsource.cc,include/xapian/postingsource.h: Update
15440           ValueWeightPostingSource to use a value stream iterator.
15442 Sun Oct 19 13:53:51 GMT 2008  Olly Betts <olly@survex.com>
15444         * backends/database.cc: Make use of SlowValueList by default.
15446 Sun Oct 19 13:47:10 GMT 2008  Olly Betts <olly@survex.com>
15448         * api/documentvaluelist.cc,api/documentvaluelist.h: Fix so that a
15449           DocumentValueList starts before the first value.
15451 Sun Oct 19 13:09:39 GMT 2008  Olly Betts <olly@survex.com>
15453         * api/omdatabase.cc,api/omdocument.cc: Use ValueIterator() instead of
15454           ValueIterator(NULL).
15456 Sun Oct 19 11:15:15 GMT 2008  Olly Betts <olly@survex.com>
15458         * NEWS: Update from ChangeLog.
15460 Sat Oct 18 01:31:25 GMT 2008  Olly Betts <olly@survex.com>
15462         * NEWS: Update from ChangeLog.
15464 Fri Oct 17 15:54:57 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15466         * bin/xapian-compact.cc: Check that pq is not empty before calling
15467           top() on it - if it's empty, we only have one database, so we can
15468           use the code path which doesn't worry about merging tags.  Fixes
15469           bug #305.
15471 Fri Oct 17 14:22:18 GMT 2008  Olly Betts <olly@survex.com>
15473         * backends/chert/chert_valuelist.cc: Fix ChertValueList to start on
15474           the right key.
15476 Fri Oct 17 14:14:14 GMT 2008  Olly Betts <olly@survex.com>
15478         * include/xapian/database.h,include/xapian/document.h: Inline
15479           ValueIterator end iterator as ValueIterator() rather than
15480           ValueIterator(NULL).
15481         * api/valueiterator.cc: Need to call next() on a ValueList to get it
15482           to the first position, so do this in ValueIterator's constructor.
15483         * api/valueiterator.cc,include/xapian/valueiterator.h: Add
15484           ValueIterator::get_docid() method.
15486 Fri Oct 17 13:53:26 GMT 2008  Olly Betts <olly@survex.com>
15488         * backends/slowvaluelist.cc,backends/slowvaluelist.h: Add missing
15489           SlowValueList::get_valueno() method.
15491 Fri Oct 17 13:16:01 GMT 2008  Olly Betts <olly@survex.com>
15493         * api/omdatabase.cc,include/xapian/database.h: Add
15494           Database::valuestream_begin() and Database::valuestream_end() to
15495           allow iterating over the values in a given slot for each document
15496           in the database (untested so far).
15498 Thu Oct 16 13:20:26 GMT 2008  Olly Betts <olly@survex.com>
15500         * backends/multi/multi_postlist.cc: Remove unused '#include <list>'
15501           and uninformative comment.
15503 Thu Oct 16 12:47:00 GMT 2008  Olly Betts <olly@survex.com>
15505         * api/omdocument.cc,include/xapian/document.h: Inline
15506           Xapian::Document::values_end() into user code.
15508 Thu Oct 16 12:26:29 GMT 2008  Olly Betts <olly@survex.com>
15510         * api/,backends/chert/chert_valuelist.cc,
15511           backends/chert/chert_valuelist.h,common/document.h,
15512           common/valuelist.h,include/Makefile.mk,include/xapian/derefwrapper.h,
15513           include/xapian/termiterator.h,include/xapian/valueiterator.h:
15514           Reimplement ValueIterator to have reference counted internals.  One
15515           benefit is that Document::Internal no longer need its value_nos map
15516           member.
15518 Thu Oct 16 11:22:13 GMT 2008  Olly Betts <olly@survex.com>
15520         * backends/inmemory/inmemory_database.cc: Fix incorrect method name in
15521           debug messages.
15523 Thu Oct 16 01:34:07 GMT 2008  Olly Betts <olly@survex.com>
15525         * HACKING: Note preference for @ rather than \ to introduce doxygen
15526           commands.
15528 Thu Oct 16 01:21:19 GMT 2008  Olly Betts <olly@survex.com>
15530         * HACKING: Expand section on public/protected/private a little.
15532 Wed Oct 15 11:34:15 GMT 2008  Olly Betts <olly@survex.com>
15534         * include/xapian/database.h: Use std::string() instead of "" as the
15535           default value for std::string method parameters.
15537 Wed Oct 15 03:20:01 GMT 2008  Olly Betts <olly@survex.com>
15539         * backends/Makefile.mk,backends/slowvaluelist.cc,
15540           backends/slowvaluelist.h: Support for (slowly) iterating along a
15541           value stream for backends which don't support streamed values
15542           internally (currently unused).
15544 Tue Oct 14 11:43:42 GMT 2008  Olly Betts <olly@survex.com>
15546         * api/postingsource.cc,backends/inmemory/inmemory_database.cc,
15547           matcher/multimatch.cc: Database::get_document_lazily() now returns
15548           NULL if the document isn't found for an inmemory database.
15549         * include/xapian/database.h: Document the return value better.
15551 Tue Oct 14 03:20:38 GMT 2008  Olly Betts <olly@survex.com>
15553         * api/omdatabase.cc,api/postingsource.cc,include/xapian/database.h,
15554           matcher/multimatch.cc: Add internal
15555           Xapian::Database::get_document_lazily() method and use it in the
15556           matcher and Xapian::PostingSource classes to avoid repeating the
15557           same code lots of times.
15559 Mon Oct 13 23:38:34 GMT 2008  Olly Betts <olly@survex.com>
15561         * HACKING: Rename "Miscellaneous Portability Issues" to "C++
15562           Portability Issues", and add a subsection of that for "Miscellaneous
15563           Portability Issues" with a new note about needing to terminate the
15564           last line of a source file, and a new subsection heading "Header
15565           Portability Issues" for all the header-related stuff.
15567 Sat Oct 11 12:19:38 GMT 2008  Olly Betts <olly@survex.com>
15569         * tests/api_wrdb.cc: If the timer for the first test for bigoaddvalue
15570           reports 0.0 seconds, skip the test as the timer doesn't have fine
15571           enough granularity for this test to be useful (bug#300).
15573 Fri Oct 10 20:40:14 GMT 2008  Olly Betts <olly@survex.com>
15575         * tests/api_wrdb.cc: Reuse XAPIAN_BIN_PATH to avoid hardcoding more
15576           paths, and so this works in a debug build too.
15578 Fri Oct 10 17:52:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15580         * tests/api_wrdb.cc: Patch to use a different path in win32 build
15581           to match the different place that the compiled xapian-check is
15582           placed in.  Should fix bug #301.
15584 Thu Oct 09 05:20:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15586         * configure.ac: Change -Wstrict-overflow level to 1 - even level 2
15587           causes a few warnings (notably in chert_table.cc) to appear with
15588           GCC 4.3 which are unreasonably difficult to avoid.
15590 Thu Oct 09 05:04:49 GMT 2008  Olly Betts <olly@survex.com>
15592         * HACKING,configure.ac: Raise autoconf requirement to 2.63.
15594 Wed Oct 08 14:52:03 GMT 2008  Olly Betts <olly@survex.com>
15596         * docs/valueranges.rst: Fix typos in example code.
15597         * docs/valueranges.rst,tests/queryparsertest.cc: Drop superfluous
15598           empty destructor from ValueRangeProcessor subclass.
15600 Wed Oct 08 14:00:04 GMT 2008  Olly Betts <olly@survex.com>
15602         * common/valuelist.h: Add missing get_docid() method.
15604 Wed Oct 08 12:11:57 GMT 2008  Olly Betts <olly@survex.com>
15606         * NEWS: Update from ChangeLog.
15608 Wed Oct 08 12:00:39 GMT 2008  Olly Betts <olly@survex.com>
15610         * backends/Makefile.mk,backends/chert/,backends/database.cc,
15611           backends/valuelist.cc,common/Makefile.mk,common/database.h,
15612           common/valuelist.h,include/xapian/valueiterator.h: The start of
15613           support for iterating along a value stream (currently unused).
15615 Tue Oct 07 10:19:48 GMT 2008  Olly Betts <olly@survex.com>
15617         * configure.ac: Disable -Wconversion for now - it's not useful for
15618           older GCC and is buggy in GCC 4.3.
15620 Tue Oct 07 04:53:41 GMT 2008  Olly Betts <olly@survex.com>
15622         * matcher/queryoptimiser.h: Query::MatchAll no longer gives match
15623           results ranked by increasing document length.
15624         * tests/api_db.cc: Extend matchall1 to be a regression test for this.
15626 Tue Oct 07 01:04:51 GMT 2008  Olly Betts <olly@survex.com>
15628         * matcher/queryoptimiser.cc: Rewrite comment explaining the excess
15629           precision fix.  Drop unnecessary brackets from return to minimise
15630           the diff.
15632 Mon Oct 06 07:24:40 GMT 2008  Olly Betts <olly@survex.com>
15634         * matcher/queryoptimiser.cc: Change the excess precision fix to pass
15635           both values through "volatile double" rather than "float" on
15636           platforms where this matters since the former gives better generated
15637           code as well as more consistent results with other platforms.
15639 Mon Oct 06 07:24:07 GMT 2008  Olly Betts <olly@survex.com>
15641         * tests/internaltest.cc: Fix comment typo.
15643 Mon Oct 06 02:46:39 GMT 2008  Olly Betts <olly@survex.com>
15645         * api/editdistance.cc,api/editdistance.h,api/omdatabase.cc: Pass the
15646           largest edit distance we currently care about into the edit distance
15647           algorithm so it can terminate early once it knows the edit distance
15648           exceeds this.  This shortcut is used quite a lot, but there's no
15649           measurable speed-up in tests on the real world data I have to hand.
15651 Sun Oct 05 12:34:09 GMT 2008  Olly Betts <olly@survex.com>
15653         * matcher/multimatch.cc: Adjust percent_factor instead of min_weight
15654           so that we don't miss some cases, and make the adjustment actually
15655           correspond with the adjustment in omenquire.cc.
15657 Wed Oct 01 14:11:49 GMT 2008  Olly Betts <olly@survex.com>
15659         * backends/alltermslist.cc,common/alltermslist.h: We don't need an
15660           explicit virtual dtor for AllTermsList as it is empty and
15661           AllTermsList inherits from TermList which has one.
15663 Wed Oct 01 13:21:22 GMT 2008  Olly Betts <olly@survex.com>
15665         * common/postlist.h,common/termlist.h: Fix comment typo.
15667 Wed Oct 01 00:12:02 GMT 2008  Olly Betts <olly@survex.com>
15669         * bin/xapian-compact.cc: Add a comment for the previous fix.
15671 Tue Sep 30 22:41:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15673         * bin/xapian-compact.cc: Fix bug: if there are both valuestats and
15674           metadata, don't overwrite the last metadata value with the first
15675           valuestats tag.
15677 Tue Sep 30 20:31:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15679         * configure.ac: Set -Wstrict-overflow to 2 instead of 5, to avoid
15680           unreasonable warnings under GCC 4.3.
15682 Tue Sep 30 09:45:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15684         * api/omdatabase.cc: Add missing include, to compile on GCC 4.3.0.
15686 Mon Sep 29 13:06:42 GMT 2008  Olly Betts <olly@survex.com>
15688         * NEWS: Update from ChangeLog.
15690 Mon Sep 29 05:04:57 GMT 2008  Olly Betts <olly@survex.com>
15692         * backends/chert/chert_version.cc: Add VERSIONFILE_SIZE_LITERAL and
15693           use CompileTimeAssert() to ensure it matches the expression in
15694           VERSIONFILE_SIZE.  It's very rare for the size to change (it's
15695           happened once ever) and allows us to build the error string
15696           literally at compile time.
15698 Sun Sep 28 15:13:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15700         * backends/chert/chert_values.cc: Fix bug in lazy update - ensure
15701           that the document has loaded its values before deleting the old
15702           one (previously, there was an assertion to this effect, but it
15703           didn't actually compile, and was also incorrect).
15704         * tests/api_wrdb.cc: Check that replacing a document with itself
15705           doesn't lose the values - regression test for the bug fixed by
15706           this commit.
15708 Sun Sep 28 14:04:01 GMT 2008  Olly Betts <olly@survex.com>
15710         * backends/chert/chert_values.cc: Fix bug in value updating -
15711           modifyvalues1 now passes for chert.
15713 Sun Sep 28 12:15:14 GMT 2008  Olly Betts <olly@survex.com>
15715         * tests/collate-test: Avoid perl warning when generating files which
15716           don't already exist.
15718 Sat Sep 27 10:36:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15720         * tests/api_wrdb.cc: Add test "modifyvalues1" - regression test for
15721           a bug in the streaming values implementation, and also a fairly
15722           thorough test of adding and modifying values in databases.
15724 Fri Sep 26 19:12:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15726         * api/omdatabase.cc: Fix warning with gcc 4.2 about possible signed
15727           overflow, by using an unsigned type for the total.
15729 Fri Sep 26 15:48:39 GMT 2008  Olly Betts <olly@survex.com>
15731         * api/omdatabase.cc: Fixed version of: Avoid the relatively expensive
15732           edit distance computation for a candidate spelling correction when
15733           we can reject the candidate as less good than one we've already seen
15734           by looking at the character frequency histograms.  In a test on
15735           real-world data, this gave an 15% speed-up in queryparsing time
15736           with FLAG_SPELLING_CORRECTION set.  The cheap check rejects 90%
15737           of the words it handles (without the cheap check, the edit distance
15738           check rejects 92%).
15740 Fri Sep 26 14:40:50 GMT 2008  Olly Betts <olly@survex.com>
15742         * bin/xapian-check.cc: Check the structure of the value stream chunks.
15744 Fri Sep 26 12:21:32 GMT 2008  Olly Betts <olly@survex.com>
15746         * tests/api_spelling.cc: Add a regression test for the bug my recently
15747           added and reverted spelling optimisation introduced.
15749 Fri Sep 26 11:55:18 GMT 2008  Olly Betts <olly@survex.com>
15751         * tests/Makefile.am,tests/api_spelling.cc,tests/api_wrdb.cc: Split the
15752           spelling tests out into a separate file.
15754 Fri Sep 26 11:53:45 GMT 2008  Olly Betts <olly@survex.com>
15756         * tests/api_unicode.cc: Capitalise brief file description.
15758 Fri Sep 26 11:31:46 GMT 2008  Olly Betts <olly@survex.com>
15760         * backends/inmemory/inmemory_document.cc,
15761           backends/inmemory/inmemory_document.h: New simpler InMemoryDocument
15762           class with slightly reduced memory footprint, based on
15763           RemoteDocument class.
15765 Fri Sep 26 10:36:02 GMT 2008  Olly Betts <olly@survex.com>
15767         * backends/remote/remote-document.cc,backends/remote/remote-document.h,
15768           common/document.h: Add new files for RemoteDocument class missed
15769           from recent commit.  Pass parameter to set_all_values() by non-const
15770           reference so we can just efficiently swap() the value maps rather
15771           than copying.
15773 Fri Sep 26 10:31:21 GMT 2008  Olly Betts <olly@survex.com>
15775         * api/omdocument.cc,common/document.h: Remove unused method
15776           Xapian::Document::Index::get_all_values().
15778 Fri Sep 26 10:03:17 GMT 2008  Olly Betts <olly@survex.com>
15780         * backends/remote/,common/document.h: Replace NetDocument with a new
15781           simpler RemoteDocument class which just sets the values and data in
15782           its Document::Internal base class.
15784 Fri Sep 26 06:21:08 GMT 2008  Olly Betts <olly@survex.com>
15786         * backends/chert/chert_database.cc,backends/chert/chert_document.cc,
15787           backends/chert/chert_document.h,common/document.h: Overhaul
15788           ChertDocument:  Avoid having a reference-counted pointer to the
15789           database in the subclass as well as the one now in the base class.
15790           Also check the lazy flag before we create a ChertDocument object to
15791           avoid a memory allocation in that code path.  And make the
15792           now-simple constructor inline-able.
15794 Thu Sep 25 17:38:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15796         * Merge lazyupdate branch:
15797         * api/omdocument.cc,backends/chert/chert_database.cc,
15798           backends/chert/chert_database.h,backends/chert/chert_values.cc,
15799           backends/database.cc,common/database.h,common/document.h: Add a
15800           shortcut for calling replace_document() with a document which was
15801           just read from the database.  If the document terms were never
15802           accessed, don't bother updating the termlist, postings and
15803           position lists.  If the data was never accessed, don't bother
15804           updating the data.  If the values were never accessed, don't
15805           bother updating them.  Only fires if we know that the document
15806           hasn't been modified (or deleted) since it was read from the
15807           database, to ensure that the lazy access of the data doesn't have
15808           a visible effect - we enforce this by keeping track of the last
15809           document read with open_document(), and only using the shortcut
15810           if this is the document passed to replace_document, and that
15811           document ID hasn't been passed to replace_document or
15812           delete_document since.
15814           Add a method Database::Internal::invalidate_doc_object() which is
15815           called from the destructor of a document, so that we can reset
15816           the pointer to modify_shortcut_document in ChertWritableDatabase
15817           when this happens.
15819           Document::Internal now keeps a ref-count pointer to the database,
15820           to ensure that the database is valid when invalidate_doc_object()
15821           is called on it.
15823 Thu Sep 25 17:35:07 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15825         * Forward-port from branches/lazyupdate:
15826         * tests/api_wrdb.cc: Extend deldoc5 slightly, to check that the
15827           DocNotFoundError for a deleted document is raised before the
15828           flush, as well as after.  Also, test a few more cases which are
15829           relevant in the lazyupdate scenario.
15831 Thu Sep 25 17:33:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15833         * Forward-port from branches/lazyupdate:
15834         * backends/chert/chert_document.cc,backends/chert/chert_document.h:
15835           Check for existence of a document when opening it by searching
15836           for the document length entry, rather than by reading the record
15837           for the document.  Probably slightly slower if the record is
15838           going to be accessed anyway, but much faster if it isn't (though
15839           benchmarking of this is needed).
15841 Thu Sep 25 14:27:07 GMT 2008  Olly Betts <olly@survex.com>
15843         * Merge valuestreams branch:
15844         * backends/chert/,bin/xapian-check.cc,bin/xapian-compact.cc,
15845           docs/admin_notes.rst: Change the chert backend to store values in a
15846           chunked stream for each value slot to make access more efficient.
15847           The chunked streams and value stats are now stored in the postlist
15848           table while the list of used value slots for each document is stored
15849           in the termlist table, so we no longer need a special table for
15850           values.
15851         * bin/xapian-check.cc,bin/xapian-check-flint.cc:  Don't stop checking
15852           a table after an error in certain cases - instead increment the
15853           error counter and try to continue checking from the next item.
15855 Thu Sep 25 13:50:15 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15857         * matcher/queryoptimiser.cc,tests/api_anydb.cc: Apply fix for
15858           platforms with excess precision - this fixes a potential segfault
15859           on x86 architecture when doing OP_ELITE_SET queries.  Also, add a
15860           regression test.
15862 Thu Sep 25 03:38:24 GMT 2008  Olly Betts <olly@survex.com>
15864         * examples/copydatabase.cc: Also copy user metadata.
15866 Wed Sep 24 17:27:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15868         * api/omdatabase.cc: Back out, for now, Olly's change from
15869           yesterday to avoid some edit distance checks; counting the
15870           frequency of letters doesn't take into account the number of
15871           substitutions, so spelling corrections which involve
15872           substitutions are missed.
15874 Wed Sep 24 12:48:39 GMT 2008  Olly Betts <olly@survex.com>
15876         * unicode/tclUniData.cc: Update to Unicode 5.1 (bug#265).
15877         * tests/api_unicode.cc: Add tests for some of the changes
15878           in Unicode 5.1.
15880 Tue Sep 23 14:58:54 GMT 2008  Olly Betts <olly@survex.com>
15882         * api/omdatabase.cc: Avoid the relatively expensive edit distance
15883           computation for a candidate spelling correction when we can reject
15884           the candidate as less good than one we've already seen by looking
15885           at the character frequency histograms.
15887 Mon Sep 22 09:21:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15889         * Forward-port from branches/lazyupdate:
15890         * backends/chert/chert_postlist.cc: Fix return value of jump_to()
15891           to be true only if the exact item specified was found in the
15892           doclen list (previously also returned true if an item following
15893           the item being searched for was found in the chunk).  Note that
15894           there is no test for this fix included in this forward-port, but
15895           an implicit test is included in the lazyupdate branch, and will
15896           be here when that branch is merged to trunk.
15898 Mon Sep 22 07:58:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15900         * HACKING: Mention that setting XAPIAN_DEBUG_LOG to '-' has a
15901           special effect.
15903 Mon Sep 22 06:27:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15905         * docs/remote_protocol.html: Update documentation of remote
15906           protocol to mention UUID being passed in REPLY_GREETING and
15907           REPLY_UPDATE (added in revision [11369]).
15909 Thu Sep 18 11:52:05 GMT 2008  Olly Betts <olly@survex.com>
15911         * tests/api_wrdb.cc: Fix cursordelbug1 to hopefully work on Microsoft
15912           Windows.
15914 Thu Sep 18 11:50:04 GMT 2008  Olly Betts <olly@survex.com>
15916         * backends/chert/chert_cursor.cc,backends/chert/chert_table.cc,
15917           backends/chert/chert_table.h: More assertions and improved debug
15918           logging coverage.  Use rare() to mark a couple of checks which
15919           almost always have the same result.  Make an assertion about the
15920           level of a Btree block into an always-compiled-in check which throws
15921           an exception, as this isn't a sanity check of internal state.
15923 Thu Sep 18 05:26:27 GMT 2008  Olly Betts <olly@survex.com>
15925         * backends/chert/chert_postlist.cc,backends/flint/flint_postlist.cc:
15926           Fix comment describing format of postlist chunk (collection freq
15927           was missing).
15929 Wed Sep 17 12:38:51 GMT 2008  Olly Betts <olly@survex.com>
15931         * HACKING: Fix typos in XAPIAN_DEBUG_FLAGS documentation.
15933 Sat Sep 13 11:14:02 GMT 2008  Olly Betts <olly@survex.com>
15935         * HACKING,configure.ac: Upgrade libtool requirement to 2.2.6a.
15937 Fri Sep 05 11:40:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15939         * tests/api_replicate.cc: Test that the UUID of a replica is equal
15940           to the UUID of the original database.
15942 Fri Sep 05 09:38:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15944         * include/xapian/database.h,api/omdatabase.cc: Add
15945           Database.get_uuid() which returns a unique identifier for the
15946           database.
15947         * tests/api_anydb.cc: Add test uuid1 to test basic get_uuid()
15948           behaviour.
15949         * common/database.h: Extend documentation comment for get_uuid() a
15950           bit.
15951         * backends/remote/remote-database.cc,common/remote-database.h,
15952           net/remoteserver.cc: Add support for get_uuid() to remote
15953           databases.
15955 Thu Sep 04 11:37:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15957         * tests/Makefile.am: Remove accidentally committed reference to
15958           apitest_sortconsist.txt, which only exists in my local checkout
15959           and in a patch in ticket #216.
15961 Thu Sep 04 04:39:32 GMT 2008  Olly Betts <olly@survex.com>
15963         * HACKING,configure.ac: We now hard require autoconf 2.62, so it's
15964           safe to use AC_TYPE_SSIZE_T.  (bug#135)
15966 Thu Sep 04 04:26:59 GMT 2008  Olly Betts <olly@survex.com>
15968         * configure.ac: Set version to 1.1.0.
15970 Thu Sep 04 03:32:06 GMT 2008  Olly Betts <olly@survex.com>
15972         * AUTHORS,NEWS,configure.ac: Sync with 1.0.8.
15974 Wed Sep 03 15:23:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15976         * tests/Makefile.am,tests/api_percentages.cc: Add new test file for
15977           tests related to percentage weights (there are a few around which
15978           could be moved here, and there's another one in the patch in
15979           ticket #216).  Add test in this file which uses a PostingSource
15980           with carefully constructed weights to check the rounding
15981           behaviour for percentage cutoffs.
15983 Wed Sep 03 07:58:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15985         * matcher/multimatch.cc: Adjust min_weight values calculated for
15986           percent_cutoff in the same manner as in omenquire.cc, to allow
15987           for excess precision in the same way.
15989 Wed Sep 03 07:15:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15991         * backends/chert/chert_version.cc: Display numerical value of
15992           correct size of chert version file in error message if size is
15993           incorrect, rather than a complicated expression giving the
15994           correct size.
15996 Tue Sep 02 10:41:46 GMT 2008  Olly Betts <olly@survex.com>
15998         * matcher/multimatch.cc: Remove FIXME for pushing check_at_least
15999           handling into the remote backend, which was done for 1.0.2.
16001 Tue Sep 02 06:48:50 GMT 2008  Olly Betts <olly@survex.com>
16003         * bin/xapian-inspect.cc: Show the help message on start-up.  Correct
16004           the alias for next from ' ' to ''.  Avoid reading outside of input
16005           string when it is empty.  Bug#286.
16007 Tue Sep 02 04:19:34 GMT 2008  Olly Betts <olly@survex.com>
16009         * tests/stemtest.cc: Handle the new supplemental stemming data.
16011 Tue Sep 02 03:05:10 GMT 2008  Olly Betts <olly@survex.com>
16013         * tests/stemtest.cc: Update for new xapian-data directory structure.
16015 Tue Aug 26 09:26:49 GMT 2008  Olly Betts <olly@survex.com>
16017         * common/debuglog.h: Handle logging from ctor, dtor, and
16018           void-returning functions/methods with a separate class
16019           (DebugLogFuncVoid).  Fix outdent handling for non-logged message
16020           types.  Fix detection of active exceptions to check if the exception
16021           was already active when we entered the current function.  This
16022           probably means that "RETURN_VOID" is no longer needed, so comment
16023           it out.
16025 Tue Aug 26 07:34:16 GMT 2008  Olly Betts <olly@survex.com>
16027         * HACKING: Document explicitly that XAPIAN_DEBUG_FLAGS=- gives you all
16028           debug messages.
16030 Tue Aug 26 00:57:32 GMT 2008  Olly Betts <olly@survex.com>
16032         * bin/xapian-check.cc: Fix reversed check for whether a table is in a
16033           flint or chert database.
16035 Mon Aug 25 12:03:36 GMT 2008  Olly Betts <olly@survex.com>
16037         * backends/flint/flint_termlisttable.cc: Remove FIXME about dropping
16038           something if we make an incompatible database version bump - that's
16039           not going to happen now for flint.  Avoid packing doclen for an
16040           empty termlist.  Add explicit cast for char for prev_term.size().
16042 Sun Aug 24 11:42:21 GMT 2008  Olly Betts <olly@survex.com>
16044         * common/Makefile.mk: Fix build with --enable-log=profile.
16046 Sun Aug 24 12:41:22 BST 2008  Olly Betts <olly@survex.com>
16048         * HACKING: Add a bit of discussion of --enable-log=profile.  Tweak
16049           formatting in one place and wording in another.
16051 Sat Aug 23 00:48:40 GMT 2008  Olly Betts <olly@survex.com>
16053         * tests/collate-test: Only update files which have changed to avoid
16054           rebuilding all apitest's source files when only one has changed.
16056 Fri Aug 22 01:02:57 GMT 2008  Olly Betts <olly@survex.com>
16058         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5571"
16059           (no code changes in our modified version).
16061 Fri Aug 22 01:00:15 GMT 2008  Olly Betts <olly@survex.com>
16063         * queryparser/lemon.c: Fix comment typo.
16065 Fri Aug 22 00:55:26 GMT 2008  Olly Betts <olly@survex.com>
16067         * queryparser/lemon.c: Merge upstream "Check-in Number: 5564".
16069 Fri Aug 22 00:44:14 GMT 2008  Olly Betts <olly@survex.com>
16071         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
16072           "Check-in Number: 5488" and "5563".
16073         * queryparser/queryparser.lt: Fix compilation for previous merge
16074           (I fixed it in the generated file before!)
16076 Fri Aug 22 00:07:22 GMT 2008  Olly Betts <olly@survex.com>
16078         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5472".
16080 Thu Aug 21 04:15:41 GMT 2008  Olly Betts <olly@survex.com>
16082         * configure.ac: Remove code which checks for --enable-debug and
16083           --enable-debug-verbose (deprecated since 1.0.0) and gives an error
16084           pointing to the replacements.
16085         * docs/deprecation.rst: Document the replacements here.
16087 Thu Aug 21 00:57:52 GMT 2008  Olly Betts <olly@survex.com>
16089         * common/omdebug.h: Remove DEBUGLINE completely.
16090         * backends/flint/flint_table.cc,backends/inmemory/inmemory_database.cc,
16091           queryparser/queryparser.lt: Replace remaining DEBUGLINE uses.
16092         * backends/inmemory/inmemory_database.cc: Don't need <list>.
16094 Thu Aug 21 00:37:08 GMT 2008  Olly Betts <olly@survex.com>
16096         * common/debuglog.h,common/omdebug.h: Define LOGLINE, etc to no-op
16097           versions when XAPIAN_DEBUG_VERBOSE isn't defined.
16098         * api/,backends/chert/,backends/flint/,
16099           backends/inmemory/inmemory_database.cc,
16100           backends/multi/multi_postlist.cc,backends/multi/multi_termlist.cc,
16101           expand/esetinternal.cc,expand/expandweight.cc,matcher/,
16102           net/remoteconnection.cc: Use LOGLINE or LOGVALUE instead of
16103           DEBUGLINE.
16105 Wed Aug 20 13:33:56 GMT 2008  Olly Betts <olly@survex.com>
16107         * common/debuglog.h: Don't need omtime.h.
16109 Wed Aug 20 06:11:31 GMT 2008  Olly Betts <olly@survex.com>
16111         * examples/quest.cc: Fix to catch QueryParserError instead of const
16112           char * which Xapian < 1.0.0 threw instead.
16114 Wed Aug 20 05:50:26 GMT 2008  Olly Betts <olly@survex.com>
16116         * docs/valueranges.rst: Expand on some sections.
16118 Wed Aug 20 04:43:07 GMT 2008  Olly Betts <olly@survex.com>
16120         * tests/api_nodb.cc: Clarify in comments that this affected 1.0.7.
16122 Wed Aug 20 04:33:22 GMT 2008  Olly Betts <olly@survex.com>
16124         * api/omenquire.cc: Simplify RSet::remove_document() and
16125           RSet::contains() a little.  Fix output of RSet::get_description().
16126         * tests/api_nodb.cc: Add regression test rset4 for
16127           RSet::get_description() fix.
16129 Wed Aug 20 02:45:04 GMT 2008  Olly Betts <olly@survex.com>
16131         * common/omdebug.h: Remove DebugMsg() macro which is no longer used.
16133 Tue Aug 12 05:03:34 GMT 2008  Olly Betts <olly@survex.com>
16135         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
16136           Backport elimination of find_tag() to flint.
16138 Tue Aug 12 04:10:41 GMT 2008  Olly Betts <olly@survex.com>
16140         * backends/chert/chert_table.cc,backends/chert/chert_table.h:
16141           ChertTable::find_tag() is only used by ChertTable::get_exact_entry()
16142           so remove the former folding its code into the latter.
16144 Mon Aug 11 03:06:10 GMT 2008  Olly Betts <olly@survex.com>
16146         * backends/chert/chert_spelling.h,backends/chert/chert_synonym.h:
16147           Remove random closing bracket from a couple of comments.
16149 Mon Aug 11 03:03:19 GMT 2008  Olly Betts <olly@survex.com>
16151         * api/postingsource.cc: Always initialise max_value in the constructor
16152           body for consistency.
16154 Sat Aug 09 09:56:06 GMT 2008  Olly Betts <olly@survex.com>
16156         * tests/api_valuestats.cc: Add valuestats4 as a regression test for
16157           the previous fix.
16159 Sat Aug 09 06:10:49 GMT 2008  Olly Betts <olly@survex.com>
16161         * backends/chert/chert_database.cc,backends/chert/chert_database.h:
16162           Write cached valuestats changes to disk when we automatically flush
16163           changes due to the number of documents indexed.
16165 Wed Aug 06 11:27:29 GMT 2008  Olly Betts <olly@survex.com>
16167         * api/omdocument.cc,backends/chert/chert_document.cc,
16168           backends/chert/chert_document.h,backends/flint/flint_document.cc,
16169           backends/flint/flint_document.h,
16170           backends/inmemory/inmemory_document.cc,
16171           backends/inmemory/inmemory_document.h,
16172           backends/remote/net_document.cc,backends/remote/net_document.h,
16173           common/document.h: Change do_get_all_values() to pass a reference
16174           to the std::map to return the result in rather than returning the
16175           std::map.
16177 Wed Aug 06 07:39:08 GMT 2008  Olly Betts <olly@survex.com>
16179         * docs/replication.rst: Adding missing (C) for new section addded
16180           recently.
16182 Wed Aug 06 06:27:59 GMT 2008  Olly Betts <olly@survex.com>
16184         * backends/alltermslist.cc,backends/chert/,backends/flint/,
16185           backends/inmemory/inmemory_alltermslist.cc,
16186           backends/inmemory/inmemory_alltermslist.h,
16187           backends/multi/multi_alltermslist.cc,common/alltermslist.h,
16188           common/multialltermslist.h: Add a default "not implemented"
16189           implementation of AllTermsList::get_approx_size() and remove the
16190           "not implemented" versions in all the subclasses.  Remove empty
16191           destructors for ChertSpellingTermList, and FlintSpellingTermList.
16192         * api/maptermlist.h,api/omdocument.cc: MapTermList::get_approx_size()
16193           should never be used, so make it "Assert(false); return 0;".
16195 Wed Aug 06 02:24:48 GMT 2008  Olly Betts <olly@survex.com>
16197         * api/omdatabase.cc,backends/multi/multi_alltermslist.cc,
16198           common/multialltermslist.h: Reimplement MultiAllTermsList to use a
16199           heap rather than linearly scanning - operations during iteration
16200           should now be O(log(n)) rather than O(n) where n is the number of
16201           databases.
16203 Tue Aug 05 23:50:19 GMT 2008  Olly Betts <olly@survex.com>
16205         * tests/Makefile.am: Fix "make clean" to remove cached databases again
16206           and "make check" to remove cached databases like the previous change
16207           aimed to do.
16209 Tue Aug 05 23:48:52 GMT 2008  Olly Betts <olly@survex.com>
16211         * tests/api_db.cc: Use TEST_EQUAL(a, b) rather than TEST(a == b).
16213 Tue Aug 05 12:44:58 GMT 2008  Olly Betts <olly@survex.com>
16215         * common/alltermslist.h: Fix parameter name in doxygen comment.
16217 Tue Aug 05 06:28:15 GMT 2008  Olly Betts <olly@survex.com>
16219         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
16220           Don't generate a changeset file for the first revision of a database
16221           (since we might as well just send the whole database) - addresses
16222           part of bug#278.  Clean up exceptions to pass errno in the errno
16223           parameter rather than incorporating strerror(errno) in the message
16224           parameter.
16226 Tue Aug 05 06:00:11 GMT 2008  Olly Betts <olly@survex.com>
16228         * tests/api_replicate.cc: Remove "sleep(1);" from testcase replicate1
16229           which is no longer required now we generate proper UUIDs.
16231 Tue Aug 05 03:07:11 GMT 2008  Olly Betts <olly@survex.com>
16233         * api/replication.cc,include/xapian/replication.h: Remove
16234           DatabaseReplica::get_parameter() and set_parameter() as they're no
16235           longer used for storing the database UUID, and Richard said the
16236           thinking behind wanting them was "flawed".
16238 Tue Aug 05 02:03:24 GMT 2008  Olly Betts <olly@survex.com>
16240         * backends/chert/chert_version.cc: Comment tweak.
16242 Tue Aug 05 02:02:29 GMT 2008  Olly Betts <olly@survex.com>
16244         * api/replication.cc,backends/flint/flint_database.cc,common/utils.cc,
16245           common/utils.h: Use the UUID stored by the backend rather than
16246           storing it ourselves as a database replica parameter.
16248 Mon Aug 04 14:58:21 GMT 2008  Olly Betts <olly@survex.com>
16250         * backends/flint/flint_database.cc,backends/flint/flint_version.cc,
16251           backends/flint/flint_version.h: Generate a UUID when a new flint
16252           database is created, and lazily generate one for existing flint
16253           databases which don't have one.  Store the UUID in a new "uuid"
16254           file in the database directory to avoid having to change the
16255           flint database format incompatibly.
16257 Mon Aug 04 14:13:53 GMT 2008  Olly Betts <olly@survex.com>
16259         * backends/chert/chert_database.cc,backends/chert/chert_version.cc,
16260           backends/chert/chert_version.h,configure.ac: Generate a UUID when
16261           a chert database is created, and store it in the version file.
16263 Mon Aug 04 12:16:54 GMT 2008  Olly Betts <olly@survex.com>
16265         * backends/chert/chert_version.cc: Make exception messages more
16266           consistent.
16268 Mon Aug 04 12:15:14 GMT 2008  Olly Betts <olly@survex.com>
16270         * backends/chert/chert_database.cc,backends/chert/chert_version.cc,
16271           backends/chert/chert_version.h: Remove the code to handle upgrading
16272           flint versions >= 200704230 and < 200709120 as it's just dead code
16273           for chert.
16275 Sun Aug 03 14:34:31 GMT 2008  Olly Betts <olly@survex.com>
16277         * api/replication.cc: Track the replica numbers using an int rather
16278           than two strings.  Eliminate two racey uses of file_exists().
16280 Sun Aug 03 11:37:06 GMT 2008  Olly Betts <olly@survex.com>
16282         * docs/replication.rst: Add section on backend support.  Make FIXME a
16283           comment.  Fix erroneous reference to '"-h" parameter'.
16285 Sun Aug 03 11:28:27 GMT 2008  Olly Betts <olly@survex.com>
16287         * api/replication.cc,tests/harness/testrunner.cc: Make replication
16288           work for the chert backend.
16290 Sat Aug 02 16:47:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16292         * include/xapian/enquire.h: Correct documentation comment (iterator
16293           doesn't return terms, it returns mset items).
16295 Sat Aug 02 14:16:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16297         * docs/admin_notes.rst: Fix a typo.
16299 Sat Aug 02 14:06:37 GMT 2008  Olly Betts <olly@survex.com>
16301         * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc:
16302           Fix comment typo in previous commit.
16304 Sat Aug 02 13:04:05 GMT 2008  Olly Betts <olly@survex.com>
16306         * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc: Fix
16307           FlintCursor::del() and ChertCursor::del() to leave the cursor on the
16308           next key when iterating over the unflushed revision (previously the
16309           cursor would end up an extra key along in this case).  (Bug#287)
16310         * tests/api_wrdb.cc: Add regression test cursordelbug1.
16312 Sat Aug 02 05:09:38 GMT 2008  Olly Betts <olly@survex.com>
16314         * api/replication.cc,common/utils.cc,common/utils.h: Change
16315           removedir() to just return if passed a non-existent path and
16316           document this.  Make use of this to avoid having to call
16317           dir_exists() before remove_dir().
16319 Sat Aug 02 04:43:45 GMT 2008  Olly Betts <olly@survex.com>
16321         * tests/api_db.cc,tests/apitest.cc: Make use of new
16322           BackendManager::get_database_path() to eliminate knowledge of
16323           BackendManagerFlint's implementation from test stubdb1.  Put the
16324           stubdb files in a .stub subdirectory and don't remove them after
16325           each test to aid debugging failing tests.  Also now run stubdb tests
16326           under chert and multi backends.  Add more stubdb tests for the
16327           recently added features.
16329 Sat Aug 02 04:39:08 GMT 2008  Olly Betts <olly@survex.com>
16331         * tests/harness/: Adjust the BackendManager interface to reduce code
16332           duplication in subclasses - for backends where the concept of a
16333           path to the database makes sense, we now support a
16334           get_database_path() method and use this in the default
16335           implementation of get_database() in the base class.
16337 Sat Aug 02 04:36:48 GMT 2008  Olly Betts <olly@survex.com>
16339         * tests/apitest.h: Use std::string() in preference to "".
16341 Sat Aug 02 04:35:13 GMT 2008  Olly Betts <olly@survex.com>
16343         * backends/dbfactory.cc: Fix handling of new "inmemory" type in stub
16344           databases.
16346 Sat Aug 02 01:49:35 GMT 2008  Olly Betts <olly@survex.com>
16348         * tests/Makefile.am: Remove the cached test databases in before
16349           running the testsuite by making check-local do the same as
16350           clean-local.
16352 Sat Aug 02 01:42:36 GMT 2008  Olly Betts <olly@survex.com>
16354         * backends/dbfactory.cc: Add support for "inmemory" to stub database
16355           files (it's useful now they can be writable).  Don't just ignore
16356           lines with no spaces in in stub database files.
16358 Thu Jul 31 13:13:30 GMT 2008  Olly Betts <olly@survex.com>
16360         * backends/Makefile.mk,backends/database.cc,backends/dbfactory.cc,
16361           common/database.h,include/xapian/dbfactory.h: Add new
16362           Auto::open_stub() overload which opens a stub database file
16363           containing a single entry as a WritableDatabase.  Move the
16364           non-remote database factory API functions from backends/database.cc
16365           to new file backends/dbfactory.cc, leaving the former solely for
16366           methods of Database::Internal.  A stub database file is now allowed
16367           to contain no database entries, which results in an empty Database
16368           object (this avoids user code having to special case to handle "0 or
16369           more" databases).
16370         * tests/api_nodb.cc: Tidy up #include directives.  Enhance nosuchdb1
16371           to check that we get a reasonable error message - previously we
16372           got "Couldn't detect type of database".
16373         * include/xapian/dbfactory.h: Improve doxygen comment for
16374           InMemory::open().
16376 Thu Jul 31 09:36:41 GMT 2008  Olly Betts <olly@survex.com>
16378         * tests/api_replicate.cc: This is a new file, so use <cstdlib> rather
16379           than <stdlib.h>.
16381 Wed Jul 30 23:10:19 GMT 2008  Olly Betts <olly@survex.com>
16383         * backends/database.cc: Bad lines in a stub file were being ignored
16384           after we'd seen a good entry.
16385         * tests/api_db.cc: Add regression test.
16387 Wed Jul 30 14:42:04 GMT 2008  Olly Betts <olly@survex.com>
16389         * generate-exceptions.in: Use std::string() in preference to "".
16391 Tue Jul 29 23:55:21 GMT 2008  Olly Betts <olly@survex.com>
16393         * AUTHORS: Add Henrik Brix Andersen.
16395 Tue Jul 22 06:01:44 GMT 2008  Olly Betts <olly@survex.com>
16397         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
16398           Eliminate other_base_letter member of FlintTable - its value can
16399           always be easily determined from base_letter.
16401 Mon Jul 21 12:33:54 GMT 2008  Olly Betts <olly@survex.com>
16403         * xapian-config.in: Add bug report URL to xapian-config --help output.
16405 Mon Jul 21 11:55:18 GMT 2008  Olly Betts <olly@survex.com>
16407         * configure.ac: Put the bug report URL as the third parameter to
16408           AC_INIT.  Add proper m4 quoting in a few places (nowhere that
16409           should actually change behaviour).
16411 Mon Jul 21 01:03:12 GMT 2008  Olly Betts <olly@survex.com>
16413         * tests/apitest.cc,tests/harness/testsuite.cc,
16414           tests/harness/testsuite.h: Report subtotals per backend, rather than
16415           per testgroup per backend to make the output much clearer to scan.
16417 Mon Jul 21 00:36:07 GMT 2008  Olly Betts <olly@survex.com>
16419         * tests/apitest.cc: Use startswith().
16421 Sun Jul 20 14:16:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16423         * tests/harness/testsuite.h: Add missing "iomanip" header needed
16424           for setprecision calls.
16426 Sun Jul 20 11:35:35 GMT 2008  Olly Betts <olly@survex.com>
16428         * include/xapian/enquire.h,include/xapian/matchspy.h,
16429           include/xapian/valueiterator.h: Remove explicit empty non-virtual
16430           destructors since the compiler will create them by default anyway.
16432 Sun Jul 20 10:18:52 GMT 2008  Olly Betts <olly@survex.com>
16434         * NEWS: Update from ChangeLog.
16436 Sun Jul 20 10:09:36 GMT 2008  Olly Betts <olly@survex.com>
16438         * Forward-port change from branches/1.0:
16439         * api/omenquire.cc: Fix percentage calculation to cope with excess
16440           precision on x86.  Fix method name for convert_to_percent_internal
16441           in debug logging.
16443 Sun Jul 20 09:13:32 GMT 2008  Olly Betts <olly@survex.com>
16445         * backends/flint/,bin/xapian-check-flint.cc,bin/xapian-check-flint.h,
16446           bin/xapian-compact.cc: Store the tablename in FlintTable as a const
16447           char * - it's a constant string and std::string adds a needless
16448           space overhead.
16450 Sun Jul 20 09:10:49 GMT 2008  Olly Betts <olly@survex.com>
16452         * bin/xapian-check.cc: Follow-on fix for last change - we need to use
16453           strcmp() to compare C strings.
16455 Sun Jul 20 07:09:38 GMT 2008  Olly Betts <olly@survex.com>
16457         * backends/chert/,bin/xapian-check.cc: Store the tablename in
16458           ChertTable as a const char * - it's a constant string and
16459           std::string adds a needless space overhead.
16461 Sat Jul 19 14:19:58 GMT 2008  Olly Betts <olly@survex.com>
16463         * backends/chert/chert_database.cc,backends/chert/chert_values.cc,
16464           backends/chert/chert_values.h: Fix WritableDatabase::add_document()
16465           and replace_document() not to be O(n*n) in the number of values in
16466           the new document.
16467         * backends/flint/flint_database.cc,backends/flint/flint_values.cc,
16468           backends/flint/flint_values.h: Backport fix to flint.
16469         * tests/api_wrdb.cc: Add testcase bigoaddvalue to make sure we don't
16470           regress to O(n*n) (or worse!)
16472 Fri Jul 18 13:24:43 GMT 2008  Olly Betts <olly@survex.com>
16474         * tests/api_wrdb.cc: Rewrite lazytablebug1 testcase to avoid having
16475           to run xapian-compact.
16477 Fri Jul 18 11:59:42 GMT 2008  Olly Betts <olly@survex.com>
16479         * backends/chert/chert_table.cc: Fix handling of a table created
16480           lazily after the database has had commits, and which is then
16481           cursored while still in sequential mode.
16482         * backends/flint/flint_table.cc: Backport fix to flint.
16483         * tests/api_wrdb.cc: Add testcase lazytablebug1.
16485 Fri Jul 18 02:52:55 GMT 2008  Olly Betts <olly@survex.com>
16487         * tests/api_wrdb.cc: Enable test crashrecovery1 for chert.  Finish off
16488           unfinished comment.
16490 Fri Jul 18 02:38:22 GMT 2008  Olly Betts <olly@survex.com>
16492         * tests/api_wrdb.cc,tests/harness/testrunner.cc,
16493           tests/harness/testrunner.h: Add "synonyms" test backend property
16494           and use it to decide where to run synonym tests so they get run on
16495           chert too.  Move virtual TestRunner destructor out of the header.
16496           Don't skip all the spelling tests on chert.
16498 Fri Jul 18 00:56:17 GMT 2008  Olly Betts <olly@survex.com>
16500         * tests/api_wrdb.cc: Eliminate literal top-bit-set characters.
16502 Fri Jul 18 00:40:06 GMT 2008  Olly Betts <olly@survex.com>
16504         * backends/chert/chert_values.cc: Kill superfluous else tokens.
16506 Thu Jul 17 13:00:55 GMT 2008  Olly Betts <olly@survex.com>
16508         * backends/chert/chert_table.cc,backends/chert/chert_table.h:
16509           Eliminate other_base_letter member of ChertTable - its value can
16510           always be easily determined from base_letter.
16512 Thu Jul 17 12:24:19 GMT 2008  Olly Betts <olly@survex.com>
16514         * backends/chert/chert_database.cc: Add space after catch for
16515           consistency.
16517 Thu Jul 17 11:51:57 GMT 2008  Olly Betts <olly@survex.com>
16519         * examples/copydatabase.cc: Use C++ forms of C headers.  Only treat
16520           '\' as a directory separator on platforms where it is.  Update
16521           counter every 13 counting up to the end so that the digits all
16522           "rotate" and the counter ends up on the exact total.
16524 Wed Jul 16 10:10:32 GMT 2008  Olly Betts <olly@survex.com>
16526         * tests/perftest/perftest.cc: Use uname() or gethostname() to get the
16527           hostname on Unix, rather than piping output from uname -n.  Use
16528           startswith() where appropriate.  Prefer resize() and erase() to
16529           assigning a string a substring of itself.  Make internal functions
16530           static.  Prefer string() to "".  Fold sed | sed and grep | sed into
16531           single sed invocations.
16533 Wed Jul 16 05:16:00 GMT 2008  Olly Betts <olly@survex.com>
16535         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
16536           "Check-in Number: 5404" and "5405".
16538 Wed Jul 16 04:48:45 GMT 2008  Olly Betts <olly@survex.com>
16540         * NEWS: Sync with 1.0.7 release.  Start to clean up ChangeLog entry
16541           pile.
16543 Mon Jul 14 05:13:55 GMT 2008  Olly Betts <olly@survex.com>
16545         * queryparser/lemon.c: Fix a typo, remove "\n" from the end of
16546           ErrorMsg() calls since it will get stripped anyway, and escape
16547           literal '%' in ErrorMsg() third arguments.
16549 Sun Jul 13 13:04:58 GMT 2008  Olly Betts <olly@survex.com>
16551         * queryparser/lemon.c: Update note of upstream version we're synced
16552           against.
16554 Sun Jul 13 12:56:58 GMT 2008  Olly Betts <olly@survex.com>
16556         * queryparser/lemon.c: Tweak previous merged patch so that we still
16557           get #line directives for code in %include directives.
16559 Sun Jul 13 12:54:03 GMT 2008  Olly Betts <olly@survex.com>
16561         * queryparser/lemon.c: Merge upstream "Check-in Number: 5335".
16562           Reduces the size of the stripped object file for
16563           queryparser_internal.cc by about 0.5%.
16565 Sun Jul 13 12:32:06 GMT 2008  Olly Betts <olly@survex.com>
16567         * queryparser/lemon.c: Fix typo in comment.
16569 Sun Jul 13 12:30:38 GMT 2008  Olly Betts <olly@survex.com>
16571         * queryparser/lemon.c: Merge upstream "Check-in Number: 5334".  No
16572           change to the generated code in our case.
16574 Sun Jul 13 12:24:13 GMT 2008  Olly Betts <olly@survex.com>
16576         * configure.ac: Add missing hard requirement for libtool 2.2.4.
16578 Sun Jul 13 12:09:40 GMT 2008  Olly Betts <olly@survex.com>
16580         * configure.ac,HACKING: Hard require autoconf 2.62 and automake 1.10.1.
16581           Move all information about particular autoconf and automake versions
16582           to HACKING.
16583         * configure.ac: Use LT_INIT in preference to AC_PROG_LIBTOOL.  On
16584           Linux and k*bsd-gnu, override libtool's link_all_deplibs_CXX to
16585           "no".  On Linux, override libtool's sys_lib_dlsearch_path_spec to a
16586           list generated in a more reliable way which includes *all* the
16587           default directories.  Remove workaround which sets docdir for
16588           autoconf < 2.60 since we now require 2.62.
16589         * xapian-core.spec.in: We no longer need to run autoreconf to work
16590           around libtool's incomplete sys_lib_dlsearch_path_spec or to pick
16591           up distro-specific patches for link_all_deplibs.
16593 Sun Jul 13 11:33:33 GMT 2008  Olly Betts <olly@survex.com>
16595         * Makefile.am: No need to explicitly list m4/*.m4 in EXTRA_DIST as
16596           automake will automatically ship any such files which are needed.
16598 Sun Jul 13 09:15:34 GMT 2008  Olly Betts <olly@survex.com>
16600         * api/omenquire.cc: Back out the rounding of percentages change (at
16601           least for now), as it makes percentage cut-offs work inconsistently.
16602         * tests/api_anydb.cc: Add test pctcutoff3 which demonstrates the issue.
16604 Sun Jul 13 07:01:02 GMT 2008  Olly Betts <olly@survex.com>
16606         * include/xapian/enquire.h: Fix documentation comment for
16607           MSet::get_rank() - the 'document judged "most relevant" will have
16608           rank of 0' only when ordering primarily by relevance.
16610 Sun Jul 13 06:17:13 GMT 2008  Olly Betts <olly@survex.com>
16612         * matcher/multimatch.cc: Tweak layout (makes the backport diff
16613           much smaller and clearer, and reduces indentation by a level for a
16614           chunk of code).
16616 Fri Jul 11 13:44:56 GMT 2008  Olly Betts <olly@survex.com>
16618         * tests/harness/testutils.cc: Fix typos in recent improved output.
16620 Fri Jul 11 13:04:41 GMT 2008  Olly Betts <olly@survex.com>
16622         * matcher/multimatch.cc: Collect up all the scaling factors we apply
16623           to the estimated number of matches and apply them in one go to avoid
16624           rounding the result more than once.
16626 Fri Jul 11 12:21:11 GMT 2008  Olly Betts <olly@survex.com>
16628         * tests/api_anydb.cc: Add testcase for percent cutoff plus collapsing
16629           which most likely would have failed before Richard's recent fix
16630           for the lower bound with collapsing and a matchdecider.
16632 Fri Jul 11 05:30:02 GMT 2008  Olly Betts <olly@survex.com>
16634         * backends/database.cc: Add support for XAPIAN_PREFER_CHERT
16635           environmental variable.
16637 Thu Jul 10 22:21:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16639         * api/postingsource.cc: Fix skip_to() so that it doesn't advance if
16640           it's already in a suitable position.
16641         * include/xapian/postingsource.h: Specify that skip_to() should
16642           stay in the same position if the current position is equal to
16643           the docid argument of skip_to().
16644         * tests/api_db.cc: Add valueweightsource3 to check that skip_to()
16645           stays in the same position in this case.
16647 Thu Jul 10 13:14:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16649         * api/postingsource.cc: Performance improvement - open documents
16650           lazily (using the internal interface) so that we don't access
16651           the record table for each one - we now just access the value
16652           table.  Leads to considerable speed up for me (of the order of 5
16653           times faster).
16655 Thu Jul 10 09:49:39 GMT 2008  Olly Betts <olly@survex.com>
16657         * HACKING: Overhaul the sections on building from SVN.  Remove ':'
16658           from the end of headings.
16660 Wed Jul 09 10:43:01 GMT 2008  Olly Betts <olly@survex.com>
16662         * configure.ac: The workaround to avoid probe code for F77, GCJ, and
16663           RC being added to configure is no longer required now that we're
16664           using libtool 2.2 so remove it.
16666 Wed Jul 09 09:40:43 GMT 2008  Olly Betts <olly@survex.com>
16668         * Makefile.am,acinclude.m4,autoconf/dir_contents,
16669           autoconf/rjb_find_stlport.m4,autoconf/type_socklen_t.m4,
16670           m4/dir_contents,m4/rjb_find_stlport.m4,m4/type_socklen_t.m4: Move
16671           the m4 macros which we ship for building configure from into the m4
16672           subdirectory and remove acinclude.m4 - now aclocal will pull in the
16673           required macros automatically.
16675 Wed Jul 09 09:14:31 GMT 2008  Olly Betts <olly@survex.com>
16677         * Makefile.am: Update for m4 -> m4-macros change.
16679 Wed Jul 09 09:11:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16681         * matcher/externalpostlist.cc: Fix segfault if get_maxweight() is
16682           called when the postlist has reached end.  This happens if the
16683           end is reached during decay of an AND_MAYBE postlist to an AND.
16684         * common/postlist.h,matcher/: Add comments documenting that
16685           recalc_maxweight() may be called after the postlist has reached
16686           the end, and noting why this is safe in various cases.
16688 Wed Jul 09 09:02:08 GMT 2008  Olly Betts <olly@survex.com>
16690         * m4-macros/dir_contents,m4-macros/xapian.m4,m4/dir_contents,
16691           m4/xapian.m4: Move xapain.m4 to a new subdirectory (m4-macros) since
16692           libtoolize now installs m4 files into subdirectory m4 which we don't
16693           really want picking up by applications building against an
16694           uninstalled xapian-core.
16696 Wed Jul 09 08:03:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16698         * Makefile.am,m4/dir_contents,xapian.m4: Move xapian.m4 back into
16699           the m4 subdirectory.  For uninstalled builds, we need xapian.m4
16700           to be in a directory without any other .m4 files, or we'll be
16701           likely to pull in the wrong versions of other macros.  The top
16702           level directory contains aclocal.m4 and acinclude.m4, so isn't
16703           suitable for this.  Also, the xapian-bindings and omega
16704           compilations hadn't been updated with the new xapian.m4 location,
16705           so this fixes the build for them.
16707 Wed Jul 09 07:17:38 GMT 2008  Olly Betts <olly@survex.com>
16709         * Makefile.am,configure.ac: Use AC_CONFIG_MACRO_DIR and
16710           ACLOCAL_AMFLAGS as libtoolize 2.2.4 recommends.
16712 Wed Jul 09 06:37:21 GMT 2008  Olly Betts <olly@survex.com>
16714         * acinclude.m4: Remove reference to definedir.m4.
16716 Wed Jul 09 05:32:24 GMT 2008  Olly Betts <olly@survex.com>
16718         * Makefile.am,m4/dir_contents,m4/xapian.m4,xapian.m4: Move xapian.m4
16719           to the top level rather than devoting a whole directory to a single
16720           file.
16722 Wed Jul 09 05:23:02 GMT 2008  Olly Betts <olly@survex.com>
16724         * Makefile.am,autoconf/definedir.m4,configure.ac: AC_DEFINE_DIR()
16725           hasn't been used for years so remove it.
16727 Wed Jul 09 02:32:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16729         * api/postingsource.cc,include/xapian/postingsource.h: Add an
16730           alternative constructor for ValueWeightPostingSource which allows
16731           the upper bound on the weights stored to be specified manually.
16732           This is useful for database formats like flint which don't have
16733           an upper bound available.  It could conceivably also be useful if
16734           you know that a query will only be accessing a subset of
16735           documents for which you know a more precise upper bound than the
16736           database-wide upper bound.
16738 Wed Jul 09 01:59:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16740         * matcher/externalpostlist.cc: Add DEBUGCALL macros to enable
16741           easier debugging.
16743 Mon Jul 07 12:40:20 GMT 2008  Olly Betts <olly@survex.com>
16745         * HACKING,NEWS: Update to reflect the autotools now being in the SVN
16746           tree, and the versions we are now bootstrapping with.
16747         * NEWS: Update from ChangeLog.
16749 Sun Jul 06 22:59:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16751         * matcher/multimatch.cc,matcher/remotesubmatch.cc,
16752           matcher/remotesubmatch.h: Apply patch from ticker #279 to improve
16753           performance of matches with multiple remote databases.  This adds
16754           a special case for the top match being from a remote database, to
16755           avoid accessing the termlist to calculate the percentage scaling
16756           factor.
16758 Sun Jul 06 22:55:17 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16760         * api/omenquire.cc: When calculating percentages, round to the
16761           nearest integer, rather than rounding down.  There was a FIXME
16762           about this, but no explanation of why it hadn't already been
16763           done, and I can see no bad side effects so far.  The most obvious
16764           positive effect is that queries which should get precisely 100%
16765           will no longer be assigned 99% due to rounding errors.
16767 Sun Jul 06 22:48:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16769         * tests/api_anydb.cc: Add new test, topercent2, checking the
16770           percentage values returned by standard searches, both against
16771           known current values for some of the hits, and against a search
16772           with a "local" backend.  Also, in rsetmultidb1, test the return
16773           value of mset_range_is_same_weights().
16774         * tests/api_db.cc: In rsetmultidb2, test the return value of
16775           mset_range_is_same_weights().
16777 Sun Jul 06 22:46:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16779         * tests/harness/testutils.cc,tests/harness/testutils.h: Add
16780           function to test if two mset ranges have the same percentages,
16781           and slightly improve the messages on failure of the mset range
16782           comparison tests.
16784 Fri Jul 04 23:31:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16786         * NEWS: Swap two words to make a sentence make sense.
16788 Fri Jul 04 11:40:13 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16790         * matcher/multimatch.cc: Fix calculation of lower bound when
16791           collapsing and match deciders are used.  (Only tended to manifest
16792           when the collapsing threw away a lot of documents, and when also
16793           using a custom sort order, but I don't think that was required.)
16794           Also, perform the adjustments due to percentage cutoffs after the
16795           other adjustments, to avoid the lower bound setting for
16796           collapsing overriding the lower bound from the percentage cutoff.
16797         * tests/harness/index_utils.cc: Add a value to value slot 12, which
16798           only has 5 different values, for testing this bug.
16799         * tests/api_db.cc: Add regression test for calculation of the lower
16800           bound.
16802 Fri Jul 04 10:24:16 GMT 2008  Olly Betts <olly@survex.com>
16804         * Makefile.am,bin/Makefile.mk,examples/Makefile.mk: Remove
16805           extra_cleandirs as automake 1.10.1 fixes the bug which it was working
16806           around.
16808 Fri Jul 04 04:36:59 GMT 2008  Olly Betts <olly@survex.com>
16810         * HACKING: Synchronise tiny change from branches/1.0 which isn't
16811           on trunk for some reason.
16813 Fri Jul 04 04:35:19 GMT 2008  Olly Betts <olly@survex.com>
16815         * HACKING: Bootstrap with newer versions of the autotools:
16816           + autoconf 2.61 -> 2.62: faster
16817           + automake 1.10 -> 1.10.1: "make clean" cleans all .libs
16818             directories.
16819           + libtool 1.5.24 -> 2.2.4: many improvements; faster.
16821 Thu Jul 03 03:17:42 GMT 2008  Olly Betts <olly@survex.com>
16823         * docs/glossary.rst,docs/intro_ir.html: Improve intro_ir a bit, and
16824           link to the definition of RSet in the glossary.
16826 Thu Jul 03 01:30:56 GMT 2008  Olly Betts <olly@survex.com>
16828         * examples/quest.cc: Output get_description() of the parsed query.
16830 Sun Jun 29 18:56:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16832         * matcher/multimatch.cc: Rename percent_factor variable, used here
16833           as part of the percent_cutoff mechanism, to make its purpose
16834           clearer, and to avoid confusing it with percent_scale in this
16835           file, and percent_factor used elsewhere in matcher/.
16837 Sat Jun 28 21:51:42 GMT 2008  Olly Betts <olly@survex.com>
16839         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Disable
16840           "JAVADOC_AUTOBRIEF" since we always try to write a brief
16841           description explicitly, and it causes problems in some cases.
16843 Sat Jun 28 21:32:21 GMT 2008  Olly Betts <olly@survex.com>
16845         * common/: Fix typos in doxygen comments.
16847 Sat Jun 28 10:33:06 GMT 2008  Olly Betts <olly@survex.com>
16849         * languages/stem.cc: Add "nl" for selecting the Dutch stemmer, which
16850           was accidentally missing from the list of language codes recognised.
16851           Reported by Joey Hess in Debian bug #484458.
16852         * tests/api_nodb.cc: Extend stemlangs1 to check that all the language
16853           codes work, and so does Stem("").
16855 Fri Jun 27 00:27:31 GMT 2008  Olly Betts <olly@survex.com>
16857         * NEWS: Update from ChangeLog and against 1.0 branch.
16859 Thu Jun 26 17:17:41 GMT 2008  Olly Betts <olly@survex.com>
16861         * net/remoteconnection.cc: The "already done" check in do_close() is
16862           no longer useful, so remove it.  Shrink the try block to only cover
16863           the call to send_message().
16865 Thu Jun 26 08:19:41 GMT 2008  Olly Betts <olly@survex.com>
16867         * net/remoteconnection.cc: Don't bother to send MSG_SHUTDOWN for a
16868           read-only Database - just closing the connection is enough.
16870 Thu Jun 26 04:49:06 GMT 2008  Olly Betts <olly@survex.com>
16872         * backends/chert/chert_btreebase.cc: Don't need <string.h> as well as
16873           <cstring>.
16874         * backends/flint/flint_btreebase.cc,bin/xapian-replicate-server.cc:
16875           Prefer <cXXX> to <XXX.h>.
16877 Tue Jun 24 04:31:10 GMT 2008  Olly Betts <olly@survex.com>
16879         * tests/harness/testsuite.cc: Use resize() to truncate a string.
16881 Tue Jun 24 04:23:59 GMT 2008  Olly Betts <olly@survex.com>
16883         * net/remoteconnection.cc: Fill in a guess at the __WIN32__ version of
16884           the code needed in RemoteConnection::do_close().
16886 Tue Jun 24 04:06:02 GMT 2008  Olly Betts <olly@survex.com>
16888         * net/progclient.cc: Fix debug logging for __WIN32__.
16890 Tue Jun 24 03:11:09 GMT 2008  Olly Betts <olly@survex.com>
16892         * net/remoteserver.cc: Just delete the Database * pointer db.  The
16893           Database dtor is virtual, so it's fine to delete a WritableDatabase
16894           via a Database * pointer.
16896 Tue Jun 24 01:29:12 GMT 2008  Olly Betts <olly@survex.com>
16898         * backends/remote/remote-database.cc,common/remoteconnection.h,
16899           net/remoteconnection.cc,net/replicatetcpclient.cc: Wait for the
16900           connection to close rather than using a different shutdown message
16901           which requires a reply.  Mostly this is more backport-friendly, but
16902           it also avoids a message reply (albeit it not in a performance
16903           sensitive situation).  Needs implementing for __WIN32__.
16905 Tue Jun 24 01:07:16 GMT 2008  Olly Betts <olly@survex.com>
16907         * net/remoteserver.cc: Unwrap comment.
16909 Tue Jun 24 00:52:02 GMT 2008  Olly Betts <olly@survex.com>
16911         * net/remoteserver.cc: Kill a blank line.
16913 Tue Jun 24 00:49:50 GMT 2008  Olly Betts <olly@survex.com>
16915         * backends/remote/remote-database.cc,common/remoteconnection.h,
16916           common/remoteprotocol.h,docs/remote_protocol.html,
16917           net/remoteconnection.cc,net/remoteserver.cc,
16918           net/replicatetcpclient.cc: Revert r10713 in preparation for applying
16919           an alternative fix.
16921 Mon Jun 23 21:51:42 GMT 2008  Olly Betts <olly@survex.com>
16923         * HACKING: Expand list of keywords for brace cuddling.  Add rationale.
16925 Mon Jun 23 01:53:03 GMT 2008  Olly Betts <olly@survex.com>
16927         * tests/queryparsertest.cc: Cuddle braces after for loops for
16928           consistency with the rest of the code.  Use string::resize() to
16929           shrink a string rather than assigning the result of substr(0, x).
16930         * HACKING: Explicitly document that braces should be cuddled after
16931           control flow structures.
16933 Mon Jun 23 01:34:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16935         * tests/perftest/perftest_matchdecider.cc: Reworked performance
16936           test to include a test of an alldocspostingiterator, and to only
16937           rebuild the database involved if it's not up-to-date.
16939 Mon Jun 23 01:20:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16941         * common/valuestats.h: Add missing #include.
16943 Mon Jun 23 01:10:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16945         * bin/xapian-compact.cc: Add support for the valuestats which are
16946           now held in the value table for chert.
16948 Sun Jun 22 23:44:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16950         * backends/chert/: Change ChertAllDocsPostList to inherit from
16951           ChertPostList and use the doclen list from the posting table
16952           rather than using the termlist table.  This helps towards making
16953           the termlist table optional, reduces the amount of data read in
16954           the process of iterating through an alldocs postlist, and can
16955           make a massive difference in performance: I've measured the time
16956           to iterate through all the documents in a 1000000 document
16957           database, and the patch speeds this operation up by a factor of
16958           6.
16960           Add `keep_reference` parameter to the ChertPostList constructor,
16961           instead of not keeping a reference if the term is empty.
16962           ChertAllDocsPostList uses this to keep a reference to the
16963           database while using an empty term.
16965           Add ChertAllDocsModifiedPostList class, inspired by
16966           ChertModifiedPostList, (with corresponding new source files) to
16967           handle alldocs postlist with modifications: this wasn't needed
16968           before since the termlist is updated immediately after changes.
16970 Sun Jun 22 21:37:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16972         * tests/harness/: Add "name" parameter to
16973           BackendManager::get_writable_database_as_database(), and
16974           BackendManager::get_writable_database_again(), (and subclasses)
16975           so that old databases can be revived.  Useful for the performance
16976           tests.
16978 Sun Jun 22 09:30:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16980         * tests/api_anydb.cc: Expand tests for alldocspostlist, covering
16981           iteration of modified databases.
16983 Fri Jun 20 08:28:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16985         * backends/remote/remote-database.cc,common/remoteconnection.h,
16986           common/remoteprotocol.h,docs/remote_protocol.html,
16987           net/remoteconnection.cc,net/remoteserver.cc,
16988           net/replicatetcpclient.cc: Add new message
16989           "MSG_SHUTDOWNANDCONFIRM" which causes a reply of
16990           "REPLY_SHUTDOWNCONFIRMATION" to be sent after the database has
16991           been closed.  Use this message when closing a writable database,
16992           to ensure that the destructor doesn't return until the lock on
16993           the database has been released.
16995 Tue Jun 17 14:28:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16997         * tests/perftest/freemem.cc,tests/perftest/perftest.cc: Patches
16998           from Charlie to allow perftest to compile on windows.
17000 Tue Jun 17 13:23:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17002         * backends/chert/chert_btreebase.cc,backends/chert/chert_lock.cc,
17003           backends/flint/flint_btreebase.cc,backends/flint/flint_lock.cc,
17004           bin/xapian-replicate-server.cc: Add some missing includes, needed
17005           for GCC 4.3.
17007 Tue Jun 17 11:00:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17009         * tests/perftest/get_machine_info.in: Updates to hopefully get
17010           useful version information on windows.
17012 Mon Jun 16 12:13:48 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17014         * tests/harness/testsuite.cc: Don't call backendmanager->posttest()
17015           if no backendmanager is in use.
17017 Sun Jun 15 02:19:03 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17019         * tests/harness/: Wait for subprocesses to finish at end of tests,
17020           with remotetcp backend, to avoid test failures due to final flush
17021           of a subprocess writing to the database used for the next test.
17023 Thu Jun 12 09:09:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17025         * common/unaligned.h: Add some casts to make GCC 4.3.0 happy.
17027 Thu Jun 12 09:06:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17029         * backends/chert/chert_btreebase.cc: Add missing #include (needed
17030           for compilation with GCC 4.3.0).
17032 Tue Jun 10 17:38:07 GMT 2008  Olly Betts <olly@survex.com>
17034         * tests/harness/testrunner.cc: Use startswith().  Fix memory leak.
17036 Fri Jun 06 11:02:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17038         * Makefile.am,tests/Makefile.am: Fix make check-* targets to match
17039           the current set of backends.  Add .multichert and .multiflint to
17040           the clean-local hook in tests/.  Leave .multi there for now, to
17041           clean up existing .multi directories in the automated build trees.
17043 Fri Jun 06 08:26:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17045         * common/Makefile.mk: Add valuestats.h to distribution.
17047 Thu Jun 05 23:37:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17049         * backends/chert/chert_values.cc: Fix compile error in assertion in
17050           recently added code for calculating value statistics.
17052 Thu Jun 05 21:38:01 GMT 2008  Olly Betts <olly@survex.com>
17054         * queryparser/queryparser.lemony: Use std::vector<Term *> rather than
17055           std::list<Term *> so that size() is O(1) with any (sane) compiler
17056           and because a list of pointers isn't space efficient (and we don't
17057           need to splice here).  Factor out common code in if branches in
17058           TermGroup::as_group().
17060 Thu Jun 05 17:04:23 GMT 2008  Olly Betts <olly@survex.com>
17062         * queryparser/queryparser.lemony: Use "startswith()" to avoid creating
17063           a new string object.
17065 Thu Jun 05 09:09:54 GMT 2008  Olly Betts <olly@survex.com>
17067         * queryparser/queryparser.lemony: Remove variable which is set but
17068           never otherwise used.
17070 Thu Jun 05 09:08:22 GMT 2008  Olly Betts <olly@survex.com>
17072         * api/omqueryinternal.cc: Don't call find() twice - reuse the result
17073           we just got.  Use AssertEq() rather than Assert() on an equality
17074           test.  Clarify a comment.
17076 Wed Jun 04 21:32:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17078         * queryparser/queryparser.lemony: Fix more O(N*N) scaling, this
17079           time in the way in which auto multiword synonyms are detected.
17080           Instead of trying all possible sub-sequences of terms for
17081           synonyms, use synonym_keys and the skip_to() method to check for
17082           synonyms which actually exist in the synonyms table.
17083         * tests/queryparsertest.cc: Extend the scaling test to check this
17084           case.
17086 Wed Jun 04 12:42:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17088         * queryparser/queryparser.lemony: Fix various cases where queries
17089           were constructed pair-wise within a loop, which leads to O(N*N)
17090           scaling behaviour (because each intermediate query construction
17091           is O(M) where M is the size of that query, and there are N of
17092           them).
17093         * tests/queryparsertest.cc: Add test to check that parsing of a
17094           query scales roughly linearly with query size.
17095         * common/omtime.h: Add method to get an OmTime as a double - used
17096           by the new query parser test.
17098 Wed Jun 04 12:18:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17100         * tests/harness/testsuite.h: Fix TEST_LESSER_OR_EQUAL and
17101           TEST_LESSER macros to compare in the right direction (these
17102           macros are, so far, unused).
17104 Mon Jun 02 18:19:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17106         * api/postingsource.cc: Make ValueWeightPostingSource use value
17107           statistics, if they're available, to return accurate term
17108           frequency statistics, and a better maxweight.
17109         * tests/api_db.cc: Add valueweightsource2, to test the bounds and
17110           maxweight returned by a ValueWeightPostingSource for backends
17111           with valuestats support.  Replace !multi condition in
17112           valueweightsource1 with a SKIP_TEST_FOR_BACKEND invocation, since
17113           this is a shortcoming we should fix at some point.
17115 Mon Jun 02 18:16:52 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17117         * tests/harness/testrunner.cc,tests/harness/testrunner.h: Replace
17118           DO_TESTS_FOR_BACKEND macro with a do_tests_for_backend method;
17119           the method version takes a BackendManager * and gets the backend
17120           name from that, rather than requiring it to be specified.
17121           Requires addition of a couple of extra private members to the
17122           TestRunner class.
17124 Mon Jun 02 10:27:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17126         * include/xapian/database.h: Add get_value_freq(),
17127           get_value_lower_bound() and get_value_upper_bound() methods to
17128           Database, to get statistics about the values stored in a slot.
17129         * api/omdatabase.cc,backends/chert/,backends/database.cc,
17130           backends/inmemory/inmemory_database.cc,
17131           backends/inmemory/inmemory_database.h,
17132           backends/remote/remote-database.cc,common/,
17133           net/remoteserver.cc: Add support for the value statistics methods
17134           to chert, inmemory, multi and remote databases.
17135         * tests/Makefile.am,tests/api_valuestats.cc,
17136           tests/harness/testrunner.cc,tests/harness/testrunner.h: Add test
17137           of the value statistics code, and a "valuestats" backend property
17138           to select only backends supporting this.
17140 Mon Jun 02 10:26:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17142         * tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
17143           Move implementation of get_dbtype() method out of header.
17145 Mon Jun 02 09:44:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17147         * rests/harness/: Make flint and chert subtypes for the remote and
17148           multi backend types.  These are specified (on the command line
17149           and elsewhere) by the main type (multi, remotetcp or remoteprog),
17150           followed by an underscore, followed by the subtype (flint or
17151           chert).  Change return type of BackendManager::get_dbtype() to a
17152           string instead of a const char *, to allow backend managers which
17153           have subtypes to generate the result dynamically.
17154         * tests/harness/backendmanager_remote.cc,
17155           tests/harness/backendmanager_remote.h,
17156           tests/harness/backendmanager_remoteprog.cc,
17157           tests/harness/backendmanager_remoteprog.h,
17158           tests/harness/backendmanager_remotetcp.cc,
17159           tests/harness/backendmanager_remotetcp.h: Add new
17160           BackendManagerRemote class as a common base for the two remote
17161           backend managers, and move duplicated code into it.  Add
17162           parameter to its constructor, and to the constructors of the
17163           remote backend manager subclasses, to control the type of
17164           database to use at the remote end.
17165         * tests/harness/backendmanager_multi.cc,
17166           tests/harness/backendmanager_multi.h: Add parameter to
17167           constructor of BackendManagerMulti, controlling the type of
17168           database to use for sub databases.  Put the generated database
17169           files in ".multiflint" and ".multichert" instead of ".multi".
17170         * tests/harness/testrunner.cc: Update list of backend properties to
17171           contain the new subtypes.  Modify use_backend() to allow either
17172           the full backend type, or just the main part of the backend type,
17173           to be specified, so that, for example "-b multi" will run both
17174           the multi_chert and multi_flint tests.  Add test runs for all the
17175           subtypes now supported.  Catch string exceptions thrown by the
17176           test runner - these can currently occur when neither flint or
17177           chert are compiled in.
17178         * tests/apitest.cc,tests/apitest.h: Adjust return type of
17179           get_dbtype(), implement skip_test_*_backend functions which just
17180           check the prefix of the type, and implement SKIP_TEST_*_BACKEND
17181           macros using these.
17182         * tests/api_anydb.cc: Modify check for running on a multi backend
17183           to copy with getting a string back from get_dbtype().
17185 Sat May 31 00:55:03 GMT 2008  Olly Betts <olly@survex.com>
17187         * tests/Makefile.am,tests/perftest/Makefile.mk: Remove unnecessary
17188           quotes.
17190 Thu May 29 16:04:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17192         * tests/perftest/: Update svn:ignore property for perftest changes.
17194 Thu May 29 14:33:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17196         * tests/perftest/perftest.cc: Include the xapian version string in
17197           the test output.  For runs from SVN, also include the subversion
17198           revision number and branch in the output.
17200 Wed May 28 21:47:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17202         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc,
17203           matcher/valuerangepostlist.h: Apply patch from ticket #270 to
17204           implement ValueRangePostList::next() by using an alldocs posting
17205           list, instead of trying docids in turn.  This is much more
17206           efficient if document IDs are sparse.  Since both methods require
17207           accessing the termlist table to check for the next document, and
17208           some cursory performance tests don't show a measurable difference
17209           in speed, I think this approach is at least safe, and probably
17210           superior.
17212 Wed May 28 21:28:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17214         * tests/perftest/perftest.cc: Log the flush threshold for indexing
17215           runs.
17216         * tests/perftest/perftest_randomidx.cc: Set the run size back to a
17217           reasonably large value.
17219 Wed May 28 20:48:10 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17221         * configure.ac,tests/,tests/perftest/,tests/perftest_matchdecider.cc,
17222           tests/perftest_randomidx.cc: Move performance test source files
17223           into a subdirectory.  Modify output of performance tests to
17224           include some basic system information, and also to include
17225           details of the parameters used to perform indexing tests.
17227 Wed May 28 20:42:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17229         * HACKING: Fix numbering in checklist for developers so that it
17230           doesn't repeat section 5.
17232 Sun May 25 14:21:40 GMT 2008  Olly Betts <olly@survex.com>
17234         * NEWS: Update to match 1.0 branch.
17236 Sun May 25 00:24:09 GMT 2008  Olly Betts <olly@survex.com>
17238         * NEWS: Start to update from ChangeLog, stripping out backported
17239           changes.
17241 Sat May 24 16:38:49 GMT 2008  Olly Betts <olly@survex.com>
17243         * NEWS,configure.ac: Update to match 1.0 branch.
17245 Sat May 24 16:33:19 GMT 2008  Olly Betts <olly@survex.com>
17247         * tests/termgentest.cc: Pass Xapian::Document by const reference.
17249 Sat May 24 14:30:59 GMT 2008  Olly Betts <olly@survex.com>
17251         * bin/xapian-compact.cc: Only warn about duplicate user metadata keys
17252           if the tags aren't the same.
17254 Sat May 24 12:14:55 GMT 2008  Olly Betts <olly@survex.com>
17256         * bin/Makefile.am: Put special -I options in foo_CPPFLAGS not
17257           foo_CXXFLAGS.  As well as being the more correct place, this also
17258           means that AM_CXXFLAGS is now used when compiling xapian-check and
17259           xapian-compact, which in particular enables compiler warnings.
17260         * bin/xapian-check.cc,bin/xapian-compact.cc,bin/xapian-check-flint.cc:
17261           Fix warnings (one unused variable and a few cases of a variable
17262           masking another with the same name - none problematic in practice).
17264 Fri May 23 09:22:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17266         * backends/inmemory/inmemory_database.cc: Fix bug in inmemory
17267           database, which resulted in the values not being stored correctly
17268           if document IDs were sparse.
17269         * matcher/valuerangepostlist.cc: Fix the next() method not to
17270           return document IDs which aren't present in the database - this
17271           used to happen if the document IDs were sparse.
17272         * tests/api_anydb.cc: Add "valuerange2", a regression test for
17273           OP_VALUE_LE returning document IDs which aren't present in the
17274           database, and "alldocspl1", which does a generic test of an
17275           alldocs postlist in a sparse database (this passed before the
17276           above changes, but might as well be added anyway).
17278 Wed May 21 19:33:12 GMT 2008  Olly Betts <olly@survex.com>
17280         * docs/Makefile.am: test == isn't portable - use test = instead.
17282 Wed May 21 13:22:23 GMT 2008  Olly Betts <olly@survex.com>
17284         * HACKING: Fix path for atreus.
17286 Wed May 21 13:21:08 GMT 2008  Olly Betts <olly@survex.com>
17288         * HACKING: Fix search&replace error - the CVS module is still called
17289           www.xapian.org.
17291 Wed May 21 13:16:39 GMT 2008  Olly Betts <olly@survex.com>
17293         * HACKING: Reword, since environmental variable PATH isn't "set by
17294           $PATH".
17296 Wed May 21 13:16:21 GMT 2008  Olly Betts <olly@survex.com>
17298         * HACKING: ixion -> atreus.
17300 Wed May 21 13:12:07 GMT 2008  Olly Betts <olly@survex.com>
17302         * include/xapian/database.h: Improve documentation comment.
17304 Sun May 18 05:20:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17306         * docs/remote_protocol.html: Remove spurious "i" at end of line.
17308 Sat May 17 11:53:54 GMT 2008  Olly Betts <olly@survex.com>
17310         * tests/harness/testutils.h: Layout and macro parameter name tweaks.
17312 Fri May 16 20:42:05 GMT 2008  Olly Betts <olly@survex.com>
17314         * bin/xapian-compact.cc: Check that all source databases are the same
17315           type (flint or chert).  Copy over "iamchert" for chert.  Update
17316           terminology - the "meta file" is now called the "version file".
17318 Fri May 16 17:33:22 GMT 2008  Olly Betts <olly@survex.com>
17320         * backends/chert/chert_database.cc,backends/chert/chert_version.cc:
17321           Need <cstdio> for rename().
17323 Fri May 16 17:27:56 GMT 2008  Olly Betts <olly@survex.com>
17325         * backends/chert/chert_database.cc: Correct FIXME comment and mark
17326           as "FIXME:1.2.0".
17328 Fri May 16 17:21:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17330         * tests/harness/testrunner.cc,tests/harness/testrunner.h: Add
17331           condition to test if the backend is "inmemory".
17332         * tests/perftest_randomidx.cc: Change the run size from 1000
17333           documents to 1000000.  Disable this test for the inmemory
17334           backend, because it will quickly use up all the memory on the
17335           machine.
17337 Fri May 16 16:56:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17339         * HACKING: Add note about some more PDF generation tools which are
17340           needed, and that doxygen requires them to be on PATH.
17342 Fri May 16 16:38:40 GMT 2008  Olly Betts <olly@survex.com>
17344         * HACKING: Ubuntu now needs tetex-extra too.
17346 Fri May 16 10:05:30 GMT 2008  Olly Betts <olly@survex.com>
17348         * bin/xapian-compact.cc: Fix to not reject chert databases during the
17349           "up front" check.
17351 Thu May 15 20:20:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17353         * net/progclient.cc: Set namespace for close methods (to avoid
17354           conflicting with the close method I'm working on adding to
17355           database internal).
17357 Wed May 14 17:14:53 GMT 2008  Olly Betts <olly@survex.com>
17359         * backends/database.cc: Default to flint not chert for a new database.
17361 Wed May 14 17:11:56 GMT 2008  Olly Betts <olly@survex.com>
17363         * api/postingsource.cc,docs/postingsource.rst,
17364           include/xapian/postingsource.h,matcher/externalpostlist.cc:
17365           PostingSource::check() now returns the valid flag rather than
17366           passing it in by reference to be set.  Change "should" to "must"
17367           for the get_termfreq_est() requirement at Richard's suggestion.
17368           Add parameter names to PostingSource method prototypes and update
17369           documentation comments to match.
17371 Wed May 14 15:34:38 GMT 2008  Olly Betts <olly@survex.com>
17373         * docs/Makefile.am,docs/index.html,docs/postingsource.rst: Add
17374           topic document for PostingSource.
17376 Mon May 12 17:27:13 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17378         * include/xapian/postingsource.h: Add documentation comments for
17379           ValueWeightPostingSource, and tweak
17380           PostingSource::get_maxweight() comment a bit more.
17382 Mon May 12 16:51:01 GMT 2008  Olly Betts <olly@survex.com>
17384         * include/xapian/postingsource.h: Clarify get_maxweight() if the
17385           maximum from now on.
17387 Mon May 12 06:51:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17389         * api/postingsource.cc,include/xapian/postingsource.h,tests/api_db.cc,
17390           tests/harness/index_utils.cc: Add ValueWeightPostingSource, which
17391           reads a value, applies sortable_unserialise() to it, and returns
17392           that as the weight for each document.
17394 Sun May 11 23:49:07 GMT 2008  Olly Betts <olly@survex.com>
17396         * queryparser/lemon.c,queryparser/queryparser.lt: Do a final sync by
17397           comparing our versions to the latest vanilla upstream.  Add a note
17398           to each file of the latest revision sync-ed against.
17399         * queryparser/lemon.c: Enable '#define PRIVATE static'.
17401 Sun May 11 22:48:27 GMT 2008  Olly Betts <olly@survex.com>
17403         * NEWS: Add a note of the speed-up that the recent QueryParser changes
17404           have given.
17406 Sun May 11 22:10:19 GMT 2008  Olly Betts <olly@survex.com>
17408         * queryparser/lemon.c: Merge upstream "Check-in Number: 5053".
17410 Sun May 11 22:01:48 GMT 2008  Olly Betts <olly@survex.com>
17412         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5052".
17414 Sun May 11 21:56:03 GMT 2008  Olly Betts <olly@survex.com>
17416         * queryparser/queryparser.lt: Fix a comment typo.
17418 Sun May 11 21:52:30 GMT 2008  Olly Betts <olly@survex.com>
17420         * queryparser/lemon.c: Merge upstream "Check-in Number: 4751".
17422 Sun May 11 21:51:18 GMT 2008  Olly Betts <olly@survex.com>
17424         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4745".
17426 Sun May 11 21:47:03 GMT 2008  Olly Betts <olly@survex.com>
17428         * queryparser/queryparser.lt: Comment out memset() call added by
17429           one of the earlier merged upstream changes - a later comment on
17430           the ticket referred to notes that this was actually a bug in the
17431           grammar of the people who reported it.
17433 Sun May 11 21:44:46 GMT 2008  Olly Betts <olly@survex.com>
17435         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4743".
17437 Sun May 11 21:41:55 GMT 2008  Olly Betts <olly@survex.com>
17439         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4738".
17441 Sun May 11 21:33:13 GMT 2008  Olly Betts <olly@survex.com>
17443         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17444           "Check-in Number: 4736".
17445         * queryparser/lemon.c: Add %syntax_error directive since lemon has
17446           changed it's error recovery strategy if you don't have one.
17448 Sun May 11 20:54:31 GMT 2008  Olly Betts <olly@survex.com>
17450         * queryparser/queryparser.lemony: If we hit a syntax error, don't
17451           bother feeding further tokens to the parser!
17453 Sat May 10 21:42:44 GMT 2008  Olly Betts <olly@survex.com>
17455         * queryparser/lemon.c: Merge upstream "Check-in Number: 4641".
17457 Sat May 10 21:33:10 GMT 2008  Olly Betts <olly@survex.com>
17459         * queryparser/lemon.c: Merge upstream "Check-in Number: 4473".
17461 Sat May 10 21:31:25 GMT 2008  Olly Betts <olly@survex.com>
17463         * queryparser/lemon.c: Merge upstream "Check-in Number: 4439".
17465 Sat May 10 21:28:27 GMT 2008  Olly Betts <olly@survex.com>
17467         * queryparser/lemon.c: Merge upstream "Check-in Number: 4274".
17469 Sat May 10 21:25:35 GMT 2008  Olly Betts <olly@survex.com>
17471         * queryparser/lemon.c: Merge upstream "Check-in Number: 4190".
17473 Sat May 10 21:20:16 GMT 2008  Olly Betts <olly@survex.com>
17475         * queryparser/lemon.c: Merge upstream "Check-in Number: 4160".
17477 Sat May 10 21:07:15 GMT 2008  Olly Betts <olly@survex.com>
17479         * queryparser/lemon.c: Merge upstream "Check-in Number: 3753".
17481 Sat May 10 21:03:19 GMT 2008  Olly Betts <olly@survex.com>
17483         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17484           "Check-in Number: 3738".
17486 Sat May 10 20:00:09 GMT 2008  Olly Betts <olly@survex.com>
17488         * queryparser/lemon.c: Merge upstream "Check-in Number: 3654".
17490 Sat May 10 19:55:32 GMT 2008  Olly Betts <olly@survex.com>
17492         * queryparser/lemon.c: Merge upstream "Check-in Number: 3594".
17494 Sat May 10 19:46:05 GMT 2008  Olly Betts <olly@survex.com>
17496         * queryparser/lemon.c: Merge upstream "Check-in Number: 3593".
17498 Sat May 10 19:44:15 GMT 2008  Olly Betts <olly@survex.com>
17500         * queryparser/lemon.c: Merge upstream "Check-in Number: 3591".
17502 Sat May 10 19:40:12 GMT 2008  Olly Betts <olly@survex.com>
17504         * queryparser/lemon.c: Merge upstream "Check-in Number: 3528".
17506 Sat May 10 19:38:36 GMT 2008  Olly Betts <olly@survex.com>
17508         * queryparser/lemon.c: Merge upstream "Check-in Number: 3476".
17510 Sat May 10 19:36:06 GMT 2008  Olly Betts <olly@survex.com>
17512         * queryparser/lemon.c: Merge upstream "Check-in Number: 3333".
17514 Sat May 10 19:33:33 GMT 2008  Olly Betts <olly@survex.com>
17516         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3244".
17518 Sat May 10 19:29:18 GMT 2008  Olly Betts <olly@survex.com>
17520         * queryparser/lemon.c: Merge upstream "Check-in Number: 3226".
17522 Sat May 10 19:19:48 GMT 2008  Olly Betts <olly@survex.com>
17524         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3224".
17526 Sat May 10 19:14:18 GMT 2008  Olly Betts <olly@survex.com>
17528         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17529           "Check-in Number: 3210".
17531 Sat May 10 18:56:50 GMT 2008  Olly Betts <olly@survex.com>
17533         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3181".
17535 Sat May 10 17:05:35 GMT 2008  Olly Betts <olly@survex.com>
17537         * queryparser/lemon.c: Merge upstream "Check-in Number: 3126".
17539 Sat May 10 16:51:31 GMT 2008  Olly Betts <olly@survex.com>
17541         * queryparser/lemon.c: Merge upstream "Check-in Number: 2764".
17543 Sat May 10 16:40:48 GMT 2008  Olly Betts <olly@survex.com>
17545         * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17546           "Check-in Number: 2761".
17548 Sat May 10 16:32:45 GMT 2008  Olly Betts <olly@survex.com>
17550         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 2458".
17552 Sat May 10 16:29:55 GMT 2008  Olly Betts <olly@survex.com>
17554         * queryparser/lemon.c: Merge upstream "Check-in Number: 2345".
17556 Sat May 10 16:08:28 GMT 2008  Olly Betts <olly@survex.com>
17558         * queryparser/queryparser.lt: Merge upstream "Check-in Number: 2302".
17560 Sat May 10 15:50:23 GMT 2008  Olly Betts <olly@survex.com>
17562         * queryparser/lemon.c: Merge upstream "Check-in Number: 2208".
17564 Sat May 10 15:03:59 GMT 2008  Olly Betts <olly@survex.com>
17566         * tests/harness/testsuite.cc: Prefer `str.assign(ptr)' to `str =
17567           string(ptr)'.
17569 Sat May 10 14:48:38 GMT 2008  Olly Betts <olly@survex.com>
17571         * api/matchspy.cc,api/replication.cc: Prefer `str.assign(ptr, len)' to
17572           `str = string(ptr, len)'.
17574 Fri May 09 16:53:19 GMT 2008  Olly Betts <olly@survex.com>
17576         * net/remoteserver.cc: No entries in dispatch[] are NULL, so there's
17577           no point testing for it.
17579 Fri May 09 16:51:10 GMT 2008  Olly Betts <olly@survex.com>
17581         * net/remoteconnection.cc: Remove pointless conversion to size_t which
17582           breaks GCC 2.95 build.
17584 Fri May 09 16:22:46 GMT 2008  Olly Betts <olly@survex.com>
17586         * api/replication.cc: Needs <cstdio> for rename().
17588 Fri May 09 15:41:08 GMT 2008  Olly Betts <olly@survex.com>
17590         * tests/harness/testutils.cc: No need for an explicit std::endl when
17591           calling TEST_AND_EXPLAIN().
17593 Fri May 09 15:38:22 GMT 2008  Olly Betts <olly@survex.com>
17595         * api/replication.cc: Use '\n' rather than endl in the middle of
17596           writing stuff, since endl forces a flush which just adds useless
17597           overhead.
17599 Fri May 09 15:24:42 GMT 2008  Olly Betts <olly@survex.com>
17601         * common/omdebug.h: Fix RETURN macro to work on GCC 2.95 for the case
17602           `RETURN(string())'.
17604 Fri May 09 08:33:35 GMT 2008  Olly Betts <olly@survex.com>
17606         * include/xapian/postingsource.h: Add a protected default ctor so that
17607           code subclassing PostingSource actually compiles!
17609 Thu May 08 16:41:59 GMT 2008  Olly Betts <olly@survex.com>
17611         * include/xapian/postingsource.h: Add doxygen comments for
17612           Xapian::PostingSource.  Add private assignment operator and
17613           copy constructor to prevent copying.
17615 Thu May 08 16:40:49 GMT 2008  Olly Betts <olly@survex.com>
17617         * common/postlist.h: Fix one doxygen comment and improve another.
17619 Mon May 05 15:22:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17621         * tests/Makefile.am: Clean up .chert in clean-local.
17623 Mon May 05 14:52:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17625         * docs/Makefile.am: Adapt the dist-check hook to work with a VPATH
17626           build in non-maintainer mode.
17628 Mon May 05 13:18:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17630         * docs/Makefile.am: Fix "make distcheck" by using dist-hook to
17631           install generated files, with the appropriate dependency, instead
17632           of wildcards in EXTRA_DIST which don't give the correct expansion
17633           unless the files happened to be generated already by another
17634           rule. Also, ensure that the documentation is generated before
17635           attempting to install it.
17637 Sun May 04 09:30:53 GMT 2008  Olly Betts <olly@survex.com>
17639         * backends/chert/chert_version.cc,backends/flint/flint_version.cc,
17640           common/stringutils.h: Move CONST_STRLEN() into stringutils.h.
17641         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
17642           Use CONST_STRLEN().
17644 Sat May 03 18:56:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17646         * api/omenquire.cc: Reset the internal sorter pointer to NULL when
17647           changing to a sort by value. Fixes #256.
17648         * tests/api_sorting.cc: Add regression test.
17650 Sat May 03 18:52:27 GMT 2008  Olly Betts <olly@survex.com>
17652         * include/xapian/unicode.h: Mark internal functions as @internal.
17654 Sat May 03 18:43:12 GMT 2008  Olly Betts <olly@survex.com>
17656         * docs/doxygen_api_conf.in: Disable header and directory relationship
17657           graphs in the API documentation as they aren't interesting to users.
17659 Sat May 03 18:12:30 GMT 2008  Olly Betts <olly@survex.com>
17661         * docs/gen_codestructure_doc.in: Link to trac instead of viewvc.
17663 Sat May 03 17:25:02 GMT 2008  Olly Betts <olly@survex.com>
17665         * docs/replication_protocol.rst: Fix a few typos.
17667 Sat May 03 15:53:24 GMT 2008  Olly Betts <olly@survex.com>
17669         * backends/chert/chert_database.cc,backends/flint/flint_database.cc:
17670           If Database::reopen() is called and the database revision on disk
17671           hasn't changed, then do as little work as possible.  Even if it
17672           has changed, don't bother to recheck the version file (bug#261).
17674 Sat May 03 10:28:30 GMT 2008  Olly Betts <olly@survex.com>
17676         * configure.ac: Improve code to prevent probing for f77, etc.
17678 Sat May 03 10:17:05 GMT 2008  Olly Betts <olly@survex.com>
17680         * matcher/rset.cc: Missing change from last commit.
17682 Sat May 03 09:25:29 GMT 2008  Olly Betts <olly@survex.com>
17684         * api/omenquire.cc,common/,expand/Makefile.mk,expand/esetinternal.cc,
17685           expand/expand.cc: Rewrite class ESet::Internal, incorporating the
17686           functionality which used to be in the internal OmExpand class.  The
17687           expand operation now uses a min heap rather than calling
17688           nth_element() repeatedly - this should reduce the complexity of the
17689           expand operation by a factor of n/log(n) where n is the requested
17690           ESet size.
17692 Fri May 02 15:51:29 GMT 2008  Olly Betts <olly@survex.com>
17694         * common/ortermlist.h,expand/ortermlist.cc: Kill FreqAdderOrTermList's
17695           explicit empty dtor.
17697 Thu May 01 16:38:40 GMT 2008  Olly Betts <olly@survex.com>
17699         * api/omqueryinternal.cc,api/replication.cc,backends/chert/,
17700           backends/flint/,backends/inmemory/inmemory_positionlist.cc,
17701           common/utils.cc,matcher/stats.cc,tests/perftest_matchdecider.cc,
17702           tests/perftest_randomidx.cc: Assorted formatting tweaks.
17704 Thu May 01 16:32:58 GMT 2008  Olly Betts <olly@survex.com>
17706         * common/unaligned.h: Fix ";;" to ";" after AssertRel calls.
17708 Thu May 01 16:12:05 GMT 2008  Olly Betts <olly@survex.com>
17710         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Tell doxygen to
17711           expand XAPIAN_VISIBILITY_DEFAULT so it doesn't appear in collated
17712           API documentation.
17714 Wed Apr 30 10:57:53 GMT 2008  Olly Betts <olly@survex.com>
17716         * HACKING: Update bugzilla references and URLs to reflect the move
17717           to trac.  Update the "fixing a bug" checklist to mention backporting
17718           and updating the release notes.
17720 Wed Apr 30 10:40:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17722         * backends/remote/remote-database.cc: Fix error message displayed
17723           when remote protocol version doesn't match to display the minor
17724           part of the version number supplied by the server correctly.
17726 Tue Apr 29 17:37:10 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17728         * AUTHORS: Add Alexandre Gauthier, for supplying a method for doing
17729           python packaging for Windows.
17731 Tue Apr 29 16:20:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17733         * common/fileutils.cc: Fix variable name for windows compilation.
17735 Tue Apr 29 06:50:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17737         * backends/chert/chert_table.cc,backends/flint/flint_table.cc:
17738           Remove some debugging code, left over from writing the
17739           replication code.
17741 Mon Apr 28 12:11:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17743         * backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc,
17744           backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc:
17745           Fix issue #259 - update the last_block value whenever allocating
17746           a new value, so that next_for_sequential doesn't give up too
17747           early.  Also, in both next_for_sequential and
17748           prev_for_sequential, for writable databases, check the built-in
17749           cursor at all levels for the new block rather than just reading
17750           from disk, since newly allocated blocks won't have been written
17751           to disk yet.  Also, test the return type of next() when reading
17752           subsequent parts of tags, and raise DatabaseCorruptError if it
17753           returns false; this prevents incorrect data being returned,
17754           leading to a zlib error.
17755         * tests/api_wrdb.cc: Add regression test.
17757 Fri Apr 25 08:39:28 GMT 2008  Olly Betts <olly@survex.com>
17759         * api/postingsource.cc: Missed change from last but one commit.
17761 Thu Apr 24 13:44:48 GMT 2008  Olly Betts <olly@survex.com>
17763         * matcher/queryoptimiser.cc: Reserve size of postlists vector.
17765 Thu Apr 24 13:38:51 GMT 2008  Olly Betts <olly@survex.com>
17767         * include/xapian/postingsource.h,matcher/externalpostlist.cc,
17768           matcher/externalpostlist.h,tests/api_db.cc: Add a default
17769           PostingSource::get_description() method so users who don't care
17770           aren't forced to define one.  Make PostingSource::reset() a standard
17771           method and call it automatically so that a PostingSource-using
17772           Query can be run more than once without extra work.
17774 Thu Apr 24 11:24:30 GMT 2008  Olly Betts <olly@survex.com>
17776         * matcher/queryoptimiser.cc: Don't need <queue>.
17778 Thu Apr 24 04:50:43 GMT 2008  Olly Betts <olly@survex.com>
17780         * tests/api_db.cc: Add test that boolean branches of matches don't
17781           cause Xapian::PostingSource to be asked for weights.
17783 Thu Apr 24 03:27:39 GMT 2008  Olly Betts <olly@survex.com>
17785         * matcher/externalpostlist.cc,matcher/externalpostlist.h,
17786           matcher/queryoptimiser.cc: ExternalPostList now takes the
17787           factor into account, so works with OP_SCALE_WEIGHT, and
17788           doesn't call get_weight()/get_maxweight() for a boolean
17789           branch.
17790         * tests/api_db.cc: Add tests for OP_SCALE_WEIGHT.
17792 Thu Apr 24 02:16:08 GMT 2008  Olly Betts <olly@survex.com>
17794         * xapian-config.in: Back out --swigheaders.
17796 Wed Apr 23 11:37:45 GMT 2008  Olly Betts <olly@survex.com>
17798         * matcher/externalpostlist.h: Need to initialise current.
17800 Wed Apr 23 07:57:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17802         * tests/termgentest.cc: Put the inclusion of "utils.h" back; needed
17803           for om_tostring().
17805 Wed Apr 23 04:20:55 GMT 2008  Olly Betts <olly@survex.com>
17807         * include/xapian/replication.h: Eliminate reference to FlintDatabase
17808           from doc comment since it's not user-visible, and chert supports
17809           replication too.  No need for '#include <xapian/database.h>' so
17810           remove.  Remove references to non-existent parameter 'remotename'.
17811           'DatabaseCorrupt error' -> 'DatabaseCorruptError'.
17813 Wed Apr 23 04:19:53 GMT 2008  Olly Betts <olly@survex.com>
17815         * include/xapian/query.h: Wrap Xapian::Query::Internal class
17816           definition in "#ifndef SWIG" ... "#endif" in preparation for getting
17817           SWIG to directly parse it.
17819 Wed Apr 23 02:16:53 GMT 2008  Olly Betts <olly@survex.com>
17821         * api/omquery.cc: Prefer string() to "".
17823 Wed Apr 23 02:16:10 GMT 2008  Olly Betts <olly@survex.com>
17825         * include/xapian/query.h: Fix doc comment typo (doesn't affect API
17826           docs).
17828 Wed Apr 23 00:59:40 GMT 2008  Olly Betts <olly@survex.com>
17830         * api/postingsource.cc: Another missing file.
17832 Wed Apr 23 00:34:34 GMT 2008  Olly Betts <olly@survex.com>
17834         * include/xapian/postingsource.h: New file missing from previous
17835           commit.
17837 Wed Apr 23 00:30:34 GMT 2008  Olly Betts <olly@survex.com>
17839         * api/Makefile.mk,api/omquery.cc,api/omqueryinternal.cc,
17840           include/Makefile.mk,include/xapian.h,include/xapian/query.h,matcher/,
17841           tests/api_db.cc: Add support for Xapian::PostingSource.
17843 Wed Apr 23 00:21:25 GMT 2008  Olly Betts <olly@survex.com>
17845         * include/xapian.h: Fix misplaced comment.  Tweak doxygen comments for
17846           version functions to be more consistent with others.
17848 Wed Apr 23 00:16:14 GMT 2008  Olly Betts <olly@survex.com>
17850         * matcher/queryoptimiser.cc: Remove bogus comment from cut-and-paste.
17852 Wed Apr 23 00:14:30 GMT 2008  Olly Betts <olly@survex.com>
17854         * common/omassert.h: Add AssertEqDoubleParanoid().
17855         * matcher/multimatch.cc: Use it instead of home-brewed version.
17857 Tue Apr 22 23:30:50 GMT 2008  Olly Betts <olly@survex.com>
17859         * common/utils.h: Stop exporting internal functions needlessly.
17861 Tue Apr 22 12:53:55 GMT 2008  Olly Betts <olly@survex.com>
17863         * bin/xapian-compact.cc: Fix to work again (broken by the splitting of
17864           FlintTable::commit() into flush_db() and commit() in the replication
17865           changes).  Don't bother passing tablename to functions where it
17866           always has the same value.  Tweak the user-metadata copying loop to
17867           make it clearer.  Reserve the right size for the vector used for
17868           merging spellings.
17870 Tue Apr 22 12:28:17 GMT 2008  Olly Betts <olly@survex.com>
17872         * backends/chert/chert_table.h,backends/flint/flint_table.h,
17873           bin/xapian-compact.cc: Default commit's changes_fd parameter to -1.
17875 Tue Apr 22 11:39:10 GMT 2008  Olly Betts <olly@survex.com>
17877         * common/omassert.h: Fix comment typo.
17879 Tue Apr 22 10:54:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17881         * tests/queryparsertest.cc: Add "utils.h" back - needed for
17882           om_tostring() and mkdir().
17884 Mon Apr 21 07:48:45 GMT 2008  Olly Betts <olly@survex.com>
17886         * tests/api_db.cc: Don't need <list>.  Wrap comment.
17888 Mon Apr 21 07:04:12 GMT 2008  Olly Betts <olly@survex.com>
17890         * api/omqueryinternal.cc,backends/chert/chert_check.cc,
17891           backends/flint/flint_check.cc,tests/: Remove various needless
17892           inclusions of headers (especially <iostream>).  Reorder headers.
17893           Wrap a couple of comments.  Append single characters to strings
17894           using character constants.
17896 Mon Apr 21 06:26:49 GMT 2008  Olly Betts <olly@survex.com>
17898         * api/Makefile.mk,api/valuerangeproccompat.cc,
17899           include/xapian/queryparser.h: Remove the
17900           v102::NumberValueRangeProcessor ABI-preserving machinery since it's
17901           OK to change the ABI for 1.1.0.
17903 Mon Apr 21 04:42:52 GMT 2008  Olly Betts <olly@survex.com>
17905         * api/,queryparser/queryparser.cc: Remove debug log tracing from
17906           get_description() methods since the debug log call tracing *calls*
17907           get_description() methods on parameters, so logging these calls just
17908           makes for more confusing debug logs.  A get_description() method
17909           should have no side-effects so it's not very interesting even when
17910           explicitly called by the user.
17911         * common/omdebug.h: Replace "OM_DEBUG_INTRO" class with dummy
17912           placeholder (to preserve numbering), to help prevent accidentally
17913           adding these back.
17915 Sun Apr 20 09:46:11 GMT 2008  Olly Betts <olly@survex.com>
17917         * api/omqueryinternal.cc,common/: Stop describing get_description() as
17918           an "Introspection method" internal (matching earlier change to stop
17919           doing so externally).  This doesn't help to explain what it does,
17920           and get_description() doesn't actually fall under any of the formal
17921           definitions of "introspection" I can find.
17923 Fri Apr 18 10:26:18 GMT 2008  Olly Betts <olly@survex.com>
17925         * backends/chert/chert_metadata.cc: Fix renamed parameter in debug
17926           logging.
17928 Fri Apr 18 10:18:35 GMT 2008  Olly Betts <olly@survex.com>
17930         * HACKING,INSTALL,Makefile.am,backends/Makefile.mk,backends/chert/,
17931           backends/database.cc,backends/flint/,backends/remote/net_postlist.cc,
17932           backends/remote/net_postlist.h,bin/,common/,configure.ac,docs/,
17933           include/xapian/dbfactory.h,include/xapian/version_h.cc,
17934           net/remoteserver.cc,tests/Makefile.am,tests/harness/: Start new
17935           development backend "chert".  Currently the change over flint is
17936           that in the postlist table, doclengths are stored once in a
17937           chunked postlist-like form, rather than once per posting.
17939 Tue Apr 15 23:24:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17941         * api/omenquire.cc,tests/api_nodb.cc: Fix segfault introduced by
17942           previous change when asking for the termfreq on an empty mset.
17943           Include a regression test.
17945 Tue Apr 15 06:02:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17947         * include/xapian/enquire.h: Change definition of MSet::get_termfreq
17948           such that it will fall back to looking the term frequency up in
17949           the database rather than raising an exception if the term is not
17950           present in the mset.
17951         * api/omenquire.cc,common/omenquireinternal.h: Implementation of
17952           the above.
17953         * tests/api_anydb.cc: Test the above.
17955 Mon Apr 14 21:29:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17957         * tests/: Use copies of freemem.cc and freemem.h from omega to report
17958           the free physical memory at each stage of indexing.  Also, add a
17959           get_total_physical_memory() function to this, and report it's
17960           value at the top of the results file (only tested on Linux so
17961           far).
17963 Mon Apr 14 19:17:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17965         * tests/api_wrdb.cc: Make skip_to() test a bit more comprehensive.
17967 Mon Apr 14 19:08:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17969         * backends/flint/flint_metadata.cc,backends/flint/flint_metadata.h:
17970           Fix a bug in the skip_to() implementation, and set the parameter
17971           name to "key" instead of "tname", since it's not a term.
17972         * tests/api_wrdb.cc: Add a test of the metadata iterators.
17974 Mon Apr 14 14:22:16 GMT 2008  Olly Betts <olly@survex.com>
17976         * backends/Makefile.mk,backends/flint/Makefile.mk,
17977           backends/flint/contiguousalldocspostlist.cc,
17978           backends/flint/contiguousalldocspostlist.h,common/Makefile.mk:
17979           The ContiguousAllDocsPostList class isn't flint-specific, so move
17980           it out of backends/flint.
17982 Mon Apr 14 13:56:51 GMT 2008  Olly Betts <olly@survex.com>
17984         * backends/flint/flint_database.cc: Removed duplicate
17985           '#include "flint_database.h"', ironically added by Richard's recent
17986           change.  Fix a couple of errors in alphabetical ordering, and
17987           move autoptr.h and the "safe" headers to where the standard headers
17988           they replace would go.
17990 Mon Apr 14 13:44:37 GMT 2008  Olly Betts <olly@survex.com>
17992         * Makefile.am,tests/Makefile.am: List check-perf in .PHONY.
17993         * HACKING: Document the need to list non-file targets in .PHONY.
17995 Mon Apr 14 07:59:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17997         * api/omdatabase.cc: Correct return type in a DEBUGAPICALL macro.
17999 Mon Apr 14 07:14:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18001         * api/omdatabase.cc,backends/database.cc,backends/flint/,
18002           common/database.h,include/xapian/database.h: Add
18003           metadata_keys_begin() and metadata_keys_end() methods to
18004           Database, to allow the complete list of metadata in a database to
18005           be retrieved.  Supports a prefix argument to obtain a limited
18006           subset of the keys, since that may be useful in some situations
18007           and is very easy to implement.  Only accesses the keys in the
18008           first database in a multidatabase situation (which corresponds
18009           with the current behaviour of get_metadata()).
18010           Also, reorder the includes in flint_database.cc to be largely
18011           alphabetical, and remove a duplicated #include of
18012           <xapian/error.h>.
18014 Mon Apr 14 06:51:48 GMT 2008  Olly Betts <olly@survex.com>
18016         * common/fileutils.cc: Use endswith().
18018 Mon Apr 14 06:14:44 GMT 2008  Olly Betts <olly@survex.com>
18020         * api/replication.cc,backends/database.cc,
18021           backends/flint/flint_database.cc,common/fileutils.cc,
18022           tests/queryparsertest.cc: Use empty() rather than comparing size()
18023           to 0.  Use startswith() in a couple of places.  Tweak an Assert
18024           to AssertEq.
18026 Sun Apr 13 14:30:55 GMT 2008  Olly Betts <olly@survex.com>
18028         * api/omdatabase.cc: Replace uses of DEBUGLINE(SPELLING, ...) in
18029           Database::get_spelling_suggestion() with standard
18030           DEBUGAPICALL/RETURN tracing.  Add DEBUGAPICALL/RETURN tracing to
18031           a few Database methods which were missing it.
18033 Sun Apr 13 14:15:00 GMT 2008  Olly Betts <olly@survex.com>
18035         * backends/flint/flint_cursor.cc: Use RETURN() in a few places which
18036           weren't.
18038 Sun Apr 13 13:59:57 GMT 2008  Olly Betts <olly@survex.com>
18040         * backends/inmemory/inmemory_database.cc: Remove long-time commented
18041           out uses of DebugMsg.
18043 Sun Apr 13 13:52:32 GMT 2008  Olly Betts <olly@survex.com>
18045         * expand/expandweight.cc: Use DEBUGLINE() instead of DEBUGMSG().
18047 Sun Apr 13 11:23:56 GMT 2008  Olly Betts <olly@survex.com>
18049         * backends/flint/flint_database.cc: Include corresponding header right
18050           after config.h.
18052 Sun Apr 13 10:28:27 GMT 2008  Olly Betts <olly@survex.com>
18054         * backends/flint/flint_database.cc: Tweak brace formatting and wrap a
18055           comment.
18057 Fri Apr 11 16:18:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18059         * common/fileutils.cc: Fix typo in windows specific code.
18061 Fri Apr 11 12:44:25 GMT 2008  Olly Betts <olly@survex.com>
18063         * backends/flint/flint_cursor.cc: Include corresponding header right
18064           after config.h.
18066 Fri Apr 11 10:25:03 GMT 2008  Olly Betts <olly@survex.com>
18068         * backends/flint/flint_cursor.h: Fix filename in header comment.
18070 Fri Apr 11 04:49:03 GMT 2008  Olly Betts <olly@survex.com>
18072         * configure.ac,tests/submitperftest.in,tests/submitperftest.py.in:
18073           Rename submitperftest.py to submitperftest.
18074         * HACKING: Document that scripts shouldn't generally have an
18075           extension, and the reason for this policy.
18077 Fri Apr 11 04:32:15 2008  Olly Betts <olly@survex.com>
18079         * HACKING: Note that GCC 4.3 no longer supports pre-ISO forms of
18080           standard headers, such as <list.h>.  GCC on Solaris now seems
18081           to support throwing exceptions across shared library boundaries.
18083 Fri Apr 11 03:24:47 GMT 2008  Olly Betts <olly@survex.com>
18085         * tests/Makefile.am: "make up" in tests now does "make" in the
18086           top-level.
18088 Thu Apr 10 08:33:06 GMT 2008  Olly Betts <olly@survex.com>
18090         * backends/flint/flint_postlist.cc: Fix debug logging message: ostList
18091           -> FlintPostList.
18093 Thu Apr 10 05:47:37 GMT 2008  Olly Betts <olly@survex.com>
18095         * net/remoteconnection.cc: Remove erroneous FIXME comments talking
18096           about ReadFile() not updating WSAOVERLAPPED's Offset/OffsetHigh
18097           being a problem with using _get_osfhandle() - ReadFile is documented
18098           to behave this way on MSDN.  Factor out update of Offset/OffsetHigh
18099           and tweak this code not to rely on off_t being 64 bits.
18101 Thu Apr 10 05:24:11 GMT 2008  Olly Betts <olly@survex.com>
18103         * backends/flint/flint_record.cc,backends/flint/flint_utils.h: Use
18104           the new STATIC_ASSERT family of macros instead of CASSERT and
18105           CASSERT_TYPE_UNSIGNED.
18107 Thu Apr 10 04:46:40 GMT 2008  Olly Betts <olly@survex.com>
18109         * common/omassert.h: Add "compile-time assertion" macros:
18110           STATIC_ASSERT(COND), STATIC_ASSERT_UNSIGNED_TYPE(TYPE),
18111           STATIC_ASSERT_TYPE_DOMINATES(TYPE1, TYPE2).
18112         * tests/internaltest.cc: Test these.
18114 Thu Apr 10 01:07:34 GMT 2008  Olly Betts <olly@survex.com>
18116         * common/remoteprotocol.h,net/remoteserver.cc: Clean up a couple more
18117           things now we've moved to major protocol version 31.
18119 Wed Apr 09 06:50:44 GMT 2008  Olly Betts <olly@survex.com>
18121         * backends/remote/remote-database.cc: Add missing explicit include of
18122           remote-database.h.
18124 Wed Apr 09 04:48:54 GMT 2008  Olly Betts <olly@survex.com>
18126         * bin/xapian-check.cc,bin/xapian-compact.cc: Fix check for user
18127           metadata key to not match other key types we may add in the future.
18128           When compacting, we can't assume how we should handle them.  When
18129           checking, they currently shouldn't be present, so we should flag
18130           an error for them.
18132 Tue Apr 08 15:27:09 GMT 2008  Olly Betts <olly@survex.com>
18134         * NEWS: Fix missing line in old entry.
18136 Mon Apr 07 07:49:56 GMT 2008  Olly Betts <olly@survex.com>
18138         * backends/flint/flint_btreeutil.h: Use AssertRel rather than Assert.
18140 Mon Apr 07 06:20:42 GMT 2008  Olly Betts <olly@survex.com>
18142         * api/error.cc,api/valuerangeproc.cc,backends/flint/flint_table.cc,
18143           backends/multi/multi_postlist.cc,backends/remote/net_termlist.cc,
18144           bin/xapian-inspect.cc,common/omdebug.cc,common/utils.cc,
18145           languages/stem.cc,languages/steminternal.cc,
18146           tests/harness/backendmanager_multi.cc,
18147           tests/harness/backendmanager_remotetcp.cc: Header inclusions tidying
18148           - remove a few redundant inclusions; prefer cstdio to stdio.h, etc
18149           in a few places; note why certain headers are required in cases
18150           where it's less obvious; in a .cc file, include the corresponding .h
18151           second (after <config.h>).
18153 Mon Apr 07 04:23:30 GMT 2008  Olly Betts <olly@survex.com>
18155         * configure.ac: Fix --enable-log=profile to be recognised.
18156         * common/omdebug.cc,common/omdebug.h: Fix build with
18157           --enable-log=profile.
18158         * HACKING: Actually document --enable-log=profile.
18160 Sat Apr 05 21:07:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18162         * tests/perftest.cc: Flush after each write, so we can monitor
18163           progress of long running tests (we might need to remove this
18164           again later, if profiling shows it has a noticeable impact).  Fix
18165           two calls to write() to be a single call.
18166         * tests/perftest_randomidx.cc: Add values to different slots; I'd
18167           added them all to slot 0 by mistake, so they were overwriting
18168           each other.
18170 Sat Apr 05 20:17:43 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18172         * tests/Makefile.am,tests/perftest_randomidx.cc: Add a new
18173           performance test which builds a randomly generated index, and
18174           times the index run.  Probably wants a bit more tweaking to make
18175           it slightly more representative, but should be a useful test to
18176           run on systems where downloading a large amount of data is
18177           impractical.
18178         * ChangeLog: Add missing log message for last commit.
18180 Sat Apr 05 20:16:58 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18182         * tests/perftest.cc,tests/perftest.h: Log indexing runs every 5
18183           seconds, as well as after every 1000 documents - gives useful
18184           information for slow index runs.
18186 Thu Apr 03 20:58:31 GMT 2008  Olly Betts <olly@survex.com>
18188         * backends/database.cc,include/xapian/dbfactory.h,
18189           include/xapian/version_h.cc: Remove lingering traces of quartz.
18191 Thu Apr 03 07:59:53 GMT 2008  Olly Betts <olly@survex.com>
18193         * bin/xapian-inspect.cc: Print top-bit-set characters as escaped
18194           hex forms as they often won't be valid UTF-8 sequences.
18196 Thu Apr 03 03:53:37 GMT 2008  Olly Betts <olly@survex.com>
18198         * bin/xapian-inspect.cc: Check for the user passing a database
18199           directory and issue a special error message since this is an obvious
18200           mistake to make.
18202 Wed Apr 02 07:00:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18204         * matcher/multimatch.cc: Modify the estimate for the number of hits
18205           based on the rate at which a match decider has been denying
18206           documents.  Also, reduce the upper bound based on the number of
18207           documents denied.
18208         * tests/api_db.cc: Check that the upper bound when a match decider
18209           is used is within the valid range, rather than a particular
18210           value.
18212 Tue Apr 01 22:40:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18214         * configure.ac,tests/perftest.cc,tests/submitperftest.py.in,
18215           tests/urllib2_file.py: Fix display of upper bound on number of
18216           results of search (was showing lower bound).  Fix display of
18217           closing <repetition> tags.  Add script to submit the results of a
18218           performance test to a central server.
18220 Tue Apr 01 11:19:58 GMT 2008  Olly Betts <olly@survex.com>
18222         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
18223           Gently rearrange where and how we check for overlong keys.
18224         * tests/api_wrdb.cc: Extend termtoolong1 to test that the "term too
18225           long" exception messages contain the length correctly.
18227 Tue Apr 01 06:06:43 GMT 2008  Olly Betts <olly@survex.com>
18229         * AUTHORS,HACKING,INSTALL,README,debian/control.in,debian/copyright,
18230           docs/install.html,xapian-core.spec.in: Standardise URLs on our
18231           website to be xapian.org not www.xapian.org.
18233 Tue Apr 01 03:44:32 GMT 2008  Olly Betts <olly@survex.com>
18235         * backends/flint/flint_record.cc,backends/flint/flint_values.cc,
18236           common/,docs/quickstartexpand.cc.html,docs/quickstartindex.cc.html,
18237           docs/quickstartsearch.cc.html,matcher/: Update the FSF address for
18238           the small number of files which still have the old one.  Remove the
18239           "START_LICENCE" and "END_LICENCE" markers from the small number of
18240           files which still have them.
18242 Tue Apr 01 02:23:27 GMT 2008  Olly Betts <olly@survex.com>
18244         * backends/remote/remote-database.cc,common/remoteprotocol.h,
18245           common/remoteserver.h,common/serialise.h,docs/remote_protocol.html,
18246           net/remoteserver.cc,net/serialise.cc: Update remote protocol to
18247           a new major version (31) and strip out all the gunk that's only
18248           there to keep it compatible with older version 30 clients.
18250 Tue Apr 01 00:12:38 GMT 2008  Olly Betts <olly@survex.com>
18252         * api/ompostlistiterator.cc,include/xapian/postingiterator.h: Remove
18253           the method Xapian::PostingIterator::get_weight() which has been
18254           commented out almost forever.  Weight-handling isn't really
18255           appropriate here.
18256         * api/ompostlistiterator.cc: Remove "\todo" since it's already done!
18258 Mon Mar 31 13:24:11 GMT 2008  Olly Betts <olly@survex.com>
18260         * backends/flint/: Remove unnecessary default dtors.
18262 Mon Mar 31 13:21:55 GMT 2008  Olly Betts <olly@survex.com>
18264         * HACKING: Document to prefer "new SomeClass" to "new SomeClass()".
18265         * api/omdocument.cc,api/omenquire.cc,backends/database.cc,
18266           backends/flint/flint_database.cc,
18267           backends/inmemory/inmemory_database.cc,matcher/multimatch.cc,
18268           matcher/queryoptimiser.cc,net/remoteserver.cc: Fix instances of
18269           the latter form to use the former form.
18271 Mon Mar 31 12:11:09 GMT 2008  Olly Betts <olly@survex.com>
18273         * tests/: Update svn:ignore property for perftest changes and remove
18274           quartz-related entries.
18275         * tests/perftest.cc: Add missing '#include "utils.h"'.
18277 Mon Mar 31 09:22:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18279         * Makefile.am,tests/,tests/harness/,tests/perftest.cc,tests/perftest.h,
18280           tests/perftest_matchdecider.cc: Rework the test collation
18281           mechanism slightly to allow it to be used by other testsuites:
18282           rename collate-apitest to collate-test, and add a parameter to it
18283           naming the output file.  Add new "testrunner.h" and
18284           "testrunner.cc" which are an equivalent to the old mechanism in
18285           apitest for running tests with various properties; the properties
18286           for each backend are now held as member variables of a TestRunner
18287           class, and testsuites (eg, apitest) subclass this and implement a
18288           "run()" method, which will be called for each backend with the
18289           appropriate properties set.  Move definition of DEFINE_TESTCASE
18290           macro into testsuite.h.  Add new testsuite "perftest", which is
18291           intended to contain potentially time consuming performance tests,
18292           logging the results to an XML file for later analysis.  Add a
18293           simple test of the ValueSetMatchDeciders to this testsuite.
18294           "perftest" isn't run by make check, because it is likely to take
18295           some hours to complete in future - instead, there's a new
18296           top-level target "check-perf" which builds and runs perftest.
18298 Mon Mar 31 08:13:21 GMT 2008  Olly Betts <olly@survex.com>
18300         * HACKING: Recommend using the "svn-ci" script.  Update the date
18301           command which produces the correct format timestamp for ChangeLog
18302           entries.
18304 Mon Mar 31 08:00:58 GMT 2008  Olly Betts <olly@survex.com>
18306         * backends/flint/flint_btreeutil.h: Fix some out-of-date comments.
18307         * configure.ac: Use AC_CHECK_SIZEOF to define SIZEOF_INT and
18308           SIZEOF_LONG.
18309         * backends/flint/flint_types.h: Use SIZEOF_INT and SIZEOF_LONG to
18310           determine the type of uint4 rather than always using unsigned long
18311           (which is 64 bits on most 64 bit Unix platforms).  Drop int4 for
18312           the time being, as we don't actually use it.
18314 Mon Mar 31 06:34:20 GMT 2008  Olly Betts <olly@survex.com>
18316         * backends/flint/flint_positionlist.cc: Refactor BitWriter::encode()
18317           to have a single call to write_bits(), and don't include it inline
18318           in the class as it's really a bit big to inline (and write_bits()
18319           should now be inlined into it, or at least tail-called).
18321 Mon Mar 31 05:33:02 GMT 2008  Olly Betts <olly@survex.com>
18323         * backends/flint/flint_positionlist.cc: Reorder header includes to
18324           match our new standard more closely.  Indent class definitions to
18325           match our coding standards.
18327 Mon Mar 31 05:31:59 GMT 2008  Olly Betts <olly@survex.com>
18329         * backends/flint/flint_positionlist.h: Remove unnecessary default
18330           dtor.
18332 Mon Mar 31 04:55:59 GMT 2008  Olly Betts <olly@survex.com>
18334         * backends/remote/net_document.cc,backends/remote/net_document.h:
18335           Rename "doc" member to "data" since it actually holds the document
18336           data.
18338 Mon Mar 31 03:25:21 GMT 2008  Olly Betts <olly@survex.com>
18340         * backends/flint/flint_document.cc,backends/flint/flint_document.h:
18341           Remove unnecessary default dtor.
18343 Mon Mar 31 02:53:48 GMT 2008  Olly Betts <olly@survex.com>
18345         * backends/inmemory/inmemory_alltermslist.cc,
18346           backends/inmemory/inmemory_alltermslist.h: Remove unnecessary
18347           default dtor.
18348         * backends/inmemory/inmemory_alltermslist.h: Fix bogus cut-and-pasted
18349           doxygen comment for ctor.
18351 Mon Mar 31 02:33:15 GMT 2008  Olly Betts <olly@survex.com>
18353         * common/inmemory_positionlist.h: Remove unnecessary default
18354           destructor.  Fix comment type ("inemory" -> "inmemory").
18356 Sun Mar 30 12:47:50 GMT 2008  Olly Betts <olly@survex.com>
18358         * include/xapian/queryparser.h: Drop explicit dtor for SimpleStopper
18359           which does nothing.
18361 Sun Mar 30 12:12:12 GMT 2008  Olly Betts <olly@survex.com>
18363         * include/xapian/valuesetmatchdecider.h: Don't bother checking if an
18364           element is present before calling std::set::erase().  Don't bother
18365           defining an explicit dtor which does nothing.
18367 Sat Mar 29 00:46:13 GMT 2008  Olly Betts <olly@survex.com>
18369         * tests/api_db.cc: Test matchfunctor bounds in combination with
18370           collapsing and percentage cutoff.  Also, range check
18371           get_matches_estimated rather than checking it's exactly the value
18372           currently returned.
18374 Fri Mar 28 21:37:27 GMT 2008  Olly Betts <olly@survex.com>
18376         * tests/api_nodb.cc: Test ValueSetMatchDecider::remove_value() for a
18377           value which isn't in the set.  Test that removing a value doesn't
18378           affect other values in the set.
18380 Fri Mar 28 21:03:30 GMT 2008  Olly Betts <olly@survex.com>
18382         * matcher/multimatch.cc: Avoid needless call to pl->get_termfreq_est()
18383           if we're using a matchdecider or matchspy.
18385 Fri Mar 28 10:28:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18387         * matcher/multimatch.cc: Set matches_lower_bound to 0 before
18388           starting the match process if there is a match decider or spy;
18389           previously, the lower_bound wasn't being reduced in the presence
18390           of a match decider unless all the potential results were
18391           retrieved.
18392         * tests/api_db.cc: Extend matchfunctor1 to check the bounds and
18393           estimates returned; includes a regression test for the above.
18395 Fri Mar 28 09:09:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18397         * tests/api_nodb.cc: Extend tests to check ValueSetMatchDecider
18398           remove_value and also ValueSetMatchDeciders holding more than one
18399           value.
18401 Fri Mar 28 02:41:45 GMT 2008  Olly Betts <olly@survex.com>
18403         * configure.ac: Update version info to match 1.0.6.
18405 Fri Mar 28 00:12:48 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18407         * api/omenquire.cc,include/xapian/enquire.h: Merge two of the
18408           get_mset() variants into one, with default arguments, which has
18409           exactly the same effect.  We added the two variants to preserve
18410           ABI compatibility, and now we're branched for 1.1 this is no
18411           longer necessary.
18413 Thu Mar 27 23:54:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18415         * api/valuesetmatchdecider.cc,include/xapian.h,
18416           include/xapian/valuesetmatchdecider.h: Add ValueSetMatchDecider,
18417           which is a matchdecider which is intended to be passed a set of
18418           values to look for in documents, and selects documents based on
18419           the presence of those values.
18420         * tests/api_db.cc,tests/api_nodb.cc: Add tests for the
18421           ValueSetMatchDecider - both for calling it standalone, and when
18422           passed to get_mset().
18423         * api/Makefile.mk,include/Makefile.mk: Tell build system about new
18424           files.
18426 Thu Mar 27 06:18:52 GMT 2008  Olly Betts <olly@survex.com>
18428         * api/omqueryinternal.cc: Initialise term_pos in previous change to
18429           fix valgrind-detected error.
18431 Thu Mar 27 06:13:01 GMT 2008  Olly Betts <olly@survex.com>
18433         * api/omqueryinternal.cc: Optimise Query(OP_VALUE_GE, <n>, "") to
18434           Query::MatchAll.
18435         * tests/api_nodb.cc: Add testcase for this case.
18437 Thu Mar 27 04:34:40 GMT 2008  Olly Betts <olly@survex.com>
18439         * backends/inmemory/inmemory_document.cc,
18440           backends/inmemory/inmemory_document.h: Rename "doc" member to
18441           "data" since it actually holds the document data.
18442         * backends/inmemory/inmemory_database.cc: Remove unused <stdio.h>.
18443           Include "inmemory_database.h" right after <config.h>.
18445 Wed Mar 26 23:44:03 GMT 2008  Olly Betts <olly@survex.com>
18447         * api/omenquire.cc: Throw InvalidArgumentError upon
18448           RSet::add_document(0).
18449         * tests/api_nodb.cc: Add regression test for this.
18450         * matcher/rset.cc: Add assertion that we don't see a zero docid when
18451           calculating rtermfreqs.
18452         * api/omdocument.cc: Use RETURN not return so debug logging sees the
18453           return value.
18454         * backends/inmemory/inmemory_database.cc,
18455           backends/remote/remote-database.cc: Change exception throwing for
18456           a zero docid to assertions since zero docids should be checked for
18457           before we get to here.
18459 Wed Mar 26 06:17:51 GMT 2008  Olly Betts <olly@survex.com>
18461         * common/postlist.h: Decree that PostList::check() must be passed a
18462           docid which actually exists in the database (which is always true
18463           currently and seems unlikely to be an onerous requirement).
18464         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: Take
18465           advantage of this new precondition to simplify the code.
18466         * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: Move the
18467           corresponding header first as our header inclusion order guidelines
18468           recommend.
18470 Thu Mar 13 01:58:18 GMT 2008  Olly Betts <olly@survex.com>
18472         * common/stats.h,include/xapian/enquire.h,matcher/localmatch.cc,
18473           matcher/weight.cc: Untangle Xapian::Weight to just initialise
18474           internal to 0 in its ctor, which is an ABI change.  Resolves
18475           a load of FIXME:1.1 comments.
18477 Thu Mar 13 00:50:06 GMT 2008  Olly Betts <olly@survex.com>
18479         * backends/flint/flint_lock.cc: Remove workaround for newlib which we
18480           don't seem to need elsewhere and was marked "FIXME:1.1".
18482 Thu Mar 13 00:49:27 GMT 2008  Olly Betts <olly@survex.com>
18484         * docs/deprecation.rst: Fix footnote ids after deprecation updates.
18486 Wed Mar 12 10:08:37 GMT 2008  Olly Betts <olly@survex.com>
18488         * tests/stemtest.cc: Remove support for OM_STEMTEST_SKIP_RANDOM,
18489           OM_STEMTEST_LANGUAGES, and OM_STEMTEST_SEED.
18491 Wed Mar 12 08:30:48 GMT 2008  Olly Betts <olly@survex.com>
18493         * docs/deprecation.rst: Update for bindings removals for 1.1.0.
18495 Wed Mar 12 06:59:25 GMT 2008  Olly Betts <olly@survex.com>
18497         * docs/deprecation.rst: Update for Omega removals for 1.1.0.
18499 Wed Mar 12 05:11:53 GMT 2008  Olly Betts <olly@survex.com>
18501         * api/omenquire.cc,api/omquery.cc,api/version.cc,docs/,
18502           generate-exceptions.in,include/xapian.h,include/xapian/enquire.h,
18503           include/xapian/query.h,tests/api_db.cc,tests/api_wrdb.cc,
18504           tests/apitest.cc,tests/harness/,tests/internaltest.cc: Remove all
18505           xapian-core features marked for removal in 1.1.0.
18507 Wed Mar 12 03:28:18 GMT 2008  Olly Betts <olly@survex.com>
18509         * HACKING,INSTALL,Makefile.am,backends/Makefile.mk,
18510           backends/dir_contents,backends/quartz/,bin/,configure.ac,docs/,
18511           tests/,tests/harness/,tests/quartztest.cc,tests/testdata/,
18512           xapian-core.spec.in: Remove the quartz backend.
18514 Wed Mar 12 02:14:33 GMT 2008  Olly Betts <olly@survex.com>
18516         * m4/xapian.m4: Improve wording of the error message when we can't
18517           find xapian-config.
18519 Wed Mar 12 02:13:32 GMT 2008  Olly Betts <olly@survex.com>
18521         * INSTALL: Minor wording tweak.
18523 Wed Mar 12 01:44:42 GMT 2008  Olly Betts <olly@survex.com>
18525         * bin/xapian-compact.cc: Initialise PostlistCursor member firstdid to
18526           avoid using it uninitialised when merging user metadata and the same
18527           key is present in more than one source database.  If the same user
18528           metadata key is present in more than one source database, copy an
18529           arbitrary tag value.
18531 Wed Mar 12 00:34:04 GMT 2008  Olly Betts <olly@survex.com>
18533         * bin/xapian-compact.cc: Fix potential SEGV (which I think can occur
18534           when compacting database(s) with user metadata but no postings).
18536 Fri Mar 07 09:46:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18538         * common/serialise.h: Add missing std:: before string.
18540 Fri Mar 07 00:47:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18542         * api/replication.cc: Tidy up a line which was wider than 80
18543           columns, and improve the error message returned when a database
18544           replica doesn't contain exactly one subdatabase.
18546 Fri Mar 07 00:34:28 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18548         * common/serialise.h,net/remoteconnection.cc,net/serialise.cc:
18549           Change encode_length() to a template, to allow the full range of
18550           off_t values to be encoded.  Also, adjust
18551           RemoteConnection::get_message_chunked() to allow the message
18552           length to be a 64 bit quantity.  Also, make a couple of type
18553           conversions to size_t explicit, to remove some warnings on
18554           windows.
18556 Thu Mar 06 01:57:04 GMT 2008  Olly Betts <olly@survex.com>
18558         * NEWS: Update from ChangeLog.
18560 Thu Mar 06 01:44:07 GMT 2008  Olly Betts <olly@survex.com>
18562         * bin/xapian-check.cc: Fix terminology - "user metadata" not "user
18563           metainfo".  Fix bug - need to invoke is_user_metadata rather than
18564           using the function pointer as the if condition!
18566 Thu Mar 06 01:41:09 GMT 2008  Olly Betts <olly@survex.com>
18568         * bin/xapian-compact.cc: Fix terminology - "user metadata" not "user
18569           metainfo".
18571 Wed Mar 05 21:17:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18573         * net/remoteconnection.cc: Add some casts (in the windows-specific
18574           code) to fix some warnings from MSVC.
18576 Wed Mar 05 19:01:35 GMT 2008  Olly Betts <olly@survex.com>
18578         * NEWS: Update to 1.0 branch point.
18580 Wed Mar 05 19:00:07 GMT 2008  Olly Betts <olly@survex.com>
18582         * common/msvc_dirent.cc: Tweak to bring comment back into 80 columns.
18584 Wed Mar 05 16:35:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18586         * common/msvc_dirent.cc: Fix sense of check for ENOENT after
18587           calling _findnext() - it should be checked for when an error code
18588           is returned, not when the call succeeds.
18589         * tests/api_replicate.cc: Fix tiny capitalisation typo.
18591 Wed Mar 05 16:29:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18593         * common/fileutils.cc: Check case where a backslash isn't found in
18594           calc_dirname, and don't replace slash with backslash in this
18595           case.
18597 Wed Mar 05 09:30:42 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18599         * bin/xapian-check.cc: Add understanding of user metainfo keys in
18600           the postlist table.  Allow the METAINFO key to be absent if the
18601           table only contains user metainfo keys.
18603 Wed Mar 05 09:01:48 GMT 2008  Olly Betts <olly@survex.com>
18605         * common/msvc_dirent.cc,common/msvc_dirent.h: Move licence boilerplate
18606           up front where we have it in every other file.  Move header guards
18607           to the usual location.  Detail the fix we've made for not setting
18608           errno to ENOENT erroneously.  Push the setting of orig_errno down
18609           a bit.
18611 Wed Mar 05 04:57:44 GMT 2008  Olly Betts <olly@survex.com>
18613         * configure.ac: -pedantic isn't actually very useful so just drop it
18614           rather than testing for known problem cases and risking unknown
18615           problem cases.
18617 Wed Mar 05 03:10:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18619         * matcher/valuegepostlist.cc,matcher/valuegepostlist.h: Implement
18620           skip_to method for ValueGePostList.  Previously, the
18621           ValueRangePostList::skip_to method was used, which would
18622           return incorrect documents.
18624 Wed Mar 05 02:54:27 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18626         * common/fileutils.cc: Search for \ instead of / when looking for a
18627           backslash!
18629 Wed Mar 05 02:51:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18631         * common/fileutils.cc: Fix incorrect docstring.
18633 Tue Mar 04 18:48:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18635         * common/msvc_dirent.cc: Fix readdir() so that it doesn't change
18636           errno to ENOENT on reaching the end of the directory, as
18637           specified by POSIX.
18639 Tue Mar 04 17:54:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18641         * net/remoteconnection.cc: Fix for a problem with windows.  Because
18642           we're using mixed styles of windows file IO, if a file descriptor
18643           which actually corresponds to a file was supplied to remote
18644           connection, the file pointer wasn't being adjusted after each
18645           call to ReadFile or WriteFile.  This manifested in the test case
18646           for replication, resulting in a (corrupt) 2048 byte changeset
18647           file being written (instead of a considerably longer changeset).
18648           To work around this, we explicitly move the file pointer
18649           ourselves.
18651 Tue Mar 04 17:41:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18653         * tests/api_replicate.cc: Close the replica before removing the
18654           temporary directory, to allow the rmdir to work on windows.
18656 Thu Feb 28 16:41:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18658         * common/remoteconnection.h: Include safeunistd.h, to get correct
18659           typedef for off_t on windows - previously, the size of the
18660           RemoteConnection class was varying depending on the order in
18661           which header files were included, resulting in memory corruption.
18662         * net/remoteserver.cc: Remove incorrect comment about what the
18663           problem was.
18665 Sat Feb 23 23:40:56 GMT 2008  Olly Betts <olly@survex.com>
18667         * xapian-config.in: Use globbing rather than iterating over the output
18668           of ls.
18670 Sat Feb 23 23:33:39 GMT 2008  Olly Betts <olly@survex.com>
18672         * xapian-config.in: Fix not to repeated headers in --swigheaders in a
18673           non-VPATH build.
18675 Fri Feb 22 17:20:19 GMT 2008  Olly Betts <olly@survex.com>
18677         * HACKING: Add note about preferring std::string().
18679 Fri Feb 22 17:05:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18681         * net/remoteserver.cc: Use std::string() instead of
18682           std::string(""), since it's a bit cleaner.
18684 Fri Feb 22 16:50:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18686         * net/remoteserver.cc: Add workaround for bug in MSVC 2005.
18688 Fri Feb 22 14:39:03 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18690         * backends/flint/flint_database.cc,backends/flint/flint_table.cc,
18691           backends/quartz/btree.cc: Use msvc_posix_rename() instead of
18692           rename() when renaming base files, so that an error isn't
18693           returned if the destination already exists.
18695 Thu Feb 21 17:24:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18697         * common/msvc_dirent.cc: Include msvc_dirent.h instead of dirent.h
18699 Thu Feb 21 17:09:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18701         * common/database.h: ReplicationInfo is a struct, not a class, so
18702           forward declare it as such.
18704 Thu Feb 21 12:16:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18706         * common/Makefile.mk: Add common/safedirent.h to distribution.
18708 Thu Feb 21 00:25:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18710         * xapian-config.in: Add swigheaders option, listing the header
18711           files used by swig, so that we can add the appropriate
18712           dependencies to the makefiles in the bindings.
18714 Wed Feb 20 20:59:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18716         * include/xapian/replication.h: Add a ReplicationInfo structure,
18717           and use it to return information about what has been done when
18718           the replication methods are called.
18719         * api/replication.cc,backends/database.cc,
18720           backends/flint/flint_database.cc,backends/flint/flint_database.h,
18721           common/database.h,common/replicatetcpclient.h,
18722           common/replicatetcpserver.h,net/replicatetcpclient.cc,
18723           net/replicatetcpserver.cc: Populate a ReplicationInfo structure
18724           when updating a replica, or sending changes to a file descriptor.
18725           Also, fix a bug with reading the replication parameters from a
18726           file, which caused a full database copy to be performed on every
18727           replication request on a newly opened DatabaseReplica object.
18728         * bin/xapian-replicate.cc: When doing verbose logging, display the
18729           number of database copies and changesets applied, and whether the
18730           live database has been updated.
18731         * tests/api_replicate.cc: Check that the information returned by
18732           the replication methods is as is should be, and add a regression
18733           test for always copying the database.
18735 Wed Feb 20 11:20:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18737         * backends/flint/: Improve reporting of failures to obtain lock due
18738           to unexpected errors - the error messages included in the
18739           exceptions raised are now more verbose in many situations.  Also,
18740           if the lock can't be obtained when a database is being created,
18741           report the lock failure, not a DatabaseOpeningError - it's more
18742           useful to know that the lock attempt failed than that the
18743           database wasn't present before the attempt to create it.
18745 Tue Feb 19 11:58:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18747         * bin/xapian-compact.cc: Fix compaction for database which contain
18748           user metadata keys.
18750 Sat Feb 16 19:53:44 GMT 2008  Olly Betts <olly@survex.com>
18752         * include/xapian/queryparser.h: Fix incorrect example in doccomment.
18754 Sat Feb 16 14:46:08 GMT 2008  Olly Betts <olly@survex.com>
18756         * AUTHORS: Add Matthew Somerville for Search::Xapian patches.
18758 Tue Feb 12 16:34:52 GMT 2008  Olly Betts <olly@survex.com>
18760         * docs/quickstart.html: Remove information covered by INSTALL since
18761           there's no good reason to repeat it and two copies just risks one
18762           getting out of date (as has happened here!)
18764 Tue Feb 12 16:27:30 GMT 2008  Olly Betts <olly@survex.com>
18766         * AUTHORS: Add David Spencer for reporting bug#237.
18768 Tue Feb 12 16:25:00 GMT 2008  Olly Betts <olly@survex.com>
18770         * docs/quickstart.html: Fix very out of date reference to MSet::items
18771           (bug#237).
18773 Tue Feb 12 12:40:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18775         * bin/xapian-compact.cc: Fix incorrect parameters passed to
18776           FlintTable constructor.
18778 Sat Feb 09 11:56:40 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18780         * common/socket_utils.h,net/remoteconnection.cc: More fixes for
18781           windows.
18783 Sat Feb 09 11:31:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18785         * common/msvc_dirent.cc,common/msvc_dirent.h: Hopefully this is a
18786           better implementation of dirent functions.
18788 Sat Feb 09 10:59:50 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18790         * common/: Add implementation of dirent.h for use with MSVC; this
18791           is copied from the mingw implementation, which has been placed in
18792           the public domain.  Add "safedirent.h" header for easy inclusion
18793           of this implementation.
18795 Sat Feb 09 10:43:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18797         * tests/api_replicate.cc: Use _putenv instead of setenv on windows.
18799 Sat Feb 09 09:56:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18801         * common/socket_utils.cc,common/socket_utils.h: More fixes for
18802           windows.
18804 Fri Feb 08 16:40:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18806         * common/Makefile.mk,common/socket_utils.cc,common/socket_utils.h,
18807           net/remoteconnection.cc,net/tcpclient.cc: Move windows-specific
18808           socket handling code from remoteconnection.cc into a separate
18809           file, provides the inline close_fd_or_socket for unix in the
18810           header file.  Use this in tcpclient.cc instead of close to close
18811           sockets correctly on windows.
18813 Fri Feb 08 16:40:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18815         * common/fileutils.cc,common/replicatetcpclient.h: Correct typos in
18816           windows only sections of code.
18818 Fri Feb 08 15:29:28 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18820         * net/remoteconnection.cc: Fixes for windows - always include
18821           "safesysselect.h", and include <io.h> on windows.
18822           Also, remove definition of an unused variable (probably due to a
18823           copy and paste error).
18825 Wed Feb 06 13:45:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18827         * bin/xapian-replicate.cc: Include "safeunistd.h" - needed for
18828           sleep, if nothing else.
18830 Tue Feb 05 18:10:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18832         * configure.ac: Set -pedantic in CXXFLAGS not AM_CXXFLAGS when
18833           testing for problem with it - AM_CXXFLAGS is an automake thing,
18834           and isn't used by the autoconf test.
18836 Tue Feb 05 17:50:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18838         * configure.ac: Cleaner patch for the test of compilation with
18839           -pedantic - cache the result using AC_CACHE_VAL().
18841 Tue Feb 05 17:32:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18843         * configure.ac: Check whether compilation of a cast of INFINITY to
18844           a double, and comparison with HUGE_VAL, causes a problem if
18845           -pedantic is specified (which it does on at least some Mac OSX
18846           versions).  If so, don't use the -pedantic compiler flag.
18848 Tue Feb 05 09:24:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18850         * backends/flint/flint_cursor.cc,backends/flint/flint_database.cc,
18851           backends/quartz/bcursor.cc: More fixes for debug logging - rename
18852           the "hex_encode" functions used for logging to
18853           "hex_display_encode" to avoid name clash.  Fix return type
18854           declared in flint_database.cc's DEBUGCALL macro.
18856 Tue Feb 05 09:18:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18858         * api/replication.cc: Fix for logging compiles: don't check return
18859           value of a void function.
18861 Tue Feb 05 09:14:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18863         * api/replication.cc: Reopen database after replication, to fix bug
18864           with applying a chain of changesets.
18865         * backends/flint/flint_database.cc: Don't use O_TRUNC (or O_CREAT)
18866           when modifying the DB files!
18867         * tests/api_replicate.cc: Don't call function from inside
18868           TEST_EQUAL, because that's a macro and the function will be
18869           double-evaluated.
18871 Tue Feb 05 02:07:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18873         * api/replication.cc,backends/database.cc,backends/flint/,
18874           common/database.h: Many fixes to the replication code.  Now
18875           parses replication changesets correctly and applies them to the
18876           databases.  Also, correct one bug with the generation of
18877           changesets.
18878         * docs/replication.rst,docs/replication_protocol.rst: Update.
18879         * tests/api_replicate.cc: Add test of two changesets being applied
18880           at once.
18882 Sun Feb 03 13:31:10 GMT 2008  Olly Betts <olly@survex.com>
18884         * backends/quartz/btree.cc: Backport atomic base update fix from
18885           flint.
18887 Sat Feb 02 22:47:56 GMT 2008  Olly Betts <olly@survex.com>
18889         * AUTHORS: Add Thomas Viehmann.
18891 Sat Feb 02 03:39:33 GMT 2008  Olly Betts <olly@survex.com>
18893         * backends/flint/flint_table.cc: Update the base files atomically to
18894           avoid problems with reading processes finding partially written
18895           ones.
18897 Sat Feb 02 03:38:00 GMT 2008  Olly Betts <olly@survex.com>
18899         * api/replication.cc: Don't leak the RemoteConnection object.
18901 Fri Feb 01 23:15:38 GMT 2008  Olly Betts <olly@survex.com>
18903         * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h:
18904           Fix assorted comment errors.
18906 Fri Feb 01 20:20:23 GMT 2008  Olly Betts <olly@survex.com>
18908         * bin/xapian-replicate.cc: Fix comment.
18910 Fri Feb 01 20:13:23 GMT 2008  Olly Betts <olly@survex.com>
18912         * bin/xapian-replicate.cc: Document the default interval in --help.
18914 Fri Feb 01 20:05:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18916         * bin/xapian-replicate.cc: Remove the "return 0;" I added at the
18917           end of the function - I didn't realise this, but in C++ it's not
18918           necessary to have a return at the end of main().  Tidier without
18919           it, so it's gone.
18921 Fri Feb 01 19:44:05 GMT 2008  Olly Betts <olly@survex.com>
18923         * include/xapian/unicode.h: Add Unicode::toupper() to complement
18924           Unicode::tolower().
18925         * tests/api_unicode.cc: Add caseconvert1 testcase to test
18926           Unicode::tolower() and Unicode::toupper().
18928 Fri Feb 01 19:36:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18930         * bin/xapian-replicate.cc: Add one-shot and verbose options to
18931           replication client.
18933 Fri Feb 01 17:52:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18935         * api/replication.cc,backends/flint/flint_database.cc,
18936           include/xapian/replication.h,net/replicatetcpclient.cc,
18937           tests/api_replicate.cc: Keep the RemoteConnection in the
18938           DatabaseReplica object, so that any data which is read ahead
18939           doesn't get lost.  If an error occurs opening the database on
18940           the server, send a FAIL message over the connection, rather than
18941           just shutting it.
18943 Fri Feb 01 16:51:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18945         * backends/flint/flint_table.cc: Fix a database corruption bug: see
18946           bugzilla entry #232.  Was caused by lazy tables not being created
18947           at the right revision.
18948         * tests/api_wrdb.cc: Regression test for bug.
18950 Fri Feb 01 15:10:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18952         * api/replication.cc,backends/database.cc,
18953           backends/flint/flint_database.cc,backends/flint/flint_database.h,
18954           common/database.h,docs/replication_protocol.rst,
18955           tests/api_replicate.cc: Add the UUID of the new database to the
18956           DB_HEADER message, and move the code which compares UUIDs out of
18957           flint_database.cc and into replication.cc.  Fix testcase which
18958           missed incorrect comparison of UUIDs.  Store the UUID of the
18959           live database which has been replicated in the config file - this
18960           isn't an ideal place, but will do until the UUID is stored in the
18961           iamflint file, and we can parse it from there.  Remove debug
18962           printfs.
18964 Fri Feb 01 15:09:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18966         * bin/quartzdump.cc: Rename hex_encode() to hex_display_encode() to
18967           avoid collision.  (The hex encoding produced by this doesn't
18968           encode spaces, so isn't quite the same as the functions just
18969           added to utils.cc).
18971 Fri Feb 01 15:08:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18973         * common/utils.cc,common/utils.h: Add utility functions to
18974           hex-encode and decode a string, so we can store UUIDs in the
18975           config file in replicated DB directories.
18977 Fri Feb 01 12:49:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18979         * tests/harness/backendmanager_multi.cc: Make the multi
18980           backendmanager use relative paths in its stub databases.
18982 Fri Feb 01 12:17:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18984         * common/Makefile.mk: Add replicationprotocol.h to distribution.
18986 Fri Feb 01 12:10:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18988         * backends/database.cc: Stub databases used to
18989           assume that any relative paths were relative to the current
18990           working directory.  They now assume that relative paths are
18991           relative to the directory holding the stub database file.
18992           Also, lines which begin with a '#' character are ignored, so we
18993           can place comments in the stub database files.  Also, recognise a
18994           new database type: a "stub directory", which is a directory
18995           containing a stub database file named "XAPIANDB".
18996         * api/replication.cc: Replica databases are now created as
18997           directories containing a "XAPIANDB" stub file, so all the
18998           workings are internal.
18999         * common/Makefile.mk,common/fileutils.cc,common/fileutils.h: Add
19000           new set of utilities to manipulate path names - extracting
19001           directory names, and joining paths.
19002         * tests/api_replicate.cc: Enable test properly, now that
19003           it passes.  Test needs to be expanded to check that the database
19004           copy succeeded better.
19006 Fri Feb 01 09:47:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19008         * backends/flint/flint_database.cc: Fix warning about unused
19009           variable.
19011 Fri Feb 01 03:49:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19013         * api/replication.cc,backends/database.cc,
19014           backends/flint/flint_database.cc,backends/flint/flint_database.h,
19015           common/database.h,common/replicationprotocol.h: Move replication
19016           protocol definition into a separate file.  Add (virtual) support
19017           methods for applying changesets to Database::Internal.  Sort out
19018           atomic swapping of old database for new after a database copy.
19020 Fri Feb 01 03:49:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19022         * tests/quartztest.cc: Rename removedir to removedir_recursive() to
19023           avoid conflict with my new function.
19025 Fri Feb 01 03:09:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19027         * docs/replication_protocol.rst: Specify (though not in much
19028           detail) what we mean by "packed" strings and integers.
19030 Fri Feb 01 03:09:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19032         * include/xapian/replication.h: Be more precise in documentation
19033           comment.
19035 Fri Feb 01 03:07:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19037         * net/remoteconnection.cc: Remove debug printfs()
19039 Fri Feb 01 03:03:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19041         * common/utils.cc,common/utils.h: Add overloaded rmdir() which
19042           works directly on C++ strings.  Add removedir() method which
19043           removes a directory and its contents (as long as the directory
19044           only contains files, not subdirectories).
19046 Fri Feb 01 01:51:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19048         * common/remoteconnection.h,net/remoteconnection.cc: Add
19049           "sniff_next_message_type" method to RemoteConnection, and replace
19050           the hardcoded "4096" size of the chunks used for the remote
19051           connection confersation with a #define.  Fix file mode when
19052           creating a file with receive_file(), and bugs with writing too
19053           much data to the file.
19055 Thu Jan 31 03:41:42 GMT 2008  Olly Betts <olly@survex.com>
19057         * bin/Makefile.mk,bin/xapian-replicate-server.cc,
19058           common/replicatetcpserver.h: Add xapian-replicate-server server
19059           program.
19061 Thu Jan 31 02:46:38 GMT 2008  Olly Betts <olly@survex.com>
19063         * bin/Makefile.mk,bin/xapian-replicate.cc,common/replicatetcpclient.h,
19064           net/replicatetcpclient.cc,net/replicatetcpserver.cc: Add
19065           xapian-replicate client program.
19067 Wed Jan 30 19:13:08 GMT 2008  Olly Betts <olly@survex.com>
19069         * include/xapian/replication.h: Correct name of parameter in doxygen
19070           comment.
19072 Wed Jan 30 15:58:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19074         * api/replication.cc,backends/database.cc,
19075           backends/flint/flint_database.cc,backends/flint/flint_database.h,
19076           common/database.h: Hook up the apply_changeset function from the
19077           API through to flint.  (The flint layer currently doesn't work,
19078           though.)  Also, implement the get_uuid() function for flint, by
19079           using the mtime of the iamflint file.
19080         * tests/api_replicate.cc: Finish implementation of the "replicate"
19081           function, and add a test of a replication of a database using
19082           this.  The return value test is commented out for now, because
19083           the flint layer doesn't work, but this puts the machinery needed
19084           to test this in place.
19086 Wed Jan 30 15:10:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19088         * backends/flint/flint_database.cc: Implement sending of the whole
19089           database copy.
19091 Wed Jan 30 14:45:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19093         * tests/,tests/harness/: Add new testcase file (api_replicate.cc)
19094           to hold tests of the replication functionality.  Currently has
19095           one partially written test.  Also, add new function to apitest.h:
19096           get_named_writable_database_path(), which allows the path to a
19097           writable database to be obtained; throws an exception for those
19098           backend types for which that isn't meaningful.  Add a new
19099           variable for use in the conditions for tests: "replicas", which
19100           should be set to true for all backends which support replication.
19102 Wed Jan 30 14:42:26 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19104         * net/remoteconnection.cc: Fix the calls to fcntl() in
19105           send_message() and send_file() to use fdout instead of fdin.
19106           This has probably been stopping timeouts working very well.
19108 Tue Jan 29 15:05:09 GMT 2008  Olly Betts <olly@survex.com>
19110         * common/remoteconnection.h,net/remoteconnection.cc: Add
19111           receive_file() method.
19113 Tue Jan 29 14:37:36 GMT 2008  Olly Betts <olly@survex.com>
19115         * common/remoteconnection.h,net/remoteconnection.cc: Add the ability
19116           to read a message in chunks.
19118 Tue Jan 29 10:08:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19120         * include/xapian/replication.h: Expand documentation comment.
19121         * api/replication.cc,backends/database.cc,
19122           backends/flint/flint_database.cc,backends/flint/flint_database.h,
19123           common/database.h: Add a write_changesets_to_fd() function to
19124           Database::Internal, with a default implementation to raise an
19125           UnimplementedError.  Hook
19126           DatabaseMaster::write_changesets_to_fd() up to this, and
19127           implement it for flint databases (the code to send a copy of a
19128           database still needs work).
19130 Tue Jan 29 10:01:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19132         * docs/replication_protocol.rst: Document that a FAIL message ends
19133           the conversation.
19135 Tue Jan 29 09:59:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19137         * docs/replication_protocol.rst: Document the protocol used to
19138           transfer the updates.
19140 Tue Jan 29 09:57:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19142         * net/remoteconnection.cc: Fix typo.
19144 Tue Jan 29 09:48:15 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19146         * net/remoteconnection.cc: For win32, use msvc_posix_open() to open
19147           the file descriptor, so other things can delete the file while
19148           the sending is in progress.
19150 Tue Jan 29 01:23:19 GMT 2008  Olly Betts <olly@survex.com>
19152         * net/remoteconnection.cc: Add an assertion.
19154 Tue Jan 29 01:14:07 GMT 2008  Olly Betts <olly@survex.com>
19156         * common/remoteconnection.h,net/remoteconnection.cc: Add send_file()
19157           method to RemoteConnection to allow the contents of a file to be
19158           sent as a message.
19160 Tue Jan 29 00:28:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19162         * api/replication.cc,include/xapian/replication.h: Add methods to
19163           allow parameters to be stored associated with a DatabaseReplica.
19165 Tue Jan 29 00:16:42 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19167         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
19168           Change write_changesets_to_fd() to take the revision information
19169           as a string - it now includes a UUID.  Add get_uuid() method to
19170           FlintDatabase - currently always returns "FIXME", but will
19171           eventually return an ID for the database.
19173 Mon Jan 28 19:07:20 GMT 2008  Olly Betts <olly@survex.com>
19175         * common/Makefile.mk,common/replicatetcpclient.h,net/Makefile.mk,
19176           net/replicatetcpclient.cc,net/replicatetcpserver.cc: Add
19177           ReplicateTcpClient class implementing a replication client over
19178           TCP/IP.
19180 Mon Jan 28 17:13:09 GMT 2008  Olly Betts <olly@survex.com>
19182         * common/Makefile.mk,common/replicatetcpserver.h,net/Makefile.mk,
19183           net/replicatetcpserver.cc: Add ReplicateTcpServer class implementing
19184           a replication server over TCP/IP.
19186 Mon Jan 28 17:01:02 GMT 2008  Olly Betts <olly@survex.com>
19188         * common/remoteconnection.h,net/remoteconnection.cc: Minor tweaks
19189           to allow unidirectional connections.
19191 Mon Jan 28 16:26:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19193         * api/replication.cc: Fix overly hasty commit - add
19194           get_description() method for internal class, and use that instead
19195           of trying to access a private member.
19197 Mon Jan 28 16:22:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19199         * api/replication.cc,common/output.h,include/xapian/replication.h:
19200           Add get_description() methods to DatabaseMaster and
19201           DatabaseReplica, and add XAPIAN_OUTPUT_FUNCTION methods for them
19202           so that they can be displayed in debugging methods.  Should fix
19203           build with logging enabled.
19205 Mon Jan 28 11:52:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19207         * api/replication.cc,include/xapian/replication.h: Add
19208           DatabaseReplica::close() method, to allow the write lock to be
19209           released easily.
19211 Mon Jan 28 11:21:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19213         * api/replication.cc,include/xapian/replication.h: Change
19214           DatabaseReplica into a PIMPL style class, now that it has more
19215           than one member.  Add visibility annotations to DatabaseMaster
19216           and DatabaseReplica.
19218 Mon Jan 28 10:44:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19220         * api/replication.cc,include/xapian/replication.h: Add code to swap
19221           stub database files over atomically, and to track the current
19222           real database path.
19224 Mon Jan 28 04:52:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19226         * api/replication.cc,backends/database.cc,
19227           backends/flint/flint_changesetapplier.h,
19228           backends/flint/flint_database.cc,backends/flint/flint_database.h,
19229           common/database.h: Implement opening of the database underlying
19230           DatabaseReplica objects, and hook up the get_revision_info()
19231           method for it.
19233 Mon Jan 28 04:17:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19235         * common/utils.cc,common/utils.h: Add "dir_exists" function, to
19236           check for presence of a directory at a given path.
19238 Mon Jan 28 03:48:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19240         * backends/flint/flint_table.cc: Change a "+= 1" to ++ - this isn't
19241           Python!
19243 Mon Jan 28 03:08:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19245         * api/Makefile.mk,api/replication.cc,include/Makefile.mk,
19246           include/xapian/replication.h: Add interface to replication
19247           functionality.  (Currently just unimplemented stubs.)
19249 Mon Jan 28 02:01:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19251         * backends/flint/flint_btreebase.h: Add a missing std::
19253 Mon Jan 28 01:59:55 GMT 2008  Olly Betts <olly@survex.com>
19255         * common/remotetcpserver.h: Fix typo in doxygen comment: `@port' ->
19256           `@param port'.  Update comment - socket is no longer closed by
19257           handle_one_connection().
19259 Mon Jan 28 01:28:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19261         * backends/flint/: Add support for recording the changes made to a
19262           database in "changeset" files.  These are currently not produced
19263           by default - for now, the "XAPIAN_MAX_CHANGESETS" environment
19264           variable can be set to control production of them.  As part of
19265           these changes, the FlintTable constructor now takes the
19266           tablename, so that this can be stored in changesets produced from
19267           the table.
19268         * bin/xapian-check.cc,bin/xapian-compact.cc,bin/xapian-inspect.cc:
19269           Update to match changes in FlintTable constructor.
19270         * docs/Makefile.am,docs/replication.rst,docs/replication_protocol.rst:
19271           Add basic documentation of the replication protocol (though this
19272           isn't yet definitive, since the protocol isn't finished!)
19274 Sun Jan 27 21:10:24 GMT 2008  Olly Betts <olly@survex.com>
19276         * net/remotetcpserver.cc,net/tcpserver.cc: The job of closing the
19277           socket connected to the client more naturally belongs to the
19278           framework TcpServer class.
19280 Sun Jan 27 20:32:55 GMT 2008  Olly Betts <olly@survex.com>
19282         * backends/flint/flint_table.cc: Call flint_io_sync() in commit()
19283           rather than flush_db(), as that gives more time for written blocks
19284           to get written to disk before we block on waiting for them to be.
19285           This should tend to speed up WritableDatabase::flush() in I/O bound
19286           situations.
19288 Sun Jan 27 19:35:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19290         * backends/flint/flint_spelling.h,backends/flint/flint_synonym.h:
19291           Merge changes to the spelling and synonym tables just before
19292           calling FlintTable::flush_db(), rather than just before calling
19293           FlintTable::commit(), so that they don't get forgotten.
19295 Sun Jan 27 14:29:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19297         * backends/flint/flint_database.cc,backends/flint/flint_table.cc,
19298           backends/flint/flint_table.h: Separate step which flushes
19299           modified blocks from cursors to the DB file from the rest of
19300           commit.  This will allow me to insert the changeset writing code
19301           between the two steps, so it can assume that the DB file is fully
19302           up-to-date.  Also remove an out-of-date FIXME about trying to
19303           avoid updating the value and position tables if they're not used:
19304           these tables are now lazily created anyway.
19306 Sun Jan 27 12:53:51 GMT 2008  Olly Betts <olly@survex.com>
19308         * net/tcpserver.cc: Change explicit references to xapian-tcpsrv.
19310 Sun Jan 27 12:26:24 GMT 2008  Olly Betts <olly@survex.com>
19312         * common/tcpclient.h,common/tcpserver.h,net/: Make use of TCP_NODELAY
19313           optional at the class level.  No user-visible changes.
19315 Sat Jan 26 17:18:09 GMT 2008  Olly Betts <olly@survex.com>
19317         * backends/dbfactory_remote.cc,common/Makefile.mk,
19318           common/remotetcpclient.h,common/tcpclient.h,net/Makefile.mk,
19319           net/remotetcpclient.cc,net/tcpclient.cc: Split out the "open
19320           a connection" part of TcpClient and rename the rest to
19321           RemoteTcpClient.
19323 Sat Jan 26 14:01:34 GMT 2008  Olly Betts <olly@survex.com>
19325         * bin/xapian-tcpsrv.cc,common/Makefile.mk,common/remotetcpserver.h,
19326           common/tcpserver.h,net/Makefile.mk,net/remotetcpserver.cc,
19327           net/tcpserver.cc: Split TcpServer into a generic TCP server
19328           class (TcpServer) and a subclass of this which implements the
19329           remote backend TCP server (RemoteTcpServer).
19331 Sat Jan 26 11:06:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19333         * backends/flint/flint_btreebase.cc,backends/quartz/btree_util.h,
19334           common/utils.h: Move fdcloser into utils.h, since it's generally
19335           useful, and it's better not to have multiple copies of it
19336           scattered through the code.
19338 Fri Jan 25 15:06:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19340         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Use
19341           msvc_posix_unlink() on windows in sys_unlink_if_exists()
19342           functions, so that they will work even if the file is still open.
19343           This probably changes no behaviour, because
19344           sys_unlink_if_exists() is probably never called in such a
19345           situation, but this may not be true in future.
19347 Thu Jan 24 13:31:20 GMT 2008  Olly Betts <olly@survex.com>
19349         * docs/overview.html: Remove commented-out comment about OP_XOR.
19351 Thu Jan 24 13:30:04 GMT 2008  Olly Betts <olly@survex.com>
19353         * docs/intro_ir.html: Briefly mention how pure boolean retrieval is
19354           supported.
19356 Thu Jan 24 13:28:44 GMT 2008  Olly Betts <olly@survex.com>
19358         * HACKING: Move "debian/patch" update earlier in the checklist.
19360 Thu Jan 24 13:26:45 GMT 2008  Olly Betts <olly@survex.com>
19362         * NEWS: Partly update from ChangeLog.
19364 Thu Jan 17 22:32:08 GMT 2008  Olly Betts <olly@survex.com>
19366         * backends/flint/flint_lock.cc,backends/flint/flint_lock.h,
19367           bin/xapian-check.cc: Apply tweaked version of patch for OS/2 support
19368           by Yuri Dario.
19369         * AUTHORS: Add Yuri Dario.
19370         * PLATFORMS: Mention OS/2.
19372 Mon Jan 14 11:03:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19374         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Fix more
19375           assertions to avoid overflowing int.
19377 Mon Jan 14 09:29:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19379         * backends/flint/flint_btreeutil.h: Fix assertions to not overflow
19380           int.
19382 Mon Jan 14 09:23:54 GMT 2008  Olly Betts <olly@survex.com>
19384         * backends/quartz/btree_util.h: Fix assertions to not overflow int.
19386 Mon Jan 14 08:47:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19388         * configure.ac: Fix test for gcc being 4.0.x or 4.1.x, so we don't
19389           use -Wstrict-overflow with them.
19391 Sun Jan 13 23:28:04 GMT 2008  Olly Betts <olly@survex.com>
19393         * configure.ac: GCC warning flag overhaul.  Stop passing
19394           "-Wno-multichar" since any multi-character character literal is
19395           bound to be a typo (I believe we were only passing it after
19396           misinterpreting its sense!)  Pass "-Wformat-security",
19397           "-Wconversion", and "-pedantic" for all GCC versions.  Add
19398           "-Winit-self" and "-Wstrict-overflow=5" for GCC >= 4.2.  The
19399           latter may be too aggressive, but it's hard to know without
19400           trying it more widely.
19402 Sun Jan 13 00:25:25 GMT 2008  Olly Betts <olly@survex.com>
19404         * backends/flint/flint_check.h,backends/flint/flint_table.h,
19405           backends/quartz/btree.h,net/tcpserver.cc,tests/harness/testsuite.cc:
19406           Add XAPIAN_NORETURN() annotations to functions and non-virtual
19407           methods which don't return.
19408         * net/remoteserver.cc: Assign bool variable using a comparison rather
19409           than subtraction, so the intent is clearer.
19411 Sun Jan 13 00:23:41 GMT 2008  Olly Betts <olly@survex.com>
19413         * backends/flint/flint_check.cc: Tweak a comparison so all the
19414           constants are on the same side (micro-optimisation).
19415         * backends/quartz/btreecheck.cc: Equivalent change for quartz.
19417 Sun Jan 13 00:20:08 GMT 2008  Olly Betts <olly@survex.com>
19419         * tests/queryparsertest.cc: Add a couple of testcases I wrote for a
19420           reported problem which turned out to work correctly already.  Still,
19421           they add to our test coverage.
19423 Thu Jan 10 02:04:55 GMT 2008  Olly Betts <olly@survex.com>
19425         * tests/runtest.in: Cope with "@EXEEXT" extension on test programs.
19427 Wed Jan 09 21:57:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19429         * api/omquery.cc,api/omqueryinternal.cc,common/remoteprotocol.h,
19430           include/xapian/query.h,matcher/queryoptimiser.cc,tests/api_anydb.cc:
19431           Add OP_VALUE_LE operator, for symmetry with OP_VALUE_GE.
19432           Currently implemented internally using a ValueRangePostList with
19433           an empty string as the start of the range.
19435 Wed Jan 09 19:36:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19437         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h: Add
19438           new query operator OP_VALUE_GE, for performing "return documents
19439           with a value greater than this" searches.  Also add a new
19440           constructor to go with this which takes a value number and a
19441           single string argument.
19442         * matcher/: Add ValueGePostList class, as a subclass of
19443           ValueRangePostList.  Change internal members of
19444           ValueRangePostList to be protected instead of private.  Add
19445           support for making ValueGePostLists from OP_VALUE_GE queries.
19446         * tests/api_anydb.cc: Add valuege1 testcase of OP_VALUE_GE queries.
19447         * common/remoteprotocol.h: Bump minor protocol number, due to
19448           additional operator being possible in serialised queries.
19450 Wed Jan 09 15:18:16 GMT 2008  Olly Betts <olly@survex.com>
19452         * PLATFORMS: Update from Debian buildd logs.
19454 Wed Jan 09 13:53:34 GMT 2008  Olly Betts <olly@survex.com>
19456         * tests/harness/backendmanager_remotetcp.cc: Fix XAPIAN_NORETURN() to
19457           wrap a declaration, not the definition, to fix compile failure on
19458           mingw "make check".  Correct file documentation comment to refer
19459           to "remotetcp" not "remoteprog".
19461 Mon Jan 07 01:28:14 GMT 2008  Olly Betts <olly@survex.com>
19463         * PLATFORMS: Remove reports for 0.8.x as they're too old to be
19464           interesting.  Separate out 0.9.x reports.
19466 Mon Jan 07 00:23:10 GMT 2008  Olly Betts <olly@survex.com>
19468         * PLATFORMS: Add Solaris 9 and 10 success reports from James Aylett.
19470 Sat Jan 05 19:13:12 GMT 2008  Olly Betts <olly@survex.com>
19472         * languages/compiler/generator.c: In generate_call(), if the failure
19473           case would just be "if (ret == 0) return 0;" then combine it with
19474           the test for the called method returning signal `f'.
19476 Sat Jan 05 18:28:31 GMT 2008  Olly Betts <olly@survex.com>
19478         * languages/compiler/generator.c: Generate more readable code for the
19479           inlined single ASCII character literal string check.
19481 Sat Jan 05 18:27:07 GMT 2008  Olly Betts <olly@survex.com>
19483         * languages/steminternal.cc: Tweak skip_utf8() to save ~0.5% on
19484           stemtest.
19486 Sat Jan 05 02:20:57 GMT 2008  Olly Betts <olly@survex.com>
19488         * languages/compiler/generator.c: Optimise a single ASCII character
19489           literalstring check by inlining the check.  This makes stemtest run
19490           about 2% faster.
19492 Fri Dec 21 21:57:11 GMT 2007  Olly Betts <olly@survex.com>
19494         * docs/valueranges.rst: Fix example of using multiple VRPs to come out
19495           as a "program listing".
19497 Fri Dec 21 15:31:35 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19499         * common/stringutils.h,common/utils.h: Move declaration of
19500           within_DBL_EPSILON back into utils.h to fix builds with
19501           --enable-assertions, and since it's not string-related.
19503 Fri Dec 21 02:12:49 GMT 2007  Olly Betts <olly@survex.com>
19505         * NEWS: Note that one change was "(bug#45)".  Bump release date.
19507 Thu Dec 20 22:00:41 GMT 2007  Olly Betts <olly@survex.com>
19509         * NEWS: Update again for 1.0.5.
19511 Thu Dec 20 17:50:26 GMT 2007  Olly Betts <olly@survex.com>
19513         * common/stringutils.cc: Add new file I failed to commit.
19515 Thu Dec 20 17:17:28 GMT 2007  Olly Betts <olly@survex.com>
19517         * tests/queryparsertest.cc: Add feature tests to ensure that ':' is
19518           inserted between prefix and term when it should be.
19520 Thu Dec 20 13:58:18 GMT 2007  Olly Betts <olly@survex.com>
19522         * common/,queryparser/queryparser.lemony,
19523           queryparser/termgenerator_internal.cc,tests/harness/index_utils.cc,
19524           tests/harness/unixcmds.cc: Move C_isupper(), C_toupper(), etc from
19525           utils.cc/utils.h to stringutils.cc/stringutils.h, since they are
19526           string-related.
19528 Thu Dec 20 03:00:08 GMT 2007  Olly Betts <olly@survex.com>
19530         * HACKING: Remove details of issues with autoconf < 2.57 and
19531           automake < 1.5 as these versions are antiques compared to our
19532           current requirements of autoconf >= 2.59 and automake >= 1.8.3.
19534 Wed Dec 19 03:41:42 GMT 2007  Olly Betts <olly@survex.com>
19536         * AUTHORS,NEWS,configure.ac: Update for 1.0.5.
19538 Wed Dec 19 03:36:30 GMT 2007  Olly Betts <olly@survex.com>
19540         * api/omdatabase.cc: Calling WritableDatabase methods when we don't
19541           have exactly one subdatabase now throws InvalidOperationError.
19542         * tests/termgentest.cc: Add regression test to check that we now get
19543           InvalidOperationError (previously this case gave a segmentation
19544           fault).
19546 Wed Dec 19 01:39:01 GMT 2007  Olly Betts <olly@survex.com>
19548         * PLATFORMS: Update from tinderbox.
19550 Tue Dec 18 23:17:37 GMT 2007  Olly Betts <olly@survex.com>
19552         * backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Move lots
19553           of headers included by flint_lock.h to flint_lock.cc since
19554           flint_lock.h doesn't need them.  Add a "FIXME:1.1:" comment about
19555           an odd special-case for newlib.
19557 Thu Dec 13 17:34:19 GMT 2007  Olly Betts <olly@survex.com>
19559         * tests/stemtest.cc: Mark undocumented OM_STEMTEST_* environmental
19560           variables for removal in 1.1.
19562 Thu Dec 13 01:27:15 GMT 2007  Olly Betts <olly@survex.com>
19564         * HACKING: Need to check RPM packaging with Tim Brody too.
19566 Thu Dec 13 01:26:16 GMT 2007  Olly Betts <olly@survex.com>
19568         * configure.ac: Note that we check for <streambuf> because GCC 2.95
19569           only has <streambuf.h>.
19571 Thu Dec 13 01:23:27 GMT 2007  Olly Betts <olly@survex.com>
19573         * AUTHORS: Add Ralf Wildenhues for suggesting a way to factor out
19574           the boilerplate in multitarget rules.
19576 Wed Dec 12 02:02:51 GMT 2007  Olly Betts <olly@survex.com>
19578         * NEWS: Update for ChangeLog in preparation for 1.0.5.
19580 Wed Dec 12 01:02:29 GMT 2007  Olly Betts <olly@survex.com>
19582         * docs/admin_notes.rst: Mark as up to date for Xapian 1.0.5.  Minor
19583           wording improvements.
19585 Sun Dec 09 01:09:19 GMT 2007  Olly Betts <olly@survex.com>
19587         * tests/collate-apitest: Check for sources in the build directory
19588           first, and only if not there prepend "$srcdir/".  The recently
19589           added api_generated.cc will be in the build directory when using an
19590           SVN checkout.
19592 Fri Dec 07 12:37:08 GMT 2007  Olly Betts <olly@survex.com>
19594         * docs/sorting.rst,docs/valueranges.rst: State explicitly that
19595           Xapian::sortable_serialise() is used to encode values at index time
19596           and give an example of how it is called.
19598 Thu Dec 06 15:55:31 GMT 2007  Olly Betts <olly@survex.com>
19600         * tests/Makefile.am,tests/collate-apitest,
19601           tests/generate-api_generated: Add automatically generated tests to
19602           ensure that API classes generally have copy ctors and assignment
19603           operators, and also generally have a default ctor.
19605 Thu Dec 06 15:32:23 GMT 2007  Olly Betts <olly@survex.com>
19607         * docs/sorting.rst: Fill in the remaining items in the outline.
19609 Thu Dec 06 12:50:46 GMT 2007  Olly Betts <olly@survex.com>
19611         * tests/valgrind.supp: Another variant of the zlib suppression.
19613 Wed Dec 05 18:31:12 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19615         * Makefile.am,docs/Makefile.am,tests/Makefile.am: Add dir_contents,
19616           docs/dir_contents and tests/dir_contents to distribution
19617           tarballs.
19619 Wed Dec 05 18:28:12 GMT 2007  Olly Betts <olly@survex.com>
19621         * preautoreconf: Really fix handling of version.h.
19623 Wed Dec 05 18:20:54 GMT 2007  Olly Betts <olly@survex.com>
19625         * preautoreconf: Handle make pattern substitutions.
19627 Wed Dec 05 18:11:31 GMT 2007  Olly Betts <olly@survex.com>
19629         * preautoreconf: Fix special-case handling of include/xapian/version.h.
19631 Wed Dec 05 18:01:34 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19633         * matcher/multiandpostlist.cc,matcher/multiandpostlist.h: Implement
19634           get_wdf() method for MultiAndPostList (by adding together the
19635           wdfs of the subpostlists).  Not currently used (but will be by
19636           SynonymPostList).
19638 Wed Dec 05 17:43:24 GMT 2007  Olly Betts <olly@survex.com>
19640         * preautoreconf: Special-case version.h.
19642 Wed Dec 05 17:31:47 GMT 2007  Olly Betts <olly@survex.com>
19644         * preautoreconf: Fix errors in previous check-in.
19646 Wed Dec 05 17:18:26 GMT 2007  Olly Betts <olly@survex.com>
19648         * preautoreconf: Parse BUILT_SOURCES to determine which files are
19649           generated and so need looking for in the build directory - this
19650           won't need updating when new files are generated, or existing
19651           ones stop being.
19653 Wed Dec 05 16:55:26 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19655         * preautoreconf: Fix "make doxygen_docs" with VPATH build: look for
19656           generated code files in build dir, and make rule which re-runs
19657           preautoreconf change to srcdir first.
19659 Wed Dec 05 14:59:52 GMT 2007  Olly Betts <olly@survex.com>
19661         * docs/sorting.rst: Document set_sort_by_value() and friends.
19663 Wed Dec 05 11:31:27 GMT 2007  Olly Betts <olly@survex.com>
19665         * docs/sorting.rst: More work.
19667 Tue Dec 04 14:42:57 GMT 2007  Olly Betts <olly@survex.com>
19669         * docs/bm25.html: Improve wording.
19671 Mon Dec 03 17:11:01 GMT 2007  Olly Betts <olly@survex.com>
19673         * docs/Makefile.am,docs/index.html,docs/sorting.rst: Add the start of
19674           a topic document on sorting.
19676 Mon Dec 03 17:10:04 GMT 2007  Olly Betts <olly@survex.com>
19678         * common/stats.h: Fix comment typos.
19680 Sun Dec 02 14:36:47 GMT 2007  Olly Betts <olly@survex.com>
19682         * docs/synonyms.rst: Minor wording clarification.
19684 Sun Dec 02 14:23:37 GMT 2007  Olly Betts <olly@survex.com>
19686         * tests/collate-apitest: Fix reversed conditional for deciding
19687           which generated headers to update.
19689 Sun Dec 02 03:47:44 GMT 2007  Olly Betts <olly@survex.com>
19691         * tests/apitest.cc: Include api_all.h instead of the individual
19692           generated headers.
19694 Sun Dec 02 03:44:56 GMT 2007  Olly Betts <olly@survex.com>
19696         * tests/collate-apitest: Add licence and (C).  Only update .h files
19697           which may have changed.  Generate api_all.h which just includes
19698           the generated headers corresponding to all the sources processed.
19699           Strip spaces from conditions.
19700         * tests/Makefile.am: Update for api_all.h.
19702 Sun Dec 02 03:21:59 GMT 2007  Olly Betts <olly@survex.com>
19704         * matcher/weight.cc: Wrap comment.
19706 Sun Dec 02 03:21:25 GMT 2007  Olly Betts <olly@survex.com>
19708         * AUTHORS: Thank Petr Ročkai.
19710 Sun Dec 02 02:40:58 GMT 2007  Olly Betts <olly@survex.com>
19712         * api/omenquire.cc: Oops, this file also part of previous change.
19714 Sun Dec 02 02:14:27 GMT 2007  Olly Betts <olly@survex.com>
19716         * include/xapian/enquire.h: Implement copy ctor and assignment
19717           operator for Xapian::Enquire (bug#219).
19718         * configure.ac: Note what this means in terms of library versioning.
19720 Sat Dec 01 02:54:51 GMT 2007  Olly Betts <olly@survex.com>
19722         * include/xapian/: Stop describing get_description() as an
19723           "Introspection method", as this doesn't help to explain what it
19724           does, and get_description() doesn't actually fall under any of the
19725           formal definitions of "introspection" I can find.
19727 Sat Dec 01 02:45:16 GMT 2007  Olly Betts <olly@survex.com>
19729         * tests/harness/index_utils.h: Overlooked (C) update.
19731 Sat Dec 01 02:34:59 GMT 2007  Olly Betts <olly@survex.com>
19733         * HACKING,INSTALL,common/,configure.ac,tests/api_anydb.cc,
19734           tests/api_db.cc,tests/btreetest.cc,tests/harness/testsuite.cc,
19735           tests/harness/testsuite.h,tests/harness/testutils.cc,
19736           tests/internaltest.cc: Raise the minimum supported GCC version
19737           to 2.95.3 and strip out om_ostringstream which is no longer
19738           required.
19740 Sat Dec 01 01:10:04 GMT 2007  Olly Betts <olly@survex.com>
19742         * tests/api_sorting.cc,tests/api_wrdb.cc: Move sortfunctor2 from
19743           api_wrdb.cc to api_sorting.cc.
19745 Sat Dec 01 00:43:31 GMT 2007  Olly Betts <olly@survex.com>
19747         * tests/valgrind.supp: Add version of the valgrind zlib suppression
19748           for 64 bit hosts.
19750 Fri Nov 30 18:06:49 GMT 2007  Olly Betts <olly@survex.com>
19752         * tests/harness/index_utils.cc: Workaround MSVC which doesn't clear
19753           the fail bit when a stream is reopened.
19755 Fri Nov 30 00:44:21 GMT 2007  Olly Betts <olly@survex.com>
19757         * matcher/queryoptimiser.cc: Make delete_ptr<> a functor rather than
19758           a function.  This fixes the build with SGI's compiler, and
19759           apparently a functor allows more compilers to inline the call.
19761 Thu Nov 29 19:24:22 GMT 2007  Olly Betts <olly@survex.com>
19763         * configure.ac: Fix previous change to work.
19765 Thu Nov 29 18:53:09 GMT 2007  Olly Betts <olly@survex.com>
19767         * configure.ac: Assume we have <sstream> and hardwire HAVE_SSTREAM to
19768           be 1.  If this assumption proves correct for all platforms we care
19769           about, we can rip out the old om_ostringstream code.
19771 Thu Nov 29 17:51:11 GMT 2007  Olly Betts <olly@survex.com>
19773         * tests/harness/index_utils.cc: Work around MSVC.
19775 Wed Nov 28 03:17:06 GMT 2007  Olly Betts <olly@survex.com>
19777         * api/sorter.cc: Fix reverse sorting of value strings with different
19778           lengths.
19779         * tests/api_wrdb.cc: Add test sortfunctor2 to check this actually
19780           works.
19782 Wed Nov 28 02:27:37 GMT 2007  Olly Betts <olly@survex.com>
19784         * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/:
19785           Add get_named_writable_database() and use it to fix spell3 on
19786           Microsoft Windows.
19788 Tue Nov 27 16:56:12 GMT 2007  Olly Betts <olly@survex.com>
19790         * xapian-config.in: Factor out the code to check if we need explicit
19791           dependencies into a function.  On platforms we know don't need
19792           explicit dependencies, --ltlibs now gives the same output as --libs.
19794 Tue Nov 27 00:24:18 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19796         * tests/Makefile.am: Remove api_regressions.cc from list - didn't
19797           mean to commit that (yet).
19799 Tue Nov 27 00:17:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19801         * tests/Makefile.am: Use $(collated_apitest_sources) in list of
19802           apitest_SOURCES; now a new test file can be added just by adding
19803           it to this variable.
19805 Mon Nov 26 23:04:00 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19807         * tests/Makefile.am: Add generated apitest .h files to targets of
19808           rule which calls collate-apitest, since they're also generated by
19809           it.  Change the rule to use a .stamp and a .lock file as
19810           described in HACKING, to fix parallel builds.
19812 Mon Nov 26 18:48:20 GMT 2007  Olly Betts <olly@survex.com>
19814         * Makefile.am: Distribute preautoreconf.
19816 Mon Nov 26 17:24:15 GMT 2007  Olly Betts <olly@survex.com>
19818         * HACKING,configure.ac,docs/Makefile.am: Use pngcrush to reduce the
19819           size of PNG files in the doxygen-generated HTML docs.
19821 Mon Nov 26 15:39:58 GMT 2007  Olly Betts <olly@survex.com>
19823         * docs/Makefile.am: Don't package or install various intermediate
19824           files which doxygen generates.
19826 Mon Nov 26 13:14:19 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19828         * tests/api_db.cc: Ensure that the database needed for stubdb1 is
19829           present, by creating it first (with get_database()).  This
19830           requires that the database type is flint, but the test doesn't
19831           depend on any particular database type anyway, so this doesn't
19832           lose us anything.
19834 Mon Nov 26 13:08:08 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19836         * tests/collate-apitest: Display the name of the backend which a
19837           set of tests is for.
19839 Mon Nov 26 09:45:39 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19841         * tests/Makefile.am,tests/collate-apitest: Fix with VPATH builds -
19842           pass srcdir as the first argument to collate-apitest, so it can
19843           find the sources.  Also, use srcdir to form the path to
19844           collate-apitest when calling it from the make rule.
19846 Mon Nov 26 02:22:08 GMT 2007  Olly Betts <olly@survex.com>
19848         * tests/api_db.cc,tests/apitest.cc,tests/apitest.h: Convert the
19849           remaining tests to be collated.
19851 Mon Nov 26 02:08:18 GMT 2007  Olly Betts <olly@survex.com>
19853         * tests/api_db.cc,tests/apitest.cc,tests/apitest.h: Collate the
19854           localdb and remotedb tests.
19856 Mon Nov 26 01:40:59 GMT 2007  Olly Betts <olly@survex.com>
19858         * tests/: Collate the specchar, doclendb, collfreq, allterms, and
19859           multivalue tests.
19861 Mon Nov 26 01:21:35 GMT 2007  Olly Betts <olly@survex.com>
19863         * tests/: Collate the anydb tests.  Remove the generated files upon
19864           "make clean" in maintainer-mode.
19866 Mon Nov 26 00:34:03 GMT 2007  Olly Betts <olly@survex.com>
19868         * tests/: Collate the wrdb tests.
19870 Mon Nov 26 00:18:18 GMT 2007  Olly Betts <olly@survex.com>
19872         * tests/api_posdb.cc,tests/apitest.cc: Add "writable" flag and use it
19873           for poslist2 and poslist3.
19875 Mon Nov 26 00:13:43 GMT 2007  Olly Betts <olly@survex.com>
19877         * tests/: Collate the posdb tests.
19879 Mon Nov 26 00:03:29 GMT 2007  Olly Betts <olly@survex.com>
19881         * tests/: Collate the nodb tests.
19883 Sun Nov 25 23:55:02 GMT 2007  Olly Betts <olly@survex.com>
19885         * tests/: Collate the transaction tests.
19887 Sun Nov 25 23:49:26 GMT 2007  Olly Betts <olly@survex.com>
19889         * tests/: Collate the unicode tests.
19891 Sun Nov 25 23:35:40 GMT 2007  Olly Betts <olly@survex.com>
19893         * tests/: Make a start on automatically collating test cases.
19895 Sun Nov 25 22:41:52 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19897         * api/weightinternal.cc: Initialise all members of
19898           Xapian::Weight::Internal, and use initialisers rather than
19899           assignment to do so.  Fixes an error reported by valgrind.
19901 Sun Nov 25 16:48:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19903         * matcher/weight.cc: Add another note of a FIXME needed for 1.1
19905 Sun Nov 25 16:40:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19907         * matcher/bm25weight.cc,matcher/tradweight.cc: Add some missing
19908           "using namespace std;" lines which are needed due to earlier
19909           changes in header file inclusions.  Also, remove some unnecessary
19910           std:: prefixes.
19912 Sun Nov 25 16:35:30 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19914         * common/stats.h,include/xapian/enquire.h,matcher/localmatch.cc,
19915           matcher/weight.cc: Undo ABI change introduced in previous commit
19916           with a nasty workaround; we can't initialise Weight::internal
19917           reliably, because applications complied with earlier versions of
19918           the library may have inlined the constructor of the Weight class.
19919           Therefore, we can't delete Weight::internal in the destructor,
19920           because we don't know if it was initialised.  Instead, we
19921           add factory methods for making Weight::Internal objects to Stats,
19922           register all the Weight::Internal objects made by these factory
19923           methods in a list is the Stats object, and delete them when Stats
19924           is deleted (which conveniently happens after the match has
19925           finished).  Mark all this with FIXME:1.1: so that we can easily
19926           convert it to nicer code once we branch for 1.1.
19928 Sun Nov 25 15:14:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19930         * api/Makefile.mk,api/weightinternal.cc,common/,
19931           include/xapian/enquire.h,matcher/: Split Stats and
19932           Xapian::Weight::Internal into different classes: Stats remains
19933           with the same members (but becomes a concrete class, rather than
19934           a typedef of another class), and Xapian::Weight::Internal becomes
19935           a simple container for exactly those statistics which are
19936           relevant for a weight object (ie, it holds just one termfreq and
19937           reltermfreq, rather than a map of all of them).  This is
19938           dynamically allocated, so Xapian::Weight now owns the object
19939           pointed to by its "internal" member, and deletes it in its
19940           destructor.  Add a new header file "weightinternal.h" so that the
19941           full "stats.h" stuff doesn't need to be included for definitions
19942           of weighting schemes.  Replace #include "stats.h" lines with
19943           forward declarations of Stats, where possible.
19945 Sun Nov 25 15:09:29 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19947         * api/omenquire.cc: Add missing include of stats.h
19948         * matcher/queryoptimiser.cc,net/tcpserver.cc: Remove unnecessary
19949           include of stats.h
19950         * net/remoteserver.cc: Include missing includes of omassert.h and
19951           stats.h, and change an Assert to AssertEq.
19952         * matcher/multimatch.cc: Output the contents of the stats object in
19953           debugging code.
19955 Sun Nov 25 04:22:05 GMT 2007  Olly Betts <olly@survex.com>
19957         * common/multimatch.h: No longer need "autoptr.h" here.
19959 Sun Nov 25 04:07:04 GMT 2007  Olly Betts <olly@survex.com>
19961         * common/multimatch.h: Fix typo in documentation comment.
19963 Sun Nov 25 03:58:21 GMT 2007  Olly Betts <olly@survex.com>
19965         * common/remoteserver.h,matcher/localmatch.cc,matcher/multimatch.cc:
19966           Remove lingering traces of StatsGatherer.
19968 Sat Nov 24 20:44:03 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19970         * common/stats.h,matcher/Makefile.mk,matcher/stats.cc: Add
19971           get_description() method for Xapian::Weight::Internal, and add
19972           stats.cc back to hold it's implementation.
19973         * common/output.h: Add an output function for Stats (aka
19974           Xapian::Weight::Internal) to fix the build when debug logging is
19975           enabled.
19977 Sat Nov 24 01:21:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19979         * api/omenquire.cc,common/,matcher/,net/remoteserver.cc: Remove
19980           StatsGatherer and its subclasses completely.  Instead of a
19981           StatsGatherer subclass, MultiMatch is now simply passed a Stats
19982           object, and passes this to the prepare_match() methods of the sub
19983           matchers to be populated with statistics.  OmEnquire then passes
19984           the same Stats object to MultiMatch::get_mset(), whereas a remote
19985           submatch sends the Stats object to the parent match, to be
19986           combined with the global statistics, and then passes the returned
19987           global statistics to MultiMatch::get_mset().  Remove stats.cc
19988           since it only contained implementations of StatsGatherer methods,
19989           and networkstats.h which only contained the definition of the
19990           NetworkStatsGatherer.
19991         * matcher/rset.cc: Add the rset size to the database - we now
19992           compute the global rset size the same way as we compute the
19993           global collection size: by adding the sizes in the sub
19994           collections together.  We have the total rset size easily
19995           available in the code, but building the total rset size up from
19996           the sub-databases makes the code simpler.
19998 Sat Nov 24 01:21:18 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20000         * matcher/andnotpostlist.cc: Add a missing #include "omdebug.h".
20002 Fri Nov 23 23:13:12 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20004         * common/stats.h,matcher/: Remove the StatsSource class entirely.
20005           LocalSubMatch and RemoteSubMatch now contribute their stats
20006           directly to the gatherer in the prepare_match() method, so the
20007           gatherer doesn't need to worry about keeping track of the sources
20008           of statistics.
20010 Fri Nov 23 21:46:32 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20012         * common/submatch.h,matcher/: Change SubMatch::start_match() (and
20013           all start_match() methods in subclasses) to take the statistics
20014           for the whole collection as an additional parameter.  MultiMatch
20015           now gets the statistics from the gatherer and passes it to
20016           start_match().
20018 Fri Nov 23 17:38:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20020         * common/stats.h: Add set_termfreq() and set_reltermfreq()
20021           convenience methods to Stats; and remote the take_my_stats(),
20022           my_termfreq_is() and my_reltermfreq_is() methods from
20023           StatsSource.
20024         * common/rset.h,matcher/rset.cc: Rename give_stats_to_statssource()
20025           to contribute_stats(), and give it take a Stats object instead of
20026           a StatsSource object.  Can't forward declare Stats, so we need to
20027           #include "stats.h" in rset.h now, unfortunately.
20028         * matcher/localmatch.cc,matcher/localmatch.h: Move register_term()
20029           implementation inline into prepare_match().  Build up the
20030           statistics in a local Stats object, rather than passing them
20031           piecemeal to the StatsSource object, and then use
20032           StatsSource::get_my_stats() to set them, just like
20033           RemoteSubMatcher.
20035 Fri Nov 23 14:35:49 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20037         * matcher/localmatch.cc,matcher/localmatch.h: Get the total
20038           statistics from the gatherer directly and store them in a new
20039           member of LocalSubMatch, rather than getting them via the
20040           StatsSource when we need them.  This bypasses the
20041           get_total_stats() and set_total_stats() methods of StatsSource.
20042         * common/stats.h,matcher/stats.cc: Remove the (newly) unused
20043           methods StatsSource::set_total_stats() and
20044           StatsSource::get_total_stats().
20046 Fri Nov 23 11:40:54 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20048         * common/,include/xapian/enquire.h,matcher/: Rename
20049           Xapian::Weight::Internal to StatsSource (which I hope to be able
20050           to remove shortly), and rename the Stats class to
20051           Xapian::Weight::Internal.  Requires minimal plumbing changes -
20052           TradWeight and BM25Weight classes now query the internals
20053           directly for the statistics, LocalSubMatch now gets the
20054           statistics from StatsSource and passes them to wt_factory.
20055           common/remote-database.h and common/serialise.h now need to
20056           #include stats.h unfortunately, because a forward declaration
20057           can't be used for Xapian::Weight::Internal (unless I'm missing
20058           something).
20060 Fri Nov 23 10:15:43 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20062         * common/stats.h,matcher/bm25weight.cc,matcher/localmatch.cc,
20063           matcher/tradweight.cc: Remove the Xapian::Weight::Internal
20064           get_total_* methods: instead, add a get_total_stats() method
20065           which returns a Stats object representing the whole collection.
20066           Add get_termfreq() and get_reltermfreq() convenience methods to
20067           Stats for looking up individual term's statistics.  Also, change
20068           protected members of Xapian::Weight::Internal to private members,
20069           since we're no longer subclassed.  Also, in tradweight.cc, avoid
20070           division by zero in the (rare) situation of the average length
20071           being zero; in the same way as this is handled by bm25weight.cc.
20073 Thu Nov 22 12:58:02 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20075         * common/stats.h,matcher/localmatch.cc,matcher/localmatch.h,
20076           matcher/stats.cc: Replay Xapian::Weight::Internal's
20077           perform_request() method with set_total_stats().  The replacement
20078           takes the stats as a parameter, rather than magically getting
20079           them from the gatherer.  The LocalSubMatch now needs to call the
20080           gatherer to get the stats, and then pass it to set_total_stats(),
20081           so needs to keep a reference to the gatherer.  However, we are
20082           now one step closer to decoupling the gatherer from the stats.
20084 Thu Nov 22 11:47:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20086         * common/stats.h,matcher/localmatch.cc: Remove automatic
20087           just-in-time calls to statssource.perform_request() - instead,
20088           make it public, and call it explicitly before the postlist tree
20089           is constructed.  Also, make Xapian::Weight::Internal's destructor
20090           non-virtual, since it's no longer subclassed anywhere.
20092 Thu Nov 22 11:02:39 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20094         * common/networkstats.h,matcher/stats.cc: Remove
20095           fetch_local_stats() method, and use of have_gathered flag for
20096           caching result of gathering the stats - instead, simply Assert
20097           that have_gathered is false before gathering; we currently only
20098           call get_local_stats() once for a given gatherer.
20100 Thu Nov 22 10:04:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20102         * common/rset.h: Change multiline "///" comments to use "/**",
20103           style.
20105 Thu Nov 22 09:27:42 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20107         * matcher/localmatch.cc,matcher/queryoptimiser.h: Update a couple
20108           of comments.
20110 Thu Nov 22 08:29:19 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20112         * common/networkstats.h,common/stats.h,matcher/: Remove the
20113           LocalStatsSource and NetworkStatsSource classes - just use the
20114           base class (Xapian::Weight::Internal) instead.  LocalStatsSource
20115           had no extra members whatsoever, whereas NetworkStatsSource had
20116           various members which weren't used, and a single method
20117           "take_remote_stats" which simply sets the statistics held - I've
20118           renamed this method "set_my_stats" and added it to the base
20119           class.
20121 Thu Nov 22 00:05:06 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20123         * common/networkstats.h,common/stats.h,matcher/stats.cc: Replace
20124           StatsGatherer::contrib_my_stats() and
20125           StatsSource::contrib_stats() methods; instead add a
20126           get_my_stats() method to StatsSource and simply call this.
20128 Wed Nov 21 16:37:10 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20130         * common/networkstats.h,common/remoteserver.h,matcher/stats.cc,
20131           net/remoteserver.cc: Rework NetworkStatsGatherer - it no longer
20132           needs to have the RemoteServer passed into it; instead, the
20133           RemoteServer calls NetworkStatsGatherer::set_global_stats() with
20134           the global statistics as soon as it gets them.  This new method
20135           replaces fetch_global_stats().  As a result, the RemoteServer no
20136           longer needs to remember the global_stats received from the
20137           network - it just passes them straight to the gatherer - so
20138           remove the global_stats and get_global_stats() methods from
20139           RemoteServer.
20141 Wed Nov 21 15:42:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20143         * common/rset.h,matcher/rset.cc: Document the member functions of
20144           RSetI, and remove the totally unused "get_reltermfreq()" member.
20145           Also remove an ancient, commented out, implementation of an
20146           "add_document()" member, and add copyright lines.
20148 Wed Nov 21 15:26:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20150         * common/rset.h,matcher/localmatch.cc,matcher/rset.cc: Make
20151           RSet::calculate_stats() private, and call it only from
20152           RSet::give_stats_to_statssource().  Was previously called
20153           directly from localmatch.cc, but this way it's clear that it's
20154           only called once.
20156 Wed Nov 21 14:30:17 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20158         * matcher/remotesubmatch.h: Move implementation of constructor into
20159           .cc file (accidentally missed this file from the last-but-one
20160           commit, which did the necessary changes to the .cc file).
20162 Wed Nov 21 14:28:48 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20164         * matcher/rset.cc: Improve debugging messages.
20166 Wed Nov 21 14:26:44 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20168         * matcher/remotesubmatch.cc: Add some debugging, and reorder the
20169           header includes.
20171 Wed Nov 21 13:21:35 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20173         * matcher/multimatch.cc: Add DEBUGCALL_STATIC macros to the new
20174           functions, and tidy some code in the constructor slightly.
20176 Wed Nov 21 10:00:48 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20178         * matcher/multimatch.cc: Split the loop which calls prepare_match()
20179           out of the constructor into a separate static function.
20181 Tue Nov 20 18:23:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20183         * matcher/multimatch.cc: Refactor code which splits the RSet into
20184           sub RSets (one for each sub database) into a separate function.
20185           No functional change.
20187 Tue Nov 20 17:56:47 GMT 2007  Olly Betts <olly@survex.com>
20189         * common/remoteserver.h: Remove unused '#include "omassert.h"'.
20191 Tue Nov 20 12:53:06 GMT 2007  Olly Betts <olly@survex.com>
20193         * AUTHORS: Thank Marcus Rueckert for GCC 4.3 fixes.
20195 Tue Nov 20 10:22:28 GMT 2007  Olly Betts <olly@survex.com>
20197         * bin/quartzcompact.cc: Recent GCC 4.3 snapshots thinks cf and tf
20198           might be used uninitialised.  They won't be, but we only need to
20199           initialise them once per run to silence the warning, so just do
20200           that.
20202 Tue Nov 20 10:20:13 GMT 2007  Olly Betts <olly@survex.com>
20204         * bin/quartzcompact.cc: Fix equality testing of C strings to use
20205           strcmp() rather than '=='.  In practice, using '==' often gives
20206           the desired effect due to pooling of constant strings, but this may
20207           have resulted in bugs on some platforms.
20209 Tue Nov 20 01:47:16 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20211         * tests/harness/backendmanager_remotetcp.cc: Add missing "#include
20212           <cstring>".
20214 Tue Nov 20 01:26:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20216         * tests/harness/unixcmds.cc: Add #include of cstring, to get
20217           strchr, needed for gcc 4.3 snapshot.
20219 Tue Nov 20 01:25:22 GMT 2007  Olly Betts <olly@survex.com>
20221         * api/maptermlist.h,api/termlist.cc,backends/alltermslist.cc,
20222           backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h,
20223           common/alltermslist.h,common/termlist.h,common/vectortermlist.h:
20224           Provide a default implementation of accumulate_stats() in the
20225           virtual base class TermIterator::Internal instead of repeating it
20226           in each subclass which doesn't get used for generating an ESet, and
20227           don't call abort() in the default implementation - an Assert(false)
20228           is sufficient, and more consistent with how we handle other similar
20229           cases.
20231 Tue Nov 20 01:24:17 GMT 2007  Olly Betts <olly@survex.com>
20233         * bin/xapian-progsrv.cc: Add missing '#include <cstdlib>'.
20235 Mon Nov 19 23:54:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20237         * backends/flint/flint_postlist.cc,backends/quartz/quartz_postlist.cc:
20238           Add NORETURN macro to report_read_error(); fixes warnings from
20239           GCC 4.3 about possibly uninitialised values.  Reorder header
20240           includes to follow proposed policy.
20241         * backends/flint/flint_postlist.h: Add include of omdebug.h which
20242           previously needed to be done before including this.  Tidy up
20243           order of includes.
20245 Mon Nov 12 14:06:38 GMT 2007  Olly Betts <olly@survex.com>
20247         * api/Makefile.mk,api/omenquire.cc,api/sorter.cc,common/multimatch.h,
20248           common/omenquireinternal.h,include/Makefile.mk,include/xapian.h,
20249           include/xapian/enquire.h,include/xapian/sorter.h,
20250           matcher/multimatch.cc,net/remoteserver.cc,tests/: Add new functor
20251           class to allow more sophisticated sorting options.
20253 Mon Nov 12 14:03:06 GMT 2007  Olly Betts <olly@survex.com>
20255         * HACKING: Improved wording.
20257 Sun Nov 11 07:51:57 GMT 2007  Olly Betts <olly@survex.com>
20259         * include/xapian/queryparser.h: Hide the v102 namespace from Doxygen
20260           as it isn't user visible.
20262 Sat Nov 10 21:53:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20264         * tests/Makefile.am: Remove .multi in clean-local rule; should fix
20265           distcheck.
20267 Sat Nov 10 15:34:25 GMT 2007  Olly Betts <olly@survex.com>
20269         * tests/harness/testutils.cc,tests/harness/testutils.h:
20270           mset_expect_order_begins() is never used, so remove it.
20271         * tests/harness/testutils.cc: Don't need <iostream>, only <fstream>.
20273 Sat Nov 10 11:09:22 GMT 2007  Olly Betts <olly@survex.com>
20275         * docs/index.html: Add a list of documents on particular features and
20276           include links to previously unlinked-to documents.  Weed down the
20277           top navigation bar which had grown to unwieldy length.
20279 Sat Nov 10 10:17:42 GMT 2007  Olly Betts <olly@survex.com>
20281         * PLATFORMS: Update for Debian buildds.
20283 Sat Nov 10 02:13:07 GMT 2007  Olly Betts <olly@survex.com>
20285         * matcher/multimatch.cc: If "first" is non-zero, then use nth_element
20286           with vector::reverse_iterator to partition items such that the
20287           unwanted ones are at the end not the start.  This means the call
20288           to vector::erase() no longer needs to copy all the wanted items.
20290 Fri Nov 09 19:01:38 GMT 2007  Olly Betts <olly@survex.com>
20292         * tests/api_db.cc: collapsekey3 is too strict - even if the value
20293           never occurs, lower_bound may drop as we may reject potential
20294           matches before applying the collapse test.
20296 Fri Nov 09 16:36:39 GMT 2007  Olly Betts <olly@survex.com>
20298         * include/xapian/termiterator.h: Clarify get_wdf() versus
20299           get_termfreq() in documentation comments.
20301 Fri Nov 09 00:07:02 GMT 2007  Olly Betts <olly@survex.com>
20303         * tests/api_db.cc: Fix comment typo.
20305 Fri Nov 09 00:04:45 GMT 2007  Olly Betts <olly@survex.com>
20307         * HACKING,Makefile.am,tests/Makefile.am: New make target
20308           'check-multi'.
20310 Thu Nov 08 23:54:47 GMT 2007  Olly Betts <olly@survex.com>
20312         * tests/api_anydb.cc: Re-enable test case allpostlist1 for multi
20313           since it works fine (presumably thanks to the multi_postlist.cc
20314           fix).
20316 Thu Nov 08 23:44:29 GMT 2007  Olly Betts <olly@survex.com>
20318         * tests/,tests/harness/: Add new "multi" test backend which indexes
20319           the specified text file(s) to two databases which will look just
20320           like the equivalent single database when searched together.  Since
20321           writing isn't supported, a number of tests which require this are
20322           disabled, as are any tests which explicitly use a multi-database
20323           since a multi-of-multis isn't equivalent to a multi of equivalent
20324           individual databases.  A handful of testcases are also currently
20325           disabled because they fail for reasons not yet fully explored.
20326           Existing tests run with the new backend provide regression tests
20327           for the two recent fixes.
20329 Thu Nov 08 23:42:33 GMT 2007  Olly Betts <olly@survex.com>
20331         * backends/multi/multi_postlist.cc: Fix PostingIterator::skip_to()
20332           when running over multiple databases.  Regression test to follow.
20334 Thu Nov 08 23:37:51 GMT 2007  Olly Betts <olly@survex.com>
20336         * docs/overview.html: Mention the "auto" backend.
20338 Thu Nov 08 23:28:30 GMT 2007  Olly Betts <olly@survex.com>
20340         * matcher/multimatch.cc: Fix bug in handling a pure boolen match over
20341           more than one database under set_docid_order(ASCENDING) - we can't
20342           shortcut in this case because MergePostList generally doesn't return
20343           docids in order.  Regression test to follow.
20345 Thu Nov 08 21:07:09 GMT 2007  Olly Betts <olly@survex.com>
20347         * matcher/queryoptimiser.cc: Fix comment typo.
20349 Thu Nov 08 07:40:48 GMT 2007  Olly Betts <olly@survex.com>
20351         * api/omdatabase.cc: Don't use MultiPostList when there's only one
20352           subdatabase.
20354 Thu Nov 08 05:40:17 GMT 2007  Olly Betts <olly@survex.com>
20356         * tests/api_db.cc: Run sortrel1 for inmemory too.
20358 Thu Nov 08 03:43:50 GMT 2007  Olly Betts <olly@survex.com>
20360         * tests/harness/backendmanager.cc,tests/harness/index_utils.cc,
20361           tests/harness/index_utils.h: New class FileIndexer which acts like
20362           an iterator returning a Xapian::Document object for each paragraph
20363           in some specified files.
20365 Wed Nov 07 16:30:49 GMT 2007  Olly Betts <olly@survex.com>
20367         * common/,docs/remote_protocol.html,matcher/,net/remoteserver.cc,
20368           net/serialise.cc: If we're doing a match with only one database
20369           which is remote then just return the unserialised MSet from the
20370           remote match.  This requires that we include
20371           internal->percent_factor in the MSet serialisation, which requires
20372           a minor remote protocol version bump.
20374 Wed Nov 07 09:47:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20376         * matcher/multimatch.cc: Fix logging build (a change to the logging
20377           code introduced in r9644 didn't compile)
20379 Tue Nov 06 17:10:51 GMT 2007  Olly Betts <olly@survex.com>
20381         * include/xapian/document.h: Better documentation comment for
20382           Document::termlist_count().
20384 Tue Nov 06 12:32:16 GMT 2007  Olly Betts <olly@survex.com>
20386         * Makefile.am,docs/Makefile.am,languages/Makefile.mk: No need to set
20387           SUFFIXES manually for suffixes used in implicit rules.
20389 Tue Nov 06 10:41:14 GMT 2007  Olly Betts <olly@survex.com>
20391         * matcher/multimatch.cc: If we're collapsing on a value, keep track of
20392           the number of empty collapse values seen, since that allows us to
20393           give a better lower bound on the number of matches.
20394         * tests/api_db.cc: This change breaks an (incorrect) assumption in
20395           collapsekey3, so change that test case to be a regression test for
20396           the improved estimate.  Add a new test as (the previously missing)
20397           collapsekey2, but disable it for now as we don't seem to have a
20398           suitable existing database.
20400 Tue Nov 06 07:58:34 GMT 2007  Olly Betts <olly@survex.com>
20402         * matcher/tradweight.cc: Make sure lenpart has been calculated in
20403           TradWeight::get_sumpart_needs_doclength() (this doesn't appear to
20404           actually be a problem in current use, but it might become an issue
20405           if the code which uses TradWeight changes.
20407 Tue Nov 06 07:49:18 GMT 2007  Olly Betts <olly@survex.com>
20409         * tests/api_anydb.cc: Add simple feature test for TradWeight being
20410           used to run a query.
20412 Tue Nov 06 07:26:28 GMT 2007  Olly Betts <olly@survex.com>
20414         * common/stats.h,matcher/bm25weight.cc,tests/api_anydb.cc: Fix bug in
20415           BM25Weight - in the case where k2 is non-zero, a non-initialised
20416           value influenced the weight calculations.  By default k2 is zero, so
20417           this bug probably won't affect most users.
20419 Tue Nov 06 07:22:27 GMT 2007  Olly Betts <olly@survex.com>
20421         * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
20422           net/remoteserver.cc: Modify MultiMatch::MultiMatch() to take a const
20423           pointer to Xapian::RSet rather than a const reference.  This makes
20424           the code simpler for the case where we don't have an RSet.
20426 Tue Nov 06 05:47:38 GMT 2007  Olly Betts <olly@survex.com>
20428         * api/omenquire.cc: Use ".empty()" not ".size() == 0".
20430 Mon Nov 05 21:05:45 GMT 2007  Olly Betts <olly@survex.com>
20432         * m4/xapian.m4: Hook LT_INIT as well as AC_PROG_LIBTOOL and
20433           AM_PROG_LIBTOOL.
20435 Mon Nov 05 11:17:23 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20437         * docs/termgenerator.rst: Change a couple of instances of "terms"
20438           to "words" for clarity; the item from the input text is a word,
20439           and the result of processing is a term.
20441 Mon Nov 05 09:46:53 GMT 2007  Olly Betts <olly@survex.com>
20443         * docs/admin_notes.rst: Note that this document is up-to-date for
20444           1.0.4.  Improve the formatting a bit and fix a the odd typo.
20446 Mon Nov 05 06:24:01 GMT 2007  Olly Betts <olly@survex.com>
20448         * tests/api_wrdb.cc: Fix MSVC warning.
20450 Mon Nov 05 06:21:09 GMT 2007  Olly Betts <olly@survex.com>
20452         * matcher/queryoptimiser.h: Forward declare PosFilter as "struct"
20453           rather than "class", since it's defined as "struct".
20455 Mon Nov 05 05:41:01 GMT 2007  Olly Betts <olly@survex.com>
20457         * api/sortable-serialise.cc: Suppress MSVC warning.
20459 Mon Nov 05 04:55:48 GMT 2007  Olly Betts <olly@survex.com>
20461         * docs/quickstart.html: Improved.
20463 Mon Nov 05 04:43:13 GMT 2007  Olly Betts <olly@survex.com>
20465         * docs/overview.html: More improvements from Jenny Black.
20467 Sun Nov 04 22:59:28 GMT 2007  Olly Betts <olly@survex.com>
20469         * docs/overview.html: Assorted improvements to the start of this
20470           document.
20472 Sun Nov 04 22:54:13 GMT 2007  Olly Betts <olly@survex.com>
20474         * api/omdocument.cc,tests/api_wrdb.cc: values_begin() didn't ensure
20475           that values had been read.  However, values_end() did (and so did
20476           values_count()) so this wasn't generally an issue, but it shouldn't
20477           happen anyway.
20478         * tests/api_wrdb.cc: Extend adddoc5 to include a regression test for
20479           this bug.
20481 Sun Nov 04 22:44:39 GMT 2007  Olly Betts <olly@survex.com>
20483         * tests/quartztest.cc: Remove 'FIXME' suggesting more value tests.
20484         * tests/api_nodb.cc: Add the suggested tests we don't already have.
20486 Sun Nov 04 19:23:52 GMT 2007  Olly Betts <olly@survex.com>
20488         * tests/api_posdb.cc,tests/api_wrdb.cc: Use get_writable_database()
20489           instead of get_writable_database("").
20490         * tests/api_wrdb.cc: Rework test_spell3 so it works under __WIN32__
20491           (bug#177).
20493 Sun Nov 04 07:31:04 GMT 2007  Olly Betts <olly@survex.com>
20495         * tests/harness/backendmanager.h: Make BackendManager dtor virtual as
20496           intended.
20498 Sun Nov 04 07:05:12 GMT 2007  Olly Betts <olly@survex.com>
20500         * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/,
20501           tests/quartztest.cc: Extend BackendManager to allow opening a
20502           WritableDatabase as a Database as well, and to allow reopening a
20503           closed WritableDatabase as a WritableDatabase.  With these new
20504           features, rework quartztest's adddoc2 and adddoc3 as apitest
20505           testcases adddoc5 and adddoc6.
20507 Sun Nov 04 06:08:42 GMT 2007  Olly Betts <olly@survex.com>
20509         * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/:
20510           Add BackendManager::get_writable_database_as_database() and use it
20511           instead of assuming what the WritableDatabase path will be.
20513 Sun Nov 04 05:31:30 GMT 2007  Olly Betts <olly@survex.com>
20515         * tests/,tests/harness/: Subclass BackendManager for each database
20516           backend supported, which should provide a better foundation on
20517           which we can rebuild to fix the nastier bits of the test harness.
20519 Fri Nov 02 17:39:58 GMT 2007  Olly Betts <olly@survex.com>
20521         * INSTALL: zlib 1.2.0 apparently fixes a memory leak in deflateInit2,
20522           which we use, so that's another reason to prefer 1.2.x.
20524 Fri Nov 02 06:34:36 GMT 2007  Olly Betts <olly@survex.com>
20526         * tests/harness/testsuite.cc: Fix extracting of valgrind error
20527           messages.
20529 Fri Nov 02 05:09:05 GMT 2007  Olly Betts <olly@survex.com>
20531         * docs/bm25.html,docs/scalability.html: Remove references to Muscat
20532           3.6.
20534 Thu Nov 01 18:51:20 GMT 2007  Olly Betts <olly@survex.com>
20536         * NEWS: Fix to talk about OP_VALUE_RANGE rather than
20537           ValueRangePostList since the later isn't user-visible.
20539 Thu Nov 01 18:16:20 GMT 2007  Olly Betts <olly@survex.com>
20541         * matcher/exactphrasepostlist.cc: Fix memory leak if second memory
20542           allocation fails.
20544 Thu Nov 01 17:54:09 GMT 2007  Olly Betts <olly@survex.com>
20546         * docs/intro_ir.html: Move the section on stemming to a better
20547           location.
20549 Thu Nov 01 17:37:40 GMT 2007  Jenny Black
20551         * docs/glossary.rst: Fix typo.
20553 Thu Nov 01 06:34:58 GMT 2007  Olly Betts <olly@survex.com>
20555         * matcher/multimatch.cc: Minor code simplification.
20557 Wed Oct 31 16:17:08 GMT 2007  Olly Betts <olly@survex.com>
20559         * bin/xapian-check.cc: Fix to handle the special case of a term which
20560           is 48 characters long.  Fix not to go into an infinite loop if
20561           certain checks fail.
20563 Wed Oct 31 15:56:45 GMT 2007  Olly Betts <olly@survex.com>
20565         * matcher/multiandpostlist.cc: If the subpostlists are ORs and pruning
20566           or operator decay happens within them, then get_termfreq_est() can
20567           change such that the first postlist returns a higher value than
20568           the second, so remove a bogus assertion which assumed this didn't
20569           happen (bug#209).
20571 Wed Oct 31 15:43:58 GMT 2007  Olly Betts <olly@survex.com>
20573         * backends/flint/flint_version.cc: I documented an increase in
20574           FLINT_VERSION but didn't increase it - luckily the previous version
20575           wasn't in a released version, so just adjust the comment to match
20576           what actually happened.
20578 Wed Oct 31 15:24:48 GMT 2007  Olly Betts <olly@survex.com>
20580         * net/remoteconnection.cc: Add '#include <safeunistd.h>' (bug#208).
20582 Wed Oct 31 15:01:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20584         * bin/xapian-check.cc: Update the checking of the termlist table to
20585           stop checking for the "has_termfreqs" flag, which is no longer
20586           stored in termlists.
20588 Wed Oct 31 14:31:38 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20590         * backends/quartz/quartz_positionlist.cc: Add missing #include,
20591           which is needed only when configured with --enable-log and with
20592           --disable-assertions.
20594 Tue Oct 30 04:52:53 GMT 2007  Olly Betts <olly@survex.com>
20596         * NEWS,configure.ac: Update for 1.0.4.
20598 Tue Oct 30 04:10:32 GMT 2007  Olly Betts <olly@survex.com>
20600         * queryparser/queryparser.lemony: Code tweak.
20602 Tue Oct 30 03:04:04 GMT 2007  Olly Betts <olly@survex.com>
20604         * tests/queryparsertest.cc: Add two more test cases to improve
20605           coverage.
20607 Tue Oct 30 00:13:42 GMT 2007  Olly Betts <olly@survex.com>
20609         * tests/harness/testsuite.cc: abi::__cxa_demangle() requires GCC 3.1
20610           it seems.
20612 Mon Oct 29 23:14:41 GMT 2007  Olly Betts <olly@survex.com>
20614         * docs/scalability.html: Update size of gmane.
20616 Mon Oct 29 23:13:00 GMT 2007  Olly Betts <olly@survex.com>
20618         * docs/quartzdesign.html: Note that Quartz is now deprecated.
20620 Mon Oct 29 21:09:12 GMT 2007  Olly Betts <olly@survex.com>
20622         * configure.ac,tests/harness/testsuite.cc: Demangle the name of
20623           the std::exception subclass for GCC, and handle compilation with
20624           -fno-rtti.
20626 Mon Oct 29 19:50:05 GMT 2007  Olly Betts <olly@survex.com>
20628         * tests/harness/testsuite.cc: Catch std::exception subclasses
20629           explicitly and report e.what() (which gives the method name which
20630           threw, at least under GCC).
20632 Mon Oct 29 18:46:57 GMT 2007  Olly Betts <olly@survex.com>
20634         * NEWS: Updated.
20636 Mon Oct 29 18:36:12 GMT 2007  Olly Betts <olly@survex.com>
20638         * matcher/multimatch.cc: Pull out old_item.wt into a variable.
20640 Mon Oct 29 18:24:46 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20642         * queryparser/queryparser.lemony: Fix problem with spelling
20643           correction of hyphenated terms (or other terms joined with phrase
20644           generators): the position of the start of the term wasn't being
20645           reset for the second term in the generated phrase, resulting in
20646           out of bounds errors when substituting the new value in the
20647           corrected query string.
20648         * tests/queryparsertest.cc: Test the fix.
20650 Mon Oct 29 17:34:17 GMT 2007  Olly Betts <olly@survex.com>
20652         * docs/deprecation.rst: Move "Stem::stem_word(word)" in the bindings
20653           to the right section (it was done in 1.0.0, as already indicated).
20654           Deprecate the non-pythonic iterators in favour of the pythonic ones.
20656 Mon Oct 29 02:54:09 GMT 2007  Olly Betts <olly@survex.com>
20658         * NEWS,api/Makefile.mk,docs/Makefile.am,include/Makefile.mk,
20659           include/xapian.h,tests/api_db.cc,tests/api_nodb.cc,
20660           tests/api_wrdb.cc: Back out match spy changes in preparation for
20661           creating a branch for them.
20663 Mon Oct 29 02:37:31 GMT 2007  Olly Betts <olly@survex.com>
20665         * matcher/valuerangepostlist.cc: Fix
20666           ValueRangeProcessor::get_termfreq_est() and get_termfreq_max() to
20667           work when at_end() when paranoid assertions are enabled.
20669 Mon Oct 29 01:51:07 GMT 2007  Olly Betts <olly@survex.com>
20671         * common/omenquireinternal.h: Add ESetItem::swap() and
20672           MSetItem::swap().
20674 Sun Oct 28 16:33:34 GMT 2007  Olly Betts <olly@survex.com>
20676         * PLATFORMS: Update from tinderbox and buildbot.
20678 Sun Oct 28 06:00:23 GMT 2007  Olly Betts <olly@survex.com>
20680         * matcher/queryoptimiser.cc: Remove unused variable.
20682 Sun Oct 28 05:46:28 GMT 2007  Olly Betts <olly@survex.com>
20684         * docs/remote.html: xapian-tcpsrv can handle concurrent read access
20685           so update the out-of-date information here.  Also, some new features
20686           aren't supported by the remote backend yet.
20688 Sun Oct 28 05:20:02 GMT 2007  Olly Betts <olly@survex.com>
20690         * include/xapian/queryparser.h: Update documentation comment for
20691           QueryParser::set_stemming_strategy().
20693 Sun Oct 28 05:03:03 GMT 2007  Olly Betts <olly@survex.com>
20695         * queryparser/queryparser.lemony: Fix handling of STEM_ALL.
20696         * tests/queryparsertest.cc: Update tests.  Move tables of queries to
20697           before the test functions which use them.
20699 Sat Oct 27 20:50:57 BST 2007  Olly Betts <olly@survex.com>
20701         * api/omqueryinternal.cc,include/xapian/query.h,
20702           matcher/queryoptimiser.cc: Eliminate Query::Internal::dbl_parameter
20703           to avoid any risk of ABI breakage.
20705 Sat Oct 27 17:08:46 BST 2007  Olly Betts <olly@survex.com>
20707         * include/xapian/query.h: Pull in <xapian/deprecated.h> explicitly.
20708           Add @deprecated note to Query::Query(Query::op, Query) explaining
20709           why it is deprecated.
20710         * include/xapian/queryparser.h: Wrap comment better.
20712 Sat Oct 27 05:37:33 BST 2007  Olly Betts <olly@survex.com>
20714         * NEWS: Merge two "testsuite" sections in draft 1.0.4 entry.
20716 Sat Oct 27 02:34:10 BST 2007  Olly Betts <olly@survex.com>
20718         * HACKING: Note specifically that std::list::size() is O(n) for GCC.
20719           Update the debian packaging checklist.
20721 Sat Oct 27 02:33:14 BST 2007  Olly Betts <olly@survex.com>
20723         * docs/intro_ir.html: Add link to the forthcoming book
20724           "Introduction to Information Retrieval", which can be read online.
20726 Sat Oct 27 02:22:36 BST 2007  Olly Betts <olly@survex.com>
20728         * docs/Makefile.am: We no longer build sourcedoc.pdf so remove it from
20729           MAINTAINERCLEANFILES.
20731 Sat Oct 27 02:20:31 BST 2007  Olly Betts <olly@survex.com>
20733         * NEWS: Mostly updated for 1.0.4.
20735 Fri Oct 26 04:57:31 BST 2007  Olly Betts <olly@survex.com>
20737         * api/omqueryinternal.cc: OP_SCALE_WEIGHT applied to MatchNothing is
20738           now handled by the Query ctor, so replace the code to handle
20739           OP_SCALE_WEIGHT in Query::Internal::simplify_matchnothing() by an
20740           assertion that the subquery isn't MatchNothing.
20742 Fri Oct 26 04:50:37 BST 2007  Olly Betts <olly@survex.com>
20744         * include/xapian/query.h: Deprecate the essentially useless
20745           constructor Query(Query::op, Query).
20746         * docs/deprecation.rst: Note this deprecation, and since the feature
20747           doesn't actually have a use, schedule it for 1.1.0.  Also schedule
20748           Enquire::register_match_decider() for 1.1.0 for the same reason.
20750 Fri Oct 26 01:00:08 BST 2007  Olly Betts <olly@survex.com>
20752         * api/omquery.cc,include/xapian/query.h: OP_SCALE_WEIGHT applied to
20753           OP_VALUE_RANGE can have no effect so ignore it.
20754         * tests/queryparsertest.cc: Update expected query descriptions.
20756 Fri Oct 26 00:23:55 BST 2007  Olly Betts <olly@survex.com>
20758         * matcher/multimatch.cc: When checkatleast is set, and we're sorting
20759           by relevance with forward ordering by docid, and the query is pure
20760           boolean, we were exiting before the checkatleast requirement was
20761           satisfied.  Then the adjustments made to the estimated and max
20762           statistics based on checkatleast meant we claimed there were
20763           exactly msize results.
20765 Thu Oct 25 00:34:14 BST 2007  Olly Betts <olly@survex.com>
20767         * matcher/localmatch.cc,matcher/multiandpostlist.cc,
20768           matcher/queryoptimiser.cc,queryparser/queryparser.cc: Fix build
20769           with --enable-assertions and --enable-log.
20771 Wed Oct 24 06:29:03 BST 2007  Olly Betts <olly@survex.com>
20773         * queryparser/queryparser.lemony: Drop out of IN_GROUP mode when we
20774           generate a BOOLEAN_FILTER token.
20775         * tests/queryparsertest.cc: Add regression test.
20777 Wed Oct 24 06:08:29 BST 2007  Olly Betts <olly@survex.com>
20779         * queryparser/queryparser.lemony: Drop special treatment for unmatched
20780           ')' at the start of the query, as it seems rather arbitrary and not
20781           particularly useful.  Reparsing seems a better approach here.
20782         * tests/queryparsertest.cc: Add regression test case for bug which
20783           dropping this special case fixes.
20785 Wed Oct 24 05:25:40 BST 2007  Olly Betts <olly@survex.com>
20787         * AUTHORS: Add Ron Kass for several bug reports.
20789 Wed Oct 24 05:13:01 BST 2007  Olly Betts <olly@survex.com>
20791         * queryparser/queryparser.lemony: Fix parsing of queries which consist
20792           only of boolean filter terms and HATE-d terms.
20793         * tests/queryparsertest.cc: Add regression tests, and a few more cases
20794           which passed before too.  Fix descriptions of queries which now give
20795           different (but equivalent) Xapian::Query object hierarchies.
20797 Wed Oct 24 04:51:56 BST 2007  Olly Betts <olly@survex.com>
20799         * queryparser/queryparser.lt: Fix warning in debug log build.
20801 Wed Oct 24 04:41:08 BST 2007  Olly Betts <olly@survex.com>
20803         * backends/flint/flint_table.cc,backends/flint/flint_table.h: Don't
20804           use class member function pointers to implement FlintTable::next()
20805           and FlintTable::prev() as we can just call the methods directly
20806           based on the sequential flag.  Profiling suggests this speeds up
20807           searches a little, the two pointers take up 16 bytes each (on
20808           x86_64) so it reduces the class size by up to 32 bytes, and the code
20809           is simpler because we no longer need to update prev_ptr and
20810           next_ptr.
20812 Wed Oct 24 00:16:06 BST 2007  Olly Betts <olly@survex.com>
20814         * api/omqueryinternal.cc: Tweak Query::get_description() to describe
20815           OP_SCALE_WEIGHT queries as '<factor> * <subquery>' rather than
20816           '<subquery> * <factor>' as the former results in more readable
20817           descriptions.
20818         * queryparser/queryparser.lemony: Use OP_SCALE_WEIGHT with factor 0.0
20819           for queries which should be purely boolean which resolves a FIXME
20820           comment in the code.
20821         * tests/queryparsertest.cc: Fix expected results for this change.
20823 Tue Oct 23 19:13:08 BST 2007  Olly Betts <olly@survex.com>
20825         * queryparser/queryparser.lemony: Some as_XXX() methods delete the
20826           object they are called on, while others don't, so rename the ones
20827           which don't to get_XXX() to make the code clearer, and make them
20828           all return Query rather than Query *.  Eliminate Term::as_query()
20829           completely - when we actually want a new object we can just call
20830           new in the caller.  op_window_query() now takes the difference
20831           between the number of terms and the total window size, and we now
20832           use a std::vector to store the generated Query objects rather than
20833           a std::list, since we know how many there will be and can reserve
20834           the required size in advance.
20836 Tue Oct 23 18:33:49 BST 2007  Olly Betts <olly@survex.com>
20838         * queryparser/queryparser.lemony: Improve comment.
20840 Mon Oct 22 21:00:05 BST 2007  Olly Betts <olly@survex.com>
20842         * queryparser/queryparser.lemony: Fix handling of LOVE and HATE
20843           following a quoted phrase.
20844         * tests/queryparsertest.cc: Add regression test.
20846 Mon Oct 22 05:23:23 BST 2007  Olly Betts <olly@survex.com>
20848         * queryparser/queryparser.lemony: Refactor so Term::as_query() calls
20849           Term::as_query_object() instead of vice versa, as this avoids
20850           calling 'new Query' quite a bit and makes a measurable difference
20851           to the speed of the QueryParser.  Fix a call to as_query() which
20852           can be as_query_object().
20854 Mon Oct 22 04:10:17 BST 2007  Olly Betts <olly@survex.com>
20856         * queryparser/queryparser.lemony: FLAG_PARTIAL with multi-prefixes
20857           would result in inflated wqf for the "normal" version of the term
20858           treated as partial.
20859         * tests/queryparsertest.cc: Add regression test.
20861 Mon Oct 22 02:34:58 BST 2007  Olly Betts <olly@survex.com>
20863         * queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
20864           Rename QueryParser::Internal::prefixes to prefixmap to avoid
20865           confusion with all the other variables which are now called
20866           "prefixes" in queryparser.lemony.  Eliminate have_prefix and
20867           instead just set prefixinfo to NULL by default.
20869 Sun Oct 21 23:56:57 BST 2007  Olly Betts <olly@survex.com>
20871         * common/omenquireinternal.h,include/xapian/enquire.h,
20872           include/xapian/query.h,matcher/: Implement a new QueryOptimiser
20873           class which can hoist the positional filters of OP_PHRASE and
20874           OP_NEAR higher up the tree and merge the "AND" inside them into
20875           any neighbouring OP_AND or OP_FILTER (bug#23).  This shaves 10% of
20876           the execution time of real world queries on real world data.  On
20877           particularly slow cases, the saving can be more dramatic - it
20878           saves 50% when tested on a log of slow cases.  OP_SCALE_WEIGHT
20879           scaling factors are now pushed down to the leaves and any leaf
20880           we a factor other than 0.0 (boolean) or 1.0 (unscaled) has
20881           its weights scaled using a ScaleWeight wrapper around the normal
20882           weighting object (bug#203).
20884 Sun Oct 21 23:46:11 BST 2007  Olly Betts <olly@survex.com>
20886         * include/xapian/query.h: Fix documentation of OP_SCALE_WEIGHT.
20887           Negative scaling factors aren't now clipped to 0, instead we
20888           throw Xapian::InvalidArgumentError.  Remove the explicit setting of
20889           OP_ELITE_SET to 10 which is no longer required.  Wrap a long comment
20890           line.
20892 Sun Oct 21 23:20:23 BST 2007  Olly Betts <olly@survex.com>
20894         * tests/api_anydb.cc: Tweak code and wrap comment.
20896 Sun Oct 21 04:53:40 BST 2007  Olly Betts <olly@survex.com>
20898         * matcher/extraweightpostlist.h: Add missing '#include "multimatch.h"'
20899           which is pulled in implicitly by some other header which always
20900           happens to be included before this one.
20902 Fri Oct 19 03:52:17 BST 2007  Olly Betts <olly@survex.com>
20904         * docs/deprecation.rst: Remove deprecation of
20905           QueryParser::add_prefix() and QueryParser::add_boolean_prefix().
20906           Reformat the tables to use the "simple table" style, and to all be
20907           126 columns wide, since that fits in a maximised terminal window
20908           without wrapping (at least on my machine!)
20910 Fri Oct 19 03:44:33 BST 2007  Olly Betts <olly@survex.com>
20912         * include/xapian/queryparser.h,queryparser/queryparser.cc,
20913           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
20914           tests/queryparsertest.cc: Since calling QueryParser::add_prefix()
20915           or QueryParser::add_boolean_prefix() a second time with the same
20916           field name was ignored before (rather than overriding as we had
20917           thought) it seems reasonable to change this behaviour.  This
20918           also avoids the need to deprecate these methods which will force all
20919           users to update their code.  Change the semantics of default_prefix
20920           - it's more useful if this overrides any default prefixes set with
20921           add_prefix(), since this allows the same QueryParser object to
20922           parse both a "general" search input which searches several fields
20923           and also a "title" search input.  Trying to set the same field
20924           as probabilistic and boolean now throws InvalidOperationError
20925           rather than UnimplementedError.
20927 Fri Oct 19 03:29:53 BST 2007  Olly Betts <olly@survex.com>
20929         * queryparser/queryparser.lt: Fix compilation.
20931 Fri Oct 19 03:28:37 BST 2007  Olly Betts <olly@survex.com>
20933         * docs/Makefile.am: We're still getting "info" messages in the
20934           generated HTML.  It seems to be impossible to get rst2html to
20935           report "info" messages to stdout without adding them to the
20936           generated document, so just drop "--verbose" to disable them
20937           completely.
20939 Thu Oct 18 18:27:28 BST 2007  Olly Betts <olly@survex.com>
20941         * queryparser/queryparser.lt: Use std::vector<> for the stack in the
20942           lemon-generated parser.  This means that the stack is no longer a
20943           fixed size, so we needn't worry about overflow, and that in typical
20944           use it'll actually use less memory (lemon defaults to a 100 entry
20945           stack).
20947 Thu Oct 18 17:23:45 BST 2007  Olly Betts <olly@survex.com>
20949         * languages/turkish.sbl: Minimise differences with Snowball SVN HEAD
20950           by stripping trailing whitespace.
20952 Mon Oct 15 15:39:26 BST 2007  Olly Betts <olly@survex.com>
20954         * backends/quartz/btree_util.h: Need "safeunistd.h" for close().
20955           Fixes build errors on mingw and with SGI's CC on IRIX.
20957 Mon Oct 15 05:30:23 BST 2007  Olly Betts <olly@survex.com>
20959         * matcher/localmatch.cc: Fix typo in comment.
20961 Mon Oct 15 05:26:35 BST 2007  Olly Betts <olly@survex.com>
20963         * common/omassert.h: Rewritten from scratch.  The new version only
20964           includes headers if assertions are enabled, which should help
20965           to speed up non-assertion builds by reducing unnecessary header
20966           inclusion.  Also, float.h and math.h are never now pulled in -
20967           instead we use the new within_DBL_EPSILON() function.  AssertNe()
20968           and AssertNeParanoid() are never actually used, so replace them with
20969           AssertRel() and AssertRelParanoid which allow the user to assert any
20970           binary relation, not just inequality.  Also, we now use rare() to
20971           give branch prediction hints for assertion tests (since the failure
20972           branch should never be taken).
20973         * common/omdebug.h,common/stringutils.h,tests/harness/testsuite.h:
20974           Replace several definitions of the STRINGIZE macro with a single
20975           version in common/stringutils.h.
20976         * backends/flint/,backends/inmemory/inmemory_database.cc,
20977           backends/multi/multi_postlist.cc,backends/quartz/,
20978           backends/remote/remote-database.cc,bin/quartzcheck.cc,
20979           bin/xapian-compact.cc,common/stringutils.h,expand/expandweight.cc,
20980           expand/ortermlist.cc,matcher/phrasepostlist.cc,
20981           matcher/scaleweightpostlist.cc,net/remoteconnection.cc,
20982           net/tcpserver.cc: Explicitly include headers which were previously
20983           being pulled in implicitly by omassert.h.
20984         * HACKING: Update the documentation for assertion calls, and document
20985           CompileTimeAssert() (which previously wasn't documented here).
20987 Mon Oct 15 05:09:15 BST 2007  Olly Betts <olly@survex.com>
20989         * common/utils.cc,common/utils.h: Add within_DBL_EPSILON() function
20990           which returns true if its two double arguments differ by less
20991           than DBL_EPSILON (currently not used anywhere).
20993 Mon Oct 15 05:03:50 BST 2007  Olly Betts <olly@survex.com>
20995         * matcher/multiandpostlist.cc: If check sets valid to true, we can't
20996           be at_end(), so check valid first as at_end() is a rare event.
20998 Mon Oct 15 05:00:18 BST 2007  Olly Betts <olly@survex.com>
21000         * matcher/: Remove code for FilterPostList, which has been unused for
21001           ages.
21003 Sun Oct 14 02:13:57 BST 2007  Olly Betts <olly@survex.com>
21005         * matcher/andpostlist.cc: AndPostList now ensures that its left is
21006           less frequent than its right (it can still be produced as an
21007           operator decay product, and sometimes left is more frequent when
21008           this happens).
21010 Sun Oct 14 00:58:20 BST 2007  Olly Betts <olly@survex.com>
21012         * matcher/multimatch.cc: Use rare() to mark rarely taken branches.
21014 Sun Oct 14 00:30:46 BST 2007  Olly Betts <olly@survex.com>
21016         * configure.ac: Add rare() and usual() macros to config.h which allow
21017           branch prediction hints to be given for compilers which support this
21018           (currently GCC and Intel C++).
21019         * HACKING: Document rare() and usual().
21021 Sat Oct 13 22:37:32 BST 2007  Olly Betts <olly@survex.com>
21023         * HACKING: Improve wording.
21025 Sat Oct 13 16:42:26 BST 2007  Olly Betts <olly@survex.com>
21027         * api/postlist.cc,common/postlist.h,matcher/: Implement a variant of
21028           PostList::skip_to() called PostList::check() which isn't required
21029           to leave the PostList on a particular docid.  This allows queries
21030           filtered by a ValueRangePostList to run around 3.5 times faster.
21031           Fixes buf#164, though there's probably scope for at least some
21032           further improvement.
21034 Sat Oct 13 16:08:07 BST 2007  Olly Betts <olly@survex.com>
21036         * matcher/multiandpostlist.cc: Fix typo bug (get_termfreq_min
21037           should be get_termfreq_max!)
21039 Sat Oct 13 15:53:52 BST 2007  Olly Betts <olly@survex.com>
21041         * matcher/multiandpostlist.cc: Fix assertion (should be <= not <).
21043 Fri Oct 12 01:20:05 BST 2007  Olly Betts <olly@survex.com>
21045         * HACKING: Note that rst2html may be installed as rst2html.py.
21047 Fri Oct 12 01:10:11 BST 2007  Olly Betts <olly@survex.com>
21049         * matcher/localmatch.cc: Tweak formatting.
21051 Thu Oct 11 22:58:36 BST 2007  Olly Betts <olly@survex.com>
21053         * tests/: svn:ignore: Add termgentest and termgentest.exe.
21055 Thu Oct 11 16:18:03 BST 2007  Olly Betts <olly@survex.com>
21057         * configure.ac: If rst2html isn't found, also look for rst2html.py,
21058           which archlinux reportedly installs it as.
21060 Thu Oct 11 16:09:20 BST 2007  Olly Betts <olly@survex.com>
21062         * matcher/: Round the result of all get_termfreq_est() calculations to
21063           the nearest integer instead of rounding down.
21065 Thu Oct 11 15:40:48 BST 2007  Olly Betts <olly@survex.com>
21067         * matcher/: Add new PostList subclass MultiAndPostList which handles
21068           a multi-way AND operation in a single class.  This allows us to
21069           optimise some cases of 3 or more way AND operations much better
21070           and gives a 16-17% performance improvement in tests using real-world
21071           query logs.
21072         * tests/api_anydb.cc: MultiAndPostList rounds get_termfreq_est()
21073           calculations to the nearest integer (rather than always rounding
21074           down) so adjust the expected answers in test_matches.
21076 Thu Oct 11 15:14:27 BST 2007  Olly Betts <olly@survex.com>
21078         * matcher/selectpostlist.cc: Explicitly qualify next() as
21079           SelectPostList::next().
21081 Thu Oct 11 13:04:40 BST 2007  Olly Betts <olly@survex.com>
21083         * README: Remove the ancient history lesson - this material is better
21084           left to the history page on the website.
21086 Thu Oct 11 00:33:34 BST 2007  Olly Betts <olly@survex.com>
21088         * matcher/branchpostlist.h: Fix comment typo.
21090 Thu Oct 11 00:28:29 BST 2007  Olly Betts <olly@survex.com>
21092         * api/postlist.cc,backends/flint/flint_alldocspostlist.cc,
21093           backends/flint/flint_alldocspostlist.h,common/postlist.h,matcher/:
21094           Eliminate several implementations of open_position_list and
21095           read_position_list in favour of default ones in the PostList base
21096           class which throw InvalidOperationError.  Change the default
21097           get_wdf implementation to also throw InvalidOperationError.
21099 Wed Oct 10 22:27:44 BST 2007  Olly Betts <olly@survex.com>
21101         * docs/install.html: Improve the remainder.  This documents now just
21102           gives a brief overview of building, suitable for most common cases,
21103           and defers to the INSTALL document in each tarball for more details.
21105 Wed Oct 10 21:51:39 BST 2007  Olly Betts <olly@survex.com>
21107         * common/leafpostlist.h: Rewrite header.
21108         * api/Makefile.mk,api/leafpostlist.cc: Add new source file for
21109           virtual, and non-trivial, non-virtual, methods of LeafPostList.
21110         * api/omdatabase.cc,backends/inmemory/inmemory_database.h,
21111           backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
21112           backends/remote/net_postlist.h,common/emptypostlist.h: Add missing
21113           '#include "omassert.h"' which was previously pulled in implicitly
21114           via '#include "leafpostlist.h"'.
21115         * backends/inmemory/inmemory_database.h: Remove unused '#include
21116           <stdlib.h>'.
21117         * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
21118           MultiPostList::set_termweight() is never used, so eliminate it.
21119         * backends/remote/net_postlist.cc: Rename parameter "weight" to
21120           "min_weight" to avoid clash with new member variable of
21121           LeafPostList.
21122         * matcher/emptysubmatch.cc,matcher/localmatch.cc: Don't call
21123           LeafPostList::set_termweight() with a BoolWeight object - the
21124           default behaviour is now equivalent.
21126 Wed Oct 10 18:18:09 BST 2007  Olly Betts <olly@survex.com>
21128         * docs/install.html: Improve the first half.
21130 Wed Oct 10 16:32:57 BST 2007  Olly Betts <olly@survex.com>
21132         * common/postlist.h: Rewrite header.
21133         * api/Makefile.mk,api/postlist.cc: Add new source file for virtual
21134           methods of Xapian::PostingIterator::Internal.
21135         * api/omdatabase.cc,backends/flint/flint_postlist.h,
21136           backends/quartz/quartz_alldocspostlist.cc,
21137           backends/quartz/quartz_postlist.h,matcher/valuerangepostlist.cc:
21138           Add missing '#include "autoptr.h"' which was previously pulled in
21139           implicitly via '#include "postlist.h"'.
21141 Wed Oct 10 16:25:08 BST 2007  Olly Betts <olly@survex.com>
21143         * tests/quartztest.cc: Remove quartztest's test_postlist1 and
21144           test_postlist2.
21145         * tests/api_db.cc: Enhance test_termstats to cover part of the removed
21146           tests.  Enhance test_postlist1 to check more long terms.  Eliminate
21147           the helper function from test_postlist3.
21148         * tests/api_wrdb.cc: Add test_postlist7 to cover the rest of what the
21149           removed tests checked which isn't already checked elsewhere.
21151 Wed Oct 10 02:29:44 BST 2007  Olly Betts <olly@survex.com>
21153         * HACKING: Update the release checklist.
21155 Wed Oct 10 02:01:03 BST 2007  Olly Betts <olly@survex.com>
21157         * matcher/scaleweightpostlist.cc,matcher/scaleweightpostlist.h: Move
21158           virtual dtor definition out of header.
21160 Wed Oct 10 01:41:05 BST 2007  Olly Betts <olly@survex.com>
21162         * matcher/msetpostlist.cc: Avoid virtual method overhead in
21163           MSetPostList::recalc_maxweight().
21165 Wed Oct 10 00:16:00 BST 2007  Olly Betts <olly@survex.com>
21167         * common/expandweight.h,expand/expand.cc,expand/expandweight.cc: We
21168           never actually use ExpandWeight::get_maxweight(), so remove it.
21170 Tue Oct 09 16:27:54 BST 2007  Olly Betts <olly@survex.com>
21172         * backends/flint/flint_database.cc,backends/flint/flint_version.cc,
21173           backends/flint/flint_version.h: Don't try to upgrade a flint
21174           database if we're only reading it, or it's already the latest
21175           version.
21177 Mon Oct 08 10:14:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21179         * tests/api_nodb.cc: Rename test_scaleweightmatchnothing1 to
21180           test_scaleweight3 so all the scaleweight tests can be run
21181           together more easily.  Add test_scaleweight4 to test that scaling
21182           by a weight close to 1 is optimised away.
21184 Sun Oct 07 12:20:14 BST 2007  Olly Betts <olly@survex.com>
21186         * include/xapian/database.h: Add explicit note that
21187           Database::get_metadata() returns an empty string when the backend
21188           doesn't support user-specified metadata, and that
21189           WritableDatabase::set_metadata() throws UnimplementedError in this
21190           case.  Add note about current behaviour with multidatabases.
21192 Sun Oct 07 10:58:24 BST 2007  Olly Betts <olly@survex.com>
21194         * api/omqueryinternal.cc: No need to use AutoPtr<> here now.
21196 Sun Oct 07 10:54:05 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21198         * common/remoteprotocol.h: Bump the network protocol minor
21199           revision, since we've added a query operator (OP_SCALE_WEIGHT)
21200           and the server will need to be updated to understand serialised
21201           queries containing it.
21203 Sun Oct 07 01:54:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21205         * api/omqueryinternal.cc,include/xapian/query.h,matcher/,
21206           tests/api_anydb.cc,tests/api_nodb.cc,tests/internaltest.cc:
21207           Rename OP_MULT_WEIGHT to OP_SCALE_WEIGHT and MultWeight to
21208           ScaleWeight, and move it to before OP_MULT_WEIGHT (to remove the
21209           gap in the enum).
21210           Don't do an epsilon test to compare the weight to zero (when
21211           checking if it's effectively a boolean query) - do an exact
21212           comparison instead.  Raise an exception if the parameter for
21213           OP_SCALE_WEIGHT is < 0 (instead of clipping it to 0).  Adjust
21214           weights accordingly.
21215           Add test_scaleweight2() to test a query with some weights
21216           multiplied by 0, and some by a different factor.
21218 Wed Oct 03 17:23:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21220         * api/omqueryinternal.cc,tests/api_nodb.cc: Fix (and test) for a
21221           double delete if OP_MULT_WEIGHT was applied to an empty query.
21223 Mon Oct 01 13:20:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21225         * NEWS: Update
21226         * net/remoteconnection.cc: Back out previous change - I was
21227           confused, the code was previously fine, and the change broke it.
21229 Mon Oct 01 13:13:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21231         * api/omqueryinternal.cc: Fix access of uninitialised member when
21232           unserialising a mult-weight query.
21233         * tests/internaltest.cc: Add a regression test for unserialisationg
21234           of mult-weight queries.
21236 Mon Oct 01 13:11:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21238         * net/remoteconnection.cc: After calling read(), check for received
21239           == 0 after checking for errors, so that if an EINTR occurs in
21240           read, we don't report EOF instead of retrying.
21242 Sun Sep 30 23:20:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21244         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h: Add
21245           OP_MULT_WEIGHT operator, and a new Query constructor which takes
21246           a single subquery and a "double" parameter - currently only
21247           useful for OP_MULT_WEIGHT.  Add dbl_parameter to Query::Internal,
21248           to hold this parameter.  Add serialisation of OP_MULT_WEIGHT
21249           using "." to represent the operator.  Drop OP_MULT_WEIGHT
21250           operators which have a parameter of 1 (or very close) when
21251           simplifying, since these have no effect.
21252         * matcher/multweightpostlist.cc,matcher/multweightpostlist.h: New
21253           files, implementing a postlist which multiplies the weights from
21254           its single sub-postlist by a parameter.
21255         * matcher/Makefile.mk: Add new files.
21256         * matcher/localmatch.cc: Add support for the OP_MULT_WEIGHT query
21257           operator, which produces a MultWeightPostList if the associated
21258           parameter is greater than DBL_EPSILON, and produces a boolean query
21259           otherwise.
21260         * tests/api_anydb.cc: Add tests for OP_MULT_WEIGHT operator with
21261           various queries, and various multipliers.
21262         * NEWS: Update
21264 Sun Sep 30 23:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21266         * tests/harness/testsuite.h: Add TEST_NOT_EQUAL_DOUBLE() macro.
21267         * tests/harness/testsuite.cc: Add special
21268           case to TEST_EQUAL_DOUBLE_() for exact equality of the supplied
21269           arguments.  This is tidier in general, because it avoids "inf"
21270           being produces by the calculation, but is only actually necessary
21271           in the case where the arguments are both exactly 0; it all works
21272           out nicely for other values of the arguments.
21274 Sun Sep 30 21:12:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21276         * tests/queryparsertest.cc: #define XAPIAN_DEPRECATED to disable
21277           compiler warnings about the deprecated forms of add_prefix() and
21278           add_boolean_prefix().
21280 Sun Sep 30 21:07:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21282         * api/Makefile.mk,docs/Makefile.am,docs/deprecation.rst,
21283           include/Makefile.mk,include/xapian.h,include/xapian/queryparser.h,
21284           queryparser/queryparser.cc,queryparser/queryparser.lemony,
21285           queryparser/queryparser_internal.h,tests/: Re-apply changes which
21286           needed more thought or more work before being included in a
21287           release.
21288         * NEWS: Update with current descriptions of these changes.
21290 Sun Sep 30 20:22:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21292         * tests/valgrind.supp: Add further suppressions needed for the
21293           version of zlib on ubuntu gutsy.
21295 Fri Sep 28 15:38:18 BST 2007  Olly Betts <olly@survex.com>
21297         * NEWS: Final (?) update for 1.0.3.
21299 Fri Sep 28 15:37:22 BST 2007  Olly Betts <olly@survex.com>
21301         * PLATFORMS: Another small update.
21303 Fri Sep 28 15:30:17 BST 2007  Olly Betts <olly@survex.com>
21305         * HACKING: Add link to the 1.0.N tracker bug.
21307 Fri Sep 28 14:04:06 BST 2007  Olly Betts <olly@survex.com>
21309         * PLATFORMS: More updates.
21311 Fri Sep 28 13:45:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21313         * include/xapian/database.h: Document that empty metadata keys will
21314           cause an exception from get_metadata() and set_metadata().
21315         * api/omdatabase.cc: Cause empty metadata keys to raise an
21316           InvalidArgumentError if they're passed to set_metadata() or
21317           get_metadata().
21318         * tests/api_wrdb.cc: Add test_metadata3, to check behaviour with an
21319           empty metadata key.
21321 Fri Sep 28 13:30:49 BST 2007  Olly Betts <olly@survex.com>
21323         * PLATFORMS: Updates from tinderbox.
21325 Fri Sep 28 13:22:16 BST 2007  Olly Betts <olly@survex.com>
21327         * include/xapian/database.h: Clarify support for empty metadata keys.
21329 Fri Sep 28 11:00:08 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21331         * tests/valgrind.supp: Add second version of the zlib end condition
21332           check which works for the version of zlib in Ubuntu gutsy; ie,
21333           version 1.2.3.3, where the error occurs in the function called
21334           directly by deflate, rather than two levels below it.
21336 Fri Sep 28 03:11:11 BST 2007  Olly Betts <olly@survex.com>
21338         * configure.ac: Update for 1.0.3.
21340 Fri Sep 28 03:05:10 BST 2007  Olly Betts <olly@survex.com>
21342         * api/Makefile.mk,docs/Makefile.am,docs/deprecation.rst,
21343           include/Makefile.mk,include/xapian.h,include/xapian/queryparser.h,
21344           queryparser/queryparser.cc,queryparser/queryparser.lemony,
21345           queryparser/queryparser_internal.h,tests/: Back out changes which
21346           need more thought or more work in the interests of getting 1.0.3
21347           out this month.
21349 Fri Sep 28 03:04:19 BST 2007  Olly Betts <olly@survex.com>
21351         * NEWS: Update with recent changes.
21353 Fri Sep 28 01:55:42 BST 2007  Olly Betts <olly@survex.com>
21355         * docs/deprecation.rst: Revert to the previous deprecation policy.
21357 Fri Sep 28 01:20:34 BST 2007  Olly Betts <olly@survex.com>
21359         * include/xapian/enquire.h: Rephrase since "should be in the MSet"
21360           might be misunderstood.
21362 Fri Sep 28 01:12:47 BST 2007  Olly Betts <olly@survex.com>
21364         * AUTHORS,docs/Makefile.am,docs/glossary.rst,docs/index.html: Add
21365           glossary put together by Jenny Black, also incorporating entries
21366           from Deron Meranda's glossary on the wiki.
21368 Thu Sep 27 23:06:30 BST 2007  Olly Betts <olly@survex.com>
21370         * docs/stemming.html: Reorder the initial paragraphs so we actually
21371           answer the question "What is a stemming algorithm?" up front.
21373 Thu Sep 27 22:15:36 BST 2007  Olly Betts <olly@survex.com>
21375         * matcher/valuerangepostlist.cc: Call ValueRangePostList::next()
21376           explicitly to avoid the overhead of virtual method dispatch.
21378 Thu Sep 27 14:43:25 BST 2007  Olly Betts <olly@survex.com>
21380         * common/termlist.h: Don't need to forward declare
21381           Xapian::Internal::ExpandWeight here.
21383 Thu Sep 27 14:36:00 BST 2007  Olly Betts <olly@survex.com>
21385         * common/termlist.h: Add missing (but indirectly included) '#include
21386           <xapian/base.h>'.
21388 Fri Sep 21 18:00:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21390         * docs/deprecation.rst: Add deprecation for
21391           Database::positionlist_begin() throwing DocNotFoundError , for
21392           same reason as deprecating it throwing RangeError.  Also, add
21393           deprecation for QueryParser::add_prefix(f, p) and
21394           add_boolean_prefix() - replaced by three argument form of
21395           add_prefix.  Also, add a policy that we don't add
21396           XAPIAN_DEPRECATED when there's no replacement for the deprecated
21397           feature in the last x.x.0 release.
21398         * include/xapian/queryparser.h: Add @deprecated to documentation
21399           comments for add_prefix(f, p) and add_boolean_prefix() (but don't
21400           add XAPIAN_DEPRECATED() macro for now).
21402 Fri Sep 21 16:13:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21404         * include/xapian/queryparser.h: Fix copy and paste errors in
21405           documentation comment, and hopefully clarify it somewhat.
21407 Fri Sep 21 15:50:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21409         * tests/queryparsertest.cc: Initialise the default prefix from
21410           prefixes.find(""), allowing multiple default prefixes to be set
21411           by calling add_prefix() with an empty field name.
21412         * queryparser/queryparser.lemony: Several more tests; mainly for
21413           the new default_prefix functionality, but also a bit more
21414           coverage for multiple prefixes in general.
21416 Fri Sep 21 15:04:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21418         * include/xapian/queryparser.h,queryparser/queryparser.cc: API
21419           addition: Revert previous change to behaviour of
21420           QueryParser::add_prefix and QueryParser::add_boolean_prefix
21421           methods, to avoid API change within a release series.  Add new
21422           QueryParser::add_prefix() form which takes three parameters; the
21423           third parameter is a value from a new "prefix_type" enum.
21424         * queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
21425           Internal changes to allow multiple filters to be set for a single
21426           field:
21427            - Remove the PrefixInfoList object again - instead add a list of
21428              prefixes to PrefixInfo.  We only aim to support one type of
21429              prefix for a given field, so the extra flexibility given by
21430              PrefixInfoList is a districation.
21431            - Change filter_group_id to be based on a list of prefixes,
21432              instead of a single prefix.
21433            - Change Term objects to store a list of prefixes instead of a
21434              single prefix.  make_term() now takes a prefix argument and
21435              makes a single term.  Term::as_... methods iterate through the
21436              prefix list and OR together the resulting terms.
21437            - Change TermList object to store a list of Terms instead of
21438              Queries, and also to keep track of whether the prefix lists
21439              for those Terms are all the same.  When they are the same,
21440              generate separate phrases for each prefix, and OR them
21441              togeher, instead of generating phrases of "OR" groups of
21442              terms.  Remove the unused "TermList::add_term()" method.
21443         * tests/queryparsertest.cc: Add simple tests of repeated inline
21444           fields, phrases with multiple prefixed fields, tests of backwards
21445           compatible behaviour of add_prefix(field, prefix), and
21446           add_boolean_prefix(), and of the new add_prefix() form with
21447           incompatible types.
21449 Thu Sep 20 02:13:36 BST 2007  Olly Betts <olly@survex.com>
21451         * NEWS: Update with changes since 1.0.2.
21453 Wed Sep 19 20:00:43 BST 2007  Olly Betts <olly@survex.com>
21455         * backends/flint/flint_table.cc: Fix "Key_" in exception message to
21456           say "Key" (the result of overzealous search-and-replace).
21458 Wed Sep 19 17:08:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21460         * include/xapian/queryparser.h,queryparser/queryparser.cc,
21461           queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
21462           Handle repeated calls to QueryParser::add_boolean_prefix() with
21463           the same field - this will generate multiple terms for each
21464           occurrence of the field in the query.  Involves reorganising the
21465           internal representation of prefixes, to hold a list of PrefixInfo
21466           objects for each field, instead of a single object.  This also
21467           paves the way towards handling for multiple calls to
21468           QueryParser:add_prefix() with the same field, and allowing
21469           add_{boolean_}prefix() with an empty field to set the default
21470           prefix handling, but the behaviour of this are currently
21471           unchanged.  Technically, this could be considered an API change,
21472           but the previous behaviour (of using only the most recent value
21473           set by add_boolean_prefix) was unintentional and undocumented,
21474           and seems unlikely to have been deliberately used.
21475         * tests/queryparsertest.cc: Add a very simple test for repeated
21476           boolean_prefix fields; several more are needed.  Also, a
21477           commented out test of repeated non-boolean prefix fields.
21479 Tue Sep 18 23:28:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21481         * queryparser/queryparser.lemony: Remove unused variable
21482           "term_group".
21484 Tue Sep 18 16:56:37 BST 2007  Olly Betts <olly@survex.com>
21486         * api/matchspy.cc,include/xapian/matchspy.h: Use a set rather than a
21487           map to store the "multivalues" flags.
21489 Mon Sep 17 14:10:47 BST 2007  Olly Betts <olly@survex.com>
21491         * include/xapian/matchspy.h: Fix documentation comment typo.
21493 Sun Sep 16 04:13:20 BST 2007  Olly Betts <olly@survex.com>
21495         * net/remoteconnection.cc: Fix compiler warning in mingw build.
21497 Sun Sep 16 02:59:54 BST 2007  Olly Betts <olly@survex.com>
21499         * backends/flint/flint_database.cc,tests/api_wrdb.cc: Check length of
21500           new terms is at most 245 bytes for flint in add_document() and
21501           replace_document() so that the API user gets an error there rather
21502           than when flush() is called (explicitly or implicitly).  Fixes
21503           bug#44.
21505 Sat Sep 15 20:11:36 BST 2007  Olly Betts <olly@survex.com>
21507         * backends/flint/flint_version.cc: Add missing include of
21508           msvc_posix_wrapper.h.
21510 Sat Sep 15 17:58:35 BST 2007  Olly Betts <olly@survex.com>
21512         * api/omdatabase.cc,backends/database.cc,
21513           backends/flint/flint_database.cc,backends/flint/flint_database.h,
21514           backends/flint/flint_version.cc,
21515           backends/inmemory/inmemory_database.cc,
21516           backends/inmemory/inmemory_database.h,common/database.h,
21517           include/xapian/database.h,tests/api_wrdb.cc: Add support for user
21518           specified metadata (bug#143).
21520 Sat Sep 15 02:26:40 BST 2007  Olly Betts <olly@survex.com>
21522         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h:
21523           Implement FlintCursor::find_entry_ge() a little more efficiently
21524           (we could do better still by modifying FlintTable too).
21526 Sat Sep 15 00:56:54 BST 2007  Olly Betts <olly@survex.com>
21528         * backends/flint/flint_cursor.cc: If we found the exact key, just copy
21529           it to current_key.
21531 Fri Sep 14 21:52:45 BST 2007  Olly Betts <olly@survex.com>
21533         * backends/flint/: Overhaul FlintAllDocsPostList.
21535 Fri Sep 14 19:20:56 BST 2007  Olly Betts <olly@survex.com>
21537         * backends/flint/flint_alltermslist.cc: Rework
21538           FlintAllTermsList::skip_to() to use FlintCursor::find_entry_ge().
21540 Fri Sep 14 17:45:06 BST 2007  Olly Betts <olly@survex.com>
21542         * backends/flint/flint_cursor.h: Improve documentation comment.
21544 Fri Sep 14 17:28:17 BST 2007  Olly Betts <olly@survex.com>
21546         * backends/flint/flint_spellingwordslist.cc,
21547           backends/flint/flint_synonym.cc: Use FlintCursor::find_entry_ge().
21548         * backends/flint/flint_synonym.h: Use FlintCursor::find_entry_lt().
21549         * backends/flint/flint_alltermslist.h: Use FlintCursor::find_entry_lt()
21550           and skip any keys before "\x00\xff" to allow for extra metadata
21551           keys.
21553 Fri Sep 14 15:26:04 BST 2007  Olly Betts <olly@survex.com>
21555         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: The
21556           reason why a deleted key is still visible to the cursor is that it
21557           is running over the previous revision of the tree.  So we don't
21558           need to call find_entry() at all - we can just call next().  Also
21559           extend FlintCursor::del() to return whether the cursor is positioned
21560           (like FlintCursor::next() does).
21561         * backends/flint/flint_postlist.cc: Use the return value of
21562           FlintCursor::del().
21564 Fri Sep 14 15:10:39 BST 2007  Olly Betts <olly@survex.com>
21566         * tests/Makefile.am: Reorder the testdata/flint-x.y.z files
21567           consistently.
21569 Fri Sep 14 12:48:04 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21571         * configure.ac: Add "tar-ustar" option to AM_INIT_AUTOMAKE.  This
21572           is needed to avoid a failure of make dist due to filepaths of
21573           more than 99 characters (in the generated documentation: the
21574           relevant filepaths are for the NumberValueRangeProcessor class,
21575           and extend to 103 characters).  Automake documentation implies
21576           that tar-v7 is the default format, which doesn't support
21577           filepaths longer than 99 characters portably; ustar allows 256
21578           characters.  The automake documentation says that the ustar
21579           format "is believed to be old enough to be portable"; if we come
21580           across problems due to the format change we could consider
21581           renaming files to reduce the filepath length.
21582         * tests/Makefile.am: Remove
21583           testdata/flint-1.0.2/{value,position}.{baseA,DB} from
21584           distribution, since they don't actually exist.  Fixes make dist.
21586 Fri Sep 14 10:45:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21588         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: Add
21589           FlintCursor::find_entry_gt(), and use it instead of
21590           flint_entry_ge() in FlintCuror::del().  This fixes failure of
21591           deldoc4 test.  I'm not sure why find_entry() can return true
21592           immediately after the key it's searching for was deleted with
21593           B->del(), though: that merits further investigation.
21595 Fri Sep 14 04:57:14 BST 2007  Olly Betts <olly@survex.com>
21597         * bin/xapian-inspect.cc: Avoid comparing char with 0 - on platforms
21598           where char is unsigned by default this can give a compiler warning.
21600 Fri Sep 14 03:40:18 BST 2007  Olly Betts <olly@survex.com>
21602         * bin/xapian-compact.cc: Removed unused variable.
21604 Fri Sep 14 01:56:36 BST 2007  Olly Betts <olly@survex.com>
21606         * backends/flint/flint_alltermslist.cc: Fix comment typo.
21608 Fri Sep 14 01:51:52 BST 2007  Olly Betts <olly@survex.com>
21610         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: Add
21611           FlintCursor::find_entry_lt() and FlintCursor::find_entry_ge()
21612           which we can implement more efficiently (in the future) than
21613           user code calling FlintCursor::find_entry() and then having to
21614           adjust the cursor position in some cases.
21616 Thu Sep 13 14:52:34 BST 2007  Olly Betts <olly@survex.com>
21618         * backends/flint/flint_alltermslist.cc: FlintCursor::after_end() is
21619           never true after FlintCursor::find_entry() so remove check for this
21620           case!
21622 Thu Sep 13 03:11:19 BST 2007  Olly Betts <olly@survex.com>
21624         * backends/flint/flint_alltermslist.h,backends/flint/flint_database.cc,
21625           backends/flint/flint_database.h: Don't pass FlintPostListTable
21626           pointer to FlintAllTermsList - it can find this via the database
21627           if we make it FlintDatabase instead of Database::Internal.
21629 Thu Sep 13 02:07:19 BST 2007  Olly Betts <olly@survex.com>
21631         * backends/flint/: Read/write the metainfo key from FlintDatabase to
21632           avoid having to pass a huge long list of values across once we start
21633           to store more statistics.
21635 Thu Sep 13 02:03:46 BST 2007  Olly Betts <olly@survex.com>
21637         * backends/database.cc,common/database.h: Move definitions of virtual
21638           methods out of the header file.
21640 Thu Sep 13 01:33:49 BST 2007  Olly Betts <olly@survex.com>
21642         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
21643           Store the total_length and lastdocid values in FlintDatabase object.
21645 Wed Sep 12 20:27:49 BST 2007  Olly Betts <olly@survex.com>
21647         * matcher/multimatch.cc: Eliminate a block which used to scope some
21648           variables which have now moved.  Unify debug output from different
21649           cases after the match.  Remove half-finished comment which doesn't
21650           seem to be trying to say anything useful.
21652 Wed Sep 12 20:20:18 BST 2007  Olly Betts <olly@survex.com>
21654         * tests/api_anydb.cc: In checkatleast2, the total number of matching
21655           documents in the database is 5, so use TEST_EQUAL instead of
21656           TEST_GREATER_OR_EQUAL to compare get_matches_lower_bound() with 5.
21658 Wed Sep 12 17:55:00 BST 2007  Olly Betts <olly@survex.com>
21660         * backends/flint/flint_database.h: Fix some comment typos and
21661           outdated information.  Remove some superfluous uses of "virtual".
21663 Wed Sep 12 17:15:58 BST 2007  Olly Betts <olly@survex.com>
21665         * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
21666           Failing to create a flint or quartz database because we couldn't
21667           create the directory for it now throws DatabaseCreateError not
21668           DatabaseOpeningError.
21669         * tests/api_db.cc: Update test cases.
21671 Wed Sep 12 15:40:16 BST 2007  Olly Betts <olly@survex.com>
21673         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
21674           If we reach the flush threshold during a transaction, flush the
21675           postlist changes, but don't actually commit them.
21677 Wed Sep 12 14:12:52 BST 2007  Olly Betts <olly@survex.com>
21679         * common/msvc_posix_wrapper.cc,common/msvc_posix_wrapper.h: Add
21680           msvc_posix_rename() which can rename a file on top of another file.
21681         * common/stringutils.h: Add common_prefix_length() function.
21682         * backends/flint/: Clean up FlintWritableDatabase - it now just
21683           inherits from FlintDatabase which allows several virtual methods
21684           which just forwarded to FlintDatabase to be dropped.  Also, we
21685           now no longer need to pass FlintTable objects to other classes
21686           - they can just find the tables they want via the database pointer.
21687           The never-used "store_termfreqs" flag has been dropped from the
21688           termlist table entries - existing 1.0.x flint databases will be
21689           automatically upgraded to the new version.  Opening a database
21690           now calls stat() less, so should be slightly more efficient.
21691           And TermIterator::positionlist_count() now works for the flint
21692           backend.
21693         * tests/Makefile.am,tests/api_db.cc,tests/testdata/flint-1.0.2/: New
21694           test flintbackwardcompat2 which tests that we can open a flint
21695           database from 1.0.2.
21696         * tests/api_wrdb.cc: New test adddoc4 which checks that termlists
21697           handle an initial term of any valid length correctly.
21698         * tests/testdata/flint-1.0.1/postlist.DB: Mark as a binary file in
21699           SVN.
21701 Tue Sep 11 23:02:56 BST 2007  Olly Betts <olly@survex.com>
21703         * backends/inmemory/inmemory_database.cc,
21704           backends/inmemory/inmemory_database.h: Implement
21705           TermIterator::positionlist_count() for the inmemory backend.
21706         * tests/api_posdb.cc: Add feature test for
21707           TermIterator::positionlist_count() (which currently skips for all
21708           backends except inmemory).
21710 Tue Sep 11 03:43:30 BST 2007  Olly Betts <olly@survex.com>
21712         * backends/flint/flint_database.cc: Make sure flush_threshold gets
21713           initialised.
21714         * backends/flint/flint_database.h: Change type of flush_threshold from
21715           `size_t' to `Xapian::doccount' for consistency with the type of
21716           changes_made.
21718 Tue Sep 11 03:19:37 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21720         * backends/flint/flint_database.cc,backends/flint/flint_database.h:
21721           Change flush_threshold from static to non-static, and set it for
21722           each FlintWritableDatabase based on the value of the
21723           XAPIAN_FLUSH_THRESHOLD environment variable at the time the
21724           database was opened, instead of caching the value for each future
21725           database which is opened.
21727 Tue Sep 11 02:59:45 BST 2007  Olly Betts <olly@survex.com>
21729         * docs/Makefile.am: When running rst2html, use "--exit-status=warning"
21730           rather than "--strict".  The former actually gives a non-zero exit
21731           status for a warning or worse, while the former doesn't, but does
21732           include any "info" messages in the output HTML.
21734 Tue Sep 11 02:38:30 BST 2007  Olly Betts <olly@survex.com>
21736         * docs/deprecation.rst: Add "Database::positionlist_begin() throwing
21737           RangeError".
21739 Tue Sep 11 00:52:27 BST 2007  Olly Betts <olly@survex.com>
21741         * HACKING: Document a few more "coding standards".
21743 Mon Sep 10 21:34:23 BST 2007  Olly Betts <olly@survex.com>
21745         * examples/delve.cc,examples/simpleexpand.cc,net/tcpserver.cc,
21746           queryparser/queryparser.cc,queryparser/queryparser.lemony: Add more
21747           missing "#include <string.h>" instances.
21749 Mon Sep 10 20:24:25 BST 2007  Olly Betts <olly@survex.com>
21751         * net/serialise.cc: Add missing "#include <string.h>".
21753 Sun Sep 09 15:38:11 BST 2007  Olly Betts <olly@survex.com>
21755         * backends/flint/flint_spelling.h,backends/flint/flint_synonym.h,
21756           backends/flint/flint_table.h: Fix typo (Z_DEFAULT_COMPRESSION
21757           where it should be Z_DEFAULT_STRATEGY) which meant that zlib
21758           compression wasn't enabled for the spelling or synonym tables.
21760 Fri Sep 07 19:31:44 BST 2007  Olly Betts <olly@survex.com>
21762         * docs/spelling.rst: Fix typo.
21764 Thu Sep 06 15:02:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21766         * api/editdistance.cc: Fix off-by-one error in loop bounds when
21767           setting up fkp array initially.  Fixes bug #194.
21768         * tests/api_wrdb.cc: Add regression test for #194, spell5.
21770 Thu Sep 06 14:31:15 BST 2007  Olly Betts <olly@survex.com>
21772         * tests/harness/testsuite.cc: More localised fix for preserving the
21773           start of the valgrind report when in verbose mode.  Rework the code
21774           which pulls out the start of the report to summarise why the test
21775           failed.
21777 Thu Sep 06 14:17:44 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21779         * tests/harness/testsuite.cc: When displaying valgrind output, seek
21780           back to the start of the valgrind output for the current test
21781           before dumping it to stdout: previously, the earlier check for the
21782           valgrind error message to display (when not using -v) caused the
21783           first 1024 bytes of the valgrind output to get dropped.
21785 Tue Sep 04 20:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21787         * matcher/multimatch.cc: For remote submatches, keep a count of
21788           matches which we know exist, but we don't get passed from the
21789           submatch.  These can be detected by checking for the lowerbound
21790           on the matches in the submatch being greater than the index of
21791           the last item in the returned submset.  When the match is over,
21792           use this count, together with docs_matched, to adjust the lower
21793           bound and estimate (and upper bound, if we've not seen as many
21794           documents as we were asked to check for).  Fixes checkatleast2
21795           and checkatleast3 in the remote database case.
21796         * tests/harness/testsuite.h: Add TEST_GREATER_OR_EQUAL,
21797           TEST_GREATER, TEST_LESSER_OR_EQUAL and TEST_LESSER macros, which
21798           display the values of the arguments if they fail.
21799         * tests/api_anydb.cc: Use TEST_GREATER_OR_EQUAL and TEST_EQUAL in
21800           checkatleast2 and checkatleast3, to make failures easier to
21801           debug.
21803 Tue Sep 04 18:16:49 BST 2007  Olly Betts <olly@survex.com>
21805         * matcher/multimatch.cc: Restructure to make the control flow clearer.
21806           Rewrap some comments which got wrapped to ~82 columns somehow.
21808 Tue Sep 04 17:21:49 BST 2007  Olly Betts <olly@survex.com>
21810         * docs/overview.html: Restore the HTML header I accidentally deleted
21811           in November 2006.
21813 Tue Sep 04 17:15:30 BST 2007  Olly Betts <olly@survex.com>
21815         * docs/overview.html: Fix typo.
21817 Tue Sep 04 13:47:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21819         * tests/api_anydb.cc: Tighten test_checkatleast3 to check for
21820           previous bug (now fixed).
21822 Tue Sep 04 13:37:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21824         * matcher/multimatch.cc: If check_at_least is greater than
21825           maxitems, but there are fewer results than check_at_least, the
21826           lower and upper bounds reported should be equal (and exact).  Fix
21827           a bug which caused this not to be the case, by checking if
21828           docs_matched < check_at_least, and forcing the bounds (and
21829           estimate) to be docs_matched in this case.
21831           Also, fix a bug when sorting by anything other than relevance,
21832           which was causing potential matches which are too low in the
21833           ranking to make the mset not to be added to the count of
21834           docs_matched, even when docs_matched < check_at_least.
21836           Also, add a few extra explanatory comments and debug log messages
21837           in get_mset().
21839 Tue Sep 04 12:43:03 BST 2007  Olly Betts <olly@survex.com>
21841         * PLATFORMS: Update from debian buildd logs.
21843 Tue Sep 04 09:57:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21845         * Makefile.am,configure.ac,msvc/genversion.pl,msvc/version.h.in:
21846           Move msvc/genversion.pl and msvc/version.h.in to win32msvc in
21847           xapian-maintainer-tools.  Remove generation of msvc/version.h
21848           from configure.in, and AC_SUBST() of MAJOR_VERSION,
21849           MINOR_VERSION and REVISION, which were only in place for this
21850           generation.  Remove msvc/version.h from distribution tarballs.
21852 Tue Sep 04 02:56:00 BST 2007  Olly Betts <olly@survex.com>
21854         * matcher/andpostlist.cc: If the database has > 2G documents then the
21855           sum of termfreq_min can overflow, so handle this case correctly.
21857 Tue Sep 04 00:05:47 BST 2007  Olly Betts <olly@survex.com>
21859         * xapian-config.in: We always need to include dependency_libs in the
21860           output of `xapian-config --libs` if shared libraries are disabled.
21862 Mon Sep 03 16:28:33 BST 2007  Olly Betts <olly@survex.com>
21864         * bin/xapian-check.cc: Allow "xapian-check db/record." and
21865           "xapian-check db/record.DB".
21867 Mon Sep 03 02:16:43 BST 2007  Olly Betts <olly@survex.com>
21869         * docs/deprecation.rst,include/xapian/enquire.h: Deprecate
21870           Enquire::register_match_decider().
21871         * api/omenquire.cc,common/omenquireinternal.h: Remove mdecider_map
21872           since the set values are never used anywhere.
21874 Sun Sep 02 20:54:33 BST 2007  Olly Betts <olly@survex.com>
21876         * HACKING: Add "update the 1.0.N tracker bug" to the release
21877           checklist.
21879 Fri Aug 31 10:44:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21881         * tests/api_db.cc,tests/api_wrdb.cc: Fix compilation of apitest,
21882           which was broken on 64 bit platforms due to size_t instead of
21883           doccount bug.
21885 Fri Aug 24 11:56:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21887         * api/matchspy.cc,include/xapian/matchspy.h: Fix uses of size_t
21888           which should have been Xapian::doccount.  Was causing compile
21889           errors on platforms where size_t and Xapian::doccount were
21890           different sizes.
21892 Fri Aug 03 20:10:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21894         * tests/api_nodb.cc: Add test_stringlistserialise1() to test the
21895           StringListSerialiser and StringListUnserialiser.  Change the list
21896           of testcases to use the TESTCASE and END_OF_TESTCASES macros.
21898 Fri Aug 03 19:53:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21900         * api/matchspy.cc,include/xapian/matchspy.h: Add StringListSerialiser
21901           and StringListUnserialiser classes which can be used to serialise
21902           a list of strings into a single string.  Add flag to
21903           ValueCountMatchSpy to use this to unserialise the values read
21904           from the database into multiple strings, allowing several values
21905           to be stored for a particular slot in a database: this allows
21906           multiple values of a particular facet to be stored.
21908 Thu Jul 26 16:55:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21910         * backends/flint/flint_table.cc: Change STRINGIZE to om_tostring()
21911           in error message about a key which is too long; STRINGIZE doesn't
21912           work since FLINT_BTREE_MAX_KEY_LEN is no longer a preprocessor
21913           constant - it's a C++ constant; before this change, the error
21914           message contained the literal text "FLINT_BTREE_MAX_KEY_LEN".
21916 Tue Jul 17 12:20:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21918         * api/matchspy.cc,include/xapian/matchspy.h: Add a
21919           MultipleMatchDecider, which calls a list of deciders in order,
21920           until one returns false.
21921         * include/xapian/enquire.h: Expand comment to say which way round
21922           the return values of the MatchDecider operator are.
21923         * tests/api_db.cc: Add test_matchfunctor3() to test the
21924           MultipleMatchDecider - also tests the ValueCountMatchSpy,
21925           incidentally.
21927 Tue Jul 17 11:10:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21929         * api/matchspy.cc,include/xapian/matchspy.h: Make
21930           get_most_frequent_items() private, since I'm not convinced it's
21931           useful to make it available externally.  We can always make it
21932           public again if it's useful to do so.
21933         * test/api_wrdb.cc: Update tests accordingly.
21935 Sat Jul 14 00:17:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21937         * api/matchspy.cc,include/xapian/matchspy.h: Get rid of the
21938           TopValueMatchSpy in favour of a new function
21939           "get_most_frequent_items", which processes the output of a
21940           ValueCountMatchSpy.  Add a TermCountMatchSpy which counts the
21941           occurrences of terms with a given prefix, and gives output in
21942           the same form as ValueCountMatchSpy.  Add convenience methods
21943           ValueCountMatchSpy::get_top_values() and
21944           TermCountMatchSpy::get_top_terms() which use this to return the
21945           most frequent items seen by the matchspy.
21946         * tests/api_wrdb.cc: Test the ValueCountMatchSpy, and the
21947           get_most_frequent_items() function.
21949 Fri Jul 13 18:57:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21951         * matcher/andpostlist.cc,tests/api_anydb.cc: Improve the lower
21952           bound on the number of matching documents for an AND query - if
21953           the sum of the lower bounds for the two sides is greater than the
21954           number of documents in the database, then some of them must have
21955           both terms.  This greatly improves the lower bound for queries of
21956           the form "<alldocuments> FILTER foo" (since FILTER is a subclass
21957           of AND, and uses the same method), but is probably a useful
21958           improvement elsewhere.
21960 Fri Jul 13 17:53:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21962         * docs/valueranges.rst: Correct out-of-date reference to
21963           float_to_string, spotted by Enrico Zini.
21965 Wed Jul 11 22:54:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21967         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
21968           Move ValueAndFrequency out of the TopValueMatchSpy class - it
21969           doesn't seem to be possible to wrap it with swig without doing
21970           this, and it doesn't seem much less tidy.
21972 Wed Jul 11 18:03:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21974         * api/matchspy.cc,include/xapian/matchspy.h: Split MatchSpy into a
21975           base class (ValueCountMatchSpy), which just counts the values in
21976           the documents it sees, and a subclass (CategorySelectMatchSpy)
21977           which does the grouping into categories, and scores the
21978           categories.  Add another subclass (TopValueMatchSpy) which
21979           calculates a sorted vector holding the most frequent values.
21980         * tests/api_wrdb.cc: Update matchspy1 and matchspy2 to use
21981           CategorySelectMatchSpy instead of MatchSpy, and corresponding
21982           changes to the methods.  Add matchspy3 to test the
21983           TopValueMatchSpy.
21985 Mon Jul 09 15:40:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21987         * tests/termgentest.cc: Fix copyright: everything I've done in 2007
21988           has been for Lemur.
21990 Mon Jul 09 15:40:38 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21992         * include/xapian/version_h.cc: Fix type in comment.
21994 Fri Jul 06 12:14:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21996         * include/xapian/enquire.h: Add note to register_match_decider()
21997           documentation comment of what this function is for, and also that
21998           it doesn't currently do anything (other than store the values
21999           passed to it in the enquire internals).
22001 Thu Jul 05 20:52:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22003         * docs/categorisation.rst: Fix typo.
22005 Thu Jul 05 20:41:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22007         * tests/api_wrdb.cc: Rework matchspy2 to use approximate values to
22008           avoid failing on some platform due to differing precision.
22010 Thu Jul 05 12:21:48 BST 2007  Olly Betts <olly@survex.com>
22012         * docs/categorisation.rst: Complete half sentence.
22014 Thu Jul 05 12:17:20 BST 2007  Olly Betts <olly@survex.com>
22016         * docs/categorisation.rst: Add section on restricting by category
22017           values.
22019 Thu Jul 05 04:47:18 BST 2007  Olly Betts <olly@survex.com>
22021         * docs/Makefile.am,docs/categorisation.rst: Add topic document
22022           discussing use of Xapian::MatchSpy.
22024 Thu Jul 05 02:08:13 BST 2007  Olly Betts <olly@survex.com>
22026         * include/xapian.h,tests/api_wrdb.cc: Restore MatchSpy stuff.
22028 Thu Jul 05 01:38:38 BST 2007  Olly Betts <olly@survex.com>
22030         * HACKING: Note that RoadMap on the wiki needs updating for each
22031           release.
22033 Thu Jul 05 01:03:05 BST 2007  Olly Betts <olly@survex.com>
22035         * AUTHORS: Update.
22037 Thu Jul 05 00:31:00 BST 2007  Olly Betts <olly@survex.com>
22039         * NEWS: Minor tweaks and clarifications.
22041 Thu Jul 05 00:29:53 BST 2007  Olly Betts <olly@survex.com>
22043         * include/xapian.h,tests/api_wrdb.cc: Disable MatchSpy class for 1.0.2
22044           as it's not ready for release yet.
22046 Wed Jul 04 21:20:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22048         * NEWS: Update with release date for release 1.0.2
22050 Wed Jul 04 21:09:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22052         * AUTHORS: Add Tomek Jackowiak, for reporting bug #166 (missing
22053           Xapian::Query documentation).
22055 Wed Jul 04 20:45:56 BST 2007  Olly Betts <olly@survex.com>
22057         * configure.ac: Updated version and library version for 1.0.2.
22059 Wed Jul 04 20:36:07 BST 2007  Olly Betts <olly@survex.com>
22061         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
22062           Tidy up API for MatchSpy::build_numeric_ranges() and add tests.
22064 Wed Jul 04 19:40:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22066         * NEWS: Fully updated.
22068 Wed Jul 04 18:33:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22070         * NEWS: Move some of the changelog entries into news-style comments.
22072 Wed Jul 04 17:50:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22074         * tests/api_wrdb.cc: SKIP_TEST() spell3 on windows - it doesn't
22075           work there due to trying to delete (and then overwrite) an open
22076           database.  We shouldn't be doing this, so add a long FIXME
22077           explaining what we should be doing instead.
22079 Wed Jul 04 17:27:22 BST 2007  Olly Betts <olly@survex.com>
22081         * NEWS: Partly update.
22083 Wed Jul 04 17:19:51 BST 2007  Olly Betts <olly@survex.com>
22085         * AUTHORS: Add Simon Tatham for spotting the -INFINITY issue, and for
22086           a lot of useful advice during the CVS to SVN transition.
22088 Wed Jul 04 17:16:59 BST 2007  Olly Betts <olly@survex.com>
22090         * api/,include/xapian/queryparser.h,tests/queryparsertest.cc: Rename
22091           Xapian::NumberValueRangeProcessor::float_to_string() to
22092           Xapian::sortable_serialise() and
22093           Xapian::NumberValueRangeProcessor::string_to_float() to
22094           Xapian::sortable_unserialise().
22096 Wed Jul 04 17:16:16 BST 2007  Olly Betts <olly@survex.com>
22098         * HACKING: Add rationale for 2 space indents for "public", etc.
22100 Wed Jul 04 14:09:57 BST 2007  Olly Betts <olly@survex.com>
22102         * tests/queryparsertest.cc: Loops on integers and scale to doubles
22103           rather than looping on doubles and scaling to get integers.
22105 Wed Jul 04 13:01:11 BST 2007  Olly Betts <olly@survex.com>
22107         * tests/queryparsertest.cc: If the NumberValueRangeProcessor
22108           string encodings don't sort the same way, there's no need to report
22109           the string encodings in the error message as they are written to
22110           "tout" just before, along with the respective numbers they came
22111           from.  The string encodings can contain control characters, so are
22112           liable to corrupt the test failure message.
22114 Wed Jul 04 12:25:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22116         * api/valuerangeproc.cc: Fix encoding of extremely large, negative,
22117           non-IEEE representation to be -INFINITY, not +INFINITY.  Thanks
22118           to Simon Tatham for pointing this out.
22119         * include/xapian/queryparser.h: Add a documentation comment note
22120           that zero and -zero will be transformed to the same value.
22122 Wed Jul 04 10:09:33 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22124         * api/valuerangeproc.cc: Change encoding used for doubles to a much
22125           more compact scheme, and add support for +-INFINITY.  Also, some
22126           other tweaks to avoid unnecessary computation.
22127         * tests/queryparsertest.cc: Update test cases to expect new
22128           encoding of doubles, and add values for INFINITY and DBL_MAX and
22129           some other special numbers to the list of numbers that are
22130           specifically checked.
22132 Wed Jul 04 03:29:10 BST 2007  Olly Betts <olly@survex.com>
22134         * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
22135           Category score now explicitly weights for having nearer the
22136           requested number of categories.  Category score is now normalised
22137           so values should be roughly comparable between different sized
22138           collections.  Add untested code to build ranges.
22140 Wed Jul 04 00:48:07 BST 2007  Olly Betts <olly@survex.com>
22142         * bin/xapian-compact.cc: Add new "--no-renumber" option to preserve
22143           document ids from source databases.  Fix bug in change to add
22144           support for spelling and synonym tables which was preventing any
22145           renumbering from happening!
22147 Wed Jul 04 00:25:52 BST 2007  Olly Betts <olly@survex.com>
22149         * backends/inmemory/inmemory_database.cc,
22150           backends/inmemory/inmemory_database.h,tests/api_wrdb.cc: Fix bug in
22151           inmemory backend - using replace_document() to add a document with a
22152           specific document id above the highest currently used would create
22153           empty documents for all document ids in between.
22155 Tue Jul 03 09:27:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22157         * HACKING: Add note that protection level declarations in classes
22158           and structs should only be indented by 2 spaces.
22160 Tue Jul 03 03:53:11 BST 2007  Olly Betts <olly@survex.com>
22162         * api/Makefile.mk,api/matchspy.cc,include/xapian/matchspy.h,
22163           tests/api_wrdb.cc: Add MatchSpy method to score how good a
22164           categorisation is.
22166 Tue Jul 03 01:24:19 BST 2007  Olly Betts <olly@survex.com>
22168         * include/xapian/queryparser.h: Replace `#include <xapian/stem.h>'
22169           with forward declaration of Stem.
22171 Tue Jul 03 01:14:12 BST 2007  Olly Betts <olly@survex.com>
22173         * include/xapian/errorhandler.h: Replace `#include <xapian/error.h>'
22174           with forward declaration of Error.
22175         * api/errorhandler.cc: Now needs to explicitly `#include
22176           <xapian/error.h>'.
22178 Tue Jul 03 01:08:30 BST 2007  Olly Betts <olly@survex.com>
22180         * include/xapian/dbfactory.h: Replace `#include <xapian/database.h>'
22181           with forward declarations of Database and WritableDatabase.
22183 Tue Jul 03 00:59:57 BST 2007  Olly Betts <olly@survex.com>
22185         * include/xapian/enquire.h: Remove `#include <xapian/error.h>'.
22187 Mon Jul 02 23:25:55 BST 2007  Olly Betts <olly@survex.com>
22189         * include/Makefile.mk,include/xapian.h,include/xapian/matchspy.h,
22190           tests/api_wrdb.cc: Implement "MatchSpy" class to tally values
22191           in matching documents.
22193 Mon Jul 02 18:15:18 BST 2007  Olly Betts <olly@survex.com>
22195         * api/omenquire.cc,include/xapian/enquire.h: Fix last change to
22196           preserve ABI compatibility.
22198 Mon Jul 02 17:52:10 BST 2007  Olly Betts <olly@survex.com>
22200         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
22201           include/xapian/enquire.h,matcher/multimatch.cc,net/remoteserver.cc,
22202           tests/api_db.cc: Add support for a "matchspy" - a MatchDecider which
22203           is documented to be tested on ever candidate document.  We plan to
22204           optimise the current matchdecider to be used as little as possible.
22206 Mon Jul 02 17:35:12 BST 2007  Olly Betts <olly@survex.com>
22208         * tests/api_db.cc: Enhance matchfunctor1 to test that the functor
22209           returns ALL matching documents, not just that all documents returned
22210           match.
22212 Mon Jul 02 16:36:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22214         * common/omassert.h: Fix to avoid warning in gcc-snapshot; use
22215           do{}while(0) to protect assertions, and remove the old "if (a) {}
22216           else {fail}" constructions which tried to do the same job.
22218 Mon Jul 02 14:56:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22220         * bin/xapian-inspect.cc: Add missing #include of <stdio.h> - fixes
22221           gcc-2.95 compilation.
22223 Mon Jul 02 14:54:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22225         * queryparser/termgenerator_internal.h: Fix for gcc-2.95
22226           compilation.
22228 Mon Jul 02 14:09:22 BST 2007  Olly Betts <olly@survex.com>
22230         * api/Makefile.mk,api/valuerangeproccompat.cc,
22231           include/xapian/queryparser.h: Put the new NumberValueRangeProcessor
22232           in a sub-namespace which we then import it from.  Restore the old
22233           NumberValueRangeProcessor implementation inside the library so that
22234           it is available to code linked against 1.0.0 or 1.0.1 to keep ABI
22235           compatibility.
22237 Sun Jul 01 15:32:30 BST 2007  Olly Betts <olly@survex.com>
22239         * include/xapian/queryparser.h: Clearer description of
22240           NumberValueRangeProcessor.  Don't document the number format in
22241           terms of strtod() - that's a bug, not a feature we want to be tied
22242           to.
22243         * include/xapian/query.h,include/xapian/queryparser.h: Use "@a" not
22244           "\a" for consistency with existing usage.
22246 Sun Jul 01 10:09:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22248         * matcher/localmatch.cc: When registering a term, check if it's
22249           empty, and if so use the document count as the term frequency,
22250           rather than calling the database to get the term frequency of an
22251           empty term (most database backends have an assertion that the
22252           term is not empty, and an empty term isn't a valid parameter to
22253           pass to get_termfreq() anyway).
22254         * matcher/multimatch.cc: For MatchAll queries, the "" term will not
22255           be found in the termlist of the top document, so check if a ""
22256           term is present in the query, and use it to increase the
22257           percent_scale if so.  This fixes an Assertion which checked that
22258           percent_scale was not 0.
22259         * tests/api_db.cc: Add test_matchall1() which tests running a query
22260           with a MatchAll query.
22261         * tests/api_nodb.cc: Rename test_emptyquery1 and test_emptyquery2
22262           to test_emptyquery2 and test_emptyquery3, respectively.  There
22263           was already a (different) test_emptyquery1 in api_anydb.cc.
22265 Sat Jun 30 18:04:06 BST 2007  Olly Betts <olly@survex.com>
22267         * tests/queryparsertest.cc: Write `2.0' rather than `(double)2'.
22269 Sat Jun 30 16:12:49 BST 2007  Olly Betts <olly@survex.com>
22271         * docs/valueranges.rst: Fix typo.  Fix ".. note:" to ".. note::" so
22272           it appears visibly in the HTML output rather than in an HTML
22273           comment!
22275 Sat Jun 30 15:14:33 BST 2007  Olly Betts <olly@survex.com>
22277         * api/omdocument.cc,common/document.h,include/xapian/document.h:
22278           Add Xapian::Document::get_docid() method.
22280 Sat Jun 30 04:00:57 BST 2007  Olly Betts <olly@survex.com>
22282         * matcher/multimatch.cc: If there's only one term in the query (a
22283           pretty common case) we don't need to look at the top document's
22284           termlist to determine that it matches all the query terms.
22286 Sat Jun 30 00:37:09 BST 2007  Olly Betts <olly@survex.com>
22288         * INSTALL: Add note that zlib must be installed before you can build
22289           Xapian.
22291 Fri Jun 29 22:40:58 BST 2007  Olly Betts <olly@survex.com>
22293         * backends/flint/: If doccount == lastdocid, all document ids up to
22294           lastdocid are used, so we provide a special really efficient version
22295           implementation of iterating all documents for this common case for
22296           flint.
22298 Fri Jun 29 00:39:04 BST 2007  Olly Betts <olly@survex.com>
22300         * common/stringutils.h: Add startswith() and endswith() overloads
22301           which take a single character.
22302         * backends/flint/flint_spellingwordslist.cc,bin/xapian-inspect.cc:
22303           Use new forms.
22304         * backends/flint/flint_spellingwordslist.cc: Fix comment typo.
22306 Thu Jun 28 21:43:49 BST 2007  Olly Betts <olly@survex.com>
22308         * backends/flint/flint_spellingwordslist.cc: Another begins_with()
22309           which I somehow missed.
22311 Thu Jun 28 19:51:03 BST 2007  Olly Betts <olly@survex.com>
22313         * api/valuerangeproc.cc,backends/flint/flint_alltermslist.cc,
22314           backends/flint/flint_synonym.cc,
22315           backends/inmemory/inmemory_alltermslist.cc,
22316           backends/quartz/quartz_alltermslist.cc,
22317           backends/quartz/quartz_metafile.cc,bin/xapian-inspect.cc,
22318           common/stringutils.h,tests/harness/testsuite.cc: Rename
22319           begins_with() to startswith() and ends_with() to endswith() for
22320           consistency with Python string operations.
22322 Thu Jun 28 18:49:50 BST 2007  Olly Betts <olly@survex.com>
22324         * queryparser/queryparser.lemony: Don't put a Z prefix on terms if the
22325           stemmer is "none", which matches what TermGenerator generates.
22327 Thu Jun 28 02:22:04 BST 2007  Olly Betts <olly@survex.com>
22329         * api/omqueryinternal.cc: Don't SEGV when Query::MatchNothing is used
22330           with OP_AND_NOT (fixes bug#176).
22331         * tests/api_nodb.cc: Add regression test emptyquery2.
22332         * AUTHORS: Thank bug reporter (Krzysztof Klemm).
22334 Wed Jun 27 13:05:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22336         * NEWS: Updated.
22338 Wed Jun 27 13:04:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22340         * examples/copydatabase.cc: Add support for copying the spelling
22341           data.
22343 Wed Jun 27 12:46:54 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22345         * NEWS: Updated.
22347 Wed Jun 27 12:13:50 BST 2007  Olly Betts <olly@survex.com>
22349         * bin/xapian-check.cc: Check spelling and synonym Btrees.
22351 Wed Jun 27 12:10:47 BST 2007  Olly Betts <olly@survex.com>
22353         * bin/xapian-compact.cc: Add merging for spelling and synonym tables.
22355 Wed Jun 27 12:09:34 BST 2007  Olly Betts <olly@survex.com>
22357         * backends/flint/flint_spelling.cc: Fix PrefixCompressedStringItor to
22358           not ignore the last entry.
22359         * tests/api_wrdb.cc: Regression test (spell4).
22361 Wed Jun 27 11:51:10 BST 2007  Olly Betts <olly@survex.com>
22363         * tests/api_wrdb.cc: Remove bogus comment.
22365 Wed Jun 27 04:12:56 BST 2007  Olly Betts <olly@survex.com>
22367         * backends/flint/flint_cursor.h: Make FlintCursor::after_end() const.
22369 Tue Jun 26 22:31:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22371         * tests/api_wrdb.cc: Add test_spell3(), which tests spelling
22372           correction with multi databases, and the results of the iterator
22373           from Database::spellings_begin() with single and multi databases.
22375 Tue Jun 26 20:51:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22377         * api/omtermlistiterator.cc: Handle pruning, so that multi-database
22378           spelling word iterators work.  Pruning should arguably always
22379           have been handled, but it's never been possible for the TermList
22380           passed to TermIterator to prune before, so it's not been an
22381           issue.
22383 Tue Jun 26 20:50:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22385         * backends/flint/flint_spellingwordslist.h: Don't bother testing
22386           whether we found an entry which was exactly "W" - if we do, the
22387           database is corrupt, but the best recovery strategy would just be
22388           to continue at the next matching entry.
22390 Tue Jun 26 20:26:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22392         * api/omdatabase.cc: Remove mistaken skip_to("W") - should be done
22393           by open_spelling_wordlist() rather than here.
22394         * backends/flint/flint_spellingwordslist.h: Only call
22395           cursor->prev() if find_entry("W") finds an entry.
22397 Tue Jun 26 17:46:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22399         * backends/flint/flint_alltermslist.cc,
22400           backends/flint/flint_spellingwordslist.cc,
22401           backends/flint/flint_synonym.cc: Remove calls to abort() which
22402           are followed immediately by an Assert() which checks the same
22403           condition.
22405 Tue Jun 26 17:26:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22407         * include/xapian/database.h: Add spellings_begin() and
22408           spellings_end(), to iterate through the spelling correction
22409           target words.
22410         * api/omdatabase.cc: Implement spellings_begin(), using the newly
22411           added FreqAdderOrTermList to join the spellings lists.
22412         * common/database.h,backends/database.cc: Add
22413           open_spelling_wordlist() to get iterator of spelling targets, if
22414           any, with default implementation which returns NULL.
22415         * backends/flint/flint_database.h,backends/flint/flint_database.cc:
22416           Implement open_spelling_wordlist() for flint.
22417         * backends/flint/flint_spelling.h: Make merge_changes() public, so
22418           it can be called when a writable database needs to open a
22419           spelling wordlist.
22420         * backends/flint/flint_spellingwordslist.h,
22421           backends/flint/flint_spellingwordslist.cc: New files,
22422           implementing an iterator over the spelling targets.
22424 Tue Jun 26 17:25:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22426         * common/ortermlist.h,expand/ortermlist.cc: Add a
22427           "FreqAdderOrTermList", which adds the term frequencies of the
22428           sublists, rather than requiring that they're equal for terms
22429           which are in both.
22431 Tue Jun 26 17:22:03 BST 2007  Olly Betts <olly@survex.com>
22433         * docs/admin_notes.rst: Update to mention spelling and synonym tables,
22434           and to document optional tables more clearly.
22436 Tue Jun 26 16:23:25 BST 2007  Olly Betts <olly@survex.com>
22438         * tests/termgentest.cc: Add feature test for TermGenerator spelling
22439           integration.
22441 Tue Jun 26 16:14:56 BST 2007  Olly Betts <olly@survex.com>
22443         * tests/termgentest.cc: Fix comment paste-o.
22445 Tue Jun 26 16:11:11 BST 2007  Olly Betts <olly@survex.com>
22447         * include/xapian/termgenerator.h,queryparser/termgenerator.cc,
22448           queryparser/termgenerator_internal.cc,
22449           queryparser/termgenerator_internal.h: Add support for generating
22450           spelling data to TermGenerator class.
22452 Tue Jun 26 15:22:12 BST 2007  Olly Betts <olly@survex.com>
22454         * bin/xapian-compact.cc: Don't skip "empty" source databases, as they
22455           may have spelling and/or synonym data.  Warn if more than one source
22456           database has spelling data and ignore all but the first.  Similarly
22457           warn and ignore for synonym data.
22459 Tue Jun 26 13:52:15 BST 2007  Olly Betts <olly@survex.com>
22461         * examples/copydatabase.cc: Fix code which extracts the leafname to
22462           handle a trailing directory separator.
22463         * examples/copydatabase.cc: Copy synonym data across.  Print warning
22464           that spelling data isn't copied (as there's no API to access it
22465           currently).
22467 Tue Jun 26 13:21:13 BST 2007  Olly Betts <olly@survex.com>
22469         * bin/xapian-compact.cc: Fix to compact spelling and synonym tables.
22471 Tue Jun 26 02:20:50 BST 2007  Olly Betts <olly@survex.com>
22473         * tests/api_wrdb.cc: Fix randomly indented line.
22475 Tue Jun 26 02:20:01 BST 2007  Olly Betts <olly@survex.com>
22477         * include/xapian/document.h: Change parameter name for
22478           Document::get_value() to match other parameter names in the class.
22480 Tue Jun 26 02:19:16 BST 2007  Olly Betts <olly@survex.com>
22482         * include/xapian/queryparser.h: FLAG_AUTO_MULTIWORD_SYNONYMS now
22483           implies FLAG_AUTO_SYNONYMS.
22485 Tue Jun 26 02:18:02 BST 2007  Olly Betts <olly@survex.com>
22487         * tests/queryparsertest.cc: Add test for a single word synonym in
22488           multi-synonym mode.
22490 Tue Jun 26 02:08:47 BST 2007  Olly Betts <olly@survex.com>
22492         * common/ortermlist.h,queryparser/termgenerator_internal.h: Fix
22493           warnings from Intel's C++ compiler.
22495 Tue Jun 26 01:45:09 BST 2007  Olly Betts <olly@survex.com>
22497         * HACKING: Snapshots and releases are now bootstrapped with libtool
22498           1.5.24, which includes all the patches we were applying on top of
22499           1.5.22.
22500         * HACKING: Expand note about preferring pre-increment to
22501           post-increment to mention preferring it to adding one, and to cover
22502           decrementing too.
22504 Tue Jun 26 01:34:41 BST 2007  Olly Betts <olly@survex.com>
22506         * backends/flint/flint_spelling.cc: Fix bug appending spelling data to
22507           an existing trigram.
22509 Tue Jun 26 01:34:07 BST 2007  Olly Betts <olly@survex.com>
22511         * backends/flint/flint_database.cc: Fix handling of exceptions during
22512           commit.
22514 Mon Jun 25 17:01:40 BST 2007  Olly Betts <olly@survex.com>
22516         * docs/spelling.rst: Update for Unicode spelling correction.
22518 Mon Jun 25 15:41:43 BST 2007  Olly Betts <olly@survex.com>
22520         * api/editdistance.cc,api/editdistance.h,api/omdatabase.cc:
22521           Convert to UTF-32 before calculating edit distances.
22522         * tests/api_wrdb.cc: Add test coverage for Unicode spelling
22523           correction.
22525 Mon Jun 25 14:03:34 BST 2007  Olly Betts <olly@survex.com>
22527         * tests/quartztest.cc: Remove tests for removed method
22528           QuartzPostList::get_collection_freq().
22530 Mon Jun 25 12:32:07 BST 2007  Olly Betts <olly@survex.com>
22532         * backends/flint/flint_spelling.cc: Replace abort() with exception
22533           throwing.
22535 Mon Jun 25 03:01:20 BST 2007  Olly Betts <olly@survex.com>
22537         * tests/harness/backendmanager.cc: Track the fd used to communicate
22538           with a xapian-tcpsrv child process so we can close it when we reap
22539           the child pid.
22541 Mon Jun 25 02:44:04 BST 2007  Olly Betts <olly@survex.com>
22543         * docs/valueranges.rst: Fix bad RST markup.
22545 Sun Jun 24 23:24:26 BST 2007  Olly Betts <olly@survex.com>
22547         * tests/harness/backendmanager.cc: Fix memory leak in test harness
22548           launching of xapian-tcpsrv so that "apitest -b remotetcp" now passes
22549           under valgrind.
22551 Sun Jun 24 19:39:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22553         * docs/valueranges.rst: Add documentation for the
22554           NumberValueRangeProcessor, now that it is fixed.
22556 Sun Jun 24 14:29:06 BST 2007  Olly Betts <olly@survex.com>
22558         * backends/remote/net_postlist.cc,backends/remote/net_postlist.h:
22559           Move NetworkPostList virtual methods out of the header.  Move the
22560           constructor into the header, since that can be inlined.
22562 Sun Jun 24 14:15:43 BST 2007  Olly Betts <olly@survex.com>
22564         * backends/flint/,backends/multi/multi_postlist.cc,
22565           backends/multi/multi_postlist.h,backends/quartz/,
22566           backends/remote/net_postlist.cc,backends/remote/net_postlist.h,
22567           backends/remote/remote-database.cc,common/emptypostlist.h,
22568           common/postlist.h,common/remote-database.h: For Flint and Quartz,
22569           refactor so we no longer create a postlist just to find the termfreq
22570           or collection frequency.  These were the only places which used
22571           PostList::get_collection_freq(), so eliminate it (bug#124).
22573 Sun Jun 24 09:40:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22575         * msvc/genversion.pl: Add a script to generate the version.h file
22576           for MSVC builds by parsing configure.ac to extract the version
22577           number, and then performing the appropriate substitutions on
22578           msvc/version.h.in.  Shouldn't be used for tarball builds (because
22579           version.h already exists) or for builds which use configure.
22581 Sun Jun 24 02:25:38 BST 2007  Olly Betts <olly@survex.com>
22583         * matcher/multimatch.cc: The check_at_least parameter to
22584           Enquire::get_mset() is now handled in a more efficient way - no
22585           extra memory is now required, and CPU overhead should be reduced
22586           (bug#174).
22588 Sun Jun 24 02:00:07 BST 2007  Olly Betts <olly@survex.com>
22590         * docs/synonyms.rst,docs/Makefile.am: New "topic" document describing
22591           synonym support.
22592         * docs/Makefile.am: HTML documentation generated from RST files wasn't
22593           being installed.
22595 Sun Jun 24 00:45:46 BST 2007  Olly Betts <olly@survex.com>
22597         * backends/remote/remote-database.cc,common/remote-database.h,
22598           common/remoteprotocol.h,common/submatch.h,docs/remote_protocol.html,
22599           matcher/,net/remoteserver.cc: Pass check_at_least to the remote
22600           server to reduce the amount of work required to produce the match
22601           on the remote server, and also reduce the serialised size of the
22602           returned MSet.
22604 Sun Jun 24 00:17:18 BST 2007  Olly Betts <olly@survex.com>
22606         * tests/api_anydb.cc: More check_at_least tests.
22608 Sat Jun 23 20:02:48 BST 2007  Olly Betts <olly@survex.com>
22610         * api/omdatabase.cc,tests/api_wrdb.cc: Add multi-database support
22611           for synonyms.
22613 Sat Jun 23 18:50:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22615         * include/xapian/database.h: Tiny fix to a documentation comment.
22617 Sat Jun 23 17:35:37 BST 2007  Olly Betts <olly@survex.com>
22619         * common/ortermlist.h,expand/ortermlist.cc: Comment out unused method
22620           OrTermList::get_collection_freq().  The same dummy implementation
22621           is provided by the parent class (TermList).
22623 Sat Jun 23 17:07:40 BST 2007  Olly Betts <olly@survex.com>
22625         * api/omdatabase.cc,backends/database.cc,backends/flint/,
22626           common/database.h,include/xapian/database.h,tests/api_wrdb.cc:
22627           Implement Database::synonym_keys_begin() to allow iteration over all
22628           the terms for which synonyms have been added.
22630 Sat Jun 23 04:19:54 BST 2007  Olly Betts <olly@survex.com>
22632         * matcher/multimatch.cc: Fix handling of check_at_least parameter -
22633           we weren't discarding matches above the requested MSet size
22634           correctly.
22635         * tests/api_anydb.cc: Add regression test checkatleast2.
22637 Sat Jun 23 03:00:45 BST 2007  Olly Betts <olly@survex.com>
22639         * docs/queryparser.html: Document synonyms.
22641 Sat Jun 23 02:50:55 BST 2007  Olly Betts <olly@survex.com>
22643         * queryparser/queryparser.lemony: Unapply commented out fragments
22644           towards supporting '~' on phrases, which I didn't mean to apply.
22646 Sat Jun 23 02:25:32 BST 2007  Olly Betts <olly@survex.com>
22648         * include/xapian/queryparser.h,queryparser/queryparser.lemony,
22649           tests/queryparsertest.cc: Add support for synonym operator ('~')
22650           to the QueryParser.
22652 Sat Jun 23 01:52:51 BST 2007  Olly Betts <olly@survex.com>
22654         * queryparser/queryparser.lemony: Fix two bugs in the query parser -
22655           now '+' and '-' work on bracketed subexpressions as documented.
22656         * tests/queryparsertest.cc: Add regression tests.
22658 Sat Jun 23 01:47:30 BST 2007  Olly Betts <olly@survex.com>
22660         * queryparser/queryparser.cc: Use "using namespace std;".
22662 Fri Jun 22 18:48:21 BST 2007  Olly Betts <olly@survex.com>
22664         * backends/flint/flint_synonym.cc: Fix iteration of unflushed
22665           synonyms.
22667 Fri Jun 22 18:21:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22669         * docs/deprecation.rst: Fix typo.
22671 Fri Jun 22 18:02:21 BST 2007  Olly Betts <olly@survex.com>
22673         * api/omdatabase.cc,backends/database.cc,backends/flint/,
22674           common/database.h,include/xapian/database.h,
22675           include/xapian/queryparser.h,queryparser/queryparser.lemony:
22676           Add support for storing synonyms for terms in a new optional Btree
22677           table in flint databases, and using them in the QueryParser.
22678         * tests/queryparsertest.cc: Feature tests for synonyms.
22680 Fri Jun 22 17:58:37 BST 2007  Olly Betts <olly@survex.com>
22682         * queryparser/queryparser.lemony: Removed superfluous "private:" in
22683           class State.  Make State::get_database() const.
22685 Fri Jun 22 17:58:15 BST 2007  Olly Betts <olly@survex.com>
22687         * tests/queryparsertest.cc: Make sure .flint subdirectory exists.
22689 Fri Jun 22 17:52:53 BST 2007  Olly Betts <olly@survex.com>
22691         * bin/xapian-inspect.cc: Don't die with an error if the user tries to
22692           move forward twice from the end.  Also, make "prev" from the end
22693           work.
22695 Fri Jun 22 17:47:36 BST 2007  Olly Betts <olly@survex.com>
22697         * queryparser/queryparser.lt: If an input token has a yyminor, report
22698           its name in the debug output.
22700 Fri Jun 22 14:47:17 BST 2007  Olly Betts <olly@survex.com>
22702         * NEWS: Updated with changes since 1.0.1.
22704 Thu Jun 21 21:12:49 BST 2007  Olly Betts <olly@survex.com>
22706         * backends/remote/remote-database.cc,common/remoteprotocol.h,
22707           common/remoteserver.h,net/remoteserver.cc: Protocol version
22708           increased to 30.2.  This difference from 30.1 is that
22709           MSG_DELETEDOCUMENT now send REPLY_DONE to allow DocNotFoundError
22710           to be propagated.  MSG_DELETEDOCUMENT now has a new number and
22711           the old number for MSG_DELETEDOCUMENT is now
22712           MSG_DELETEDOCUMENT_PRE_30_2 which is handled by the server so
22713           that older clients will continue to work.
22714         * docs/remote_protocol.html: Update.
22715         * tests/api_wrdb.cc: Add regression test for DocNotFoundError bug.
22717 Thu Jun 21 17:22:53 BST 2007  Olly Betts <olly@survex.com>
22719         * api/omdatabase.cc,tests/queryparsertest.cc,docs/spelling.rst: Add
22720           support for spelling correction when using multiple databases.
22722 Thu Jun 21 16:15:22 BST 2007  Olly Betts <olly@survex.com>
22724         * tests/queryparsertest.cc: Add feature tests for correcting spelling
22725           errors in the QueryParser.
22727 Thu Jun 21 15:01:00 BST 2007  Olly Betts <olly@survex.com>
22729         * tests/api_wrdb.cc: Check the edit distance 3 words are found if
22730           asked for.
22732 Thu Jun 21 14:59:15 BST 2007  Olly Betts <olly@survex.com>
22734         * api/omdatabase.cc,common/omdebug.h: Add some debug tracing for the
22735           spelling correction.
22737 Thu Jun 21 13:45:12 BST 2007  Olly Betts <olly@survex.com>
22739         * backends/flint/flint_spelling.cc,docs/spelling.rst: Generate
22740           "bookends" for four character words too, so that we suggest
22741           "fuor" -> "four".
22742         * tests/api_wrdb.cc: More testcases.
22744 Thu Jun 21 13:08:07 BST 2007  Olly Betts <olly@survex.com>
22746         * docs/spelling.rst: Assorted minor improvements.  Add note about not
22747           detecting single character substitutions in two character words.
22749 Thu Jun 21 13:02:57 BST 2007  Olly Betts <olly@survex.com>
22751         * tests/api_wrdb.cc: Check cases for single edits to a two character
22752           word work as expected.
22754 Thu Jun 21 04:13:46 BST 2007  Olly Betts <olly@survex.com>
22756         * tests/api_wrdb.cc: Add test cases to check we find all single edit
22757           errors for a three letter word.
22759 Thu Jun 21 04:08:11 BST 2007  Olly Betts <olly@survex.com>
22761         * backends/flint/flint_spelling.h: Now that
22762           FlintSpellingTable::merge_changes() is only called from within the
22763           class, make it a private method.  discard_changes() is only used
22764           once, and from within the class, so just inline it as that's
22765           clearer.  Make the comment about the overridden methods a doxygen
22766           grouping comment,
22768 Thu Jun 21 04:02:51 BST 2007  Olly Betts <olly@survex.com>
22770         * docs/spelling.rst: Update to mention "bookend" bigrams.
22772 Thu Jun 21 03:56:52 BST 2007  Olly Betts <olly@survex.com>
22774         * backends/flint/flint_spelling.cc: Generate "bookend" spelling
22775           entries for two and three letter terms, consisting of the prefix 'B'
22776           followed by the first and last letters.  This allows us to handle
22777           substitution or deletion of the middle character of a three letter
22778           word, or insertion in the middle of a two letter word.
22780 Thu Jun 21 03:18:28 BST 2007  Olly Betts <olly@survex.com>
22782         * tests/queryparsertest.cc: Some doubles in the list which
22783           value_range_serialise1 tests have the same values on some platforms,
22784           so test that adjacent numbers and their string counterparts compare
22785           the same way rather than that both are "<".
22787 Thu Jun 21 02:46:01 BST 2007  Olly Betts <olly@survex.com>
22789         * tests/api_wrdb.cc: Add "spell1" - a simple feature test for spelling
22790           based on Richard's python test.  Use TESTCASE() and END_OF_TESTCASES
22791           macros.
22793 Wed Jun 20 21:57:01 BST 2007  Olly Betts <olly@survex.com>
22795         * backends/flint/flint_database.cc: WritableDatabase::delete_document()
22796           no longer cancels pending changes if the document doesn't exist.
22797         * backends/quartz/quartz_database.cc: Same fix.
22799 Wed Jun 20 20:53:52 BST 2007  Olly Betts <olly@survex.com>
22801         * backends/flint/flint_database.cc: We may now need to flush even if
22802           there have been no documents added/replaced/deleted, as there may be
22803           changes to the spelling table.
22805 Wed Jun 20 20:46:30 BST 2007  Olly Betts <olly@survex.com>
22807         * backends/flint/flint_table.cc: Fix a function name in the debug
22808           loggging.
22810 Wed Jun 20 20:39:43 BST 2007  Olly Betts <olly@survex.com>
22812         * backends/flint/flint_spelling.cc: Fix FlintSpellingTermList not to
22813           report at_end() one entry too early.
22815 Wed Jun 20 19:21:45 BST 2007  Olly Betts <olly@survex.com>
22817         * tests/harness/backendmanager.cc: Don't touch <dbdir>/log for flint
22818           as flint doesn't create a log like quartz does.
22820 Wed Jun 20 17:10:29 BST 2007  Olly Betts <olly@survex.com>
22822         * backends/flint/flint_database.cc,backends/flint/flint_spelling.h:
22823           Push special handling for spelling_table into the FlintSpellingTable
22824           class.  This fixes "is_modified()" to take into account unflushed
22825           changes held in memory.
22827 Wed Jun 20 13:59:01 BST 2007  Olly Betts <olly@survex.com>
22829         * api/omdatabase.cc: Don't use RETURN() in methods which return void.
22831 Wed Jun 20 11:56:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22833         * api/editdistance.cc: Change an Assert in is_transposed() (which
22834           fails in some cases) to a test, since it seems legitimate that
22835           a value of pos2 <= 0 might be supplied to the function (though
22836           the answer will always be "false" in that case).
22838 Wed Jun 20 02:38:51 BST 2007  Olly Betts <olly@survex.com>
22840         * api/omdatabase.cc: Fix two incorrect return types in debug logging.
22842 Wed Jun 20 02:14:40 BST 2007  Olly Betts <olly@survex.com>
22844         * api/omdatabase.cc: Add missing implementations of
22845           WritableDatabase::add_spelling() and
22846           WritableDatabase::remove_spelling().
22848 Wed Jun 20 00:58:46 BST 2007  Olly Betts <olly@survex.com>
22850         * backends/flint/flint_spelling.h: Make the maps private.
22852 Wed Jun 20 00:05:15 BST 2007  Olly Betts <olly@survex.com>
22854         * HACKING: Snapshots now bootstrapped with automake 1.10.
22856 Wed Jun 20 00:03:42 BST 2007  Olly Betts <olly@survex.com>
22858         * backends/flint/flint_spelling.cc,common/Makefile.mk,
22859           expand/Makefile.mk,expand/ortermlist.h: Move ortermlist.h from
22860           "expand/" to "common/" so we can included it from flint_spelling.cc
22861           without a relative path.
22863 Tue Jun 19 22:41:08 BST 2007  Olly Betts <olly@survex.com>
22865         * api/,backends/database.cc,backends/flint/,common/database.h,
22866           docs/Makefile.am,docs/spelling.rst,include/xapian/database.h,
22867           include/xapian/queryparser.h,queryparser/queryparser.cc,
22868           queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
22869           Add support for spelling correction.
22871 Tue Jun 19 19:18:40 BST 2007  Olly Betts <olly@survex.com>
22873         * backends/flint/flint_database.cc,backends/flint/flint_table.cc,
22874           backends/flint/flint_table.h: Add new method
22875           FlintTable::key_exists() so we don't need to create a cursor to
22876           check if a key exists in FlintDatabase::term_exists() (the other
22877           alternative previously was to read the key and tag and ignore the
22878           tag, but that could involve reading more blocks if the tag is
22879           long, and it could involve uncompressing the tag too).
22881 Tue Jun 19 17:49:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22883         * tests/queryparsertest.cc: Cast the input to pow() to a double, to
22884           fix a problem on windows (which has several versions of pow(),
22885           and the version taking a float was being used by default,
22886           resulting in some of the tests overflowing the range of float).
22888 Tue Jun 19 17:48:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22890         * api/valuerangeproc.cc: Fix assertions, so that the code works
22891           with assertions turned on.
22893 Tue Jun 19 12:35:46 BST 2007  Olly Betts <olly@survex.com>
22895         * matcher/branchpostlist.cc: Add missing #include <config.h>.
22896         * matcher/branchpostlist.cc,matcher/branchpostlist.h: Move other
22897           virtual method definitions out of the header.
22899 Mon Jun 18 21:41:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22901         * matcher/branchpostlist.h: Add missed copyright statement.
22903 Mon Jun 18 21:36:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22905         * matcher/branchpostlist.cc,matcher/branchpostlist.h: Add get_wdf()
22906           method to BranchPostList (which just sums the wdf, which is
22907           useful for a synonym postlist, which is the only situation in
22908           which this will be called).  Add the method definition in a
22909           separate file, as per the comment I just added to HACKING.
22910         * matcher/Makefile.mk: Add branchpostlist.cc
22912 Mon Jun 18 21:33:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22914         * HACKING: Add note about virtual methods (saying that the
22915           shouldn't be defined in header files).
22917 Mon Jun 18 20:15:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22919         * matcher/phrasepostlist.cc,matcher/phrasepostlist.h,
22920           matcher/exactphrasepostlist.cc,matcher/exactphrasepostlist.cc:
22921           Add get_wdf() methods to NearPostList, PhrasePostList and
22922           ExactPhrasePostList - these use a very rough approximation (but
22923           there's a big long comment justifying it).
22925 Mon Jun 18 18:38:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22927         * matcher/mergepostlist.cc,matcher/mergepostlist.h: Add copyright
22928           statements for previous commit (and update license while I'm at
22929           it).
22931 Mon Jun 18 18:24:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22933         * matcher/mergepostlist.cc,matcher/mergepostlist.h: Add get_wdf()
22934           method to MergePostList (just passes through the value from the
22935           current postlist).  Not currently needed, but the expected
22936           behaviour is obvious, and this will be needed if there's a
22937           synonym postlist higher in the query tree (when synonym postlists
22938           are implemented).  Also, correct a documentation comment typo.
22940 Mon Jun 18 13:09:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22942         * api/valuerangeproc.cc: Cast the first parameter to ldexp() to
22943           double to fix compilation on some platforms, and add a few more
22944           explanatory code comments to
22945           NumberValueRangeProcessor::string_to_float()
22947 Mon Jun 18 11:33:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22949         * api/valuerangeproc.cc: Add static methods to
22950           NumberValueRangeProcessor to serialise and unserialise doubles.
22951           Change the code which tests a term for being a number to use
22952           strtod, and accept any string which strtod thinks is a number.
22953           If NumberValueRangeProcessor accepts a range, it now converts the
22954           begin and end values to strings using the serialise method.
22955           Also, expand some of the code comments.
22956         * include/xapian/queryparser.h: Add documentation comments to
22957           NumberValueRangeProcessor.
22958         * tests/queryparsertest.cc: Update value_range2_queries to expect
22959           new serialised forms in its output.  Update test_qp_value_range3
22960           to test a wider range of values (including negative, fractional,
22961           and more-than-single-digit).
22963 Mon Jun 18 03:36:38 BST 2007  Olly Betts <olly@survex.com>
22965         * queryparser/queryparser.lemony: Fix comment typo, and add brackets
22966           to make intended precedence clearer.
22968 Mon Jun 18 03:36:04 BST 2007  Olly Betts <olly@survex.com>
22970         * include/xapian/queryparser.h: Tweak wording of a couple of
22971           documentation comments.
22973 Mon Jun 18 02:00:31 BST 2007  Olly Betts <olly@survex.com>
22975         * docs/queryparser.html: Mention "AND NOT" as an alternative way to
22976           write "NOT".
22978 Mon Jun 18 01:43:00 BST 2007  Olly Betts <olly@survex.com>
22980         * queryparser/queryparser.lemony: Adjust precedence of boolean
22981           operators to match those in maths and programming languages.
22982           "NOT" now binds as tightly as "AND" (previously "AND NOT" would
22983           bind like "AND", but just "NOT" would bind like "OR"!)  Also
22984           "XOR" now binds more tightly than "OR", but less tightly than
22985           "AND" (previously it bound just like "OR").
22986         * tests/queryparsertest.cc: Add testcases for the new behaviour.
22988 Mon Jun 18 01:16:18 BST 2007  Olly Betts <olly@survex.com>
22990         * tests/queryparsertest.cc: Better test coverage of handling of random
22991           double quotes in queries.
22993 Sun Jun 17 16:17:34 BST 2007  Olly Betts <olly@survex.com>
22995         * include/xapian/unicode.h: Don't call operator++(0) from operator()
22996           as it does more work than we need.
22998 Sun Jun 17 14:14:16 BST 2007  Olly Betts <olly@survex.com>
23000         * bin/xapian-inspect.cc: Fix so that Ctrl+D doesn't cause an infinite
23001           loop!
23003 Sat Jun 16 22:19:11 BST 2007  Olly Betts <olly@survex.com>
23005         * bin/Makefile.mk,bin/xapian-inspect.cc,xapian-core.spec.in:
23006           New utility 'xapian-inspect' allowing interactive inspection of
23007           key/tag pairs in a flint Btree.  Useful for development and
23008           debugging, and an approximate replacement for quartzdump.
23010 Sat Jun 16 17:03:57 BST 2007  Olly Betts <olly@survex.com>
23012         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Update for
23013           doxygen 1.5.2 (using "doxygen -u").
23015 Sat Jun 16 10:17:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23017         * tests/Makefile.am: The "check-none" target should run all the
23018           tests which don't need a database, not just those in apitest: add
23019           internaltest, stemtest, queryparsertest and termgentest to the
23020           list of tests it runs.
23022 Sat Jun 16 09:36:10 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23024         * Makefile.am,bin/Makefile.mk,examples/Makefile.mk: Work around an
23025           apparent bug in automake which causes the entries in .libs
23026           subdirectories generated for targets of bin_PROGRAMS not to be
23027           removed on make clean.  (This was causing make distcheck to
23028           fail.)
23030 Sat Jun 16 04:42:16 BST 2007  Olly Betts <olly@survex.com>
23032         * HACKING,Makefile.am,tests/Makefile.am,tests/apitest.cc,
23033           tests/harness/backendmanager.cc,tests/harness/backendmanager.h: In
23034           the testsuite, rename the "void" pseudo-backend to "none" to more
23035           clearly reflect what it is.  And rename the "remote" backend to
23036           "remoteprog", to better differentiate it from "remotetcp".
23037         * HACKING: Fix error - "apitest -b=flint" doesn't work - it must be
23038           "apitest -bflint".
23040 Sat Jun 16 04:40:28 BST 2007  Olly Betts <olly@survex.com>
23042         * HACKING: Now using doxygen 1.5.2.
23044 Sat Jun 16 02:08:20 BST 2007  Olly Betts <olly@survex.com>
23046         * backends/flint/flint_table.cc: Fix to build with older zlib.  Not
23047           hugely important as zlib security fixes mean any well maintained
23048           box will be running a recent zlib, but the fix is trivial.
23050 Fri Jun 15 19:39:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23052         * HACKING: Document the new check-void, check-inmemory,
23053           check-remoteprog and check-remotetcp targets.
23055 Fri Jun 15 19:34:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23057         * Makefile.am,tests/Makefile.am: Add check-void, check-inmemory,
23058           check-remoteprog and check-remotetcp targets, to allow the tests
23059           for any of the backends to be performed in isolation.
23061 Fri Jun 15 19:29:19 BST 2007  Olly Betts <olly@survex.com>
23063         * Makefile.am,configure.ac,xapian-core.spec.in,xapian.spec.in:
23064           Rename xapian.spec to xapian-core.spec to match tarball name.
23065           Append the user name to BuildRoot.
23067 Fri Jun 15 14:51:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23069         * net/progclient.cc: Open the file handle pointing to /dev/null as
23070           O_WRONLY instead of O_RDONLY: doesn't affect whether the test
23071           passes (since nothing gets written to stderr in theory anyway),
23072           but makes more sense.
23074 Fri Jun 15 13:21:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23076         * net/progclient.cc: Better fix - rather than leaving stderr open,
23077           we close it, and then reopen it pointing to /dev/null.
23079 Fri Jun 15 12:55:07 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23081         * net/progclient.cc: Don't close stderr in the child before we call
23082           execve() - with this change, apitest passes under valgrind with
23083           the remote database backend: before it, the child seemed to be
23084           exiting without writing anything to the socket, causing the test
23085           to fail with a NetworkError (due to an unexpected EOF).
23087 Thu Jun 14 23:47:52 BST 2007  Olly Betts <olly@survex.com>
23089         * backends/flint/flint_database.cc: Replace duplicated code with calls
23090           to existing method set_revision_number(new_revision).
23092 Thu Jun 14 18:51:03 BST 2007  Olly Betts <olly@survex.com>
23094         * backends/flint/flint_database.cc: Stop including <sys/utsname.h>
23095           which we don't use here.
23097 Thu Jun 14 18:22:24 BST 2007  Olly Betts <olly@survex.com>
23099         * tests/Makefile.am: Fix typo from copy&paste.
23101 Thu Jun 14 16:46:45 BST 2007  Olly Betts <olly@survex.com>
23103         * docs/admin_notes.rst: Update for the "lazy table" changes.  Correct
23104           the description of xapian-compact --multipass (only the postlist
23105           tables are merged in multiple passes), correct description of how
23106           to use xapian-check on a single table (no trailing '.' should be
23107           specified).  Change the "how to upgrade 0.9.x flint databases" to
23108           talk about 1.0.y rather than 1.0.0.
23110 Thu Jun 14 16:25:55 BST 2007  Olly Betts <olly@survex.com>
23112         * backends/flint/: The value and position tables are now only created
23113           if there is anything to add to them.  So if you never use document
23114           values, there's no value_DB, value.baseA, or value.baseB.  This
23115           means the table doesn't need to be opened for searching (saving a
23116           file handle) and when flushing changes, we don't need to update
23117           baseA/baseB just to keep the revisions in step.  The flint database
23118           version has been increased, but the new code will happily open and
23119           read/update flint databases from Xapian 1.0.0 and 1.0.1.
23120         * bin/xapian-check.cc,bin/xapian-compact.cc: Update to handle
23121           databases without value and/or position tables.
23122         * tests/testdata/flint-1.0.1/: Empty example of a flint 1.0.1 format
23123           database.
23124         * tests/Makefile.am,tests/api_db.cc: Add check that a flint 1.0.1
23125           format database can be opened.
23127 Wed Jun 13 22:40:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23129         * include/xapian/queryparser.h: Document set_stemmer() and
23130           set_stemming_strategy() better - in particular, make it clear
23131           that the default value for the stemming strategy is STEM_NONE.
23133 Wed Jun 13 17:16:52 BST 2007  Olly Betts <olly@survex.com>
23135         * HACKING: Wrap overlong line.
23137 Wed Jun 13 16:47:07 BST 2007  Olly Betts <olly@survex.com>
23139         * msvc/version.h.in: Remote backend is now supported in the MSVC
23140           build.
23142 Wed Jun 13 04:18:51 BST 2007  Olly Betts <olly@survex.com>
23144         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
23145           Eliminate dont_close_handle as it's always false.
23147 Wed Jun 13 02:53:28 BST 2007  Olly Betts <olly@survex.com>
23149         * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h:
23150           Remove unused FlintTable_base constructor.
23152 Tue Jun 12 18:27:54 BST 2007  Olly Betts <olly@survex.com>
23154         * backends/flint/flint_table.cc: Add fix to allow compilation on
23155           OpenBSD, which uses off_t instead of uLong for total_out in
23156           zlib.h.  Remove Assert() which is followed by a better check of
23157           the same condition.
23158         * AUTHORS: Add Julien Touche for help with this fix.
23160 Tue Jun 12 13:34:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23162         * tests/harness/unixcmds.cc: On unix builds, set access permissions
23163           on copied directories to allow writes.  This fixes make
23164           distcheck, which was failing on tests because the copied
23165           directory was set to read-only, causing the later "rm -rf"
23166           command to fail.
23168 Mon Jun 11 20:10:26 BST 2007  Olly Betts <olly@survex.com>
23170         * docs/overview.html: Fix typo.
23172 Mon Jun 11 20:08:42 BST 2007  Olly Betts <olly@survex.com>
23174         * docs/Makefile.am: Ship and install internals.html.
23176 Mon Jun 11 17:46:04 BST 2007  Olly Betts <olly@survex.com>
23178         * docs/Makefile.am,docs/doxygen_full_conf.in: Disable generation of
23179           PDF version of doxygen-collated documentation of internals.  It
23180           keeps overflowing TeX limits and it seems likely that most people
23181           would prefer the HTML version of this anyway.
23183 Mon Jun 11 17:45:12 BST 2007  Olly Betts <olly@survex.com>
23185         * tests/internaltest.cc: Remove duplicated code.
23187 Mon Jun 11 03:55:53 BST 2007  Olly Betts <olly@survex.com>
23189         * NEWS: Probably the final update for 1.0.1.
23191 Mon Jun 11 03:47:37 BST 2007  Olly Betts <olly@survex.com>
23193         * examples/simpleindex.cc: Tweak the logic to be clearer.
23195 Sun Jun 10 21:59:21 BST 2007  Olly Betts <olly@survex.com>
23197         * HACKING,configure.ac: Drop automake requirement to 1.8.3 to allow
23198           RPM spec file to work on SLES 9.
23200 Sun Jun 10 21:48:51 BST 2007  Olly Betts <olly@survex.com>
23202         * configure.ac: Bump version to 1.0.1 and LIBRARY_VERSION_INFO to
23203           15:0:0.
23205 Sun Jun 10 21:46:57 BST 2007  Olly Betts <olly@survex.com>
23207         * xapian.spec.in: Add "# norootforbuild" comment which SuSE's build
23208           scripts look for.  Rename "Source0:" to "Source:" as there's only
23209           one tarball now.  Add gcc-c++ and zlib-devel to "Build-Requires:".
23211 Sun Jun 10 21:43:45 BST 2007  Olly Betts <olly@survex.com>
23213         * PLATFORMS: More updates.
23215 Sun Jun 10 18:01:19 BST 2007  Olly Betts <olly@survex.com>
23217         * api/error.cc,generate-exceptions.in: Make Error::error_string member
23218           std::string rather than char * to avoid problems with double free()
23219           with copied Error objects.  Also, Error::get_description() now
23220           converts my_errno to error_string if it hasn't been already.
23221         * tests/internaltest.cc: Add regression tests for both bugs.
23223 Sun Jun 10 13:33:21 BST 2007  Olly Betts <olly@survex.com>
23225         * tests/api_db.cc: New testcase in allterms6.
23227 Sun Jun 10 13:20:37 BST 2007  Olly Betts <olly@survex.com>
23229         * xapian-config.in: Add special case check for host_os matching linux*
23230           or k*bsd-gnu since vanilla libtool doesn't identify them as needing
23231           link_all_deplibs_CXX=no.
23233 Sun Jun 10 03:32:54 BST 2007  Olly Betts <olly@survex.com>
23235         * PLATFORMS: Updated from tinderbox.
23237 Sun Jun 10 02:14:58 BST 2007  Olly Betts <olly@survex.com>
23239         * NEWS: Updated.
23241 Sat Jun 09 17:28:32 BST 2007  Olly Betts <olly@survex.com>
23243         * queryparser/queryparser.lemony: Add the unstem entry for boolean
23244           prefixed terms in Term::make_term() as we do for other terms.
23246 Sat Jun 09 17:27:55 BST 2007  Olly Betts <olly@survex.com>
23248         * tests/queryparsertest.cc: Replace reference to Xapian "1.0" with
23249           "1.0.0".
23251 Sat Jun 09 17:12:44 BST 2007  Olly Betts <olly@survex.com>
23253         * queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
23254           Factor out the code which actually parses a term into a separate
23255           method.
23257 Fri Jun 08 23:31:23 BST 2007  Olly Betts <olly@survex.com>
23259         * tests/Makefile.am: Distribute tests/testdata/flint-0.9.9/.
23261 Fri Jun 08 19:20:36 BST 2007  Olly Betts <olly@survex.com>
23263         * NEWS: Updated.
23265 Fri Jun 08 18:55:43 BST 2007  Olly Betts <olly@survex.com>
23267         * examples/simplesearch.cc: Report "Matches 1-<N>:".
23269 Fri Jun 08 18:46:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23271         * api/omenquire.cc: Fix issue brought to my attention by Enrico
23272           Zini: if an uninitialised database is supplied to Enquire,
23273           performing a search will cause a segfualt.  It isn't completely
23274           clear whether using an uninitialised database should cause an
23275           error, or whether the search should return an empty result list,
23276           but for ease of implementation, and to avoid application errors
23277           going unnoticed, I've made Enquire's constructor report an
23278           InvalidArgumentError if the supplied database is uninitialised.
23279         * include/xapian/enquire.h: Document new exception case, and
23280           workaround if you want a search in this situation to return an
23281           empty result set, instead of getting an error.
23282         * tests/api_nodb.cc: Regression test for this fix.
23283         * AUTHORS: Mention Enrico Zini.
23285 Fri Jun 08 18:33:19 BST 2007  Olly Betts <olly@survex.com>
23287         * NEWS: Updated.
23289 Fri Jun 08 17:09:22 BST 2007  Olly Betts <olly@survex.com>
23291         * common/Makefile.mk: Distribute common/stringutils.h.
23293 Thu Jun 07 20:44:36 BST 2007  Olly Betts <olly@survex.com>
23295         * tests/harness/unixcmds.cc: It appears we need to create the target
23296           directory for xcopy to behave as we want.
23298 Thu Jun 07 19:34:18 BST 2007  Olly Betts <olly@survex.com>
23300         * tests/harness/unixcmds.cc: Fix typo to unbreak testsuite on Windows
23301           NT derivatives.
23303 Thu Jun 07 19:02:36 BST 2007  Olly Betts <olly@survex.com>
23305         * backends/inmemory/inmemory_alltermslist.cc: Another tweak - don't
23306           call map::lower_bound() in the ctor at all.  Also, prevent skip_to()
23307           from moving backwards, since that behaviour is user-visible.
23309 Thu Jun 07 18:36:49 BST 2007  Olly Betts <olly@survex.com>
23311         * common/stringutils.h: New header, providing inline functions
23312           begins_with() and ends_with() to check if a std::string has
23313           a given prefix or suffix.
23314         * api/valuerangeproc.cc,backends/flint/flint_alltermslist.cc,
23315           backends/inmemory/inmemory_alltermslist.cc,
23316           backends/quartz/quartz_alltermslist.cc,
23317           backends/quartz/quartz_metafile.cc,tests/harness/testsuite.cc:
23318           Make use of begins_with() and ends_with().
23319         * tests/harness/testsuite.cc: Tidy up guessing of srcdir.  In
23320           particular, fix comments to reflect that libtool won't create a
23321           wrapper script for the test programs on most platforms (because
23322           we now use --no-install when linking).
23323         * backends/inmemory/inmemory_alltermslist.cc: In the ctor, use
23324           std::map::lower_bound() to find the first term matching the
23325           given prefix, rather than iterating through from the start of
23326           the map.  Also, don't skip deleted terms here, but instead do
23327           that in next() - this avoids duplicating code, and the first
23328           operation might be skip_to() in which case we can avoid wasting
23329           effort.
23331 Thu Jun 07 17:16:12 BST 2007  Olly Betts <olly@survex.com>
23333         * queryparser/queryparser.lemony: Eliminate the QpQuery class and
23334           simplify various bits of the code.
23336 Thu Jun 07 14:32:22 BST 2007  Olly Betts <olly@survex.com>
23338         * tests/queryparsertest.cc: Enhance qp_value_customrange1.
23340 Thu Jun 07 14:31:40 BST 2007  Olly Betts <olly@survex.com>
23342         * docs/Makefile.am,docs/index.html,docs/valueranges.rst: Add document
23343           describing how to use Xapian::ValueRangeProcessor.
23345 Thu Jun 07 14:16:01 BST 2007  Olly Betts <olly@survex.com>
23347         * tests/queryparsertest.cc: Add test of custom ValueRangeProcessor
23348           subclass (qp_value_customrange1).
23350 Thu Jun 07 10:01:46 BST 2007  Olly Betts <olly@survex.com>
23352         * common/serialise.h,tests/harness/testsuite.h: Use XAPIAN_NORETURN()
23353           to mark functions which never return.
23355 Thu Jun 07 01:28:00 BST 2007  Olly Betts <olly@survex.com>
23357         * NEWS: Update.
23359 Thu Jun 07 01:02:22 BST 2007  Olly Betts <olly@survex.com>
23361         * examples/simpleexpand.cc: Fix off-by-one error when creating the
23362           fake RSet (picked up to 4 documents, not up to 5).
23364 Wed Jun 06 17:17:05 BST 2007  Olly Betts <olly@survex.com>
23366         * include/xapian/queryparser.h: Add documentation comments for
23367           ValueRangeProcessor and subclasses (mostly fixes bug#155, but
23368           I'd like to add an overview document too).
23370 Wed Jun 06 16:04:08 BST 2007  Olly Betts <olly@survex.com>
23372         * tests/testdata/flint-0.9.9/: Minimal example of a Flint database
23373           from Xapian 0.9.9.
23374         * tests/api_db.cc: Use a real 0.9.9 flint database instead of faking
23375           it by fudging with the "iamflint" file in a current one.
23376           flintdatabaseformaterror1 now also checks for opening with the
23377           Database ctor as well as with Flint::open().  The writing test from
23378           flintdatabaseformaterror1 is now flintdatabaseformaterror2 which
23379           additionally tests opening with the WritableDatabase ctor as well as
23380           with Flint::open().  The old flintdatabaseformaterror2 is now
23381           flintdatabaseformaterror3.
23383 Wed Jun 06 15:44:08 BST 2007  Olly Betts <olly@survex.com>
23385         * backends/flint/flint_database.cc: Don't check for pre-0.6 databases
23386           here (since they'll be quartz format anyway - the check is just an
23387           overenthusiastic cut-and-paste from quartz).
23389 Wed Jun 06 12:35:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23391         * matcher/valuerangepostlist.cc: Avoid calling db->get_lastdocid()
23392           repeatedly in ValueRangePostList::next() - was taking 25% of the
23393           time for a particular test case.
23395 Wed Jun 06 12:17:51 BST 2007  Olly Betts <olly@survex.com>
23397         * tests/harness/unixcmds.cc,tests/harness/unixcmds.h: Add "cp_R()"
23398           which does much the same as "cp -R" on Unix.
23400 Wed Jun 06 12:12:50 BST 2007  Olly Betts <olly@survex.com>
23402         * include/xapian/Makefile: New stub makefile for include/xapian.
23403         * bin/Makefile.mk,examples/Makefile.mk,include/Makefile.mk: Distribute
23404           missing stub Makefile and dir_contents files.
23406 Tue Jun 05 16:44:51 BST 2007  Olly Betts <olly@survex.com>
23408         * tests/harness/index_utils.cc: Back out linger line from r7758.
23409           Fix undefined behaviour in cases where a paragraph has <= 2
23410           characters.
23412 Mon Jun 04 15:31:08 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23414         * tests/harness/backendmanager.cc,tests/harness/index_utils.cc:
23415           Revert the recent changes to the indexing code, and also the
23416           change from revision r7758 which was intended to fix a problem
23417           with eof handling on windows (which is what broke the indexing of
23418           etext.txt).  Then, change backendmanager.cc to test "!from.eof()"
23419           instead of "from" to check for eof - hopefully this will work on
23420           windows - if not, we can investigate further.
23422 Mon Jun 04 13:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23424         * tests/harness/backendmanager.cc: Undo previous patch - only the
23425           patch to index_utils.cc was necessary; I mistakenly committed
23426           both files I'd been modifying.
23428 Mon Jun 04 09:06:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23430         * tests/api_db.cc: Add a check to consistency1 that the full mset
23431           size is as big as it should be, to make sure that we notice in
23432           future if the indexing goes wrong again.
23434 Mon Jun 04 08:59:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23436         * tests/harness/backendmanager.cc,tests/harness/index_utils.cc:
23437           Fix the indexing of the testdata, so that the "etext" example is
23438           properly indexed (previously, only the first line was being
23439           indexed, due to faulty end-of-file handling).  This only affects
23440           the "consistency1" test, which now runs a lot slower (but still
23441           passes, fortunately).
23443 Fri Jun 01 23:47:42 BST 2007  Olly Betts <olly@survex.com>
23445         * examples/simpleexpand.cc: Rewrite based on new simplesearch.cc.
23447 Fri Jun 01 00:50:00 BST 2007  Olly Betts <olly@survex.com>
23449         * examples/simpleindex.cc: Replacement "simpleindex" example which
23450           uses the TermGenerator class, which makes for a much smaller and
23451           simpler example.  It's also much more typical of what most users
23452           will want to do.
23454 Thu May 31 23:01:47 BST 2007  Olly Betts <olly@survex.com>
23456         * examples/simplesearch.cc: Replacement "simplesearch" example which
23457           uses the QueryParser.  That makes for a simpler example, and it's
23458           much more typical of what most users will want to do.
23460 Thu May 31 19:31:40 BST 2007  Olly Betts <olly@survex.com>
23462         * NEWS: Update.
23464 Thu May 31 19:18:41 BST 2007  Olly Betts <olly@survex.com>
23466         * HACKING,configure.ac: Relax automake requirement to 1.9.2 to allow
23467           RPM building on RHEL 4.
23468         * HACKING: automake 1.10 seems to work fine with Xapian.
23470 Thu May 31 03:04:42 BST 2007  Olly Betts <olly@survex.com>
23472         * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
23473           Check if the docid counter wraps and if it does throw DatabaseError
23474           (fixes bug#152).
23475         * tests/api_wrdb.cc: Add regression test (nomoredocids1).
23477 Thu May 31 02:01:31 BST 2007  Olly Betts <olly@survex.com>
23479         * backends/dbfactory_remote.cc,backends/remote/remote-database.cc,
23480           common/progclient.h,common/remote-database.h,common/tcpclient.h,
23481           net/progclient.cc: Stop a non-writable remote database from calling
23482           dtor_called() when it is destroyed, since that causes MSG_FLUSH to
23483           be sent to the server (fixes bug#149).
23485 Wed May 30 19:47:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23487         * include/xapian/query.h: New accessor method
23488           Xapian::Query::Internal::get_parameter().
23489         * queryparser/queryparser.lemony: Multiple boolean prefixed terms
23490           with the same term prefix are now combined with OR before such
23491           groups are combined with AND.  Similarly for multiple value ranges
23492           on the same value (fixes bug#157).
23493         * include/xapian/queryparser.h: Document new handling of multiple
23494           boolean prefixed terms.
23495         * tests/queryparsertest.cc: Testcases for new handling of multiple
23496           boolean prefixed terms and value ranges.
23498 Wed May 30 14:45:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23500         * docs/deprecation.rst: Update comment about QueryParserError to
23501           point out that you'll need to compile conditionally to work with
23502           0.9.x
23504 Wed May 30 14:33:29 BST 2007  Olly Betts <olly@survex.com>
23506         * NEWS: Update.  Put all the subheadings in the standard order used
23507           for previous releases.
23509 Wed May 30 12:58:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23511         * include/xapian/database.h,api/omdatabase.cc,backends/flint/,
23512           backends/inmemory/,backends/quartz/,
23513           backends/remote/remote-database.cc,
23514           common/database.h,common/remote-database.h,common/remoteprotocol.h,
23515           net/remoteserver.cc: Add a prefixed form of allterms_begin() and
23516           allterms_end(), which allows efficient iteration over only those
23517           terms which begin with the given prefix.  Requires bumping the
23518           remote protocol minor version number, but doesn't change any
23519           database formats.
23520         * queryparser/queryparser.lemony: Update the wildcard and partial
23521           query routines to use the prefixed form of allterms_begin().
23522           This fixes the performance problems noted in bug #153.
23523         * tests/api_db.cc: Add test_allterms6() to test the prefixed form
23524           of allterms iterators.
23526 Wed May 30 12:23:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23528         * backends/remote/remote-database.cc,common/remoteprotocol.h,
23529           docs/remote_protocol.html,net/remoteserver.cc: Apply patch from
23530           Olly (from bug #153) which implements minor version numbers for
23531           the remove protocol.  This will allow us to add new features to
23532           the protocol in future without forcing all clients to upgrade to
23533           exactly the same version as the servers.  Bump the major version
23534           to 30, since this is an incompatible change itself, though.
23536 Wed May 30 12:12:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23538         * include/xapian/query.h: Expand documentation of value range
23539           query constructor.
23541 Wed May 30 10:28:39 BST 2007  Olly Betts <olly@survex.com>
23543         * docs/deprecation.rst: Improve entry for QueryParserError.
23545 Wed May 30 01:30:35 BST 2007  Olly Betts <olly@survex.com>
23547         * backends/flint/,bin/xapian-compact.cc: Don't uncompress and
23548           recompress tags when compacting a database.  This speeds up
23549           xapian-compact rather a lot (by more than 50% in my quick test).
23551 Tue May 29 20:58:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23553         * queryparser/Makefile.mk: Fix multiple target rule for generating
23554           the queryparser source files in parallel builds, as described in
23555           HACKING, and as done for the SWIG rules in xapian-bindings.
23556         * queryparser/: Add queryparser_internal.lock and
23557           queryparser_internal.stamp to SVN ignores.
23559 Tue May 29 18:30:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23561         * tests/queryparsertest.cc: Use TEST_STRINGS_EQUAL when comparing
23562           queries against their expected output, since this makes it much
23563           easier to see the differences.
23565 Tue May 29 18:13:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23567         * NEWS: Bring up-to-date.
23569 Mon May 28 09:27:43 BST 2007  Olly Betts <olly@survex.com>
23571         * examples/copydatabase.cc: Fix to compile with GCC 2.95.
23573 Mon May 28 01:28:23 BST 2007  Olly Betts <olly@survex.com>
23575         * examples/copydatabase.cc: Rewrite to take advantage of
23576           being able to iterate over all the documents in a database.
23578 Sun May 27 12:20:03 BST 2007  Olly Betts <olly@survex.com>
23580         * include/xapian/termgenerator.h: Improve documentation comments
23581           for TermGenerator class.
23583 Sun May 27 12:15:02 BST 2007  Olly Betts <olly@survex.com>
23585         * backends/quartz/quartz_database.cc,bin/,examples/,net/tcpserver.cc,
23586           tests/api_db.cc,tests/harness/testsuite.cc,tests/harness/testutils.h,
23587           tests/queryparsertest.cc,tests/termgentest.cc: Make use of
23588           Xapian::Error::get_description(), which improves error reporting
23589           in a number of places.
23590         * tests/harness/testsuite.cc: If we get an exception with a long
23591           message in verbose mode, just report the whole message rather than
23592           reporting the truncated message followed by the whole message.
23593         * tests/queryparsertest.cc: Handle Xapian::QueryParserError specially
23594           (as we previously handled all Xapian::Error exceptions).  Other
23595           Xapian::Error exceptions now report the description not just the
23596           message.
23598 Sun May 27 11:33:11 BST 2007  Olly Betts <olly@survex.com>
23600         * api/error.cc,generate-exceptions.in: Add new API method
23601           Xapian::Error::get_description() to allow removal of
23602           essentially duplicated code in many places.  Also useful for
23603           users for the same reason.
23605 Sun May 27 09:56:21 BST 2007  Olly Betts <olly@survex.com>
23607         * generate-exceptions.in: Add vim modeline to force perl syntax
23608           highlighting.
23610 Sat May 26 22:53:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23612         * NEWS: Bring up-to-date.
23614 Sat May 26 22:49:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23616         * docs/deprecation.rst: Fix typo in deprecation list for the
23617           bindings pointed out by Thomas Waldmann.
23619 Sat May 26 09:39:36 BST 2007  Olly Betts <olly@survex.com>
23621         * HACKING: Add note about reasons for avoiding std::pair<> with an STL
23622           class as one or both members.
23624 Thu May 24 17:28:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23626         * queryparser/Makefile.mk: $(top_builddir)/queryparser is only
23627           required in include path for maintainer mode, so make it so for
23628           neatness.
23630 Tue May 22 11:04:04 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23632         * queryparser/Makefile.mk: Add $(top_builddir)/queryparser to include
23633           path for VPATH builds, to fix a problem with depcomp (triggered
23634           when compiling with gcc-2.95).
23635         * NEWS: Keep up to date.
23637 Mon May 21 13:38:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23639         * tests/queryparsertest.cc: Reduce the range of the test, so that
23640           it passes again, to let the autobuilders work and unbreak HEAD.
23642 Mon May 21 10:26:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23644         * tests/queryparsertest.cc: Remove FIXME from test_qp_flag_partial1:
23645           I've checked that the results look correct.  New test
23646           test_qp_value_range3, to test the NumberValueRangeProcessors -
23647           currently fails because "10" is considered to be between "1" and
23648           "2".
23649         * include/xapian/query.h: Fix typo in documentation comment.
23651 Mon May 21 10:09:34 BST 2007  Olly Betts <olly@survex.com>
23653         * tests/harness/testsuite.h: Put quotes around strings when reporting
23654           a failure in TEST_STRINGS_EQUAL().
23656 Mon May 21 10:08:18 BST 2007  Olly Betts <olly@survex.com>
23658         * tests/internaltest.cc: New tests serialiseerror1 which checks that
23659           the handling of errno/error_string.
23660         * common/serialise.h: Make unserialise_error externally visible for
23661           new test.
23663 Mon May 21 08:40:06 BST 2007  Olly Betts <olly@survex.com>
23665         * HACKING: Update release checklist.
23667 Fri May 18 02:10:39 BST 2007  Olly Betts <olly@survex.com>
23669         * generate-exceptions.in: Fix grammatical errors in Error::get_errno()
23670           deprecation explanation.
23672 Thu May 17 23:51:17 BST 2007  Olly Betts <olly@survex.com>
23674         * api/error.cc: Need <stdlib.h> for free() to build with GCC 4.3
23675           snapshot.
23677 Thu May 17 23:11:53 BST 2007  Olly Betts <olly@survex.com>
23679         * NEWS: Fix line wrapping (ok, isn't wasn't final!)
23681 Thu May 17 22:28:44 BST 2007  Olly Betts <olly@survex.com>
23683         * NEWS: Final update before release.
23685 Thu May 17 19:10:27 BST 2007  Olly Betts <olly@survex.com>
23687         * configure.ac: Bump version to 1.0.0 and update LIBRARY_VERSION_INFO.
23689 Thu May 17 19:10:11 BST 2007  Olly Betts <olly@survex.com>
23691         * NEWS: Minor wording tweak.
23693 Thu May 17 19:06:34 BST 2007  Olly Betts <olly@survex.com>
23695         * docs/Makefile.am: Run rst2html with --strict --verbose options to
23696           reject .rst files with problems.
23697         * docs/deprecation.rst: Add more entries gleaned from the NEWS file.
23699 Thu May 17 18:30:01 BST 2007  Olly Betts <olly@survex.com>
23701         * NEWS: Update with fixes from Jenny's proof-reading and a few other
23702           tweaks.
23704 Thu May 17 18:27:53 BST 2007  Olly Betts <olly@survex.com>
23706         * AUTHORS: Update.
23708 Thu May 17 18:25:39 BST 2007  Olly Betts <olly@survex.com>
23710         * PLATFORMS: Updates from the tinderbox.
23712 Thu May 17 18:08:13 BST 2007  Olly Betts <olly@survex.com>
23714         * common/safesysstat.h: Need the 2 argument mkdir() wrapper for Mingw
23715           too.  Define S_ISDIR() and S_ISREG() if they aren't already defined
23716           rather than conditional on _MSC_VER.
23718 Thu May 17 17:58:43 BST 2007  Olly Betts <olly@survex.com>
23720         * docs/admin_notes.rst: "flint-check" -> "xapian-check".
23722 Thu May 17 17:46:36 BST 2007  Olly Betts <olly@survex.com>
23724         * NEWS: Update for Xapian 1.0.0.
23726 Thu May 17 17:41:15 BST 2007  Olly Betts <olly@survex.com>
23728         * docs/: Update documentation for 1.0.0; add new document describing
23729           new term generation strategy as implemented by TermGenerator class;
23730           link in "lost" documents to the index page.
23732 Thu May 17 03:54:36 BST 2007  Olly Betts <olly@survex.com>
23734         * exception_data.pm: Fix to work with Perl 5.6.
23736 Thu May 17 01:20:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23738         * backends/multi/multi_alltermslist.cc: Check that iterators are
23739           not at_end() before calling skip_to() on them.
23741 Thu May 17 00:49:03 BST 2007  Olly Betts <olly@survex.com>
23743         * backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc,
23744           backends/quartz/btree.cc,common/Makefile.mk,
23745           common/msvc_posix_wrapper.cc,common/msvc_posix_wrapper.h: Use
23746           msvc_posix_wrapper.h functions for all __WIN32__ builds, not just
23747           for MSVC.
23749 Wed May 16 23:55:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23751         * api/omdatabase.cc: Fix return type in debug macro in
23752           replace_document().
23754 Wed May 16 23:45:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23756         * tests/apitest.cc: Add collfreq and allterms tests to the tests
23757           for the remote and remotetcp backends.  They all pass.
23759 Wed May 16 15:11:00 BST 2007  Olly Betts <olly@survex.com>
23761         * configure.ac: Need to try -zdll for mingw as well.
23763 Wed May 16 14:45:23 BST 2007  Olly Betts <olly@survex.com>
23765         * tests/queryparsertest.cc: Add two more testcases.
23767 Wed May 16 14:32:46 BST 2007  Olly Betts <olly@survex.com>
23769         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix
23770           double-free on invalid range query.
23772 Wed May 16 10:08:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23774         * tests/queryparsertest.cc: Add some more test cases to the value
23775           range processor.  These currently fail with a SIGSEGV message.
23777 Wed May 16 02:22:17 BST 2007  Olly Betts <olly@survex.com>
23779         * queryparser/termgenerator_internal.cc: Fix handling of stemming of
23780           prefixed terms.
23781         * tests/termgentest.cc: Fix testcases.
23783 Wed May 16 01:54:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23785         * tests/termgentest.cc: Add a test for parsing of capitalised words
23786           with a prefix, which currently fails.
23788 Wed May 16 01:09:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23790         * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
23791           a method to get the current document from the term generator.
23792           Helps avoid users having to pass around a structure encapsulating
23793           the generator and the document assigned to it.
23795 Wed May 16 00:50:07 BST 2007  Olly Betts <olly@survex.com>
23797         * docs/deprecation.rst: Add <xapian/output.h>.
23799 Tue May 15 22:46:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23801         * tests/termgentest.cc: Use resize(0) instead of clear(), for g++2.95
23803 Tue May 15 20:25:07 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23805         * net/remoteconnection.cc: Add a comment noting why we test
23806           __STDC_SECURE_LIB__ even though its an undocumented macro.
23808 Tue May 15 20:14:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23810         * tests/termgentest.cc: Add several more tests - some converted
23811           from the query tests, some more initial tests, and some number
23812           tests.
23814 Tue May 15 18:31:21 BST 2007  Olly Betts <olly@survex.com>
23816         * queryparser/termgenerator_internal.cc: Revert previous change - we
23817           need to generate Zibm and Zpc from text `I.B.M. P.C.' or else a
23818           search for `ibm pc' won't match.
23820 Tue May 15 18:22:44 BST 2007  Olly Betts <olly@survex.com>
23822         * queryparser/termgenerator_internal.cc: Sort out stemming of
23823           initials.
23825 Tue May 15 18:04:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23827         * tests/termgentest.cc: Add some more tests, and rework the array
23828           of tests so that there's just a single string holding any options
23829           we want to set for the following tests.
23831 Tue May 15 16:49:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23833         * tests/Makefile.am,tests/termgentest.cc: Add new test file, for
23834           testing the term generator.  Only has a single test so far.
23836 Tue May 15 16:20:20 BST 2007  Olly Betts <olly@survex.com>
23838         * include/xapian/unicode.h: Make single parameter ctor explicit.
23840 Tue May 15 16:00:24 BST 2007  Olly Betts <olly@survex.com>
23842         * queryparser/termgenerator_internal.cc: Add special handling for
23843           acronyms/initialisms, so I.B.M -> term ibm, etc.
23845 Tue May 15 14:07:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23847         * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
23848           a set_termpos() method, too.
23850 Tue May 15 13:54:34 BST 2007  Olly Betts <olly@survex.com>
23852         * include/xapian/database.h: Document the issue of the monotonic
23853           docid counter wrapping around.
23855 Tue May 15 10:58:37 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23857         * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
23858           get_termpos() method to get the current value of the termpos.
23859           Makes it easier to integrate with different term generators.
23861 Tue May 15 03:44:50 BST 2007  Olly Betts <olly@survex.com>
23863         * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
23864           Include '.', ',', and a few other characters in terms if they are
23865           between two decimal digits.
23866         * queryparser/termgenerator_internal.cc: Don't stem terms which start
23867           with a number.
23868         * tests/queryparsertest.cc: Update results for real world queries to
23869           match new results (better in every case but one!)
23871 Tue May 15 01:24:08 BST 2007  Olly Betts <olly@survex.com>
23873         * HACKING: Fix a few typos.  Add "feisty" to the list of debs to
23874           build.
23876 Tue May 15 00:51:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23878         * HACKING: Document that the bootstrap script should be run from
23879           srcdir, and that the generated configure can be run from a
23880           different builddir.  Tidy up a few other lines.
23882 Mon May 14 23:52:33 BST 2007  Olly Betts <olly@survex.com>
23884         * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
23885           Expand check_infix to include some of characters Unicode does.
23886         * tests/queryparsertest.cc: Update the single test query which now
23887           parses differently.
23889 Mon May 14 23:42:53 BST 2007  Olly Betts <olly@survex.com>
23891         * tests/harness/testsuite.h: New macro TEST_STRINGS_EQUAL() which
23892           displays the strings on separate lines so the differences can
23893           be clearly seen.
23894         * tests/queryparsertest.cc: Use TEST_STRINGS_EQUAL().
23896 Mon May 14 20:14:17 BST 2007  Olly Betts <olly@survex.com>
23898         * include/xapian/enquire.h: Make the "uses string sort" warning in
23899           the documentation for the methods which enable sorting by value
23900           more prominent, and fix several miscellaneous typos.
23902 Mon May 14 19:28:21 BST 2007  Olly Betts <olly@survex.com>
23904         * queryparser/dir_contents: Update to mention TermGenerator.
23906 Mon May 14 19:12:12 BST 2007  Olly Betts <olly@survex.com>
23908         * queryparser/queryparser.lemony: Fix handling of WILDCARD_TERM and
23909           PARTIAL_TERM for prefixed terms.
23910         * tests/queryparsertest.cc: Add test coverage for this.
23912 Mon May 14 18:02:22 BST 2007  Olly Betts <olly@survex.com>
23914         * tests/queryparsertest.cc: Add more testcases for wildcarded queries.
23916 Mon May 14 17:39:30 BST 2007  Olly Betts <olly@survex.com>
23918         * queryparser/queryparser.lemony: Fix handling of partial queries.
23920 Mon May 14 16:49:46 BST 2007  Olly Betts <olly@survex.com>
23922         * net/remoteconnection.cc: closesocket() seems to work equally as
23923           well as CloseHandle() but it's what we use elsewhere and Charlie
23924           thinks it's a better choice here too so use that instead.  Rename
23925           the wrapper call from close_fd_or_handle() to close_fd_or_socket().
23926           And mark close_fd_or_socket() as "inline" under UNIX, since it
23927           should always be inlined.
23929 Mon May 14 15:30:13 BST 2007  Olly Betts <olly@survex.com>
23931         * tests/api_anydb.cc: Add FIXME about moving wildquery1.
23933 Mon May 14 15:21:59 BST 2007  Olly Betts <olly@survex.com>
23935         * bin/xapian-progsrv.cc: Improve comments.
23937 Mon May 14 11:29:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23939         * net/remoteconnection.cc: Deal with invalid parameter exceptions
23940           on windows when closing file descriptors or handles.
23942 Mon May 14 05:04:16 BST 2007  Olly Betts <olly@survex.com>
23944         * tests/api_anydb.cc: Fix wildquery1 to work with the new term
23945           stemming scheme.
23947 Sun May 13 19:15:17 BST 2007  Olly Betts <olly@survex.com>
23949         * include/xapian/unicode.h: Count control characters as whitespace
23950           (which is certainly what we want for TAB, CR, LF, and FF).
23952 Sun May 13 17:50:19 BST 2007  Olly Betts <olly@survex.com>
23954         * include/xapian/unicode.h: Add CONNECTOR_PUNCTUATION to is_wordchar()
23955           - this category includes '_' and characters which fulfil similar
23956           roles.
23957         * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
23958           No longer need to special case '_'.
23959         * queryparser/queryparser.lemony: Test for Unicode "whitespace" rather
23960           than just ASCII.
23962 Sun May 13 04:43:37 BST 2007  Olly Betts <olly@survex.com>
23964         * queryparser/queryparser.lemony: Normalise Unicode characters used
23965           for apostrophe to ASCII apostrophe.
23967 Sun May 13 03:56:17 BST 2007  Olly Betts <olly@survex.com>
23969         * include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode
23970           routines to use Unicode 5.0.0 and support characters outside the BMP
23971           (so we now support all Unicode characters in the latest version of
23972           the standard).
23973         * tests/api_unicode.cc: Add test unicode1 which performs some simple
23974           tests of the categorisation function, include one which tests for a
23975           character added in Unicode 5.0.0.
23977 Sat May 12 06:01:50 BST 2007  Olly Betts <olly@survex.com>
23979         * queryparser/queryparser.lemony: Update comment.
23981 Sat May 12 04:23:01 BST 2007  Olly Betts <olly@survex.com>
23983         * queryparser/queryparser.lemony: Improve description of Term class.
23985 Sat May 12 04:16:47 BST 2007  Olly Betts <olly@survex.com>
23987         * queryparser/queryparser.lemony: Update to implement the new stemming
23988           scheme.
23989         * tests/queryparsertest.cc: Update testcases, and check that the new
23990           parses are all reasonable.
23992 Sat May 12 04:03:55 BST 2007  Olly Betts <olly@survex.com>
23994         * include/xapian/unicode.h: Xapian::Unicode::get_category() now checks
23995           for characters outside the BMP, and assumes they're of category
23996           OTHER_LETTER.  Remove BMP check from all functions which use
23997           Xapian::Unicode::get_category().
23999 Sat May 12 04:02:52 BST 2007  Olly Betts <olly@survex.com>
24001         * include/xapian/queryparser.h: Fix typo in comment.
24003 Fri May 11 05:45:38 BST 2007  Olly Betts <olly@survex.com>
24005         * net/remoteserver.cc: Make "Server is read-only" be of type
24006           InvalidOperationError not NetworkError.  This is arguably more
24007           appropriate anyway, but in particular it avoids a worrying looking
24008           (but harmless) warning when a read-only connection is closed, due
24009           dtor_called() calling flush() on a read-only database.
24011 Fri May 11 01:35:31 BST 2007  Olly Betts <olly@survex.com>
24013         * docs/Makefile.am: Disable more documentation rules if
24014           MAINTAINER_NO_DOCS is true.
24016 Thu May 10 23:01:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24018         * net/remoteconnection.cc: Remove definition of unused macro
24019           XAPIAN_MSVC_INVALID_PARAMETER_HANDLER.
24021 Thu May 10 19:24:23 BST 2007  Olly Betts <olly@survex.com>
24023         * include/xapian/enquire.h: Try quoting qualified identifiers in
24024           #pragma deprecated.
24026 Thu May 10 15:58:37 BST 2007  Olly Betts <olly@survex.com>
24028         * include/xapian/enquire.h: Give full scope in '#pragma deprecated'
24029           to try to avoid false positives.
24031 Thu May 10 14:53:08 BST 2007  Olly Betts <olly@survex.com>
24033         * include/xapian/enquire.h: Use '#pragma deprecated' to work around
24034           MSVC stupidity (you get a warning for deprecating a declaration).
24036 Thu May 10 13:42:49 BST 2007  Olly Betts <olly@survex.com>
24038         * configure.ac: Some GCC 3.x versions produce bogus warnings, so only
24039           automatically enable -Werror on --enable-maintainer-mode under GCC
24040           if we're using GCC >= 4.0.  Most developers will be using GCC 4.x
24041           soon if they aren't already anyway.
24042         * HACKING: Update documentation in line with the above.  Mention that
24043           we also enable -Werror for Intel's C++ compiler.
24045 Thu May 10 05:06:22 BST 2007  Olly Betts <olly@survex.com>
24047         * configure.ac: Detect __WIN32__ by running the preprocessor so we
24048           don't get confused by building mingw in a cygwin environment.
24050 Thu May 10 04:52:21 BST 2007  Olly Betts <olly@survex.com>
24052         * net/tcpserver.cc: Exit with EX_UNAVAILABLE if the mutex tells us
24053           xapian-tcpsrv is already running on this port.
24055 Thu May 10 04:44:10 BST 2007  Olly Betts <olly@survex.com>
24057         * common/Makefile.mk,common/safe.cc,common/safeunistd.h: Pulling
24058           in safewindows.h from safeunistd.h causes clashes with NEAR
24059           in the QueryParser, so use a helper function to call Sleep
24060           and just call that from the header.
24062 Thu May 10 04:36:19 BST 2007  Olly Betts <olly@survex.com>
24064         * net/tcpserver.cc: Fix compilation error.
24066 Thu May 10 04:26:31 BST 2007  Olly Betts <olly@survex.com>
24068         * common/tcpserver.h,net/tcpserver.cc: Just pass the mutex to
24069           get_listening_socket() by reference to avoid MSVC warnings.
24071 Thu May 10 04:19:13 BST 2007  Olly Betts <olly@survex.com>
24073         * common/safeunistd.h: Use Sleep() instead of _sleep() as the latter
24074           gives deprecation warnings.  Sadly that means that safeunistd.h
24075           now has to pull in safewindows.h.
24077 Thu May 10 04:07:53 BST 2007  Olly Betts <olly@survex.com>
24079         * common/tcpserver.h,net/tcpserver.cc: Keep track of the mutex so
24080           we can release it right after we close the listening socket.
24081           Throw an error if we fail to get the mutex to avoid a possible
24082           race condition (we might end up with the socket listening but
24083           without the mutex locked).  Always call closesocket() on the
24084           listening socket under __WIN32__ to ensure resources are released.
24086 Thu May 10 02:48:31 BST 2007  Olly Betts <olly@survex.com>
24088         * net/tcpserver.cc: Use a mutex under Cygwin and WIN32 to allow use to
24089           use Microsoft's broken SO_REUSEADDR on our listening socket, but
24090           avoid being able to run two copies of xapian-tcpsrv on the same port
24091           at once (tweaked patch from MarkH).
24092         * net/tcpserver.cc: Don't try to set SO_EXCLUSIVEADDRUSE if a previous
24093           setsockopt() call failed as we might stomp on the error code.
24095 Thu May 10 02:15:20 BST 2007  Olly Betts <olly@survex.com>
24097         * Makefile.am,bin/Makefile.mk,configure.ac,docs/Makefile.am,
24098           examples/Makefile.mk: Add new Automake conditional
24099           "MAINTAINER_NO_DOCS" to allow use to disable references to built
24100           documentation in maintainer builds if --disable-documentation is
24101           specified.  This allows Mark's buildbot to work without installing
24102           so many tools, some of which aren't packaged for Cygwin.
24104 Thu May 10 02:03:44 BST 2007  Olly Betts <olly@survex.com>
24106         * Makefile.am: Build rules for running generate-exceptions should be
24107           controlled by MAINTAINER_MODE not DOCUMENTATION_RULES, part II.
24109 Thu May 10 01:49:42 BST 2007  Olly Betts <olly@survex.com>
24111         * docs/deprecation.rst: Add Error::get_type().
24113 Thu May 10 01:25:37 BST 2007  Olly Betts <olly@survex.com>
24115         * api/error.cc,generate-exceptions.in: Add new constructors which
24116           allow error_string to be set directly, for use by the Xapian::Error
24117           unserialising code.
24118         * generate-exceptions.in: Xapian::Error::get_type() now returns
24119           const char * not std::string.
24120         * backends/quartz/quartz_database.cc: Fix code to handle changed
24121           return type of Xapian::Error::get_type().
24122         * net/serialise.cc: Include error_string in the serialisation.
24123         * common/remoteprotocol.h,docs/remote_protocol.html: Bump protocol
24124           version to 29 because of change in Xapian::Error serialisation.
24126 Wed May 09 14:42:33 BST 2007  Olly Betts <olly@survex.com>
24128         * queryparser/queryparser.lemony: Renaming match_nothing_
24129           member of QpQuery to match_nothing.  Comment out unused
24130           QpQuery::get_description().  Add FIXME comment about
24131           apparently redundant logic (now's not really the time
24132           to be fiddling with such things).
24134 Wed May 09 14:27:02 BST 2007  Olly Betts <olly@survex.com>
24136         * queryparser/queryparser.lemony: Update to match new TermGenerator
24137           class.  '_' is now a term character, not a phrase generator.  We
24138           only keep a suffix which has 3 or fewer characters, and we no longer
24139           count '-' as a suffix character.
24140         * tests/queryparsertest.cc: Update test cases to match new behaviour.
24141           In almost every case the new rules give a better result.
24143 Wed May 09 14:15:38 BST 2007  Olly Betts <olly@survex.com>
24145         * languages/compiler/space.c: Add sanity check to b_to_s(),
24146           highlighted by MSVC warning.
24148 Wed May 09 14:06:24 BST 2007  Olly Betts <olly@survex.com>
24150         * tests/btreetest.cc: Return filesize as off_t to avoid MSVC warning
24151           about truncating from 64 to 32 bits (the filesize will never be
24152           more than a few K here, so this is essentially a cosmetic issue).
24154 Wed May 09 04:04:03 BST 2007  Olly Betts <olly@survex.com>
24156         * common/tcpserver.h,net/tcpserver.cc: Always starting the server in a
24157           new thread in "one-shot" mode is trickier than it looked, so revert
24158           that change for now.  Always call closesocket() on our sockets under
24159           __WIN32__.
24161 Wed May 09 01:53:43 BST 2007  Olly Betts <olly@survex.com>
24163         * common/tcpserver.h,net/tcpserver.cc: Make UNIX signal handling
24164           functions and WIN32 CrtlHandler static.  TcpServer::run() is now
24165           generic, calling an OS-specific TcpServer::run_once().  Now we
24166           always run the server in a new thread in "one-shot" mode, which
24167           gives better code coverage in apitest as it runs more like a normal
24168           xapian-tcpsrv would.  CtrlHandler now lets the OS handle the event
24169           if it doesn't have a socket to close, or if closesocket() fails.
24171 Wed May 09 01:42:33 BST 2007  Olly Betts <olly@survex.com>
24173         * net/remoteconnection.cc: DWORD is unsigned, so received can't be
24174           negative - tidy up the ReadFile() loop taking this into account.
24176 Wed May 09 01:28:48 BST 2007  Olly Betts <olly@survex.com>
24178         * net/remoteconnection.cc: ReadFile() doesn't set errno, so remove
24179           test for EINTR which is just a hangover from the UNIX code.
24181 Tue May 08 23:50:33 BST 2007  Olly Betts <olly@survex.com>
24183         * queryparser/termgenerator_internal.cc: Treat '_' as a word character
24184           which seems to be the correct thing to do in general.  Generate
24185           unstemmed terms with positional information for all words without a
24186           prefix, and stemmed terms without positional information for
24187           non-stopwords with a 'Z' prefix.  This means we can implement exact
24188           phrase search, and prefixing stemmed forms (rather than unstemmed
24189           as Omega < 1.0 does) means fewer terms with the prefix.  Only
24190           stemming non-stopwords cuts a significant amount of the database
24191           size in my tests.
24193 Tue May 08 18:22:30 BST 2007  Olly Betts <olly@survex.com>
24195         * net/tcpserver.cc: Fix remaining use of handle_one_request in
24196           __WIN32__-specific code.
24198 Tue May 08 18:10:12 BST 2007  Olly Betts <olly@survex.com>
24200         * api/error.cc: Really fix it...
24202 Tue May 08 17:38:04 BST 2007  Olly Betts <olly@survex.com>
24204         * api/error.cc: Fix another paste-o!
24206 Tue May 08 17:28:29 BST 2007  Olly Betts <olly@survex.com>
24208         * api/error.cc: Remove bogus statement in __WIN32__ case left over
24209           from cut-and-paste.
24211 Tue May 08 17:10:53 BST 2007  Olly Betts <olly@survex.com>
24213         * common/tcpserver.h,net/tcpserver.cc: Rename
24214           TcpServer::handle_one_request() to
24215           TcpServer::handle_one_connection() (to make it clearer that it
24216           handles a connection rather than a single MSG/REPLY exchange), and
24217           use it in UNIX builds too to avoid duplicating its code.  Catch
24218           NetworkTimeoutError here and report it if we're in verbose mode.
24219         * net/remoteserver.cc: If we catch NetworkTimeoutError then try to
24220           propagate it only if we can send it right away, then rethrow it
24221           to close the connection and let the caller log it.  If we catch
24222           any other NetworkError then just rethrow it.
24224 Tue May 08 16:52:50 BST 2007  Olly Betts <olly@survex.com>
24226         * common/noreturn.h: Add missing '#endif'.
24228 Tue May 08 16:19:05 BST 2007  Olly Betts <olly@survex.com>
24230         * common/Makefile.mk,common/noreturn.h: New header which defines
24231           XAPIAN_NORETURN() to allow functions which don't return to be
24232           marked as such so the compiler can take this into account when
24233           generating code.
24234         * api/error.cc,tests/harness/backendmanager.cc: Remove any trailing
24235           "\r\n" from the output of FormatMessage().
24237 Tue May 08 16:16:55 BST 2007  Olly Betts <olly@survex.com>
24239         * include/xapian/deprecated.h: Use `__attribute__((__deprecated__))'
24240           instead of `__attribute__((deprecated))' so we're even robust
24241           against some clown doing `#define deprecated foo'.
24243 Tue May 08 16:15:30 BST 2007  Olly Betts <olly@survex.com>
24245         * bin/quartzcheck.cc,tests/harness/backendmanager.cc: In these files
24246           we have to disable XAPIAN_DEPRECATED() since we need to be able to
24247           use Quartz::open() - move this to the start of the #include block
24248           to avoid problems with any intermediate header implicitly including
24249           <xapian.h>.
24251 Tue May 08 14:51:37 BST 2007  Olly Betts <olly@survex.com>
24253         * HACKING: Move section on "Configure Options" to a more logical spot
24254           just before "Makefile Portability".  Add section on how to use
24255           XAPIAN_DEPRECATED() noting the issue with GCC 3.3.5 not allowing
24256           it to be used on an inline method definition.
24257         * include/xapian/deprecated.h: Add pointers to HACKING and
24258           docs/deprecated.rst.
24260 Tue May 08 13:57:17 BST 2007  Olly Betts <olly@survex.com>
24262         * generate-exceptions.in: We can't use XAPIAN_DEPRECATED() on
24263           a function definition with GCC 3.3.5, so use it on a declaration
24264           and then define inline but out of the class.
24266 Tue May 08 13:45:48 BST 2007  Olly Betts <olly@survex.com>
24268         * net/tcpserver.cc: We must call closesocket() (instead of just
24269           close()) under __WIN32__ or else the socket remains in the
24270           CLOSE_WAIT state.
24272 Tue May 08 12:17:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24274         * docs/deprecation.rst: Add Error::get_errno() to the deprecation
24275           list for the bindings, too.
24277 Tue May 08 10:09:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24279         * docs/deprecation.rst: Change the xapian_version functions to be
24280           marked for removal in 1.1.0, and also note them in the bindings
24281           section.
24283 Tue May 08 04:27:37 BST 2007  Olly Betts <olly@survex.com>
24285         * backends/remote/remote-database.cc,common/remote-database.h: The
24286           timeout parameter to RemoteDatabase wasn't being used, instead the
24287           client would wait indefinitely for the server to respond.
24289 Tue May 08 04:16:45 BST 2007  Olly Betts <olly@survex.com>
24291         * generate-exceptions.in: Initialise error_string in Xapian::Error
24292           ctor.
24294 Tue May 08 03:48:47 BST 2007  Olly Betts <olly@survex.com>
24296         * api/error.cc: Fix compilation when HAVE_HSTRERROR isn't defined.
24298 Tue May 08 02:35:04 BST 2007  Olly Betts <olly@survex.com>
24300         * api/error.cc,bin/xapian-tcpsrv.cc,examples/delve.cc,
24301           generate-exceptions.in,tests/harness/testsuite.cc: Error subclasses
24302           now store the error_string in the class, converting it from the
24303           error code in my_errno lazily.  Also, get_error_string() now returns
24304           const char *.
24306 Tue May 08 01:34:56 BST 2007  Olly Betts <olly@survex.com>
24308         * Makefile.am: Build rules for running generate-exceptions should be
24309           controlled by MAINTAINER_MODE not DOCUMENTATION_RULES.
24311 Tue May 08 01:23:22 BST 2007  Olly Betts <olly@survex.com>
24313         * bin/xapian-tcpsrv.cc,docs/deprecation.rst,generate-exceptions.in,
24314           net/tcpserver.cc,tests/harness/testsuite.cc: Deprecate
24315           Error::get_errno() in favour of Error::get_error_string().  We can't
24316           pass errno values from remote server to client as they aren't
24317           portable and the server and client may be running on entirely
24318           different platforms!
24319         * generate-exceptions.in: Mark as generated with @configure_input@.
24321 Tue May 08 01:20:43 BST 2007  Olly Betts <olly@survex.com>
24323         * backends/flint/flint_database.cc,backends/flint/flint_lock.h: Make
24324           FlintLock's dtor release the lock (if held) which avoids the need
24325           for any special handling in FlintDatabase.
24327 Mon May 07 21:15:33 BST 2007  Olly Betts <olly@survex.com>
24329         * tests/harness/unixcmds.cc: Use O_BINARY when opening a file to
24330           "touch" it.
24332 Mon May 07 17:28:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24334         * backends/flint/flint_database.cc: Add try{}catch(...){} block to
24335           ensure that lock is released if an exception occurs in the
24336           FlintDatabase() constructor.
24337         * tests/api_db.cc: Add regression test for releasing lock on error
24338           in constructor.
24340 Mon May 07 11:10:33 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24342         * HACKING: Update section on multiple output rules to detail the
24343           workaround described in the automake manual.
24345 Mon May 07 10:03:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24347         * backends/flint/flint_database.cc,backends/flint/flint_database.h,
24348           backends/flint/flint_version.cc,backends/quartz/,exception_data.pm,
24349           include/xapian/database.h,tests/api_db.cc: Throw
24350           DatabaseVersionError instead of DatabaseOpeningError when database
24351           version is unsupported.  This is a new error class, which is a
24352           subclass of DatabaseOpeningError, so most existing scripts
24353           shouldn't need changing, but makes it easy for application
24354           writers to determine whether a database needs upgrading or
24355           whether the problem is something else.  Should fix #144.
24357 Mon May 07 09:22:01 BST 2007  Olly Betts <olly@survex.com>
24359         * net/progclient.cc: Under __WIN32__, use byte mode on pipes because
24360           message mode fails for message > 256 bytes, and use "overlapped"
24361           mode so we don't block waiting for a reply so that timeouts work.
24362           (Patch from Mark Hammond).
24364 Mon May 07 03:03:10 BST 2007  Olly Betts <olly@survex.com>
24366         * tests/api_anydb.cc,tests/apitest.cc,tests/harness/: Now
24367           TEST_EQUAL_DOUBLE() should work everywhere.  Move the helper
24368           function out of the header.  Use TEST_EQUAL_DOUBLE() instead
24369           of doubles_are_equal_enough() and weights_are_equal_enough()
24370           which do much the same job.
24372 Mon May 07 01:13:29 BST 2007  Olly Betts <olly@survex.com>
24374         * tests/harness/testsuite.h: Report extra info to try to work out why
24375           MSVC build is failing expandweights1.
24377 Mon May 07 00:26:59 BST 2007  Olly Betts <olly@survex.com>
24379         * tests/harness/testsuite.h: Another tweak to TEST_EQUAL_DOUBLE().
24381 Sun May 06 22:30:26 BST 2007  Olly Betts <olly@survex.com>
24383         * docs/quickstart.html: Remove reference to DA databases since the
24384           muscat36 backend has been removed.  Update to recommend GCC 3.3
24385           or later, as we do elsewhere.  Change references to "quartz" to
24386           say "flint", or remove them.
24388 Sun May 06 16:02:28 BST 2007  Olly Betts <olly@survex.com>
24390         * configure.ac: Set version to mythical 0.9.99.
24392 Sun May 06 15:06:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24394         * tests/api_db.cc: Add test_flintdatabaseformaterror1() which
24395           checks what happens when an old-format flint database is opened.
24396           It generates the old-format database by making a fake "iamflint"
24397           file containing an old version number.
24399 Sun May 06 04:00:39 BST 2007  Olly Betts <olly@survex.com>
24401         * expand/ortermlist.cc: Remove incorrect assertion check in
24402           OrTermList::next(), replacing it with anexplanatory comment.
24404 Sun May 06 02:42:30 BST 2007  Olly Betts <olly@survex.com>
24406         * net/remoteconnection.cc: Fix typo.
24408 Sun May 06 02:39:23 BST 2007  Olly Betts <olly@survex.com>
24410         * net/remoteconnection.cc: Aha!  Richard's patch failed to compile
24411           because stdlib.h was in "#ifndef __WIN32__" not "#ifdef __WIN32__".
24413 Sun May 06 02:27:18 BST 2007  Olly Betts <olly@survex.com>
24415         * net/remoteconnection.cc: Protect _set_invalid_parameter_handler, etc
24416           by _MSC_VER >= 1400 (MSVC 2005) and __STDC_SECURE_LIB__ (undocumented
24417           but cribbed from the Python sources).  Refactor into a handy class
24418           (MSVCIgnoreInvalidParameter) which just needs to be instantiated in
24419           the scope where you want to allow invalid parameters to be passed.
24421 Sun May 06 01:42:06 BST 2007  Olly Betts <olly@survex.com>
24423         * net/remoteconnection.cc: Rework use of _invalid_parameter_handler to
24424           only apply when _MSC_VER is defined, to fix the mingw build.
24426 Sat May 05 22:30:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24428         * net/remoteconnection.cc: Under __WIN32__, add an invalid
24429           parameter handler which ignores the error and use it for the
24430           calls to _get_osfhandle() which are sometimes expected to fail.
24431           Requires stdlib.h according to msdn, so also #include that.
24433 Sat May 05 20:43:29 BST 2007  Olly Betts <olly@survex.com>
24435         * bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/remoteconnection.h,
24436           common/remoteserver.h,common/tcpserver.h,net/remoteserver.cc,
24437           net/tcpserver.cc: Open a fresh copy of the database(s) on each
24438           connection to a xapian-tcpsrv rather than relying on being able to
24439           share a database across fork() or between threads (which we don't
24440           promise will work).  Largely based on patch from Mark Hammond.
24441           Fixes some of bug#141 and all of bug#142.
24443 Sat May 05 02:19:39 BST 2007  Olly Betts <olly@survex.com>
24445         * api/omdatabase.cc: Use RETURN() not return in methods with debug
24446           logging.
24448 Sat May 05 02:19:11 BST 2007  Olly Betts <olly@survex.com>
24450         * bin/xapian-compact.cc: Fix typo in comment.
24452 Fri May 04 23:59:54 BST 2007  Olly Betts <olly@survex.com>
24454         * backends/flint/flint_version.cc: Remove the "u" suffix from
24455           FLINT_VERSION as it's confusing in the "wrong format version"
24456           error message and doesn't seem needed in the code.
24458 Fri May 04 23:56:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24460         * backends/flint/: Revert patch from revision 8426 (except for the
24461           bit which removed the unused prototypes), to avoid the
24462           possibility that it introduces bugs into the code just before
24463           1.0.0.  The patch is attached to bug #143 for later reference.
24465 Fri May 04 23:50:39 BST 2007  Olly Betts <olly@survex.com>
24467         * examples/delve.cc: Report the error string if we catch Xapian::Error
24468           while trying to open a database.
24470 Fri May 04 22:50:54 BST 2007  Olly Betts <olly@survex.com>
24472         * docs/intro_ir.html: Fix a few typos; elaborate on a few points.
24474 Fri May 04 20:07:44 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24476         * queryparser/termgenerator_internal.cc: Fix bug in termgenerator -
24477           arguments to add_posting were the wrong way round.
24479 Fri May 04 20:00:40 BST 2007  Olly Betts <olly@survex.com>
24481         * queryparser/termgenerator_internal.cc: Limit term length, handle
24482           infix and suffix characters, and convert apostrophes to ASCII
24483           representation.
24485 Fri May 04 19:47:43 BST 2007  Olly Betts <olly@survex.com>
24487         * include/xapian/unicode.h: Fill in remaining missing documentation
24488           comments.
24490 Fri May 04 19:30:56 BST 2007  Olly Betts <olly@survex.com>
24492         * include/xapian/termgenerator.h: Add convenience version of
24493           index_text() and index_text_without_positions() which take a
24494           std::string instead of a Utf8Iterator.
24496 Fri May 04 17:11:11 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24498         * unicode/utf8itor.cc: Fix segfault bug in Utf8Iterator::operator*().
24499           If this was called when the iterator had reached end, invalid
24500           memory was accessed because p was compared to end, p will always
24501           be set to NULL when the iterator reaches the end.  No regression
24502           test, but the smoketest tests I'm implementing in the bindings
24503           will exercise this code.
24505 Fri May 04 16:29:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24507         * include/xapian/unicode.h: Add documentation comments to
24508           Utf8Iterator, so I don't have to work out how it works again.
24510 Fri May 04 14:55:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24512         * include/xapian/unicode.h: Add assign() function which takes a
24513           string, for symmetry with the constructors.  Also makes
24514           implementing the bindings easier.
24516 Fri May 04 13:04:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24518         * include/Makefile.mk: Add termgenerator.h to distribution
24519           tarballs.
24521 Fri May 04 03:41:56 BST 2007  Olly Betts <olly@survex.com>
24523         * tests/harness/testsuite.h: Test against pow(10, -DBL_DIG) rather
24524           than DBL_EPSILON.  DBL_EPSILON is a little bit smaller, but we use
24525           DBL_DIG for displaying the numbers and it looks stupid to say two
24526           numbers which are displayed identically should be nearly the same!
24528 Fri May 04 03:33:51 BST 2007  Olly Betts <olly@survex.com>
24530         * HACKING: Fix reference to --enable-maitainer-mode and documentation
24531           rebuilding.
24533 Fri May 04 03:32:57 BST 2007  Olly Betts <olly@survex.com>
24535         * configure.ac: Fix now erroneous references to tools "required in
24536           maintainer mode" to "required to build documentation".
24538 Fri May 04 01:49:05 BST 2007  Olly Betts <olly@survex.com>
24540         * HACKING: Document --enable-documentation.
24542 Fri May 04 01:38:44 BST 2007  Olly Betts <olly@survex.com>
24544         * Makefile.am,bin/Makefile.mk,configure.ac,docs/Makefile.am,
24545           examples/Makefile.mk: Add new configure option
24546           "--enable-documentation" which enables the make rules to rebuild the
24547           documentation.  By default this follows the setting of
24548           "--enable-maintainer-mode" (so giving much the same behaviour as
24549           currently), but the documentation rules can now be controlled
24550           independently.  Also, if documentation isn't being built, the
24551           configure probes for tools required to rebuild it are no longer run
24552           which should shorten configure time a bit for end-users building
24553           releases.
24555 Thu May 03 22:07:39 BST 2007  Olly Betts <olly@survex.com>
24557         * common/remoteserver.h: Remove unused default values for
24558           active_timeout_ and idle_timeout_ parameters.  Fix repeated typo
24559           in documentation comments ('millisrconds' -> 'milliseconds').
24561 Thu May 03 15:05:24 BST 2007  Olly Betts <olly@survex.com>
24563         * include/xapian.h,include/xapian/termgenerator.h,queryparser/:
24564           Initial cut of TermGenerator class.
24566 Thu May 03 15:04:09 BST 2007  Olly Betts <olly@survex.com>
24568         * generate-exceptions.in: Hide the internal constructors of generated
24569           error classes in the doxygen-generated API docs.
24571 Thu May 03 04:37:51 BST 2007  Olly Betts <olly@survex.com>
24573         * expand/ortermlist.cc,expand/ortermlist.h: Fix compilation error when
24574           --enable-assertions is used.
24576 Thu May 03 03:57:42 BST 2007  Olly Betts <olly@survex.com>
24578         * common/safeunistd.h: Provide a POSIX-compatible sleep() function.
24579         * common/utils.h: Remove inferior POSIX-compatible sleep() function.
24581 Thu May 03 03:17:02 BST 2007  Olly Betts <olly@survex.com>
24583         * include/xapian/: Mark all @internal member variables and functions
24584           which aren't private with @private so doxygen doesn't document them.
24586 Thu May 03 02:33:09 BST 2007  Olly Betts <olly@survex.com>
24588         * include/xapian/: Mark DocIDWrapper, RefCntBase, RefCntPtr,
24589           TermNameWrapper, and TermPosWrapper as "@internal" so that they don't
24590           show up in the doxygen-generated API documentation.  In particular,
24591           this makes the class collaboration diagrams much more useful.
24592         * include/xapian/errorhandler.h: Declare the class in namespace Xapian
24593           rather than with namespace Xapian:: since the latter seems to
24594           confuse doxygen.
24596 Thu May 03 02:31:33 BST 2007  Olly Betts <olly@survex.com>
24598         * include/xapian/unicode.h: Fix wrapping of comment.
24600 Thu May 03 00:05:23 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24602         * backends/flint/: Remove unused (and unimplemented) declarations
24603           of begin_transaction_(), commit_transaction_() and
24604           cancel_transaction_() from FlintWritableDatabase class.  Tidy up
24605           handling of metainfo (total_length and lastdocid) to avoid
24606           repeatedly parsing the special record, and make it easier to
24607           store additional metainfo in future.
24608           Also, remove code which ensures that there is always a special
24609           record - this was added in revision 5459 when the special record
24610           was stored in the record table, so that the number of documents
24611           in the database could always be calculated by subtracting 1 from
24612           the number of entries in the record table.  Now that the special
24613           record is stored in the postlist table, this is no longer
24614           necessary.
24616 Wed May 02 17:56:39 BST 2007  Olly Betts <olly@survex.com>
24618         * backends/dbfactory_remote.cc,include/xapian/dbfactory.h:
24619           Remote::open_writable() now defaults to no (active) timeout.  The
24620           connection timeouts for Remote::open() and Remote::open_writable()
24621           now default to 10 seconds rather than defaulting to the same as
24622           the active timeout (which defaults to 10 seconds).
24624 Wed May 02 16:00:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24626         * common/safeunistd.h,tests/harness/backendmanager.cc: Fix
24627           compilation on windows - safeunistd.h was undefining ssize_t
24628           and thus overriding the definition in config.h, and include
24629           safewindows.h for backendmanager.cc
24631 Wed May 02 15:34:33 BST 2007  Olly Betts <olly@survex.com>
24633         * common/safeunistd.h: Don't define ssize_t here for MSVC - do it in
24634           config.h instead.  This avoids pulling in <windows.h> which will
24635           hopefully fix another macro redefinition warning under MSVC.
24637 Wed May 02 15:20:56 BST 2007  Olly Betts <olly@survex.com>
24639         * common/safewindows.h: Define NOGDI before including windows.h to
24640           prevent it from defining a macro called "ERROR" which collides with
24641           the generated queryparser sources, causing a warning in the MSVC
24642           build.
24644 Wed May 02 14:38:33 BST 2007  Olly Betts <olly@survex.com>
24646         * common/termlist.h: Forward declare ExpandStats as "class" not
24647           "struct" for consistency with the actual declaration.
24649 Wed May 02 14:30:41 BST 2007  Olly Betts <olly@survex.com>
24651         * configure.ac: Try '-lzlib' for zlib, which mingw reportedly needs.
24653 Wed May 02 14:21:40 BST 2007  Olly Betts <olly@survex.com>
24655         * common/remoteconnection.h,include/xapian/dbfactory.h,
24656           net/remoteserver.cc: A timeout of `0' in the remote backend now
24657           means "no timeout" (code patch from Mark Hammond).
24659 Wed May 02 04:17:28 BST 2007  Olly Betts <olly@survex.com>
24661         * Makefile.am,api/,backends/alltermslist.cc,backends/flint/,
24662           backends/inmemory/inmemory_database.cc,
24663           backends/inmemory/inmemory_database.h,
24664           backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
24665           backends/quartz/,backends/remote/net_termlist.cc,
24666           backends/remote/net_termlist.h,backends/remote/remote-database.cc,
24667           common/,expand/,matcher/: Split expand functionality out of
24668           "matcher" subdirectory into new "expand" subdirectory since it's
24669           not really connected to query matching and the matcher subdirectory
24670           is one of the largest.  Rewrite OrTermList, eliminating
24671           BranchTermList entirely.  Alter expand to pass in an object (of
24672           class Xapian::Internal::ExpandWeight) which accumulates statistics
24673           instead of returning OmExpandBits objects which we then have to
24674           merge (and eliminating the need for LeafTermList entirely).  Query
24675           expansion for multiple databases should now give results more like
24676           that for a single database with the same documents (if
24677           USE_EXACT_TERMFREQ is used, the results should be the same).  Debug
24678           logging from expand is now all of type EXPAND (some was of types
24679           MATCHER and WTCALC before).
24681 Wed May 02 03:35:17 BST 2007  Olly Betts <olly@survex.com>
24683         * docs/deprecation.rst: Add deprecation info for Omega too.
24685 Wed May 02 00:24:13 BST 2007  Olly Betts <olly@survex.com>
24687         * tests/api_anydb.cc: Add test expandweights1 as a regression test for
24688           the previous commit.
24689         * tests/harness/testsuite.h: Set the precision for TEST_EQUAL_DOUBLE
24690           so we don't claim two numbers to be different yet display them the
24691           same!
24693 Tue May 01 23:27:10 BST 2007  Olly Betts <olly@survex.com>
24695         * backends/remote/net_termlist.cc,backends/remote/remote-database.cc,
24696           common/remoteprotocol.h,docs/remote_protocol.html,
24697           net/remoteserver.cc: Fix handling of the document length in the
24698           termlist for the remote backend.
24700 Tue May 01 23:17:28 BST 2007  Olly Betts <olly@survex.com>
24702         * tests/api_db.cc: Several tests were marked as "local db only" for
24703           historical reasons.  Enable them for remote backends too.
24704         * backends/remote/net_postlist.cc,tests/api_db.cc: Fix a bug in
24705           NetworkPostList::skip_to() which apitest's postlist4 reveals.
24707 Tue May 01 21:00:26 BST 2007  Olly Betts <olly@survex.com>
24709         * api/omtermlistiterator.cc,api/omvalueiterator.cc,
24710           backends/multi/multi_alltermslist.cc: Add explicit
24711           `#include "omassert.h"'.
24712         * backends/multi/multi_alltermslist.cc: Remove all explicit
24713           std:: qualifiers and add `using namespace std;'.
24715 Tue May 01 20:56:10 BST 2007  Olly Betts <olly@survex.com>
24717         * common/multialltermslist.h: Add explicit std:: qualifiers for
24718           string, for consistency with std::vector in this header.
24720 Tue May 01 15:19:53 BST 2007  Olly Betts <olly@survex.com>
24722         * matcher/branchpostlist.h: Don't check for NULL pointer before
24723           calling delete.
24725 Tue May 01 02:29:10 BST 2007  Olly Betts <olly@survex.com>
24727         * common/document.h,common/documentterm.h,common/multialltermslist.h,
24728           matcher/rset.cc,queryparser/queryparser.cc: Add some explicit
24729           includes for headers which were previously only implicitly included
24730           (in preparation for a forthcoming change which removes some of the
24731           implicit inclusions).
24733 Tue May 01 01:20:53 BST 2007  Olly Betts <olly@survex.com>
24735         * backends/database.cc,bin/quartzcheck.cc,docs/deprecation.rst,
24736           include/xapian/dbfactory.h,tests/api_db.cc,
24737           tests/harness/backendmanager.cc,tests/quartztest.cc: Deprecate
24738           the Quartz backend and related functions and utilities.
24740 Fri Apr 27 12:56:13 BST 2007  Olly Betts <olly@survex.com>
24742         * tests/Makefile.am: Pass '-no-install' when linking test programs,
24743           since we don't ever install them.  This means libtool doesn't need
24744           to generate shell script wrappers on most platforms.  Also prefer
24745           '$(ldflags)' to '@ldflags' as the former allows the user to override
24746           when they run 'make' which is sometimes useful.
24748 Fri Apr 27 03:44:15 BST 2007  Olly Betts <olly@survex.com>
24750         * docs/intro_ir.html: Add links for the various researchers mentioned
24751           by name.
24753 Thu Apr 26 17:57:10 BST 2007  Olly Betts <olly@survex.com>
24755         * docs/bm25.html,docs/intro_ir.html: Assorted documentation
24756           improvements.
24758 Thu Apr 26 15:43:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24760         * docs/deprecation.rst: Update with changes to Python bindings.
24762 Thu Apr 26 06:01:45 BST 2007  Olly Betts <olly@survex.com>
24764         * common/expandweight.h,matcher/expandweight.cc: Better handling of
24765           expand with multiple databases.
24767 Wed Apr 25 18:35:13 BST 2007  Olly Betts <olly@survex.com>
24769         * api/omenquire.cc: Delete nonsensical comment.
24771 Wed Apr 25 17:41:58 BST 2007  Olly Betts <olly@survex.com>
24773         * docs/deprecation.rst: Use the collective term "features" rather than
24774           overloading the term "functions".  Casual readers may miss the
24775           definition altogether, and even dedicated readers will probably
24776           already have a strong mental image of what a "function" is in the
24777           context of an API.
24779 Wed Apr 25 14:52:11 BST 2007  Olly Betts <olly@survex.com>
24781         * docs/intro_ir.html: Improve the look of the formulae.
24783 Wed Apr 25 03:56:18 BST 2007  Olly Betts <olly@survex.com>
24785         * common/omqueryinternal.h,languages/generate-allsnowballheaders.in,
24786           matcher/msetcmp.h,queryparser/queryparser_internal.h: Add missing
24787           multiple inclusion guards.
24789 Wed Apr 25 03:12:50 BST 2007  Olly Betts <olly@survex.com>
24791         * queryparser/queryparser_internal.h: Don't include <config.h> in
24792           a header file.
24794 Wed Apr 25 03:05:09 BST 2007  Olly Betts <olly@survex.com>
24796         * queryparser/queryparser.cc: Initialise `internal' member inline
24797           for consistency with other classes.
24799 Tue Apr 24 04:55:45 BST 2007  Olly Betts <olly@survex.com>
24801         * configure.ac: Add missing ')' to the error messages when zlib stuff
24802           isn't found.
24804 Tue Apr 24 02:56:57 BST 2007  Olly Betts <olly@survex.com>
24806         * backends/flint/flint_database.h,
24807           backends/inmemory/inmemory_database.h,
24808           backends/quartz/quartz_database.h: MSVC doesn't handle using
24809           properly.
24811 Tue Apr 24 01:25:34 BST 2007  Olly Betts <olly@survex.com>
24813         * matcher/bm25weight.cc,matcher/expandweight.cc: Fix typo in comments:
24814           'releveant' -> 'relevant'.
24816 Mon Apr 23 23:00:23 BST 2007  Olly Betts <olly@survex.com>
24818         * api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h,
24819           tests/api_anydb.cc,tests/api_db.cc: Deprecate
24820           Enquire::include_query_terms and Enquire::use_exact_termfreq in
24821           favour of capitalised versions Enquire::INCLUDE_QUERY_TERMS and
24822           Enquire::USE_EXACT_TERMFREQ (for consistency with our other
24823           manifest constants, and general C/C++ conventions).
24825 Mon Apr 23 18:14:20 BST 2007  Olly Betts <olly@survex.com>
24827         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Support for
24828           VLAs in C++ is a GCC extension, so eliminate the need for them.
24830 Mon Apr 23 16:32:07 BST 2007  Olly Betts <olly@survex.com>
24832         * docs/: svn:ignore deprecation.html. svn:ignore apidoc.pdf and
24833           sourcedoc.pdf rather than *.pdf.
24835 Mon Apr 23 16:08:53 BST 2007  Olly Betts <olly@survex.com>
24837         * tests/quartztest.cc: Resolve FIXME about MapTermList.
24839 Mon Apr 23 16:06:38 BST 2007  Olly Betts <olly@survex.com>
24841         * api/valuerangeproc.cc,backends/flint/flint_check.cc,
24842           backends/flint/flint_table.cc,backends/quartz/btree.cc,
24843           backends/quartz/btreecheck.cc,bin/xapian-tcpsrv.cc,examples/,
24844           languages/steminternal.h,tests/harness/testsuite.cc,
24845           tests/harness/testsuite.h,tests/stemtest.cc: Fix compilation with
24846           GCC 4.3 snapshot.
24848 Mon Apr 23 15:20:55 BST 2007  Olly Betts <olly@survex.com>
24850         * common/safeunistd.h: Comment tweaks.
24852 Mon Apr 23 11:54:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24854         * common/safeunistd.h: Include <process.h> on windows to get
24855           getpid() instead of using a #define.
24857 Mon Apr 23 11:30:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24859         * api/maptermlist.h: Fix typo in error message.
24861 Mon Apr 23 11:08:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24863         * api/maptermlist.h: Throw an InvalidOperationError() if
24864           MapTermList::get_termfreq() is called, instead of simply having
24865           Assert(false): this gets called if a term iterator is accessed
24866           for a freshly created Document, and the get_termfreq() method is
24867           called on it.  The error message is specific to this situation,
24868           since this is the only place in which MapTermList is used.
24870 Mon Apr 23 03:22:54 BST 2007  Olly Betts <olly@survex.com>
24872         * backends/flint/flint_database.cc,backends/flint/flint_lock.cc,
24873           backends/flint/flint_lock.h: Report why we failed to get a write
24874           lock on a flint database.
24876 Mon Apr 23 01:44:13 BST 2007  Olly Betts <olly@survex.com>
24878         * backends/flint/flint_version.cc: Update the flint format version
24879           since older flint versions can't read compressed tags.
24881 Mon Apr 23 01:25:25 BST 2007  Olly Betts <olly@survex.com>
24883         * configure.ac: Probe for zlib.h and -lz.
24884         * backends/flint/,bin/xapian-compact.cc: Use zlib to compress tags
24885           in the record and termlist tables.
24886         * tests/Makefile.am,tests/runtest.in,tests/valgrind.supp: Add a
24887           valgrind suppression for zlib (a known issue - for speed zlib
24888           deliberately reads past the end of the buffer in some cases).
24890 Sun Apr 22 04:24:06 BST 2007  Olly Betts <olly@survex.com>
24892         * backends/flint/: Remove documentation for blocksize_ parameters
24893           which were removed some time ago.
24895 Sun Apr 22 00:02:13 BST 2007  Olly Betts <olly@survex.com>
24897         * matcher/multimatch.cc: Track the minimum weight required to be
24898           considered for the MSet separately from the minimum item which
24899           could be considered.  Trying to combine the two is causing subtle
24900           bugs (fixed bug#86).
24902 Sun Apr 22 00:00:39 BST 2007  Olly Betts <olly@survex.com>
24904         * HACKING: Add notes about the files Omega uses from xapian-core.
24906 Sat Apr 21 23:49:58 BST 2007  Olly Betts <olly@survex.com>
24908         * queryparser/queryparser.cc: Clear the stoplist when we parse a new
24909           query.
24910         * tests/queryparsertest.cc: Add regression test.
24912 Sat Apr 21 23:27:33 BST 2007  Olly Betts <olly@survex.com>
24914         * Makefile.am,common/Makefile.mk,getopt/: Move getopt.cc from getopt/
24915           to common/.  Having a whole directory for a single source file
24916           is a bit extravagant, and putting it in common/ allows us to share a
24917           copy with omega easily.
24919 Sat Apr 21 21:38:20 BST 2007  Olly Betts <olly@survex.com>
24921         * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc,
24922           backends/quartz/quartz_log.cc,common/omdebug.h,common/safeunistd.h,
24923           tests/harness/testsuite.cc: safeunistd.h now defines getpid() to
24924           GetCurrentProcessId() for MSVC, and we now include this where we
24925           want to use getpid() rather than conditionally defining getpid().
24927 Sat Apr 21 04:13:12 BST 2007  Olly Betts <olly@survex.com>
24929         * configure.ac: Explicitly set AM_CXXFLAGS to an empty value to start
24930           with to avoid issues if it's set in the environment.  Cache the
24931           results of the test to see if the C++ compiler actually works, and
24932           in the XAPIAN_TEST_LINKER_FLAG macro.
24933         * configure.ac, include/xapian/visibility.h: Add --disable-visibility
24934           option to configure to completely disable use of -fvisibility.
24935         * INSTALL: Document all --enable-backend-* options explicitly.
24936           Document how to disable use of -fvisibility and
24937           -Bsymbolic-functions should you want/need to.  Improve wording in
24938           a few places.
24940 Fri Apr 20 19:20:23 BST 2007  Olly Betts <olly@survex.com>
24942         * HACKING,configure.ac: Revert to requiring autoconf 2.59 so that the
24943           .spec file for building RPMs can run `autoreconf' to work around a
24944           libtool bug.
24946 Fri Apr 20 18:12:51 BST 2007  Olly Betts <olly@survex.com>
24948         * docs/deprecation.rst: Document return type of ExpandDecider::Apply()
24949           and MatchDecider::Apply() in C# is now bool instead of int.
24951 Fri Apr 20 18:01:18 BST 2007  Olly Betts <olly@survex.com>
24953         * xapian.spec.in: Package xapian-check and its man page.
24955 Fri Apr 20 14:38:00 BST 2007  Olly Betts <olly@survex.com>
24957         * docs/deprecation.rst: Note changed return type of
24958           ExpandDecider::operator() and MatchDecider::operator().
24960 Fri Apr 20 14:28:39 BST 2007  Olly Betts <olly@survex.com>
24962         * include/xapian/enquire.h: MatchDecider::operator() now returns
24963           `bool' not `int'.  Remove declaraction of ExpandDecider.
24964         * include/xapian/expanddecider.h: Move declaration of ExpandDecider
24965           to here.  ExpandDecider::operator() now returns `bool' not `int'.
24966           ExpandDeciderAnd now names parameters `first' and `second' and
24967           documents the order in which they are applied (useful if you have
24968           an expensive and a cheap test).  ExpandDeciderAnd can now take
24969           parameters by reference instead of pointer.
24970         * api/Makefile.mk,include/xapian/enquire.h,api/omenquire.cc,
24971           api/expanddecider.cc: New home for definitions of virtual methods of
24972           ExpandDecider and subclasses.
24973         * api/omenquire.cc,common/expand.h,matcher/expand.cc: Eliminate
24974           internal class ExpandDeciderAlways - just test pointer against NULL
24975           instead.
24976         * tests/api_anydb.cc,tests/api_db.cc: Update for change in return
24977           type from MatchDecider::operator() and ExpandDecider::operator().
24979 Fri Apr 20 10:35:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24981         * HACKING: Add note on rules with multiple targets.
24983 Thu Apr 19 19:02:42 BST 2007  Olly Betts <olly@survex.com>
24985         * PLATFORMS: Remove reports for 0.7.* and demote reports for 0.8.* to
24986           "older reports" status.  All SF compilefarm machines are now "no
24987           longer available", so update the symbols and key to reflect this.
24989 Thu Apr 19 13:27:59 BST 2007  Olly Betts <olly@survex.com>
24991         * HACKING: Fix vim magic comment.  Add space after URL to stop
24992           '::' getting glued to it.
24994 Thu Apr 19 11:36:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24996         * HACKING: Turn syntax highlighting off, since it's broken for the
24997           restructured text in this file anyway.
24999 Thu Apr 19 03:26:28 BST 2007  Olly Betts <olly@survex.com>
25001         * backends/flint/flint_database.h,
25002           backends/inmemory/inmemory_database.h,
25003           backends/quartz/quartz_database.h:
25004           The trick of importing base class methods with 'using' breaks
25005           compilation with GCC 2.95 which doesn't issue the warning we're
25006           trying to avoid, so add a preprocessor check,
25008 Thu Apr 19 03:20:31 BST 2007  Olly Betts <olly@survex.com>
25010         * common/progclient.h,net/progclient.cc: Always use pid_t not int for
25011           holding a process id.
25013 Thu Apr 19 01:08:57 BST 2007  Olly Betts <olly@survex.com>
25015         * docs/deprecation.rst: Update '#callable' footnote.
25017 Thu Apr 19 00:07:02 BST 2007  Olly Betts <olly@survex.com>
25019         * backends/flint/flint_database.h,
25020           backends/inmemory/inmemory_database.h,
25021           backends/quartz/quartz_database.h: Add using declarations to
25022           subclasses of Xapian::Database::Internal which don't override the
25023           term forms of delete_document() and replace_document() to prevent
25024           compiler warnings about these methods being hidden.
25026 Wed Apr 18 23:22:29 BST 2007  Olly Betts <olly@survex.com>
25028         * net/remoteconnection.cc: Remove code which can't actually be
25029           reached, which fixes a warning in the mingw build.
25031 Wed Apr 18 23:07:45 BST 2007  Olly Betts <olly@survex.com>
25033         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
25034           include/xapian/enquire.h,matcher/Makefile.mk,
25035           matcher/biaspostlist.h,matcher/multimatch.cc,net/remoteserver.cc:
25036           Remove Enquire::set_bias().
25037         * docs/deprecation.rst: Update wrt Enquire::set_bias().  Fix typo.
25039 Wed Apr 18 18:51:42 BST 2007  Olly Betts <olly@survex.com>
25041         * configure.ac: Require autoconf 2.60 or newer.  Drop docdir
25042           compatibility hack which is no longer required.
25043         * HACKING: Document requirement.  Fix typo (or out-of-date info) for
25044           automake requirement (we require 1.9.5 not 1.8.5).
25046 Wed Apr 18 18:27:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25048         * docs/deprecation.rst: Note the deprecation of get_description()
25049           methods for Python.
25051 Wed Apr 18 14:57:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25053         * HACKING: Minimal changes to make this into valid restructured
25054           text.
25056 Wed Apr 18 11:27:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25058         * configure.ac: Require autoconf version 2.59c or later:
25059           AC_TYPE_SSIZE_T isn't present in earlier versions.
25061 Wed Apr 18 11:08:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25063         * docs/deprecation.rst: Fix table formatting error
25065 Wed Apr 18 01:32:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25067         * docs/deprecation.rst: Update with methods which have been removed
25068           from the bindings.
25070 Wed Apr 18 00:24:00 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25072         * docs/deprecation.rst: Move methods which have just been removed
25073           from the list of deprecated methods to the list of removed
25074           methods.
25076 Tue Apr 17 23:58:53 BST 2007  Olly Betts <olly@survex.com>
25078         * api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/,
25079           languages/stem.cc,tests/api_db.cc: Remove methods we're deprecating
25080           for 1.0.
25082 Tue Apr 17 23:50:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25084         * docs/deprecation.rst: Note that is_empty() is not deprecated for
25085           PHP after all!
25087 Tue Apr 17 22:17:41 BST 2007  Olly Betts <olly@survex.com>
25089         * queryparser/queryparser.lemony: GCC 2.95 doesn't support
25090           std::string::clear(), so use resize(0) instead.
25091         * HACKING: Document the above issue in a reworked section on C++
25092           STL features.  Update the section on safeXXX.h headers.
25094 Tue Apr 17 22:07:39 BST 2007  Olly Betts <olly@survex.com>
25096         * common/safesysselect.h: Correct typo in #error message.
25098 Tue Apr 17 19:18:00 BST 2007  Olly Betts <olly@survex.com>
25100         * configure.ac: Factor out code to test for a linker flag into macro
25101           XAPIAN_TEST_LINKER_FLAG.  With g++, use XAPIAN_TEST_LINKER_FLAG to
25102           see if -Bsymbolic-functions is supported (it requires a very recent
25103           version of ld currently).  This option reduces the size and load
25104           time of the shared library by resolving references within the
25105           library when it's created.  Currently untested on a box which
25106           supports -Bsymbolic-functions.
25108 Tue Apr 17 12:01:46 BST 2007  Olly Betts <olly@survex.com>
25110         * unicode/utf8itor.cc: Tidy up code layout.
25112 Tue Apr 17 02:06:39 BST 2007  Olly Betts <olly@survex.com>
25114         * include/xapian/unicode.h,unicode/utf8itor.cc: Make nonascii_to_utf8
25115           a public method.  Make get_case_type(), get_category(), and
25116           get_delta() internal, but provide a public get_category() function
25117           which takes a Unicode character value.
25119 Tue Apr 17 02:05:32 BST 2007  Olly Betts <olly@survex.com>
25121         * backends/flint/Makefile.mk: Distribute flint_check.h.
25123 Tue Apr 17 01:47:05 BST 2007  Olly Betts <olly@survex.com>
25125         * tests/api_posdb.cc: The remote backend now supports all database
25126           operations, so merge localpositionaldb_tests into
25127           positionaldb_tests.
25128         * tests/: Remove the trivial separate api_XXXdb.h headers, some of
25129           which were out-of-step with their respective .cc sources.  Instead
25130           just keep the array external declarations in apitest.h.
25131         * tests/apitest.h,tests/api_transdb.cc: Move TESTCASE and
25132           END_OF_TESTCASES macros into header.
25133         * tests/api_db.cc: Remove test collapsekey2 - it's only relevant for
25134           the Muscat 3.6 backend, so it's unused now that has been removed.
25135         * tests/: Add unicode tests, adapted from Omega's utftest.
25137 Tue Apr 17 00:14:16 BST 2007  Olly Betts <olly@survex.com>
25139         * Makefile.am,include/Makefile.mk,include/xapian.h,
25140           include/xapian/unicode.h,queryparser/,unicode/: Expose Unicode and
25141           UTF-8 related classes and functions as a public API.
25143 Mon Apr 16 16:06:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25145         * docs/deprecation.rst: Bring document fully up-to-date, listing
25146           all the planned deprecations for the bindings.  Also, include the
25147           full upgrade notes in the listings, so they can be preserved
25148           accessibly for posterity.  I even retrieved the notes for the
25149           already-removed QueryParser::set_stemming_options from 0.9.10.
25151 Mon Apr 16 11:36:18 BST 2007  Olly Betts <olly@survex.com>
25153         * net/tcpclient.cc: Call WSAGetLastError() instead of socket_errno()
25154           when we want to compare the result against WSAEWOULDBLOCK.
25156 Mon Apr 16 11:19:21 BST 2007  Olly Betts <olly@survex.com>
25158         * common/remoteconnection.h,common/safewinsock2.h: Need to negate the
25159           POSIX error codes we define in terms of winsock ones.
25161 Fri Apr 13 16:24:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25163         * docs/doxygen_api_conf.in: Turn on XML output, so that we can use
25164           it to populate docstrings for the python bindings.
25166 Fri Apr 13 11:38:39 BST 2007  Olly Betts <olly@survex.com>
25168         * backends/Makefile.mk,backends/alltermslist.cc,common/alltermslist.h:
25169           Split AllTermsList into header and code.  AllTermsList::get_wdf()
25170           now throws InvalidOperationError() rather than asserting in a
25171           debug build and returning 0 in a non-debug build.
25172         * backends/Makefile.mk: Correct list for "how to add a new backend".
25174 Fri Apr 13 10:17:46 BST 2007  Olly Betts <olly@survex.com>
25176         * api/version.cc: Simpler and cleaner fix - the prototypes for the
25177           version functions had moved from xapian/version.h to xapian.h so we
25178           were including the wrong header and not seeing the prototypes with
25179           visibility markup!
25181 Fri Apr 13 09:29:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25183         * api/version.cc: Add visibility annotations to definitions of
25184           version functions: the annotation apparently needs to be applied
25185           to the definition as well as the declaration or it is ignored:
25186           possibly the annotation on the declaration is ignored anyway,
25187           but it should be kept there for documentation purposes in any
25188           case.  Fixes link error with bindings under gcc 4.1.
25190 Fri Apr 13 01:39:57 BST 2007  Olly Betts <olly@survex.com>
25192         * common/remoteconnection.h,net/progclient.cc,net/remoteconnection.cc:
25193           GetLastError() has an unsigned return type, so need to cast to int
25194           before negating.
25196 Fri Apr 13 01:39:20 BST 2007  Olly Betts <olly@survex.com>
25198         * docs/deprecation.rst: Add xapian_version_string() and friends.
25200 Fri Apr 13 01:24:53 BST 2007  Olly Betts <olly@survex.com>
25202         * tests/api_nodb.cc: More 'tout' output.
25204 Fri Apr 13 01:19:20 BST 2007  Olly Betts <olly@survex.com>
25206         * api/Makefile.mk,api/error.cc,bin/xapian-tcpsrv.cc,
25207           common/remoteconnection.h,common/safeerrno.h,configure.ac,
25208           generate-exceptions.in,net/,tests/harness/testsuite.cc: On
25209           MS Windows, if Xapian::Error::my_errno is the result of
25210           GetLastError() or WSAGetLastError(), negate it (the error codes can
25211           overlap with errno codes).  On UNIX, put h_errno negated in my_errno
25212           if a call to gethostbyname() fails.  Add
25213           Xapian::Error::get_error_string() method which decodes my_errno
25214           in the appropriate way to give a string, and use this instead of
25215           strerror(error.get_errno()).
25217 Fri Apr 13 01:17:08 BST 2007  Olly Betts <olly@survex.com>
25219         * languages/generate-allsnowballheaders.in: win32 makefiles don't keep
25220           the snowball header list in sorted order like we do, so fix that
25221           here.  Also allow for '\' as path separator.
25223 Fri Apr 13 00:58:09 BST 2007  Olly Betts <olly@survex.com>
25225         * tests/api_nodb.cc: Add "tout" debug output to stemlangs1.
25227 Thu Apr 12 21:37:04 BST 2007  Olly Betts <olly@survex.com>
25229         * tests/Makefile.am: Add support for QUIET= and QUIET=y arguments to
25230           "make".
25232 Thu Apr 12 21:35:50 BST 2007  Olly Betts <olly@survex.com>
25234         * docs/Makefile.am: Use a substitution for RSTHTML (like we do for the
25235           snowball generated sources).
25237 Thu Apr 12 20:41:18 BST 2007  Olly Betts <olly@survex.com>
25239         * api/omqueryinternal.cc: Add validate_query() calls to the "term" and
25240           "value range" constructors.
25242 Thu Apr 12 20:00:14 BST 2007  Olly Betts <olly@survex.com>
25244         * api/omqueryinternal.cc,include/xapian/query.h: Only validate a
25245           Query object when it's either constructed or changed to avoid O(n^2)
25246           behaviour in some cases.
25248 Thu Apr 12 19:59:13 BST 2007  Olly Betts <olly@survex.com>
25250         * queryparser/lemon.c: Fix nasty function casting for argument to
25251           qsort - it's (at least technically) not portable.
25253 Thu Apr 12 17:47:47 BST 2007  Olly Betts <olly@survex.com>
25255         * configure.ac: Fix GCC version test to only turn on
25256           -fvisibility=hidden for GCC >= 4.
25258 Thu Apr 12 16:47:56 BST 2007  Olly Betts <olly@survex.com>
25260         * backends/flint/flint_btreebase.h,backends/flint/flint_cursor.h,
25261           backends/flint/flint_table.h,backends/quartz/,common/,configure.ac,
25262           generate-exceptions.in,include/Makefile.mk,include/xapian.h,
25263           include/xapian/: Add visibility annotations to the library, which
25264           when using GCC >= 4 reduces the size and load time of the library
25265           and increase the runtime speed a little.  Under x86_64, the stripped
25266           library is 6.4% smaller (1.5% smaller with debug information).
25268 Thu Apr 12 16:45:57 BST 2007  Olly Betts <olly@survex.com>
25270         * api/version.cc: Add missing "#include <config.h>".
25272 Thu Apr 12 13:41:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25274         * tests/quartztest.cc: Put removedir() function back for now to fix
25275           build.
25277 Thu Apr 12 13:02:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25279         * net/progclient.cc: Some (but not all) versions of MSVC need
25280           "#include <io.h>" to get the _open_osfhandle identifier.  Add it.
25282 Thu Apr 12 12:00:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25284         * backends/remote/net_postlist.cc: Include config.h
25286 Thu Apr 12 11:54:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25288         * backends/multi/multi_termlist.cc: Include config.h to get system
25289           specific defines.
25290         * common/safesysstat.h: Change signature of mkdir to take mode_t
25291           instead of int, to match unixy definition.
25293 Thu Apr 12 10:19:49 BST 2007  Olly Betts <olly@survex.com>
25295         * configure.ac: Probe for mode_t.
25297 Thu Apr 12 01:10:18 BST 2007  Olly Betts <olly@survex.com>
25299         * backends/flint/flint_positionlist.cc: Move BitReader class inside
25300           Xapian namespace to avoid namespace pollution.
25301         * bin/xapian-check.cc: Include BitReader::decode_interpolative()
25302           - previously we were relying on using the copy from the library.
25304 Thu Apr 12 01:02:53 BST 2007  Olly Betts <olly@survex.com>
25306         * common/safesysstat.h: Under __WIN32__, provide a POSIX-like mkdir()
25307           wrapper which takes 2 arguments, but ignores the file mode, so we
25308           can just call mkdir with a mode argument everywhere.
25309         * common/utils.h: Remove special case handling of mkdir.
25310         * bin/xapian-compact.cc: Replace uses of om_tostring() with a call
25311           to sprintf.  No longer need to `#include "utils.h"'.
25313 Thu Apr 12 00:44:18 BST 2007  Olly Betts <olly@survex.com>
25315         * api/,backends/inmemory/inmemory_positionlist.cc,common/,matcher/,
25316           net/remoteconnection.cc,net/serialise.cc: omdebug.h only includes
25317           omassert.h for the trivial "STRINGIZE" macro, so just duplicate
25318           that rather than pulling in an extra header everywhere.  Then fix
25319           up the two dozen files which were relying on this implicit
25320           inclusion!
25322 Thu Apr 12 00:10:48 BST 2007  Olly Betts <olly@survex.com>
25324         * tests/harness/testsuite.cc: Tweak #ifdef XAPIAN_DEBUG_VERBOSE to
25325           include DEBUGLINE() for clarity (no change in behaviour).
25327 Wed Apr 11 23:36:10 BST 2007  Olly Betts <olly@survex.com>
25329         * queryparser/queryparser.lemony: Fix regression introduced by
25330           Richard's change, and restructure to make the handling for each case
25331           more obvious.
25332         * tests/queryparsertest.cc: Add a couple of testcases for the
25333           regression.
25334         * queryparser/queryparser_internal.h: Remove reference to "bool" in
25335           comment which no longer applies.
25337 Wed Apr 11 21:25:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25339         * queryparser/queryparser_internal.h: Refactor boolean "flag"
25340           member in BoolAndString class into an enum of possible prefix
25341           types.  Rename "flag" to "type".  Rename BoolAndString to
25342           PrefixInfo.
25343         * queryparser/queryparser.cc: Change add_prefix() and
25344           add_boolean_prefix() to match changes to queryparser_internal.h
25345         * queryparser/queryparser.lemony: Refactor handling of prefixed
25346           terms to match queryparser_internal, and to use a switch()
25347           structure: no functional changes, but code is considerably more
25348           readable (I hope).
25350 Wed Apr 11 21:13:31 BST 2007  Olly Betts <olly@survex.com>
25352         * tests/api_db.cc,tests/quartztest.cc: Rework quartztest's "open1"
25353           into API level tests for quartz and flint in apitest.
25355 Wed Apr 11 14:01:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25357         * docs/deprecation.rst: Remove documentation of the "#define
25358           XAPIAN_DEPRECATED(D) D" hack, and clarify documentation on how
25359           long we support deprecated functions.
25361 Wed Apr 11 09:25:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25363         * docs/Makefile.am,docs/deprecation.rst: Add initial draft of
25364           deprecation policy document, with list of all API items currently
25365           marked for deprecation.
25366         * HACKING: Add note about keeping deprecation.rst up-to-date when
25367           making a release.
25369 Tue Apr 10 19:07:24 BST 2007  Olly Betts <olly@survex.com>
25371         * configure.ac: --enable-quiet now uses AS_HELP_STRING.
25373 Tue Apr 10 18:53:32 BST 2007  Olly Betts <olly@survex.com>
25375         * tests/harness/index_utils.cc: Return the empty document we already
25376           have rather than constructing another.
25378 Tue Apr 10 17:45:11 BST 2007  Olly Betts <olly@survex.com>
25380         * net/remoteconnection.cc: Fix typo in comment.
25382 Tue Apr 10 17:35:57 BST 2007  Olly Betts <olly@survex.com>
25384         * tests/harness/backendmanager.cc: Fix "if" to "is" typo in 3
25385           comments.
25387 Tue Apr 10 16:46:09 BST 2007  Olly Betts <olly@survex.com>
25389         * tests/harness/backendmanager.cc: Define XAPIAN_TCPSRV and
25390           XAPIAN_PROGSRV under UNIX too, and use them everywhere.
25392 Tue Apr 10 16:33:48 BST 2007  Olly Betts <olly@survex.com>
25394         * tests/harness/backendmanager.h: Remove "BackendManager::" from
25395           method declaration.
25397 Tue Apr 10 15:35:50 BST 2007  Olly Betts <olly@survex.com>
25399         * configure.ac: Define HAVE_SOCKETPAIR if we have socketpair().
25401 Tue Apr 10 15:29:49 BST 2007  Olly Betts <olly@survex.com>
25403         * net/progclient.cc: Fix #endif placement so it compiles on UNIX.
25405 Tue Apr 10 14:18:06 BST 2007  Olly Betts <olly@survex.com>
25407         * net/remoteconnection.cc: Remove debugging code.
25409 Tue Apr 10 12:57:51 BST 2007  Olly Betts <olly@survex.com>
25411         * backends/dbfactory_remote.cc,common/progclient.h,net/progclient.cc,
25412           net/remoteconnection.cc,tests/api_db.cc,tests/apitest.cc,
25413           tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
25414           Add support for the "prog" variant of the remote backend (patch
25415           started by me, finished by Mark Hammond).
25417 Tue Apr 10 12:23:46 BST 2007  Olly Betts <olly@survex.com>
25419         * api/omqueryinternal.cc,backends/inmemory/inmemory_database.cc,
25420           backends/quartz/quartz_alldocspostlist.cc,matcher/localmatch.cc,
25421           matcher/multimatch.cc,tests/harness/testutils.cc: Prefer
25422           `CONTAINER.empty()' to `CONTAINER.size() == 0'.
25424 Tue Apr 10 12:09:45 BST 2007  Olly Betts <olly@survex.com>
25426         * api/omqueryinternal.cc: Tighten up an assertion.
25428 Mon Apr 09 20:56:23 BST 2007  Olly Betts <olly@survex.com>
25430         * configure.ac,tests/harness/backendmanager.cc,tests/runsrv.in,
25431           tests/runtest.in: Run the remote backend server using new "runsrv"
25432           script instead of "runtest".  This doesn't echo anything to stdout,
25433           and if valgrind is in use, runs the remote server under
25434           "--tool=none" which is much quicker than using valgrind's default
25435           memcheck tool (we need to run the remote server under valgrind
25436           because valgrind's emulation of excess FP precision isn't exact and
25437           otherwise we get tests failing because of these differences).
25439 Mon Apr 09 20:24:30 BST 2007  Olly Betts <olly@survex.com>
25441         * tests/api_anydb.cc,tests/api_nodb.cc: Move test poscollapse2 to the
25442           "no database" category, since it doesn't require a database!
25444 Mon Apr 09 18:04:40 BST 2007  Olly Betts <olly@survex.com>
25446         * docs/remote_protocol.html: Correct documentation - MSG_REOPEN gives
25447           a response of REPLY_UPDATE.
25449 Mon Apr 09 15:08:44 BST 2007  Olly Betts <olly@survex.com>
25451         * ./: svn:eol-style not svn:eolstyle.
25453 Mon Apr 09 15:00:30 BST 2007  Olly Betts <olly@survex.com>
25455         * ./: Set svn:eolstyle to native for most text files.
25457 Mon Apr 09 14:50:40 BST 2007  Olly Betts <olly@survex.com>
25459         * backends/flint/flint_database.cc: Delete the corresponding entry
25460           (if any) from doclens in delete_document().  Add assertion to
25461           add_document_() that the corresponding entry in doclens isn't
25462           already set, but in a non-debug build overwrite any existing
25463           entry as that's more likely to be correct.
25464         * backends/quartz/quartz_database.cc: Ditto.
25466 Mon Apr 09 14:08:55 BST 2007  Olly Betts <olly@survex.com>
25468         * backends/quartz/quartz_database.cc: Just assign to doclens[did].
25470 Mon Apr 09 14:06:58 BST 2007  Olly Betts <olly@survex.com>
25472         * backends/flint/flint_database.cc: Just assign to doclens[did].
25474 Mon Apr 09 11:29:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25476         * backends/quartz/quartz_database.cc: Apply same change to quartz.
25478 Mon Apr 09 11:24:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25480         * backends/flint/flint_database.cc: Fix bug with document lengths
25481           in replace document.  Was using doclens.insert() to set the new
25482           document length, but this has no effect if the entry already
25483           exists.  This fixes replacedoc3 for flint (and thus for remote
25484           databases), but the same change is needed for quartz.
25485         * backends/flint/flint_postlist.cc: Add some debugging lines.
25487 Mon Apr 09 01:43:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25489         * backends/flint/: Add some more debugging messages to help track
25490           down the problem with document lengths shown up by previous
25491           change.
25493 Mon Apr 09 01:40:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25495         * tests/api_wrdb.cc: Add asserts to check that the value of
25496           get_doclength() on the database and on the posting list are
25497           correct.  Currently fails with the value from the posting list
25498           for the document which has been replaced (or sooner if assertions
25499           are turned on).
25501 Sun Apr 08 23:24:20 BST 2007  Olly Betts <olly@survex.com>
25503         * Makefile.am,configure.ac: `./configure --enable-quiet' allows you to
25504           specify at configure time to pass `--quiet' to libtool.  Now you can
25505           override this at make-time by using `make QUIET=' (to turn off
25506           `--quiet') or `make QUIET=y' (to turn on `--quiet').
25508 Sun Apr 08 23:23:50 BST 2007  Olly Betts <olly@survex.com>
25510         * HACKING: Mention AssertEqParanoid and AssertNeParanoid.
25512 Sun Apr 08 22:45:45 BST 2007  Olly Betts <olly@survex.com>
25514         * common/omassert.h: Add AssertEqParanoid and AssertNeParanoid macros.
25515         * backends/flint/flint_table.cc,backends/inmemory/inmemory_database.cc,
25516           backends/multi/multi_postlist.cc,backends/quartz/btree.cc: Use them.
25517         * backends/multi/multi_postlist.cc: Add extra assertions to
25518           MultiPostList::get_doclength().
25520 Sun Apr 08 22:16:11 BST 2007  Olly Betts <olly@survex.com>
25522         * configure.ac: Fix typos: `AC_CHECK_SSIZE_T' -> `AC_TYPE_SSIZE_T';
25523           `AC_CHECK_PID_T' -> `AC_TYPE_PID_T'.
25525 Sun Apr 08 22:04:54 BST 2007  Olly Betts <olly@survex.com>
25527         * HACKING: Snapshots and releases are now generated with autoconf 2.61.
25529 Sun Apr 08 21:42:03 BST 2007  Olly Betts <olly@survex.com>
25531         * configure.ac: Use AC_CHECK_SSIZE_T instead of our own test.  Add
25532           AC_CHECK_PID_T for any platforms which don't have `pid_t'.
25533         * net/tcpserver.cc: Use `pid_t' instead of `int'.
25534         * common/progclient.h,net/progclient.cc: Cleaner rewritten version of
25535           progclient.h.
25537 Sun Apr 08 19:59:43 BST 2007  Olly Betts <olly@survex.com>
25539         * backends/flint/flint_lock.cc: If kill() fails, don't bother calling
25540           waitpid().
25542 Sun Apr 08 19:41:11 BST 2007  Olly Betts <olly@survex.com>
25544         * net/remoteconnection.cc: Don't explicitly pass "0" for errno.
25546 Sun Apr 08 16:58:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25548         * queryparser/queryparser.lt: Fix warnings in debugging builds on
25549           gcc 4.1 due to comparison of signed and unsigned types.  Also,
25550           use the ParseTokenName function instead of explicitly doing a
25551           range check each time an entry is looked up in yyTokenName, and
25552           add a ParseRuleName function for looking up things in yyRuleName,
25553           and use it similarly.
25555 Sun Apr 08 15:55:42 BST 2007  Olly Betts <olly@survex.com>
25557         * configure.ac: Fix lingering references to enable_debug.
25559 Sun Apr 08 15:48:13 BST 2007  Olly Betts <olly@survex.com>
25561         * tests/api_anydb.cc,tests/api_wrdb.cc: Remove hacks to automatically
25562           SKIP tests which failed because of lack of support for some features
25563           by the remote backend.
25565 Sun Apr 08 15:14:11 BST 2007  Olly Betts <olly@survex.com>
25567         * queryparser/queryparser.lemony,queryparser/queryparser.lt: More
25568           tweaks.
25570 Sun Apr 08 15:04:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25572         * queryparser/queryparser.lt: Always include "omdebug.h", and put
25573           one of the pieces of debugging code in #ifdef
25574           XAPIAN_DEBUG_VERBOSE, to fix non-logging message builds.
25576 Sun Apr 08 14:23:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25578         * docs/remote_protocol.html: Update for protocol version 27 by
25579           adding documentation for MSG_POSTLIST and replies.  Also, fix a
25580           typo.
25582 Sun Apr 08 13:50:20 BST 2007  Olly Betts <olly@survex.com>
25584         * common/omdebug.h,queryparser/queryparser.lemony,
25585           queryparser/queryparser.lt: Hook the debug tracing in the lemon
25586           generated parser into Xapian's debug logging framework.
25588 Sun Apr 08 12:35:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25590         * backends/remote/,common/remote-database.h,common/remoteprotocol.h,
25591           common/remoteserver.h,net/remoteserver.cc: Implement postlists
25592           for the remote database.  Increases
25593           XAPIAN_REMOTE_PROTOCOL_VERSION to 27.
25595 Sun Apr 08 12:33:02 BST 2007  Olly Betts <olly@survex.com>
25597         * HACKING,INSTALL,configure.ac: Rename --enable-debug* - conflating the
25598           options to "turn on assertions" and "turn on logging" still confuses
25599           me to the extent I need to read the documentation every time I use
25600           them.  `--enable-debug[=partial]' become `--enable-assertions';
25601           `--enable-debug-verbose' becomes `--enable-log' and
25602           `--enable-debug=full' becomes `--enable-assertions --enable-log'.
25603           For now the old options give an error telling you the new
25604           equivalent.
25606 Sun Apr 08 10:45:40 BST 2007  Olly Betts <olly@survex.com>
25608         * configure.ac: Eliminate use_quiet - just use enable_quiet instead.
25610 Fri Apr 06 19:06:07 BST 2007  Olly Betts <olly@survex.com>
25612         * net/progclient.cc: Close stderr of the spawned backend program.
25614 Fri Apr 06 18:59:24 BST 2007  Olly Betts <olly@survex.com>
25616         * net/progclient.cc: msecs_timeout_ -> msecs_timeout.
25618 Fri Apr 06 18:12:36 BST 2007  Olly Betts <olly@survex.com>
25620         * net/remoteconnection.cc: Fix comment grammar.
25622 Fri Apr 06 18:10:31 BST 2007  Olly Betts <olly@survex.com>
25624         * net/remoteconnection.cc: Deal with the exceptional case first.
25626 Fri Apr 06 17:51:20 BST 2007  Olly Betts <olly@survex.com>
25628         * net/remoteconnection.cc: Use string::append(ptr, size) in preference
25629           to string::append(ptr, ptr + size).
25631 Fri Apr 06 11:45:39 BST 2007  Olly Betts <olly@survex.com>
25633         * api/omqueryinternal.cc,backends/flint/flint_database.cc,
25634           backends/flint/flint_database.h,backends/flint/flint_postlist.cc,
25635           backends/inmemory/inmemory_database.cc,
25636           backends/inmemory/inmemory_database.h,
25637           backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
25638           backends/quartz/quartz_postlist.cc,
25639           backends/remote/remote-database.cc,common/database.h,
25640           common/remote-database.h: Refactor to eliminate do_open_post_list
25641           and any unnecessary call to term_exists().
25643 Fri Apr 06 11:44:25 BST 2007  Olly Betts <olly@survex.com>
25645         * tests/api_wrdb.cc: Just use TEST on a boolean value rather than
25646           TEST_EQUAL against true/false.
25648 Fri Apr 06 08:53:46 BST 2007  Olly Betts <olly@survex.com>
25650         * net/remoteserver.cc: Remove "N" which we calculate but never use!
25652 Fri Apr 06 08:17:00 BST 2007  Olly Betts <olly@survex.com>
25654         * backends/flint/Makefile.mk,backends/flint/flint_check.cc,
25655           backends/flint/flint_check.h,bin/Makefile.mk,bin/xapian-check.cc:
25656           Fix xapian-check not to use libquartzcheck.la.
25658 Fri Apr 06 07:20:47 BST 2007  Olly Betts <olly@survex.com>
25660         * bin/Makefile.mk,bin/xapian-check.cc: Add new "xapian-check" program
25661           which performs consistency checks on a flint database.
25663 Fri Apr 06 06:25:36 BST 2007  Olly Betts <olly@survex.com>
25665         * bin/quartzcheck.cc: Test if this is a quartz database by looking at
25666           "meta" not "record_DB".  If "record_DB" is >= 2GB and we don't have
25667           a LFS aware stat function then stat can fail even though the file is
25668           there.  Also open the database explicitly as a Quartz database for
25669           extra robustness.
25671 Fri Apr 06 06:23:33 BST 2007  Olly Betts <olly@survex.com>
25673         * AUTHORS: Thank Daniel Ménard.
25675 Thu Apr 05 18:20:53 BST 2007  Olly Betts <olly@survex.com>
25677         * tests/harness/testsuite.cc: No need to explicitly initialise
25678           std::string to ""; not doing so results in a smaller object
25679           file.
25681 Thu Apr 05 18:20:12 BST 2007  Olly Betts <olly@survex.com>
25683         * common/remoteprotocol.h: Note other changes in protocol version 26.
25685 Thu Apr 05 17:34:10 BST 2007  Olly Betts <olly@survex.com>
25687         * tests/runtest.in: Pass "--leak-resolution=high" to valgrind to
25688           prevent unrelated leak reports related to STL classes from being
25689           combined.
25691 Thu Apr 05 17:26:39 BST 2007  Olly Betts <olly@survex.com>
25693         * tests/api_wrdb.cc: Remove stray line left over from debugging.
25695 Thu Apr 05 16:47:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25697         * tests/internaltest.cc: Fix test_serialiselength2: implementation
25698           was correct, but test was failing.  Needed special casing for n=0
25699           and 1, and was using arguments to string::append(size_type,
25700           charT) the wrong way round (stupid C++ API).  Also, make it check
25701           the return value of decode_length(), since we know what the
25702           answer ought to be.
25704 Thu Apr 05 14:26:30 BST 2007  Olly Betts <olly@survex.com>
25706         * api/omqueryinternal.cc,backends/remote/remote-database.cc,
25707           common/serialise.h,net/remoteserver.cc,net/serialise.cc,
25708           tests/internaltest.cc: Add a flag parameter to decode_length()
25709           to indicate if the decoded value indicates the length of a
25710           string in the protocol stream, and if it does, check it against
25711           p_end - p after the length has been decoded (fixes bug#117).
25713 Thu Apr 05 14:08:02 BST 2007  Olly Betts <olly@survex.com>
25715         * tests/api_wrdb.cc: In test uniqueterm1, check the document length
25716           after every delete or replace for better coverage.
25718 Thu Apr 05 12:41:04 BST 2007  Olly Betts <olly@survex.com>
25720         * net/serialise.cc: Encode deltas between docids (rather than the
25721           docids themselves) in the RSet serialisation which reduces the
25722           size of the encoding if a lot of large docids with small gaps
25723           between them are present.
25724         * backends/remote/remote-database.cc,net/remoteserver.cc: Encode
25725           deltas between termpositions in REPLY_POSITIONLIST, for similar
25726           reasons.  No need to encode the term length for
25727           MSG_DELETEDOCUMENTTERM as it's the last (indeed only) item, and more
25728           consistent not to.
25729         * common/remoteprotocol.h: Bump protocol version to 26.
25730         * docs/remote_protocol.html: Document the new messages
25731           MSG_DELETEDOCUMENTTERM and MSG_REPLACEDOCUMENTTERM.  Correct
25732           reference to REPLY_DOCUMENT to REPLY_DOCDATA.  Fix documentation for
25733           MSG_QUERY to include the serialised Weight and RSet objects.  Fix
25734           "copy and paste" error in the description of Flush (should of course
25735           be MSG_FLUSH not MSG_CANCEL).  Update for changes above.
25737 Thu Apr 05 12:18:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25739         * backends/database.cc: Keep a RefCntPtr to the LeafPostList used
25740           in implementations of delete_document and replace_document with a
25741           unique term, so that the postlist isn't leaked.
25743 Thu Apr 05 11:56:57 BST 2007  Olly Betts <olly@survex.com>
25745         * backends/database.cc: Database::Internal can't call the
25746           PostingIterator(PostingIterator::Internal*) ctor (at least under
25747           g++ 3.3.5) because it isn't a friend (only class Database is).
25748           Can't seem to forward define Database::Internal to make
25749           Database::Internal a friend so just use LeafPostList directly
25750           as that seems less bad than pulling in the whole of database.h
25751           or making PostingIterator::internal public.
25753 Thu Apr 05 08:27:26 BST 2007  Olly Betts <olly@survex.com>
25755         * HACKING: Need to run svn-tag-release on ixion.
25757 Thu Apr 05 01:50:10 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25759         * backends/remote/remote-database.cc,common/remote-database.h,
25760           common/remoteprotocol.h,common/remoteserver.h,net/remoteserver.cc:
25761           Implement unique term variants of delete and replace document for
25762           the remote database.  Involves adding two new message types to the
25763           protocol (and therefore bumping the protocol version to 25), and
25764           overriding the standard implementations of delete_document(term)
25765           and replace_document(term) in RemoteDatabase.
25766         * tests/api_wrdb.cc: Correct text in SKIP_TEST() message.
25768 Thu Apr 05 01:04:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25770         * api/omdatabase.cc,backends/database.cc,common/database.h: Move
25771           implementation of delete_document and replace_document with a
25772           unique_term from WritableDatabase to Xapian::Database::Internal.
25773           This will allow it to be overridden for databases which need a
25774           special implementation (such as the remote database).
25776 Tue Apr 03 14:30:45 BST 2007  Olly Betts <olly@survex.com>
25778         * common/remote-database.h: Remove unused and undefined method
25779           RemoteDatabase::get_spawned_socket().
25781 Tue Apr 03 09:18:51 BST 2007  Olly Betts <olly@survex.com>
25783         * tests/harness/backendmanager.cc: Under __WIN32__, launch
25784           xapian-tcpsrv as a child process communicating via a pipe and handle
25785           the port being already in use by trying the next port up (as we do
25786           under UNIX).
25788 Tue Apr 03 06:50:48 BST 2007  Olly Betts <olly@survex.com>
25790         * net/tcpserver.cc: For __WIN32__ and __CYGWIN__, use
25791           SO_EXCLUSIVEADDRUSE (if available) on on listening sockets for
25792           xapian-tcpsrv.
25794 Tue Apr 03 04:37:02 BST 2007  Olly Betts <olly@survex.com>
25796         * include/xapian/positioniterator.h,include/xapian/postingiterator.h:
25797           Fix mangled comment start in (C) headers.
25799 Tue Apr 03 03:27:12 BST 2007  Olly Betts <olly@survex.com>
25801         * include/xapian/,generate-exceptions.in: Mark the following
25802           constructors 'explicit': DocIDWrapper(docid), TermPosWrapper(const
25803           std::string &), Query::Internal(const std::string &), Database(const
25804           std::string &), all Error subclass constructors taking const
25805           std::string &.  Only the Database and Error subclass changes should
25806           be able to affect user code at all.
25807         * include/xapian/,api/omenquire.cc: Make the following methods
25808           'const': RSet::contains(MSetIterator), Enquire::get_query().  This
25809           shouldn't affect the validity of any user code.
25811 Mon Apr 02 11:44:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25813         * HACKING: Add note on "Building from SVN on Windows with MSVC"
25815 Mon Apr 02 11:32:51 BST 2007  Olly Betts <olly@survex.com>
25817         * api/omqueryinternal.cc: Fix assertion to allow for OP_VALUE_RANGE.
25819 Mon Apr 02 11:14:10 BST 2007  Olly Betts <olly@survex.com>
25821         * autoconf/rjb_find_stlport.m4: Fix check that the user didn't say
25822           `./configure --with-stlport-compiler' (without `=gcc' or similar
25823           after it).
25825 Mon Apr 02 10:38:35 BST 2007  Olly Betts <olly@survex.com>
25827         * tests/api_db.cc,tests/apitest.cc: Under __WIN32__ disable tests
25828           which require the prog variant of the remote backend.
25830 Mon Apr 02 09:44:13 BST 2007  Olly Betts <olly@survex.com>
25832         * net/tcpserver.cc: Don't use SO_REUSEADDR under __CYGWIN__ or
25833           __WIN32__ as it has incorrect semantics.
25835 Mon Apr 02 09:37:14 BST 2007  Olly Betts <olly@survex.com>
25837         * tests/harness/backendmanager.cc: Pull `1239' out as `DEFAULT_PORT'.
25838           On Windows, cycle through 10 ports starting at DEFAULT_PORT so that
25839           we can have multiple databases open at once.  Add a monotonic count
25840           to the name of the log file created from the output of each
25841           xapian-tcpsrv to avoid failures because the log file is already
25842           open.
25844 Mon Apr 02 07:41:57 BST 2007  Olly Betts <olly@survex.com>
25846         * tests/api_anydb.cc: Avoid having the same database open twice at
25847           once.  Xapian itself copes, but the BackendManager class in the test
25848           harness struggles in the remotetcp case under mingw.
25850 Mon Apr 02 07:14:13 BST 2007  Olly Betts <olly@survex.com>
25852         * include/xapian/enquire.h: Make Enquire constructor explicit since
25853           it can take a single parameter (of type Database).
25855 Mon Apr 02 02:32:23 BST 2007  Olly Betts <olly@survex.com>
25857         * net/tcpserver.cc: Add "#error" if neither HAVE_FORK nor __WIN32__
25858           is defined (otherwise we'd failed with a rather obscure link error
25859           much later!)
25861 Mon Apr 02 01:54:20 BST 2007  Olly Betts <olly@survex.com>
25863         * matcher/multimatch.cc: Remove unused variable left over from
25864           recent change.
25866 Mon Apr 02 01:22:56 BST 2007  Olly Betts <olly@survex.com>
25868         * net/tcpserver.cc: Actually remove SOCKOPT_OPTIONS_TYPE.
25870 Mon Apr 02 01:16:03 BST 2007  Olly Betts <olly@survex.com>
25872         * net/tcpclient.cc,net/tcpserver.cc: Pass the 4th parameter of
25873           setsockopt() as char* which works whether the function actually
25874           takes char* or void* (since C++ allows implicit conversion from
25875           char* to void*).  Only call socket_errno() after gethostbyname()
25876           under __WIN32__ - on UNIX the error code is in h_errno (with
25877           incompatible values to errno) and we don't want to confuse things by
25878           reporting some random value of errno.
25880 Mon Apr 02 00:44:56 BST 2007  Olly Betts <olly@survex.com>
25882         * tests/harness/backendmanager.cc: Factor out localhost address into
25883           LOCALHOST.  Use new xapian-tcpsrv --interface option to only listen
25884           for connections on localhost.  Run xapian-tcpsrv with "start /B" on
25885           MS Windows (this stops the "flickbook of console windows" effect).
25887 Mon Apr 02 00:41:31 BST 2007  Olly Betts <olly@survex.com>
25889         * common/Makefile.mk,common/safesyssocket.h: Oops, I checked
25890           in safesysselect.h as safesyssocket.h!
25892 Mon Apr 02 00:30:54 BST 2007  Olly Betts <olly@survex.com>
25894         * include/xapian/queryparser.h: Fix SimpleStopper::add to take
25895           `const std::string &' not `const std::string'.
25897 Mon Apr 02 00:20:45 BST 2007  Olly Betts <olly@survex.com>
25899         * bin/xapian-tcpsrv.cc,net/tcpserver.cc: Add "--interface" option to
25900           allow the hostname or address of the interface to listen on to be
25901           specified (default is the previous behaviour of listening on all
25902           interfaces).
25903         * net/remoteconnection.cc,net/tcpclient.cc,common/safesysselect.h:
25904           Factor out portability code for sys/select.h.
25905         * common/Makefile.mk: Ship common/safesysselect.h.
25906         * net/tcpserver.cc: Rename parameter of run_thread from "_param" to
25907           "param_" (identifiers with leading underscores are reserved for the
25908           compiler).
25909         * common/tcpclient.h,net/tcpclient.cc,common/tcpserver.h: Rewrite
25910           headers with comments which are actually accurate and up-to-date!
25911           TcpClient ctor is small so put inline in the header.  Pass
25912           std::string by const reference.
25913         * common/tcpclient.h,common/tcpserver.h: TcpClient and TcpServer
25914           classes now inherit from WinsockInitializer under __WIN32__ (as
25915           a mixin class) instead of having a member of type WinsockInitializer
25916           (the member is initialised too late, at least under mingw).
25918 Sun Apr 01 19:14:11 BST 2007  Olly Betts <olly@survex.com>
25920         * common/omdebug.cc: Fix retrying of write to retry the part of
25921           the string not already written!
25923 Sun Apr 01 18:37:15 BST 2007  Olly Betts <olly@survex.com>
25925         * common/remoteconnection.h: Note in comments about use as a "mixin"
25926           class.
25928 Sun Apr 01 17:42:19 BST 2007  Olly Betts <olly@survex.com>
25930         * tests,examples,bin: Add .exe versions of built executables to
25931           svn:ignore.
25933 Sun Apr 01 16:28:26 BST 2007  Olly Betts <olly@survex.com>
25935         * common/omdebug.cc: Remove unused '#include <stdio.h>' - we switched
25936           to using unbuffered I/O for logging long ago!
25938 Sun Apr 01 15:21:04 BST 2007  Olly Betts <olly@survex.com>
25940         * common/safewinsock2.h: No, don't typedef socklen_t here - we use
25941           SOCKLEN_T everywhere and have `#define SOCKLEN_T int' in
25942           config.h.win32.
25944 Sun Apr 01 13:32:21 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25946         * common/omdebug.cc: Include necessary headers to get O_CREAT and
25947           friends defined (according to documentation in linux manpage),
25948           to fix compile error.  Also, don't ignore the return value of
25949           write() to fix compile warning (and to ensure that the whole
25950           output gets written if possible).
25952 Sun Apr 01 13:19:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25954         * queryparser/queryparser.cc: Fix Assert() on a RefCountPtr to
25955           check the value of the pointer, to fix compile with asserts
25956           turned on.
25958 Sun Apr 01 12:57:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25960         * common/safewinsock2.h: Define socklen_t under MS compiler (since
25961           Olly reported build success with mingw, presumably it's not
25962           needed there).
25964 Sun Apr 01 06:42:14 BST 2007  Olly Betts <olly@survex.com>
25966         * languages/Makefile.mk: $(snowball_algorithms:.sbl=.cc) is portable
25967           according to the automake list so use that so we only need to list
25968           the .sbl sources.
25970 Sun Apr 01 05:53:29 BST 2007  Olly Betts <olly@survex.com>
25972         * common/tcpserver.h,net/tcpserver.cc: TcpServer's port member
25973           variable is set but never used so remove it.
25975 Sun Apr 01 03:27:30 BST 2007  Olly Betts <olly@survex.com>
25977         * bin/Makefile.mk,examples/Makefile.mk: Add $(EXEEXT) to dependency on
25978           binaries in man page generation rules so they work on Windows.
25980 Sat Mar 31 22:17:55 BST 2007  Olly Betts <olly@survex.com>
25982         * common/multimatch.h,matcher/multimatch.cc: When using a MatchDecider
25983           with remote database(s), don't rerun the MatchDecider on documents
25984           which a remote server has already checked.
25986 Sat Mar 31 10:44:26 BST 2007  Olly Betts <olly@survex.com>
25988         * tests/harness/backendmanager.cc: Sort out path to xapian-tcpsrv
25989           under mingw.  If neither HAVE_FORK nor __WIN32__ is defined,
25990           make compilation fail with a suitable #error.
25992 Sat Mar 31 10:17:06 BST 2007  Olly Betts <olly@survex.com>
25994         * api/Makefile,backends/Makefile,backends/flint/Makefile,
25995           backends/inmemory/Makefile,backends/multi/Makefile,
25996           backends/quartz/Makefile,backends/remote/Makefile,bin/Makefile,
25997           common/Makefile,examples/Makefile,getopt/Makefile,include/Makefile,
25998           languages/Makefile,matcher/Makefile,net/Makefile,
25999           queryparser/Makefile,tests/harness/Makefile: Don't pass $(MAKEFLAGS)
26000           on the command line to $(MAKE) when invoking the top level Makefile
26001           from a static Makefile.  It's passed automatically anyway, and also
26002           $(MAKEFLAGS) doesn't have a leading '-' so "make -s" tries to do
26003           "make s" at the top level.
26005 Sat Mar 31 09:28:06 BST 2007  Olly Betts <olly@survex.com>
26007         * tests/api_nodb.cc: Fix end of loop handling.
26009 Sat Mar 31 09:03:26 BST 2007  Olly Betts <olly@survex.com>
26011         * tests/api_nodb.cc: Fix to compile.
26013 Sat Mar 31 07:53:25 BST 2007  Olly Betts <olly@survex.com>
26015         * common/safewindows.h,common/safewinsock2.h: safewindows.h is
26016           included by a lot of files so we want to keep it lightweight
26017           so split winsock2.h related stuff into safewinsock2.h.
26018         * common/remoteconnection.h: Move WinsockInitializer here.
26019         * common/safeerrno.h: #include "safewinsock2.h" not <winsock2.h>.
26021 Sat Mar 31 07:19:06 BST 2007  Olly Betts <olly@survex.com>
26023         * common/remoteserver.h: Stop trying to include "remoteserver.h"
26024           because that's the SAME HEADER!
26026 Sat Mar 31 07:16:23 BST 2007  Olly Betts <olly@survex.com>
26028         * common/tcpclient.h,common/tcpserver.h: Fix comments - the class is
26029           called WinsockInitializer not WinsockInitialiser.
26031 Sat Mar 31 06:54:22 BST 2007  Olly Betts <olly@survex.com>
26033         * net/progclient.cc: Don't compile any code from this file if
26034           __WIN32__ is defined (for mingw).
26036 Sat Mar 31 06:52:27 BST 2007  Olly Betts <olly@survex.com>
26038         * tests/api_nodb.cc: Simplify code in test_stemlangs1().
26040 Sat Mar 31 06:22:26 BST 2007  Olly Betts <olly@survex.com>
26042         * net/remoteconnection.cc: Use const_cast to avoid GCC warning
26043           about casting away const.  Use string::data() rather than
26044           string::c_str() since we don't need a terminating zero byte.
26046 Sat Mar 31 06:20:07 BST 2007  Olly Betts <olly@survex.com>
26048         * backends/dbfactory_remote.cc: Suppress "unused parameter" warnings.
26050 Sat Mar 31 06:17:35 BST 2007  Olly Betts <olly@survex.com>
26052         * net/tcpserver.cc: Make global variable and function used only in
26053           this file static.  Don't call delete on a void* (that's undefined
26054           behaviour) - delete the cast version of the pointer instead.
26056 Sat Mar 31 06:17:20 BST 2007  Olly Betts <olly@survex.com>
26058         * AUTHORS: Add a number of bug reporters I missed before.
26060 Sat Mar 31 04:49:27 BST 2007  Olly Betts <olly@survex.com>
26062         * configure.ac: Clean up handling of --enable-backend-* options.  Let
26063           mingw try to build the remote backend.
26065 Sat Mar 31 03:47:49 BST 2007  Olly Betts <olly@survex.com>
26067         * tests/internaltest.cc: Don't compile test_serialisequery1
26068           if the remote backend is disabled to avoid an "unused
26069           function" warning (we were already disabling the use of
26070           it).
26072 Fri Mar 30 22:43:27 BST 2007  Olly Betts <olly@survex.com>
26074         * HACKING: Correct several inaccuracies: --enable-debug and
26075           --enable-debug=partial don't cause the build system to compile in
26076           debugging symbols (configure defaults to adding "-g" for GCC, while
26077           for other compilers you must enable them by hand).  Also,
26078           --enable-debug doesn't "produce warnings", but causes
26079           Xapian::AssertionError to be thrown.  Add explanation for why
26080           --enable-debug=partial" exists.  CC_FOR_BUILD is now needed for
26081           snowball as well as lemon.
26083 Fri Mar 30 19:53:05 BST 2007  Olly Betts <olly@survex.com>
26085         * common/utils.cc: Avoid GCC warning on format string "%I64d".
26087 Fri Mar 30 16:48:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26089         * common/tcpserver.h,net/tcpserver.cc: Patch from Mark Hammond:
26090           implement for windows.
26092 Fri Mar 30 16:21:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26094         * common/tcpclient.h,net/tcpclient.cc: Patch from Mark Hammond:
26095           implement for windows.
26097 Fri Mar 30 15:52:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26099         * tests/harness/backendmanager.cc: Patch from Mark Hammond:
26100           implement launcher for tcpserver, so that remotetcp tests can run
26101           on windows.
26103 Fri Mar 30 15:42:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26105         * common/safewindows.h: Include xapian/error.h so
26106           WinsockInitialiser can throw an exception.
26108 Fri Mar 30 14:59:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26110         * More code from Mark Hammond's patch
26111         * common/remoteconnection.h: Add explicit destructor and (for
26112           windows compiles) a declare a helper method to calculate the
26113           number of milliseconds until a timeout.
26114         * net/remoteconnection.cc: Implement windows versions for functions
26115           which need it: constructor and destructor now do create and close
26116           the overlapped IO stuff, read_at_least() and send_message() have
26117           windows specific implementations.
26119 Fri Mar 30 13:05:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26121         * More code adapted from Mark Hammond's patch
26122         * common/safewindows.h: When remote databases are compiled in,
26123           include the winsock stuff, and define some useful bits and pieces
26124           for using it.
26125         * common/remoteconnection.h: Add a member to RemoteConnection on
26126           windows to hold an overlapped IO structure.
26127         * net/progclient.cc: Don't include winsock stuff directly (it's now
26128           brought in by "safewindows.h"), and don't include <sys/wait.h> on
26129           windows.
26130         * net/remoteserver.cc: Ignore more SIGPIPE stuff on windows.
26132 Fri Mar 30 12:37:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26134         * Patch from Mark Hammond
26135         * backends/dbfactory_remote.cc: Ignore code to handle SIGPIPE on
26136           windows, where it doesn't exist.
26137         * backends/remote/remote-database.cc: Raise UnimplementedError on
26138           windows if a progclient backend is requested.
26140 Fri Mar 30 12:11:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26142         * tests/harness/testsuite.cc: Fix srcdir guessing on windows -
26143           search for windows style directory separators, and remove .exe
26144           suffix from executable name.  Adapted from Mark Hammond's patch.
26146 Thu Mar 29 18:32:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26148         * Changes related to Mark Hammond's patch:
26149         * common/safeerrno.h: Define a new inline function "socket_errno()"
26150           which returns an error number relating to the last error caused
26151           by a socket function on platforms which make such a distinction,
26152           and the value of errno on other platforms.
26153         * net/tcpclient.cc,net/tcpserver.cc: Use the socket_errno()
26154           function instead of checking the value of errno.  Also, check for
26155           WSAEWOULDBLOCK instead of EINPROGRESS on windows.
26157 Thu Mar 29 15:36:45 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26159         * bin/xapian-tcpsrv.cc,tests/harness/testsuite.cc: First of many
26160           parts of a large patch from Mark Hammond working towards enabling
26161           remote databases on windows.  When displaying errors which might
26162           be socket errors, display the error number as well as the output
26163           of strerror - on windows, strerror doesn't display useful
26164           information for socket errors.
26165         * AUTHORS: Add Mark Hammond
26167 Thu Mar 29 06:07:35 BST 2007  Olly Betts <olly@survex.com>
26169         * api/omqueryinternal.cc: Unserialisation shouldn't reject a
26170           serialised query which ends after a termname.
26171         * tests/internaltest.cc: Add regression test.
26173 Wed Mar 28 17:17:42 BST 2007  Olly Betts <olly@survex.com>
26175         * tests/queryparsertest.cc: Add feature tests for "prefer_mdy" and
26176           "epoch" arguments of DateValueRangeProcessor.
26178 Wed Mar 28 04:52:34 BST 2007  Olly Betts <olly@survex.com>
26180         * tests/queryparsertest.cc: Add more test cases for parsing of value
26181           ranges.
26183 Wed Mar 28 04:18:14 BST 2007  Olly Betts <olly@survex.com>
26185         * languages/compiler/generator.c,languages/compiler/header.h,
26186           languages/steminternal.cc,languages/steminternal.h: For among with
26187           functions (only used by finnish and lovins stemmers currently),
26188           change to generating an array of unsigned byte offsets into an array
26189           of function pointers rather than just an array of function pointers
26190           - this generally requires a lot less space.
26192 Wed Mar 28 03:28:37 BST 2007  Olly Betts <olly@survex.com>
26194         * queryparser/queryparser.lemony: Fix parsing of `hello a..b'.
26195         * tests/queryparsertest.cc: Add regression test for above.  Refactor
26196           qp_value_range1 to use a table of queries.
26198 Wed Mar 28 00:35:50 BST 2007  Olly Betts <olly@survex.com>
26200         * languages: Update svn:ignore for recent romanian changes.
26202 Wed Mar 28 00:08:11 BST 2007  Olly Betts <olly@survex.com>
26204         * api/valuerangeproc.cc: Need #include <stdio.h> for snprintf or
26205           sprintf.
26207 Tue Mar 27 23:53:18 BST 2007  Olly Betts <olly@survex.com>
26209         * queryparser/queryparser.lemony: Fix infinite loop in value range
26210           processing.  Fix value range to work as a filter when used with a
26211           probabilistic query.
26212         * tests/queryparsertest.cc: Add regression tests for the above two
26213           issues.  Refactor qp_value_range2 to use a table of queries.
26215 Tue Mar 27 22:09:57 BST 2007  Olly Betts <olly@survex.com>
26217         * api/valuerangeproc.cc: Assume that the start date is before the
26218           end date to help decide ambiguous cases.
26220 Tue Mar 27 21:49:15 BST 2007  Olly Betts <olly@survex.com>
26222         * api/valuerangeproc.cc: Refactor to simplify and reduce duplication.
26224 Tue Mar 27 21:41:38 BST 2007  Olly Betts <olly@survex.com>
26226         * configure.ac: datarootdir is new in 2.60 too, so use datadir when
26227           setting docdir for 2.59.
26229 Tue Mar 27 18:39:11 BST 2007  Olly Betts <olly@survex.com>
26231         * api/Makefile.mk,api/valuerangeproc.cc,include/xapian/queryparser.h:
26232           Move NumberValueRangeProcessor::operator()() out of the header as
26233           it's too complex for sane inlining.  Implement handling of dmy and
26234           mdy dates and epochs for 2 digit years.
26235         * tests/queryparsertest.cc: Add tests.
26237 Tue Mar 27 11:57:53 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26239         * languages/romanian.sbl: Add Martin Porter's new romanian stemming
26240           algorithm.
26241         * languages/romanian1.sbl,languages/romanian2.sbl: Remove old
26242           romanian stemming algorithms.
26243         * languages/Makefile.mk: Replace romanian1 and romanian2 by
26244           romanian.
26245         * languages/stem.cc: Use romanian stemmer when asked for "ro" or
26246           "romanian".  No longer give a stemmer for "romanian1" or
26247           "romanian2".
26249 Tue Mar 27 04:50:36 BST 2007  Olly Betts <olly@survex.com>
26251         * languages/german2.sbl: Copy over "hop 3" in utf-8 case from
26252           snowball's latest version.
26254 Tue Mar 27 04:44:52 BST 2007  Olly Betts <olly@survex.com>
26256         * tests/stemtest.cc: Remove lower casing of dictionary words before
26257           stemming - instead we'll make sure the dictionary is already the
26258           right case.
26260 Tue Mar 27 04:28:10 BST 2007  Olly Betts <olly@survex.com>
26262         * languages/compiler/analyser.c,languages/compiler/generator.c,
26263           languages/compiler/header.h,languages/steminternal.cc,
26264           languages/steminternal.h: Add handling of among with functions.
26265           We use a "shim" functions for each method we want to call in
26266           this way.  The shim function is passed the "this" pointer and
26267           calls a particular method on this.  Split the functions into
26268           an optional separate array, since they're not used by most of
26269           the stemming algorithms.
26270         * languages/Makefile.mk,languages/stem.cc: Enable the finnish
26271           and lovins stemmers.
26273 Tue Mar 27 04:24:37 BST 2007  Olly Betts <olly@survex.com>
26275         * languages/steminternal.cc: Fix typo bug in slice_to - if we needed
26276           to increase the capacity of a snowball string variable, we trashed
26277           the variable with p (bug discovered while trying to enable the
26278           finnish stemmer).
26280 Tue Mar 27 02:55:51 BST 2007  Olly Betts <olly@survex.com>
26282         * include/xapian/queryparser.h: Implement handling of ISO format dates
26283           in DateValueRangeProcessor.
26284         * tests/queryparsertest.cc: Add feature tests.
26286 Tue Mar 27 01:47:36 BST 2007  Olly Betts <olly@survex.com>
26288         * include/xapian/queryparser.h: Implement prefix and suffix handling
26289           for NumberValueRangeProcessor.
26290         * tests/queryparsertest.cc: Add feature tests.
26292 Mon Mar 26 22:26:48 BST 2007  Olly Betts <olly@survex.com>
26294         * queryparser/utf8itor.h: Add is_currency() predicate function.
26295         * queryparser/queryparser.lemony: Rejig parsing of RANGE_START to
26296           allow all characters which are likely to be required.
26297         * tests/queryparsertest.cc: Test RANGE_START can contain "/".
26298         * queryparser/queryparser.lemony: Set "syntax=yacc" for vim, which
26299           give fairly decent syntax highlighting.
26301 Mon Mar 26 15:43:50 BST 2007  Olly Betts <olly@survex.com>
26303         * configure.ac: Use m4 comments not shell (dnl not #).
26305 Mon Mar 26 15:41:41 BST 2007  Olly Betts <olly@survex.com>
26307         * configure.ac: Add code to ensure that docdir is set for autoconf
26308           2.59 (starting from 2.60, it is defined as standard).
26309         * docs/Makefile.am: Use docdir for installing docs.
26311 Sun Mar 25 15:41:16 BST 2007  Olly Betts <olly@survex.com>
26313         * bin/xapian-compact.cc: Prune unused docids off the start of each
26314           source database's range of docid.
26316 Sat Mar 24 23:07:42 GMT 2007  Olly Betts <olly@survex.com>
26318         * include/xapian/base.h: Add a note explaining why it's OK that
26319           RefCntBase doesn't have a virtual destructor.
26321 Sat Mar 24 01:30:17 GMT 2007  Olly Betts <olly@survex.com>
26323         * HACKING,configure.ac: Bump the automake required version to 1.9.5.
26324           It was in Debian sarge, so any modern Linux distro should include
26325           packages, and we've actually been bootstrapping with 1.9.6 for ages.
26327 Thu Mar 22 00:53:35 GMT 2007  Olly Betts <olly@survex.com>
26329         * configure.ac: Disable probes for f77 more completely by preventing
26330           the probe code from even appearing in configure.  Similarly
26331           eliminate the code for gcj and rc probes - in total these changes
26332           reduce the size of configure by 209KB (~25%).
26334 Fri Mar 09 14:28:01 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26336         * Makefile.am: Add include/xapian/error.h to list of headers to
26337           install.
26339 Thu Mar 08 17:16:08 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26341         * generate-exceptions.in,exception_data.pm: Split definitions of
26342           the exception hierarchy into a separate file, so it can be reused
26343           elsewhere.
26344         * Makefile.am: Add exception_data.pm as a dependency for generating
26345           error.h, and add it to EXTRA_DIST.
26347 Fri Mar 09 06:42:40 GMT 2007  Olly Betts <olly@survex.com>
26349         * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: We
26350           always ignore the return value from FlintCursor::get_key() because
26351           we only call it when it shouldn't fail, so restructure the code so
26352           it can't fail and change the return value to void.
26354 Fri Mar 09 06:33:09 GMT 2007  Olly Betts <olly@survex.com>
26356         * configure.ac: Suppress another aCC warning.
26358 Thu Mar 08 20:39:46 GMT 2007  Olly Betts <olly@survex.com>
26360         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow
26361           arbitrary characters in a range end (anything except whitespace
26362           and ')').
26364 Thu Mar 08 19:46:46 GMT 2007  Olly Betts <olly@survex.com>
26366         * Makefile.am,languages/Makefile.mk: Depend on the autoconf
26367           substituted version of a script, not the template version.  The
26368           only thing we substitute is @PERL@, but configure won't update
26369           a substituted file which hasn't changed so it's better to put
26370           the dependency on the script itself where it belongs.
26372 Thu Mar 08 17:09:21 GMT 2007  Olly Betts <olly@survex.com>
26374         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Keep any
26375           non-whitespace, non-term prefix for a term in case it turns out
26376           to be the start of a range, so "$50..100" works.
26378 Thu Mar 08 16:21:14 GMT 2007  Olly Betts <olly@survex.com>
26380         * HACKING: Add my "create docs/GNUmakefile" trick to avoid doxygen
26381           delays.
26383 Thu Mar 08 16:13:39 GMT 2007  Olly Betts <olly@survex.com>
26385         * HACKING: A few more coding guidelines.
26387 Thu Mar 08 14:26:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26389         * HACKING: Adjust wording to indicate that the build system is
26390           indended not to break after SVN updates.
26392 Thu Mar 08 07:34:22 GMT 2007  Olly Betts <olly@survex.com>
26394         * include/xapian/queryparser.h,tests/queryparsertest.cc: Add simple
26395           implementations of DateValueRangeProcessor and
26396           NumberValueRangeProcessor and add qp_value_range2 to check that
26397           chaining ValueRangeProcessor subclasses works as intended.
26399 Thu Mar 08 06:06:15 GMT 2007  Olly Betts <olly@survex.com>
26401         * docs/overview.html: Fix links to error classes in generated API
26402           documentation.
26404 Thu Mar 08 05:37:13 GMT 2007  Olly Betts <olly@survex.com>
26406         * include/xapian/queryparser.h,queryparser/queryparser.cc,
26407           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
26408           tests/queryparsertest.cc: Add the ability to parse "value ranges"
26409           to the QueryParser (e.g. "10..50") which translate into a Query
26410           with operator OP_VALUE_RANGE.
26412 Thu Mar 08 04:27:54 GMT 2007  Olly Betts <olly@survex.com>
26414         * include/xapian/queryparser.h,queryparser/queryparser.cc: Remove
26415           QueryParser::set_stemming_options() which has been deprecated
26416           since 0.9.0.
26418 Thu Mar 08 03:37:07 GMT 2007  Olly Betts <olly@survex.com>
26420         * backends/flint/flint_lock.cc: Handle write failing to send a single
26421           byte down down the pipe to tell the parent we've got the lock (a
26422           potential bug noticed by _FORTIFY_SOURCE!)  Handle read() failing
26423           with an unexpected error on the parent side by failing the lock
26424           attempt rather than risking an infinite loop.
26426 Thu Mar 08 02:52:26 GMT 2007  Olly Betts <olly@survex.com>
26428         * include/xapian/types.h: Rewritten, with more accurate documentation
26429           comments.  Add constant Xapian::BAD_VALUENO which is -1 cast to
26430           Xapian::valueno.
26431         * api/omenquire.cc,include/xapian/enquire.h,matcher/multimatch.cc: Use
26432           Xapian::BAD_VALUENO instead of Xapian::valueno(-1).
26434 Thu Mar 08 01:47:08 GMT 2007  Olly Betts <olly@survex.com>
26436         * docs/Makefile.am: Try putting apidoc/html in EXTRA_DIST instead of
26437           using dist-hook.
26439 Wed Mar 07 23:16:52 GMT 2007  Olly Betts <olly@survex.com>
26441         * docs/Makefile.am: Stop shipping docs/apidoc/latex/* in the
26442           xapian-core tarballs since it's just useless bloat.  Removing it
26443           more than halves the size of the tarball (55% reduction!)
26445 Wed Mar 07 22:07:31 GMT 2007  Olly Betts <olly@survex.com>
26447         * tests/runtest.in: If we aren't using valgrind, turn on
26448           MALLOC_CHECK_ and MALLOC_PERTURB_ for glibc.
26450 Wed Mar 07 20:02:31 GMT 2007  Olly Betts <olly@survex.com>
26452         * INSTALL: CVS -> SVN.
26454 Wed Mar 07 20:00:37 GMT 2007  Olly Betts <olly@survex.com>
26456         * configure.ac: Define _FORTIFY_SOURCE in config.h if GCC is in use
26457           and it's not already set.  That way the user can easily override.
26458         * INSTALL: Document this.
26460 Wed Mar 07 19:53:15 GMT 2007  Olly Betts <olly@survex.com>
26462         * INSTALL: Remove reference to muscat36 backend.
26464 Wed Mar 07 17:37:07 GMT 2007  Olly Betts <olly@survex.com>
26466         * configure.ac: Note GCC and glibc versions needed for _FORTIFY_SOURCE
26467           support.
26469 Wed Mar 07 16:29:02 GMT 2007  Olly Betts <olly@survex.com>
26471         * queryparser/lemon.c: Increase the length allowed for the filename
26472           in an error message, as it was being truncated which makes for a
26473           confusing error message and stops editors jumping to the line with
26474           the error in.
26476 Wed Mar 07 15:57:15 GMT 2007  Olly Betts <olly@survex.com>
26478         * common/Makefile.mk: Ship common/msvc_posix_wrapper.h and
26479           common/msvc_posix_wrapper.cc.
26481 Wed Mar 07 10:01:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26483         * configure.ac: Add -D_FORTIFY_SOURCE to AM_CXXFLAGS for GCC
26484           builds.  According to glibc CVS support for this was added in
26485           October 2004, but it doesn't seem to be documented very well,
26486           other than in features.h.  This adds some extra checking for
26487           array bounds, partially at compile time, but doesn't currently
26488           find any problems (or cause any noticeable slowdown).
26490 Wed Mar 07 04:49:01 GMT 2007  Olly Betts <olly@survex.com>
26492         * api/omqueryinternal.cc: Include str_parameter in swap() and the copy
26493           constructor.
26494         * tests/api_anydb.cc: get_mset(0, 20) not get_mset(1, 20)!  Also check
26495           that we didn't miss any documents which should match the filter, not
26496           just that we didn't get any documents which shouldn't.
26498 Wed Mar 07 03:07:49 GMT 2007  Olly Betts <olly@survex.com>
26500         * tests/harness/unixcmds.h: Fixed reverse sense include guard test.
26501         * tests/api_db.cc: Still need #include "utils.h".
26502         * tests/harness/backendmanager.cc: Update for rmdir.h -> unixcmds.h
26503           and rmdir() -> rm_rf().
26505 Wed Mar 07 02:22:30 GMT 2007  Olly Betts <olly@survex.com>
26507         * backends/quartz/btree.cc,backends/quartz/quartz_database.cc,
26508           backends/quartz/quartz_log.cc,common/utils.h,net/remoteconnection.cc,
26509           net/tcpclient.cc,tests/api_db.cc,tests/btreetest.cc,tests/harness/,
26510           tests/quartztest.cc: Rename rmdir() to rm_rf() since it does the
26511           same as "rm -rf" not "rmdir".  The "touch()" function is only used
26512           in the testsuite so move it from common/utils.h into
26513           tests/harness/rmdir.cc and rename rmdir.cc to unixcmds.cc.
26514           common/utils.h no longer include safefcntl.h, so add explicit
26515           includes to the files which were previous relying on utils.h pulling
26516           it in.
26518 Wed Mar 07 02:21:18 GMT 2007  Olly Betts <olly@survex.com>
26520         * xapian.spec.in: Include ChangeLog.examples.
26522 Wed Mar 07 02:17:59 GMT 2007  Olly Betts <olly@survex.com>
26524         * docs/index.html,docs/internals.html: Create a separate index page
26525           for the "internal" documentation.
26527 Tue Mar 06 23:47:58 GMT 2007  Olly Betts <olly@survex.com>
26529         * common/utils.cc,common/utils.h: Remove map_string_to_value() which
26530           is no longer used.
26531         * common/utils.h: Remove prototype for rmdir() which I failed to
26532           remove with the earlier commit.
26534 Tue Mar 06 22:51:51 GMT 2007  Olly Betts <olly@survex.com>
26536         * tests/harness/rmdir.cc: Fix rmdir() on Unix to not be O(n^2) in the
26537           worst case.
26539 Tue Mar 06 22:46:30 GMT 2007  Olly Betts <olly@survex.com>
26541         * docs/Makefile.am: Use the "inline test || echo" idiom to merge the
26542           VPATH and non-VPATH cases for distributing and installing the HTML
26543           apidocs.
26545 Tue Mar 06 22:13:03 GMT 2007  Olly Betts <olly@survex.com>
26547         * api/omqueryinternal.cc: Fix Query::get_description() on an
26548           OP_VALUE_RANGE query.
26550 Tue Mar 06 09:03:33 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26552         * HACKING: Note on running preautoreconf and autoreconf to keep SVN
26553           builds working.
26554         * PLATFORMS: Update with success reports for windows builds.
26556 Tue Mar 06 01:57:23 GMT 2007  Olly Betts <olly@survex.com>
26558         * tests/internaltest.cc: Comment out the "unsigned long long" testcase
26559           in tostring1 since the library doesn't currently have (or need) the
26560           utility function for that case.
26562 Tue Mar 06 01:49:55 GMT 2007  Olly Betts <olly@survex.com>
26564         * common/utils.cc,tests/btreetest.cc,tests/harness/,
26565           tests/quartztest.cc: rmdir() is only used in the test suite, and not
26566           in the library code, so move it into the testsuite.  Also, bow out
26567           early if the pathname passed is empty, and on Unix protect against
26568           filenames which start with "-".
26570 Mon Mar 05 02:52:49 GMT 2007  Olly Betts <olly@survex.com>
26572         * configure.ac: Suppress more unhelpful aCC warnings.
26574 Mon Mar 05 02:15:29 GMT 2007  Olly Betts <olly@survex.com>
26576         * tests/internaltest.cc: Add testcase autoptr1 which tests that an
26577           autoptr correctly handles self-assignment.
26579 Mon Mar 05 02:05:53 GMT 2007  Olly Betts <olly@survex.com>
26581         * tests/internaltest.cc: Rename "omtostring1" to "tostring1" (we don't
26582           want to perpetuate references to "om"!)  Add more test cases to this
26583           test.
26585 Mon Mar 05 01:18:17 GMT 2007  Olly Betts <olly@survex.com>
26587         * configure.ac: Update in line with 0.9.10.
26589 Sun Mar 04 23:58:29 GMT 2007  Olly Betts <olly@survex.com>
26591         * AUTHORS: Add reporters of bugs fixed in 0.9.10 to the "thanks" list.
26593 Sun Mar 04 00:44:17 GMT 2007  Olly Betts <olly@survex.com>
26595         * api/errorhandler.cc,include/xapian/errorhandler.h: Move virtual
26596           dtor for ErrorHandler out of the header.  Same reasons as previous
26597           commit.
26599 Sun Mar 04 00:40:44 GMT 2007  Olly Betts <olly@survex.com>
26601         * api/omenquire.cc,include/xapian/enquire.h,matcher/Makefile.mk,
26602           matcher/weight.cc: Move virtual method definitions out of headers
26603           for MatchDecider, ExpandDecider, Weight, BoolWeight.  This fixes
26604           warnings from aCC, and it's rare that the compiler would be able
26605           to inline a virtual method anyway.
26607 Sat Mar 03 21:40:43 GMT 2007  Olly Betts <olly@survex.com>
26609         * configure.ac: For HP's aCC, we no longer need to suppress warning
26610           #336 (empty translation unit) since dummy.cc is history.  But we
26611           do want to suppress a couple of frequently reported "remarks" which
26612           are unavoidable and don't indicate a problem.  Experimentally, add
26613           "+wlint" for "link-like" warnings.
26615 Sat Mar 03 21:38:52 GMT 2007  Olly Betts <olly@survex.com>
26617         * include/xapian.h,include/xapian/version_h.cc: Move function
26618           prototypes into a non-generated header.
26619         * configure.ac,msvc/version.h.in: Generate version.h suitable for use
26620           with MSVC.
26621         * Makefile.am: Distribute msvc/version.h.
26623 Sat Mar 03 19:49:11 GMT 2007  Olly Betts <olly@survex.com>
26625         * tests/harness/backendmanager.cc: Rework how we start and handle
26626           xapian-tcpsrv - it's now started by exec from a child process.
26627           This means that the mechanism to try higher port numbers works
26628           reliably, and we no longer leak file descriptors (which was causing
26629           tests to fail on some platforms).
26631 Sat Mar 03 19:46:03 GMT 2007  Olly Betts <olly@survex.com>
26633         * bin/xapian-tcpsrv.cc: Put "e.get_errno()" in a variable for clearer
26634           code.
26636 Sat Mar 03 16:01:17 GMT 2007  Olly Betts <olly@survex.com>
26638         * common/msvc_posix_wrapper.cc: Change `#include <fcntl.h>' to
26639           `#include "safefcntl.h"' (currently makes no difference on
26640           Windows, but it's more consistent to always use the safeXXX
26641           headers).
26642         * common/msvc_posix_wrapper.cc: Merge two ECHILD cases.
26643         * common/msvc_posix_wrapper.cc: Make sure dwCreationDisposition
26644           is initialised even if flags has a bogus value.
26645         * common/msvc_posix_wrapper.cc: Be consistent and always use O_CREAT,
26646           etc, instead of sometimes using the MS alternative forms _O_CREAT,
26647           etc.
26649 Sat Mar 03 03:25:05 GMT 2007  Olly Betts <olly@survex.com>
26651         * generate-exceptions.in: The GCC visibility docs aren't clear whether
26652           you need to make *thrown* exception types visible, or also *caught*
26653           exception types.  But I've just been having odd problems catching
26654           Xapian::DocNotFoundError with "const Xapian::Error &", so let's mark
26655           the exception virtual baseclass Xapian::Error as visible too.
26657 Fri Mar 02 22:34:04 GMT 2007  Olly Betts <olly@survex.com>
26659         * languages/Makefile.mk,languages/generate-allsnowballheaders.in:
26660           Convert unreadable make rule for generating allsnowballheaders.h
26661           to a perl script.
26662         * configure.ac: Substitute languages/allsnowballheaders.
26664 Fri Mar 02 14:31:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26666         * tests/internaltest.cc: Add a test for om_tostring(), mainly
26667           aimed at 64 bit types on windows platforms.  Mingw builds report
26668           a warning in this code, which merits further investigation - see
26669           Bug #112 for details.
26671 Fri Mar 02 14:15:44 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26673         * common/msvc_posix_wrapper.cc: Improve accuracy of emulation of
26674           posix open, and fix a bug which caused it to misinterpret the
26675           "flags" argument - files were always being opened for writing:
26676           O_RDONLY is 0, so the old test (flags & O_RDONLY) always
26677           failed.
26679 Fri Mar 02 12:44:33 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26681         * common/msvc_posix_wrapper.cc: Fix whitespace issues.
26683 Fri Mar 02 12:18:42 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26685         * HACKING: Add note about how to generate ChangeLog timestamps
26686           using the unix date command - and I've started generating them in
26687           the same format as Olly is. (I hope.)
26689 Fri Mar  2 11:49:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26691         * common/msvc_posix_wrapper.h,common/safeerrno.h,
26692           common/msvc_posix_wrapper.cc,backends/quartz/btree.cc,
26693           backends/flint/flint_table.cc,backends/flint/flint_btreebase.cc:
26694           Move MSVC specific code for opening files into
26695           msvc_posix_wrapper.cc, and just leave a few conditional includes
26696           and function calls elsewhere.
26698 Thu Mar 01 22:51:42 GMT 2007  Olly Betts <olly@survex.com>
26700         * queryparser/queryparser.lemony: Add casts to U_isupper(), etc to
26701           suppress warnings from aCC.
26702         * queryparser/queryparser.lemony: Use U_isdigit() instead of
26703           C_isdigit(), etc - the truncation to a char can cause false
26704           positives.
26705         * tests/queryparsertest.cc: Add a (rather contrived) regression test
26706           for the above change.
26708 Thu Mar 01 21:49:37 GMT 2007  Olly Betts <olly@survex.com>
26710         * queryparser/utf8itor.h: Add cast to suppress warning from aCC.
26712 Thu Mar  1 15:27:09 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26714         * common/utils.c,common/utils.h: For windows, add an om_tostring()
26715           function for 64 bit integers: time() and GetProcessId() return
26716           these, and without this, backends/quartz/quartz_log.cc reports
26717           an error.
26719 Thu Mar  1 13:48:46 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26721         * queryparser/queryparser.lemony: Fix handling of hated wildcards
26722           which don't expand to any terms.
26724 Thu Mar  1 13:45:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26726         * tests/queryparsertest.cc: Fix last two test cases for hated
26727           wildcards to check for exactly what should be returned.
26729 Thu Mar  1 12:02:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26731         * common/safeerrno.h: Some of Microsoft's C++ compiler versions
26732           earlier than 2005 do not have _set_errno, so #define it in this
26733           case.
26735 Thu Mar 01 04:28:23 GMT 2007  Olly Betts <olly@survex.com>
26737         * backends/quartz/btree.h: Correct comment ("read" -> "write").
26739 Thu Mar 01 04:21:52 GMT 2007  Olly Betts <olly@survex.com>
26741         * backends/flint/flint_table.h: Correct comment ("read" -> "write").
26743 Thu Mar 01 01:30:02 GMT 2007  Olly Betts <olly@survex.com>
26745         * tests/queryparsertest.cc: Add some test cases for hated wildcards
26746           which don't expand to any terms.
26748 Thu Mar 01 01:21:42 GMT 2007  Olly Betts <olly@survex.com>
26750         * api/omqueryinternal.cc: Complete truncated comment.  Prefer
26751           preincrement to postincrement.
26753 Wed Feb 28 20:13:35 GMT 2007  Olly Betts <olly@survex.com>
26755         * api/omdocument.cc: Really tweak OmDocumentTerm::add_position() so
26756           that adding position 0 to an empty termlist takes the shortcut.
26758 Wed Feb 28 15:04:25 GMT 2007  Olly Betts <olly@survex.com>
26760         * common/safeerrno.h: Correct <safeerrno.h> to "safeerrno.h" in
26761           message in #error directive.
26763 Wed Feb 28 14:59:29 GMT 2007  Olly Betts <olly@survex.com>
26765         * include/xapian/query.h: Removed documentation comment for
26766           Xapian::Query::Internal which is no longer relevant (Query objects
26767           are now immutable once constructed, so parameters can no longer be
26768           set separately).
26770 Wed Feb 28 02:42:31 GMT 2007  Olly Betts <olly@survex.com>
26772         * api/omqueryinternal.cc: Add support for serialising OP_VALUE_RANGE
26773           queries.  Add support for OP_VALUE_RANGE queries to
26774           Query::get_description().  If an OP_VALUE_RANGE query has a start
26775           bound strictly greater than its end bound, simplify it by knowing
26776           that it can't match anything.
26777         * common/remoteprotocol.h,docs/remote_protocol.html: Bump remote
26778           protocol version to 24.
26780 Wed Feb 28 01:15:00 GMT 2007  Olly Betts <olly@survex.com>
26782         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
26783           matcher/: Add new Query operator OP_VALUE_RANGE which allows
26784           a query to be filtered by checking if a value lies between
26785           two limits.
26786         * tests/api_anydb.cc: Add feature test valuerange1.
26788 Wed Feb 28 01:07:53 GMT 2007  Olly Betts <olly@survex.com>
26790         * tests/harness/testsuite.cc: Only hook the testsuite into valgrind if
26791           env var XAPIAN_TESTSUITE_VALGRIND is set, to make it simple to run a
26792           test program under valgrind normally.
26793         * tests/runtest.in: Set XAPIAN_TESTSUITE_VALGRIND if automatically
26794           running a test program under valgrind.
26796 Tue Feb 27 23:51:34 GMT 2007  Olly Betts <olly@survex.com>
26798         * tests/Makefile.am: Turn subdir-objects back on here so that the
26799           harness objects end up in the harness subdirectory.
26801 Tue Feb 27 22:45:04 GMT 2007  Olly Betts <olly@survex.com>
26803         * examples/delve.cc: Rename "-k" to "-V" since "keys" were renamed to
26804           "values" long ago.  Keep "-k" as an alias for now, but don't
26805           advertise it.  Add handling so "-V3" shows value #3 for every
26806           document in the database.
26808 Tue Feb 27 21:35:35 GMT 2007  Olly Betts <olly@survex.com>
26810         * tests/Makefile.am,tests/remotetest.cc: Get rid of remotetest since
26811           it no longer does anything.
26813 Tue Feb 27 21:28:28 GMT 2007  Olly Betts <olly@survex.com>
26815         * tests/api_db.cc,tests/remotetest.cc: Move netstats1 from remotetest
26816           to apitest.  It will now run for "remotetcp" as well as "remote".
26818 Tue Feb 27 21:27:17 GMT 2007  Olly Betts <olly@survex.com>
26820         * tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
26821           Inline trivial getter and setter methods in the header.  Make
26822           getter method const.
26824 Tue Feb 27 20:22:58 GMT 2007  Olly Betts <olly@survex.com>
26826         * examples/delve.cc: Change to not stem terms by default.  Add
26827           "-s/--stemmer" option to allow a stemmer to be specified.
26829 Tue Feb 27 17:50:13 GMT 2007  Olly Betts <olly@survex.com>
26831         * backends/flint/flint_table.cc: Test revision_supplied rather than
26832           revision_ so that behaviour matches comments.
26834 Tue Feb 27 16:58:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26836         * tests/api_wrdb.cc: Enhance crashrecovery1 to check that the
26837           readers reference a database with the expected number of
26838           documents.  This checks that the base files which were removed
26839           were the correct ones to leave the current database valid.
26841 Tue Feb 27 16:54:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26843         * backends/quartz/btree.cc,backends/quartz/btree.h,
26844           backends/quartz/quartz_database.cc: Apply fix for opening
26845           databases while under heavy modification to quartz, using Olly's
26846           attachment to bug #108:
26847           http://www.xapian.org/cgi-bin/bugzilla/attachment.cgi?id=43
26848           Verified with loadtest that this resolves the issue.
26850 Tue Feb 27 13:12:31 GMT 2007  Olly Betts <olly@survex.com>
26852         * tests/harness/backendmanager.h: Add get_dbtype() method to allow the
26853           current backend type to be read.
26854         * tests/apitest.cc,tests/apitest.h: Add get_dbtype() function to allow
26855           BackendManager::get_dbtype() to be called by tests.
26856         * tests/api_wrdb.cc: Add new test crashrecovery1 to verify that the
26857           backend can recover from the latest revision missing some of the
26858           base files.
26860 Tue Feb 27 12:45:00 GMT 2007  Olly Betts <olly@survex.com>
26862         * tests/harness/backendmanager.cc: Fix how we start xapian-progsrv
26863           when running under valgrind.
26865 Tue Feb 27 11:34:22 GMT 2007  Olly Betts <olly@survex.com>
26867         * backends/flint/flint_database.cc: Remove the old throw for
26868           DatabaseOpeningError so the new throw for DatabaseModifiedError will
26869           actually be used.
26871 Tue Feb 27 09:22:52 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26873         * flint_table.cc,flint_table.h,flint_database.cc: If a database is
26874           being frequently modified (ie, transactions committed extremely
26875           frequently), flint can fail open all the tables at a consistent
26876           revision on the first attempt.  The code to handle this in
26877           flint_database.cc was not firing because flint_table.cc was
26878           reporting all failures to open a table for reading by throwing an
26879           exception.  This commit changes flint_table.cc to report failure
26880           to open at a specific revision by returning false.
26882           In addition, there was a bug in flint_database.cc which caused
26883           the attempts to re-try opening a database in this situation to
26884           fail.  This is now fixed.
26886           Finally, flint_database.cc now throws a DatabaseModified error if
26887           100 attempts to reopen the database fail because of continual
26888           modifications - previously, it would have thrown a
26889           DatabaseOpening error.
26891           There is no easy regression test - but my "loadtest.cc" program
26892           attached to bug #108 shows the problem (if you comment out the
26893           code which ignores DatabaseOpeningErrors).
26895 Tue Feb 27 01:25:00 GMT 2007  Olly Betts <olly@survex.com>
26897         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Need to
26898           define DOXYGEN so that the previous change to the generated
26899           errordispatch.h works.  Remove obsolete macros from
26900           EXPAND_AS_DEFINED and PREDEFINED.
26901         * docs/doxygen_full_conf.in: Increase MAX_DOT_GRAPH_WIDTH from
26902           800 to 1024 to match doxygen_api_conf.in.
26904 Tue Feb 27 00:41:47 GMT 2007  Olly Betts <olly@survex.com>
26906         * matcher/multimatch.cc: Fix warning with SGI's CC.
26908 Tue Feb 27 00:35:06 GMT 2007  Olly Betts <olly@survex.com>
26910         * generate-exceptions.in: Wrap errordispatch.h in "#ifndef DOXYGEN"
26911           and "#endif" because doxygen gets confused by a header full of
26912           code.
26914 Mon Feb 26 21:53:41 GMT 2007  Olly Betts <olly@survex.com>
26916         * tests/findheaders.pl: Remove long unused perl script.
26918 Mon Feb 26 19:23:50 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26920         * tests/api_wrdb.c: test_emptyterm2 used to delete a writable
26921           database whilst the database was open.  Unfortunately, this
26922           doesn't work on windows (and it doesn't seem to be easy to make
26923           it work), so this patch changes the test to close each database
26924           before opening the next writable database at the same path.
26925           Fortunately, this seems to be the only test which behaves like
26926           this.  Also, added a note to the win32 README file to document
26927           this restriction.
26929 Mon Feb 26 19:19:34 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26931         * docs/Makefile.am: touch apidoc/html/index.html after apidoc.pdf
26932           is created so that make doesn't attempt to regenerate it due to
26933           the dependency of apidoc/html/index.html on apidoc.pdf.
26934           Similarly for sourcedoc/html/index.html.
26936 Mon Feb 26 18:36:22 GMT 2007  Olly Betts <olly@survex.com>
26938         * tests/harness/backendmanager.cc: Indent with tabs not spaces.
26939         * tests/harness/index_utils.cc: Add missing space after "if";
26940           prefer "X.empty()" to "X.size() == 0".
26942 Mon Feb 26 16:10:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26944         * tests/harness/index_utils.cc,tests/harness/backendmanager.cc:
26945           Fix for windows: windows file handling seems to have a bug
26946           causing end of file conditions in ifstream to be missed.  As a
26947           result, an empty string was being returned from the get_paragraph
26948           function in the test harness, resulting in an out-of-bounds error
26949           when generating a value from the paragraph.  Add a check that the
26950           paragraph returned isn't empty, and return an empty document if
26951           it is.  Then, check for empty documents (ie, contain some terms)
26952           before adding them to the test database.
26954 Mon Feb 26 16:05:07 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26956         * backends/quartz/btree_base.cc,backends/flint/flint_btreebase.cc:
26957           Fix for windows: string append method with a pointer and length
26958           causes a segfault-type error on windows if the pointer is NULL,
26959           even if the length is also 0.  Check for this case when appending
26960           the bitmap to the base block, since a NULL pointer is passed for
26961           an empty bitmap when a new database is being created.
26963           Also, initialise the bit_map0 and bitmap members to 0 in the
26964           FlintTable_base constructor which takes a string and a char
26965           argument - they had been omitted from this and were only being
26966           initialised by the constructor which takes no argument.  This
26967           didn't seem to be having any negative effect, but doing it makes
26968           the code neater.
26970 Sun Feb 25 23:21:11 GMT 2007  Olly Betts <olly@survex.com>
26972         * backends/inmemory/inmemory_database.cc: Create the RefCntPtr to this
26973           as an explicit variable to make the code more readable.
26975 Sun Feb 25 19:20:33 GMT 2007  Olly Betts <olly@survex.com>
26977         * matcher/multimatch.cc: Fix inconsistent ordering between pages with
26978           set_sort_by_value_then_relevance (fixes bug#110).
26979         * tests/api_wrdb.cc: Enabled test consistency2.
26981 Sun Feb 25 17:28:09 GMT 2007  Olly Betts <olly@survex.com>
26983         * matcher/: Also apply the "decreasing weights with remote database"
26984           optimisations which we use in the sort_by_relevance case in the
26985           sort_by_relevance_then_value case.
26987 Sat Feb 24 19:35:41 GMT 2007  Olly Betts <olly@survex.com>
26989         * backends/inmemory/inmemory_database.cc: If replace_document is used
26990           to set the docid of a newly added document which has previously
26991           existed, then we need to mark that document as valid (caught by
26992           existing test replacedoc4 in a debug build).
26994 Sat Feb 24 17:11:22 GMT 2007  Olly Betts <olly@survex.com>
26996         * tests/api_wrdb.cc: Add regression test consistency2 for bug#110
26997           (currently skipped since the bug isn't fixed yet).
26999 Thu Feb 22 15:18:53 GMT 2007  Olly Betts <olly@survex.com>
27001         * configure.ac: Add proper detection for SGI's C++ (check stderr
27002           output of "CC -v").  Automatically pass -ptused in CXXFLAGS for
27003           xapian-core and any applications using xapian-config --cxxflags
27004           since it seems to be required to avoid template linking errors.
27006 Thu Feb 22 09:04:30 GMT 2007  Olly Betts <olly@survex.com>
27008         * docs/Makefile.am: Ship generated RSTHTML files.
27010 Wed Feb 21 19:01:06 GMT 2007  Olly Betts <olly@survex.com>
27012         * languages/turkish.sbl: Make some simplifications to the code of the
27013           turkish stemmer.
27015 Wed Feb 21 19:00:11 GMT 2007  Olly Betts <olly@survex.com>
27017         * languages/Makefile.mk,languages/stem.cc,languages/turkish.sbl:
27018           Add turkish stemmer.
27020 Wed Feb 21 18:55:03 GMT 2007  Olly Betts <olly@survex.com>
27022         * languages/compiler/generator.c: Number m_test and c_test variables
27023           to avoid variable shadowing warnings.
27025 Wed Feb 21 18:07:50 GMT 2007  Olly Betts <olly@survex.com>
27027         * languages/compiler/generator.c: Remove duplicate copy of function
27028           resulting from ham-fisted reverting and applying of patches.
27030 Wed Feb 21 18:03:12 GMT 2007  Olly Betts <olly@survex.com>
27032         * languages/compiler/generator.c,languages/compiler/header.h: Number
27033           mlimit variables to avoid variable shadowing warnings.
27034         * languages/compiler/generator.c: Use "if (foo() == -1) return -1;"
27035           which avoids a temporary variable (improving readability of
27036           generated code) and producing very slightly faster code.
27037         * languages/compiler/header.h: Use "#ifdef DISABLE_JAVA" around Java
27038           generator specific struct members and prototypes.
27040 Wed Feb 21 17:47:13 GMT 2007  Olly Betts <olly@survex.com>
27042         * languages/compiler/generator.c: Add "~C" comments to generated
27043           source for more operations.
27045 Tue Feb 20 20:24:30 GMT 2007  Olly Betts <olly@survex.com>
27047         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Ensure
27048           both_bases is set to false if we don't have both bases when
27049           opening a table using an existing object.
27051 Tue Feb 20 15:57:05 GMT 2007  Olly Betts <olly@survex.com>
27053         * preautoreconf: Fix to handle generating dependencies on generated
27054           objects, at least for the "checked out tree from SVN" case.  Fixing
27055           this fully is trickier, but currently this is stopped snapshots
27056           from bootstrapping.
27058 Tue Feb 20 14:28:02 GMT 2007  Charlie Hull
27060         * backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc,
27061           backends/quartz/btree.cc: Use MS Windows API calls to delete
27062           files and open files we might want to delete while they are
27063           still open (i.e. the flint and quartz btree base files).  This
27064           fixes a problem when a writer can't discard an old revision at the
27065           exact moment a reader is opening it (bug #108).
27067 Tue Feb 20 14:13:43 GMT 2007  Richard Boulton <richard@tartarus.org>
27069         * .: Add generate-exceptions to svn:ignore property.
27071 Tue Feb 20 13:36:27 GMT 2007  Olly Betts <olly@survex.com>
27073         * generate-exceptions.in: Add missing '}' to close 'namespace Xapian'
27074           in generated header 'xapian/error.h'.
27076 Tue Feb 20 13:26:19 GMT 2007  Olly Betts <olly@survex.com>
27078         * Makefile.am: Put generated exception headers in BUILT_SOURCES.
27080 Tue Feb 20 12:10:18 GMT 2007  Olly Betts <olly@survex.com>
27082         * Makefile.am,configure.ac,generate-exceptions.in,include/Makefile.mk,
27083           include/xapian/error.h,include/xapian/errortypes.h,net/serialise.cc:
27084           Replace macro gymnastics with errortypes.h by a perl script which
27085           generates the headers we require.  It's more flexible, and easier to
27086           get doxygen to generate documentation from.
27087         * queryparser/queryparser.cc,tests/queryparsertest.cc: Throw new
27088           Error subclass QueryParserError instead of throwing const char *
27089           (fixes bug#101).
27091 Tue Feb 20 10:37:54 GMT 2007  Olly Betts <olly@survex.com>
27093         * languages/steminternal.cc: p is never NULL once the class is
27094           successfully constructed, so just use Assert() to confirm this.
27096 Tue Feb 20 10:29:25 GMT 2007  Olly Betts <olly@survex.com>
27098         * queryparser/lemon.c: Fix compiler warnings.
27100 Mon Feb 19 18:50:12 GMT 2007  Olly Betts <olly@survex.com>
27102         * common/serialise-double.cc,net/remoteconnection.cc: Throw
27103           NetworkError rather than InternalError for invalid data received
27104           over the remote protocol.
27106 Mon Feb 19 18:12:21 GMT 2007  Olly Betts <olly@survex.com>
27108         * tests/internaltest.cc: Just disable serialisequery1 if the remote
27109           backend is disabled, like we do for serialiselength1 and
27110           serialisedoc1 rather than assuming InternalError is due to the
27111           code being disabled.
27113 Mon Feb 19 09:48:02 GMT 2007  Olly Betts <olly@survex.com>
27115         * docs/Makefile.am,docs/XapianAdminNotes.txt,docs/admin_notes.rst:
27116           Generated file "XapianAdminNotes.html" doesn't fit the naming
27117           conventions of other files at all, so renamed to "admin_notes.html".
27118           Rename the source to ".rst" so we can use an implicit rule for
27119           the conversion, in anticipation of other documentation in ReST
27120           format.
27122 Mon Feb 19 09:10:48 GMT 2007  Olly Betts <olly@survex.com>
27124         * docs/Makefile.am: Fix typos which stopped parallel make from working
27125           correctly in "docs" subdirectory.
27127 Sun Feb 18 22:36:46 GMT 2007  Olly Betts <olly@survex.com>
27129         * common/Makefile.mk,common/omstringstream.h,common/output.h,
27130           include/Makefile.mk,include/xapian/output.h: Move
27131           "<xapian/output.h>" to being an internal header in "common/" since
27132           it hasn't been included by "<xapian.h>" since 0.7.0.
27134 Sun Feb 18 22:18:33 GMT 2007  Olly Betts <olly@survex.com>
27136         * include/xapian/dbfactory.h: Add documentation comment for the "prog"
27137           form of Remote::open_writable().
27139 Sun Feb 18 19:31:20 GMT 2007  Olly Betts <olly@survex.com>
27141         * tests/queryparsertest.cc: Add test for "associative NEAR".
27143 Sun Feb 18 18:27:40 GMT 2007  Olly Betts <olly@survex.com>
27145         * tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
27146           Merge BackendManager::change_names_to_paths() into
27147           index_files_to_database() and make the latter a method of
27148           class BackendManager.
27149         * tests/harness/backendmanager.cc: Remove mention of muscat36 backends
27150           from error message listing valid backends.
27151         * tests/harness/backendmanager.h: Comment out prototypes for currently
27152           disabled methods getdb_inmemoryerr, getwritedb_inmemory, etc.
27154 Sat Feb 17 15:38:05 GMT 2007  Olly Betts <olly@survex.com>
27156         * backends/flint/flint_table.cc: new throws if allocation fails
27157           so we don't need to check the return value.
27159 Sat Feb 17 02:08:22 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27161         * backends/flint/flint_table.cc: Fix memory double-frees if
27162           FlintTable::close() is called twice on a table (without an open()
27163           being called in between).  This was happening after a transaction
27164           failed when the table was next opened.
27165         * backends/quartz/btree.cc: Fix double-frees, similarly.
27167 Fri Feb 16 20:11:13 GMT 2007  Olly Betts <olly@survex.com>
27169         * languages/compiler/generator.c: Add missing "~Z" for compatibility
27170           with C code generation (which we don't use for Xapian).
27172 Fri Feb 16 19:51:26 GMT 2007  Olly Betts <olly@survex.com>
27174         * queryparser/tclUniData.h,queryparser/utf8itor.h: The tcl unicode
27175           routines only have tables for characters in the BMP.  For other
27176           characters, assume they're word characters, but can't be forced to
27177           lowercase.
27179 Fri Feb 16 19:26:00 GMT 2007  Olly Betts <olly@survex.com>
27181         * queryparser/utf8itor.cc: Fix bug in decoding of 4 byte utf-8
27182           sequences - the returned value was 0x400000 too large!
27184 Thu Feb 15 19:37:26 GMT 2007  Olly Betts <olly@survex.com>
27186         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Keep
27187           embedded apostrophe's in terms rather than generating a phrase
27188           search for them.
27190 Thu Feb 15 18:42:49 GMT 2007  Olly Betts <olly@survex.com>
27192         * languages/compiler/generator.c,languages/steminternal.cc,
27193           languages/steminternal.h: Tweak the "grouping" functions to allow
27194           skipping past multiple occurrences and use this to implement "goto"
27195           or "gopast" followed by a grouping or "non" grouping more
27196           efficiently.
27198 Thu Feb 15 17:57:43 GMT 2007  Olly Betts <olly@survex.com>
27200         * languages/compiler/generator.c,languages/steminternal.cc,
27201           languages/steminternal.h: Inline lose_s().  Since lose_s()
27202           checks if p is NULL, remove checks prior to calling lose_s().
27203         * languages/steminternal.h: Cast from symbol * to int * via
27204           void * to try to suppress over-eager warnings about alignment.
27206 Thu Feb 15 12:43:04 GMT 2007  Olly Betts <olly@survex.com>
27208         * languages/stem.cc: Add support for two letter ISO 639 codes.
27210 Thu Feb 15 10:40:40 GMT 2007  Olly Betts <olly@survex.com>
27212         * docs/Makefile.am: Don't try to ship mkdoc.pl.
27214 Thu Feb 15 09:58:48 GMT 2007  Olly Betts <olly@survex.com>
27216         * docs/gen_codestructure_doc.in: Fix to work in a VPATH build.
27218 Thu Feb 15 09:54:55 GMT 2007  Olly Betts <olly@survex.com>
27220         * languages/compiler/generator.c: Fix Stem::get_description() to
27221           return the right string.
27223 Thu Feb 15 09:44:54 GMT 2007  Olly Betts <olly@survex.com>
27225         * docs/gen_codestructure_doc.in: Add links to viewvcs on
27226           svn.xapian.org.
27228 Thu Feb 15 09:26:07 GMT 2007  Olly Betts <olly@survex.com>
27230         * configure.ac,docs/Makefile.am,docs/gen_codestructure_doc.in,
27231           docs/mkdoc.pl,preautoreconf: Rework how code_structure.html
27232           is generated.  Nicer output, and the html document is now
27233           regenerated if any of the dir_contents files change.
27235 Thu Feb 15 07:43:39 GMT 2007  Olly Betts <olly@survex.com>
27237         * Makefile.am,bin/Makefile.mk,configure.ac,examples/Makefile.mk,
27238           makemanpage.in: Add "makemanpage" script which takes care of all
27239           the magic needed to generate a man page using help2man.  This
27240           script is written in perl, but so is help2man, and they're both
27241           only used in maintainer-mode.
27243 Thu Feb 15 06:33:41 GMT 2007  Olly Betts <olly@survex.com>
27245         * bin/Makefile.mk: Fix typos in man page generation rules.
27247 Thu Feb 15 06:30:54 GMT 2007  Olly Betts <olly@survex.com>
27249         * examples/Makefile.mk: Fix typos in previous commit.
27251 Thu Feb 15 06:03:35 GMT 2007  Olly Betts <olly@survex.com>
27253         * Makefile.am,configure.ac,examples/Makefile,examples/Makefile.am,
27254           examples/Makefile.mk: Convert examples subdirectory to use
27255           non-recursive make.  Fixes wishlist bug#97.
27257 Thu Feb 15 05:48:38 GMT 2007  Olly Betts <olly@survex.com>
27259         * Makefile.am,bin/Makefile,bin/Makefile.am,bin/Makefile.mk,
27260           configure.ac: Convert bin subdirectory to use non-recursive make.
27262 Wed Feb 14 19:08:49 GMT 2007  Olly Betts <olly@survex.com>
27264         * tests/Makefile.am: There's no longer a need to remove the temporary
27265           directories for muscat36 backend tests, since we've removed the
27266           muscat36 backend code.
27268 Wed Feb 14 18:58:31 GMT 2007  Olly Betts <olly@survex.com>
27270         * languages/Makefile.mk: Move adjusting of INCLUDES to the top of the
27271           file.
27272         * queryparser/Makefile.mk: Adjust INCLUDES for a VPATH build.
27274 Wed Feb 14 18:38:16 GMT 2007  Olly Betts <olly@survex.com>
27276         * languages/Makefile.mk: Need -Ilanguages for VPATH builds from SVN.
27278 Wed Feb 14 18:37:54 GMT 2007  Olly Betts <olly@survex.com>
27280         * languages/steminternal.cc,languages/steminternal.h: Add
27281           SET_CAPACITY() macro.
27283 Wed Feb 14 17:39:50 GMT 2007  Olly Betts <olly@survex.com>
27285         * languages/steminternal.h: Don't cast away const.
27287 Wed Feb 14 17:14:14 GMT 2007  Olly Betts <olly@survex.com>
27289         * include/Makefile: Add stub makefile.
27291 Wed Feb 14 17:12:41 GMT 2007  Olly Betts <olly@survex.com>
27293         * configure.ac: ac_abs_srcdir, etc aren't available in configure
27294           itself, so we have to do the work ourselves.
27296 Wed Feb 14 12:54:26 GMT 2007  Olly Betts <olly@survex.com>
27298         * configure.ac: Fix typo in last commit.
27300 Wed Feb 14 12:19:18 GMT 2007  Olly Betts <olly@survex.com>
27302         * Makefile.am,configure.ac,languages/Makefile.mk: Define automake
27303           conditional VPATH_BUILD so we can only add extra entries to
27304           INCLUDES in VPATH builds.
27306 Wed Feb 14 11:59:02 GMT 2007  Olly Betts <olly@survex.com>
27308         * languages/Makefile.mk: Ick, we need $(top_srcdir)/languages in
27309           INCLUDES as the generated sources need to find non-generated
27310           headers.
27312 Wed Feb 14 11:46:43 GMT 2007  Olly Betts <olly@survex.com>
27314         * backends/database.cc,backends/remote/remote-database.cc,
27315           common/database.h,common/remote-database.h,common/remoteprotocol.h,
27316           docs/remote_protocol.html,net/remoteserver.cc: Support
27317           get_lastdocid() on remote databases.
27319 Wed Feb 14 11:20:33 GMT 2007  Olly Betts <olly@survex.com>
27321         * Makefile.am,configure.ac,include/Makefile.am,include/Makefile.mk:
27322           Convert include subdirectory to use non-recursive make.
27324 Wed Feb 14 11:05:00 GMT 2007  Olly Betts <olly@survex.com>
27326         * Makefile.am,bin/Makefile.am,configure.ac,examples/Makefile.am,
27327           getopt/Makefile,getopt/Makefile.am,getopt/Makefile.mk,
27328           tests/Makefile.am: Convert getopt subdirectory to use non-recursive
27329           make.
27331 Wed Feb 14 10:56:15 GMT 2007  Olly Betts <olly@survex.com>
27333         * tests/harness/Makefile.am: Remove as no longer used.
27335 Wed Feb 14 10:38:27 GMT 2007  Olly Betts <olly@survex.com>
27337         * backends/quartz/Makefile.mk,bin/Makefile.am,tests/Makefile.am: Move
27338           backends/quartz/libbtreecheck.la to libquartzcheck.la.
27339         * getopt/Makefile.am: Distribute getopt/dir_contents.
27341 Wed Feb 14 10:20:14 GMT 2007  Olly Betts <olly@survex.com>
27343         * preautoreconf: Handle variables set with "+=" and ":=".
27345 Wed Feb 14 10:16:29 GMT 2007  Olly Betts <olly@survex.com>
27347         * include/xapian/database.h: Add documentation comments for DB_*
27348           constants.
27350 Wed Feb 14 10:11:37 GMT 2007  Olly Betts <olly@survex.com>
27352         * examples/.cvsignore: Remove lingering relic of CVS days.
27354 Wed Feb 14 10:07:14 GMT 2007  Olly Betts <olly@survex.com>
27356         * Makefile.am,configure.ac,net/Makefile,net/Makefile.am,
27357           net/Makefile.mk: Convert net subdirectory to use non-recursive make.
27358           Now libxapian.la is built completely non-recursively.
27359         * docs/Makefile.am,docs/mkdoc.pl: Fix mkdoc.pl to handle directories
27360           which use non-recursive make.
27362 Wed Feb 14 09:10:27 GMT 2007  Olly Betts <olly@survex.com>
27364         * Makefile.am,backends/Makefile,backends/Makefile.am,
27365           backends/Makefile.mk,backends/flint/Makefile,
27366           backends/flint/Makefile.am,backends/flint/Makefile.mk,
27367           backends/inmemory/Makefile,backends/inmemory/Makefile.am,
27368           backends/inmemory/Makefile.mk,backends/multi/Makefile,
27369           backends/multi/Makefile.am,backends/multi/Makefile.mk,
27370           backends/quartz/Makefile,backends/quartz/Makefile.am,
27371           backends/quartz/Makefile.mk,backends/remote/Makefile,
27372           backends/remote/Makefile.am,backends/remote/Makefile.mk,
27373           configure.ac: Convert backends subdirectory (and subdirectories
27374           thereof) to non-recursive make.
27376 Wed Feb 14 08:49:02 GMT 2007  Olly Betts <olly@survex.com>
27378         * preautoreconf: Fix handling of backslash at the end of a line in
27379           included files.
27380         * preautoreconf: Our handling of which directory a nested include is
27381           sought from is consistent with automake, so remove the FIXME comment
27382           about it.
27384 Wed Feb 14 08:07:07 GMT 2007  Olly Betts <olly@survex.com>
27386         * Makefile.am,configure.ac,matcher/Makefile,matcher/Makefile.am,
27387           matcher/Makefile.mk: Convert matcher subdirectory to non-recursive
27388           make.
27390 Wed Feb 14 07:50:19 GMT 2007  Olly Betts <olly@survex.com>
27392         * Makefile.am,api/Makefile,api/Makefile.am,api/Makefile.mk,
27393           configure.ac: Convert api subdirectory to non-recursive make.
27395 Wed Feb 14 07:48:45 GMT 2007  Olly Betts <olly@survex.com>
27397         * preautoreconf: No need to `chdir' to the current directory.
27398         * preautoreconf: Don't bother looking at the file we generate
27399           when considering included files.
27400         * preautoreconf: Add included files to the dependency list.
27402 Wed Feb 14 07:38:19 GMT 2007  Olly Betts <olly@survex.com>
27404         * preautoreconf: Generate dummy rules for the files which
27405           preautoreconf depends on, so that "make" still works if one
27406           of them is removed (by build system restructuring).
27408 Wed Feb 14 07:24:07 GMT 2007  Olly Betts <olly@survex.com>
27410         * common,languages,tests/harness: svn:ignore: We do need to ignore
27411           .dirstamp files after all.
27413 Wed Feb 14 07:22:29 GMT 2007  Olly Betts <olly@survex.com>
27415         * Makefile.am,common/Makefile,common/Makefile.am,common/Makefile.mk,
27416           configure.ac: Convert common subdirectory to non-recursive make.
27418 Wed Feb 14 07:03:27 GMT 2007  Olly Betts <olly@survex.com>
27420         * .: svn:ignore: Ignore all vim swapfiles.  No need to ignore .deps
27421           now that dummy.cc is history.
27423 Wed Feb 14 06:34:44 GMT 2007  Olly Betts <olly@survex.com>
27425         * tests/stemtest.cc: Force ASCII capitals in sample vocabulary to
27426           lower case before stemming.
27428 Wed Feb 14 06:14:42 GMT 2007  Olly Betts <olly@survex.com>
27430         * Makefile.am,configure.ac,queryparser/Makefile,
27431           queryparser/Makefile.am,queryparser/Makefile.mk:
27432           Convert queryparser subdirectory to non-recursive make.
27433         * Makefile.am: Enable automake option "subdir-objects" so
27434           that built objects for a non-recursively made directory
27435           go into that directory.
27437 Wed Feb 14 06:12:29 GMT 2007  Olly Betts <olly@survex.com>
27439         * tests/harness: svn:ignore: remove .dirstamp and depcomp.
27441 Wed Feb 14 06:10:44 GMT 2007  Olly Betts <olly@survex.com>
27443         * languages/Makefile.mk: In maintainer-mode, remove snowball and
27444           generated allsnowballheaders.h on "make clean".  When not in
27445           maintainer-mode, remove them on "make maintainer-clean".
27446         * languages/: svn:ignore all vim swap files.
27448 Wed Feb 14 05:54:32 GMT 2007  Olly Betts <olly@survex.com>
27450         * languages/Makefile.mk: Distribute the stub languages/Makefile.
27451         * tests/harness/Makefile.mk: No need to explicitly distribute
27452           harness/Makefile.mk.
27454 Wed Feb 14 05:52:08 GMT 2007  Olly Betts <olly@survex.com>
27456         * languages/Makefile.mk: Distribute languages/dir_contents.
27458 Wed Feb 14 05:44:10 GMT 2007  Olly Betts <olly@survex.com>
27460         * api/Makefile.am,api/vectortermlist.h,common/Makefile.am,
27461           queryparser/Makefile.am: We use vectortermlist.h from the
27462           queryparser directory, so move it from api to common.
27464 Wed Feb 14 05:27:13 GMT 2007  Olly Betts <olly@survex.com>
27466         * languages/Makefile.mk,languages/stem.cc: Disable finnish and lovins
27467           temporarily, until I sort out merging the support for among with
27468           functions properly.
27470 Wed Feb 14 05:24:36 GMT 2007  Olly Betts <olly@survex.com>
27472         * languages/steminternal.cc,languages/steminternal.h: Temporarily
27473           back out the changes to handling of among with functions.
27475 Tue Feb 13 19:11:57 GMT 2007  Olly Betts <olly@survex.com>
27477         * tests/harness/testsuite.cc: If a test throws an unknwon exception,
27478           say so in the test failure message.  If it throws std::string,
27479           report the first 40 character (or first line) of the string.
27481 Tue Feb 13 17:48:11 GMT 2007  Olly Betts <olly@survex.com>
27483         * languages/steminternal.cc: Fix decoding of 3 byte utf-8 sequences.
27485 Tue Feb 13 17:47:22 GMT 2007  Olly Betts <olly@survex.com>
27487         * languages/Makefile.mk: Fix dependency of generated
27488           languages/allsnowballheaders.h to be on languages/Makefile.mk.
27490 Tue Feb 13 17:46:42 GMT 2007  Olly Betts <olly@survex.com>
27492         * languages/compiler/generator.c: Fix missing ";" in generated
27493           code.
27495 Tue Feb 13 15:40:15 GMT 2007  Olly Betts <olly@survex.com>
27497         * languages/Makefile.mk,languages/compiler/driver.c,
27498           languages/compiler/generator.c,languages/compiler/header.h:
27499           Changes towards getting C++ generation working.
27501 Tue Feb 13 15:39:23 GMT 2007  Olly Betts <olly@survex.com>
27503         * languages/steminternal.cc,languages/steminternal.h: Revert to match
27504           currently generated code.
27506 Tue Feb 13 14:09:31 GMT 2007  Olly Betts <olly@survex.com>
27508         * languages/compiler/: Sync with current snowball SVN + submitted
27509           patches.
27511 Tue Feb 13 10:53:34 GMT 2007  Olly Betts <olly@survex.com>
27513         * tests/harness/backendmanager.cc: If we fail to start
27514           xapian-tcpsrv, report why (give errno or the error output).
27516 Tue Feb 13 10:28:43 GMT 2007  Olly Betts <olly@survex.com>
27518         * tests/remotetest.cc: Prune test cases which are redundant now that
27519           apitest tests remote and remotetcp: apitest's simplequery1 performs
27520           a superset of what netmatch1 and tcpmatch1 do; apitest's multidb1
27521           performs a superset of what netmatch2 does; and the coverage given
27522           by our netexpand1 is provided by various apitest tests.
27524 Mon Feb 12 06:36:58 GMT 2007  Olly Betts <olly@survex.com>
27526         * languages/compiler/generator.c: In backward mode, among
27527           can't match if there are fewer characters before the current
27528           position than the minimum length string in the among.
27530 Mon Feb 12 05:56:31 GMT 2007  Olly Betts <olly@survex.com>
27532         * configure.ac: Make sure that the languages subdirectory exists in
27533           case this is a fresh SVN checkout and srcdir != builddir.
27535 Mon Feb 12 05:46:49 GMT 2007  Olly Betts <olly@survex.com>
27537         * languages/Makefile.mk,languages/compiler/driver.c: -DDISABLE_JAVA
27538           to not compile in Java support (inline with Richard's patch to
27539           the upstream snowball sources).
27540         * languages/Makefile.mk: Remove inaccurate comment about processing
27541           with automake.  Fix -n option we pass (remove directory name).
27542           Use "" instead of <> in generated file allsnowballheaders.h.  Remove
27543           snowball compiler and generated files on "make maintainer-clean".
27545 Mon Feb 12 01:08:50 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27547         * languages/compiler/header.h: Remove commented out header for
27548           sort() prototype, to match snowball sources.
27550 Sun Feb 11 19:28:50 GMT 2007  Olly Betts <olly@survex.com>
27552         * languages/api.h,languages/header.h: Remove headers which are no
27553           longer used.
27555 Sun Feb 11 19:26:50 GMT 2007  Olly Betts <olly@survex.com>
27557         * languages/api.cc,languages/utilities.cc: Remove sources which are
27558           no longer used.
27560 Sun Feb 11 16:22:16 GMT 2007  Olly Betts <olly@survex.com>
27562         * languages/compiler/driver.c: Use #ifdef instead of #if.
27564 Sun Feb 11 16:20:44 GMT 2007  Olly Betts <olly@survex.com>
27566         * languages/compiler/driver.c: Disable java support, since we don't
27567           use it and it means one less source file.
27569 Sun Feb 11 16:08:49 GMT 2007  Olly Betts <olly@survex.com>
27571         * languages/compiler/analyser.c,languages/compiler/header.h: Use qsort
27572           instead the snowball's own sort implementation to reduce the number
27573           of source files we need for the snowball compiler.
27575 Sun Feb 11 16:04:19 GMT 2007  Olly Betts <olly@survex.com>
27577         * languages/Makefile: Add stub Makefile to allow "make", "make check",
27578           and "make clean" from the languages subdirectory.
27580 Sun Feb 11 16:00:51 GMT 2007  Olly Betts <olly@survex.com>
27582         * languages/compiler/analyser.c: Cast the arguments, not the function
27583           pointer as ISO C allows `void*' and `struct amongvec*' to have
27584           different representations.
27586 Sun Feb 11 15:43:49 GMT 2007  Olly Betts <olly@survex.com>
27588         * languages/compiler/space.c: Fix a typo of a function name in a
27589           comment.
27591 Sun Feb 11 15:23:51 GMT 2007  Olly Betts <olly@survex.com>
27593         * languages/compiler/header.h,languages/compiler/tokeniser.c: Give
27594           syswords and syswords2 .h extensions for clarity.
27596 Sun Feb 11 15:17:28 GMT 2007  Olly Betts <olly@survex.com>
27598         * Makefile.am,api/Makefile.am,api/omstem.cc,configure.ac,dummy.cc,
27599           languages/Makefile.am,languages/Makefile.mk,languages/compiler/,
27600           languages/: Update the stemmers to use utf-8 and the latest snowball
27601           version (based on r421 from snowball SVN).  Further patches are
27602           required to generate C++ classes from snowball, I'm checking in the
27603           vanilla compiler first to help us track the patches.
27605 Sun Feb 11 14:16:35 GMT 2007  Olly Betts <olly@survex.com>
27607         * api/omstem.cc: Add definition for Xapian::Stem::stem_word().
27609 Sun Feb 11 13:15:11 GMT 2007  Olly Betts <olly@survex.com>
27611         * tests/api_anydb.cc,tests/api_db.cc,tests/api_posdb.cc: Prefer
27612           Xapian::Stem::operator() to Xapian::Stem::stem_word().
27614 Sat Feb 10 19:10:31 GMT 2007  Olly Betts <olly@survex.com>
27616         * queryparser/queryparser.lemony: Prefer Xapian::Stem::operator() to
27617           Xapian::Stem::stem_word().
27619 Sat Feb 10 18:34:41 GMT 2007  Olly Betts <olly@survex.com>
27621         * include/xapian/stem.h: Make Xapian::Stem::Internal as @internal for
27622           doxygen.  Mark Xapian::Stem::stem_word() as deprecated.
27624 Sat Feb 10 18:34:05 GMT 2007  Olly Betts <olly@survex.com>
27626         * HACKING: Add brief note about coding style.
27628 Sat Feb 10 18:24:28 GMT 2007  Olly Betts <olly@survex.com>
27630         * preautoreconf: Add licence and copyright notice.  Add support for
27631           automake include directives.  Warn about unknown variables.
27633 Sat Feb 10 18:19:26 GMT 2007  Olly Betts <olly@survex.com>
27635         * tests/harness/testsuite.cc: Conditionalise all the valgrind specific
27636           code on RUNNING_ON_VALGRIND to minimise the overhead if valgrind
27637           is installed but we aren't running tests under it.
27639 Sat Feb 10 17:42:05 GMT 2007  Olly Betts <olly@survex.com>
27641         * tests/harness/index_utils.cc,tests/stemtest.cc: Prefer
27642           Xapian::Stem::operator() to Xapian::Stem::stem_word().
27644 Sat Feb 10 17:27:27 GMT 2007  Olly Betts <olly@survex.com>
27646         * examples/delve.cc,examples/simpleindex.cc,examples/simplesearch.cc:
27647           Prefer Xapian::Stem::operator() to Xapian::Stem::stem_word().
27649 Wed Feb 07 04:23:09 GMT 2007  Olly Betts <olly@survex.com>
27651         * queryparser/queryparser.lemony,queryparser/queryparser.lt: Use
27652           new/delete instead of malloc/free to allocate struct yyParser
27653           and pass it around as "yyParser *" instead of "void *".
27655 Wed Feb 07 03:44:16 GMT 2007  Olly Betts <olly@survex.com>
27657         * include/xapian/queryparser.h,queryparser/queryparser.cc,
27658           queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
27659           tests/queryparsertest.cc: Allow the default prefix to be specified
27660           so you can use QueryParser to parse a text entry box for "author"
27661           etc.
27662         * configure.ac: Note API change for LIBRARY_VERSION_INFO updating.
27664 Wed Feb 07 01:14:37 GMT 2007  Olly Betts <olly@survex.com>
27666         * common/safeunistd.h: Add '#include <sys/types.h>' so that we've seen
27667           a typedef for off_t before we hide it behind a #define to avoid a
27668           compilation error if <sys/types.h> or <wchar.h> is included after
27669           we are.
27671 Tue Feb 06 06:26:24 GMT 2007  Olly Betts <olly@survex.com>
27673         * INSTALL: Mention MSVC makefiles.  Note that we still test build with
27674           GCC 2.95.4 even though we recommend using a newer version.
27676 Tue Feb 06 06:13:48 GMT 2007  Olly Betts <olly@survex.com>
27678         * AUTHORS,HACKING,backends/flint/,backends/quartz/btree.cc,
27679           backends/quartz/quartz_database.cc,bin/quartzcompact.cc,
27680           bin/xapian-compact.cc,common/,tests/btreetest.cc,
27681           tests/harness/backendmanager.cc,tests/harness/testsuite.cc,
27682           tests/quartztest.cc: Support large files in stat() and fstat()
27683           when building with MSVC.  Factor MSVC specific header magic
27684           into new replacement headers "safeunistd.h" and "safesysstat.h".
27685         * AUTHORS: Thanks to Charlie Hull for the original patch to support
27686           stat() on large files with MSVC (and past MSVC related stuff!)
27688 Sat Jan 13 02:06:15 GMT 2007  Olly Betts <olly@survex.com>
27690         * include/xapian/database.h: Add pointer from
27691           WritableDatabase::add_document() to replace_document() in case the
27692           user wants to specify the docid themselves.  Also improve the
27693           wording of the warning about changes not being committed to disk
27694           right away.
27696 Tue Jan  2 15:49:43 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27698         * backends/quartz/btree.cc,backends/flint/flint_io.h: Patches from
27699           Charlie Hull to allow 2GB+ index files work when compiled using
27700           Visual C++.
27702 Sat Dec 30 13:48:54 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27704         * queryparser/queryparser.lemony,include/xapian/queryparser.h:
27705           Add support for partially entered queries, to better support
27706           incremental searching.  Also fix a typo in a comment.
27707         * docs/queryparser.html: Document the new partial query option, and
27708           what it's useful for.
27709         * tests/queryparsertest.cc: Test partial queries.
27711 Wed Dec 20 16:42:24 GMT 2006  Olly Betts <olly@survex.com>
27713         * PLATFORMS: Updated with success reports from debian buildds.
27715 Wed Dec 20 00:53:19 GMT 2006  Olly Betts <olly@survex.com>
27717         * api/omqueryinternal.cc: Fix "unused parameter" warning when building
27718           with the remote backend disabled.  Also update a comment - the query
27719           serialisation isn't really one line of text since we now store term
27720           names with the length prefixed, and they can contain arbitrary
27721           characters including linefeeds.
27723 Tue Dec 19 20:40:27 GMT 2006  Olly Betts <olly@survex.com>
27725         * tests/Makefile.am: Need libgetopt.la for test programs which
27726           use the test harness for platforms where GNU getopt isn't in
27727           the standard C library.
27729 Tue Dec 19 20:34:16 GMT 2006  Olly Betts <olly@survex.com>
27731         * queryparser/utf8itor.h: Need <string.h> for strlen.
27733 Tue Dec 19 16:35:58 GMT 2006  Olly Betts <olly@survex.com>
27735         * common/omstringstream.h: Fix "warning: comparison between signed and
27736           unsigned".
27738 Tue Dec 19 15:33:19 GMT 2006  Olly Betts <olly@survex.com>
27740         * backends/flint/flint_positionlist.cc: Turn the second (and
27741           potentially slightly deeper) recursion in encode_interpolative
27742           and decode_interpolative into explicit iteration in case the
27743           compiler fails to optimise the tail recursion.
27745 Mon Dec 18 03:39:41 GMT 2006  Olly Betts <olly@survex.com>
27747         * matcher/: Add ExactPhrasePostList to handle the common special case
27748           where the window size of OP_PHRASE is equal to the number of terms
27749           in the phrase.
27751 Mon Dec 18 02:21:32 GMT 2006  Olly Betts <olly@survex.com>
27753         * tests/harness/testsuite.cc: Remove accidentally committed "NO
27754           PROBLEM" message when running under valgrind.
27756 Wed Dec 13 21:15:57 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27758         * include/xapian/document.h: Another tweak to the documentation
27759           comment.
27761 Wed Dec 13 18:07:51 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27763         * include/xapian/document.h: Improve documentation comment for
27764           Document::get_value().
27766 Wed Dec 13 03:38:37 GMT 2006  Olly Betts <olly@survex.com>
27768         * include/xapian/enquire.h: In the description of the TradWeight
27769           class, replace reference to "Muscat 3.6" (meaningless to most
27770           people) with a generally useful explanation.
27772 Wed Dec 13 03:27:14 GMT 2006  Olly Betts <olly@survex.com>
27774         * docs/: svn:ignore XapianAdminNotes.html.
27776 Wed Dec 13 03:16:44 GMT 2006  Olly Betts <olly@survex.com>
27778         * configure.ac: Yet more valgrind test improvements!  Give up testing
27779           valgrind features if VALGRIND_COUNT_LEAKS isn't supported.  Fix the
27780           common shortcut case to not try logging to /dev/null.<pid> so it
27781           can actually get used.  Also don't use /dev/null in the --logfile
27782           case either as it will probably cause problems there too (though I
27783           don't have an old enough valgrind handy to verify this).  Also report
27784           results of valgrind tests in a couple more places.
27786 Wed Dec 13 00:31:04 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27788         * docs/Makefile.am: New rules for generating XapianAdminNotes.html
27789           from XapianAdminNotes.txt
27790         * configure.ac: Check for rst2html, and require it in maintainer
27791           mode.
27792         * HACKING: document rst2html as a requirement.
27794 Tue Dec 12 23:58:13 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27796         * docs/XapianAdminNotes.txt: Add new document giving an
27797           introduction to Xapian concepts for system administrators.
27799 Tue Dec 12 21:33:38 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27801         * docs/quartzdesign.html: Fix an unmatched bracket.
27803 Tue Dec 12 21:18:54 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27805         * backends/quartz/quartz_alldocspostlist.cc: Fix memory leak
27806           discovered by valgrind in QuartzAllDocsPostList constructor: was
27807           failing to delete the Bcursor.
27809 Tue Dec 12 21:05:47 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27811         * queryparser/queryparser.lemony: Fix parsing of queries of the
27812           form "+foo* bar", where no terms in the database match the
27813           wildcard "foo*", but bar does exist in the database.  Previously,
27814           such queries would be equivalent to "bar".  Now, they will match
27815           no documents.  This required using a new "QpQuery" object
27816           internally so we can distinguish between deliberately "match
27817           nothing" queries, and empty lists of queries.
27818         * tests/api_anydb.cc,tests/queryparsertest.cc: Test above fix, and
27819           general parsing of wildcard queries with +terms, and test
27820           performing a match with a query resulting from a wildcard query
27821           which matches nothing.
27823 Tue Dec 12 21:05:15 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27825         * tests/api_nodb.cc,api/omqueryinternal.cc,api/omquery.cc: Fix some
27826           copyright assertions I missed.
27828 Tue Dec 12 19:38:39 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27830         * include/xapian/query.h,api/omqueryinternal.cc,api/omquery.cc: Add
27831           two static Query objects: Xapian::Query::MatchAll and
27832           Xapian::Query::MatchNothing, which match all documents and no
27833           documents in the database, respectively.  (Equivalent to
27834           Query("") and Query()).  Allow empty queries such as MatchNothing
27835           to be combined with other queries.  Change methods of
27836           Xapian::Query::Internal to use pointers to query internals
27837           instead of references, so they can handle the NULL pointer
27838           internals of an empty query.
27839         * tests/api_nodb.cc: Test combining of MatchNothing queries with
27840           other queries with OP_AND and OP_OR.
27842 Tue Dec 12 20:01:58 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27844         * configure.ac: Fix valgrind better: --log-file-exactly isn't what
27845           is wanted, because it messes up if multiple processes are traced.
27846           Instead, use a temporary file instead of /dev/null, so we don't
27847           get the permission denied error.
27849 Tue Dec 12 19:15:20 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27851         * configure.ac: Fix detection of valgrind for newer valgrind.  My
27852           version of valgrind (valgrind-3.2.1-Debian, from ubuntu feisty)
27853           treats the parameter supplied to --log-file as a base path, and
27854           appends a process ID. This caused the test for the log-file
27855           option to fail with permission denied errors due to trying to
27856           write to files of the form '/dev/null.16098'.  Solution - test
27857           for the --log-file-exactly option, and use that.  Also, change
27858           configure.ac to display the result of the tests for valgrind; was
27859           displaying that it had found it, but not mentioning that it
27860           couldn't make it work.
27862 Tue Dec 05 21:12:12 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27864         * include/xapian/query.h,api/omqueryinternal.cc: Fix query
27865           serialisation bug.  Was failing to propagate "curpos" parameter
27866           across subqueries, resulting in incorrect serialisation of
27867           termpositions.
27868         * tests/internaltest.cc: Regression test for this bug.
27870 Tue Dec 05 01:34:07 GMT 2006  Olly Betts <olly@survex.com>
27872         * HACKING: Clarify how XAPIAN_DEBUG_FLAGS works.
27874 Tue Dec 05 01:23:12 GMT 2006  Olly Betts <olly@survex.com>
27876         * examples/quest.cc: Add "--stemmer" option to allow stemming language
27877           to be set, or stemming to be disabled.
27879 Sun Dec 03 00:34:27 GMT 2006  Olly Betts <olly@survex.com>
27881         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Add entries
27882           to the "unstem" map for prefixed boolean filters (e.g. type:html).
27883           Also don't corrupt non-ASCII characters in a prefixed boolean
27884           filter.
27886 Sat Nov 25 04:17:23 GMT 2006  Olly Betts <olly@survex.com>
27888         * backends/flint/flint_database.cc,backends/flint/flint_version.cc:
27889           The "my_fls()" change actually results in a different interpolative
27890           encoding in a few cases - the old encoding could vary between
27891           architectures so we have to change it.  So bump the FLINT_VERSION
27892           and change the "flicklock" file to be "flintlock" as it should have
27893           been all along!
27895 Wed Nov 22 18:55:42 GMT 2006  Olly Betts <olly@survex.com>
27897         * xapian-config.in: Improve --version output so that help2man produces
27898           a better man page.
27900 Mon Nov 20 07:21:07 GMT 2006  Olly Betts <olly@survex.com>
27902         * backends/flint/flint_positionlist.cc: Fix another off-by-one
27903           error (> should be >=).
27905 Mon Nov 20 07:12:11 GMT 2006  Olly Betts <olly@survex.com>
27907         * backends/flint/flint_positionlist.cc: Fix off-by-one error in code
27908           which calls my_fls().
27910 Sat Nov 18 08:32:08 GMT 2006  Olly Betts <olly@survex.com>
27912         * backends/flint/flint_positionlist.cc: "const static" -> "static
27913           const".
27915 Sat Nov 18 08:05:17 GMT 2006  Olly Betts <olly@survex.com>
27917         * backends/flint/flint_positionlist.cc: Make decode_interpolative
27918           a member function of BitReader.
27920 Sat Nov 18 07:45:19 GMT 2006  Olly Betts <olly@survex.com>
27922         * backends/flint/flint_positionlist.cc: Add highly optimised fls()
27923           implementation and make use of it.
27925 Thu Nov 16 04:22:36 GMT 2006  Olly Betts <olly@survex.com>
27927         * m4/xapian.m4: If XAPIAN_CONFIG wasn't specified and xapian-config
27928           wasn't found, see if the library seems to be present - if so give
27929           a different error message which suggests the user needs to install
27930           a -dev or -devel package.
27932 Thu Nov 16 02:11:34 GMT 2006  Olly Betts <olly@survex.com>
27934         * docs/install.html: omega tarball is now xapian-omega.
27936 Tue Nov 14 22:42:05 GMT 2006  Olly Betts <olly@survex.com>
27938         * tests/harness/Makefile: Add static Makefile so you can make all,
27939           check, and clean from the subdirectory.
27940         * tests/harness/Makefile.mk: Ship Makefile.mk and Makefile.
27942 Tue Nov 14 21:53:45 GMT 2006  Olly Betts <olly@survex.com>
27944         * tests/: Remove muscat36 temporary directories from svn:ignore
27945           property.
27947 Tue Nov 14 19:47:30 GMT 2006  Olly Betts <olly@survex.com>
27949         * configure.ac,tests/Makefile.am,tests/harness/Makefile.mk: Use
27950           non-recursive make to build the test harness, so it only gets
27951           built if "make check" is run.
27953 Tue Nov 14 19:43:48 GMT 2006  Olly Betts <olly@survex.com>
27955         * tests/quartztest.cc: Removed unused static function unlink_table.
27957 Tue Nov 14 17:41:26 GMT 2006  Olly Betts <olly@survex.com>
27959         * include/xapian/queryparser.h,queryparser/queryparser.lemony,
27960           tests/queryparsertest.cc: Add QueryParser::FLAG_PURE_NOT to allow
27961           pure NOT queries to be enabled (they are now disabled by default).
27963 Tue Nov 14 04:19:40 GMT 2006  Olly Betts <olly@survex.com>
27965         * backends/database.cc,backends/flint/dir_contents,
27966           backends/quartz/dir_contents,docs/overview.html,
27967           docs/quartzdesign.html,docs/scalability.html: Make flint the default
27968           backend.
27970 Tue Nov 14 03:25:19 GMT 2006  Olly Betts <olly@survex.com>
27972         * tests/api_nodb.cc: Xapian::Query("") now builds a query which
27973           matches all documents rather than throwing InvalidArgumentError
27974           so fix emptyquery1 test.
27976 Tue Nov 14 02:03:29 GMT 2006  Olly Betts <olly@survex.com>
27978         * api/omdocument.cc: Tweak OmDocumentTerm::add_position() so that
27979           adding position 0 to an empty termlist takes the shortcut.
27981 Mon Nov 13 05:46:15 GMT 2006  Olly Betts <olly@survex.com>
27983         * docs/queryparser.html: Document the new pure NOT feature.
27985 Mon Nov 13 05:24:30 GMT 2006  Olly Betts <olly@survex.com>
27987         * api/omqueryinternal.cc,queryparser/queryparser.lemony,
27988           tests/queryparsertest.cc: Allow "pure NOT" queries - e.g.
27989           "NOT apples".  Fixes bug #99.
27991 Mon Nov 13 04:54:04 GMT 2006  Olly Betts <olly@survex.com>
27993         * api/omqueryinternal.cc: Undo changes accidentally committed in last
27994           check-in.
27996 Mon Nov 13 04:47:57 GMT 2006  Olly Betts <olly@survex.com>
27998         * api/omqueryinternal.cc,backends/Makefile.am,backends/database.cc,
27999           backends/muscat36/,configure.ac,docs/overview.html,
28000           docs/quartzdesign.html,docs/tests.html,include/xapian/dbfactory.h,
28001           include/xapian/version_h.cc,tests/api_anydb.cc,tests/apitest.cc,
28002           tests/harness/backendmanager.cc,tests/harness/backendmanager.h,
28003           tests/harness/index_utils.cc: Remove support for the old Muscat 3.6
28004           backends.
28006 Mon Nov 13 04:02:27 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28008         * common/database.h,api/omdatabase.cc,
28009           backends/inmemory/inmemory_database.cc,
28010           backends/inmemory/inmemory_database.h,
28011           backends/quartz/Makefile.am,backends/quartz/quartz_database.cc,
28012           backends/quartz/quartz_alldocspostlist.h,
28013           backends/quartz/quartz_alldocspostlist.cc,
28014           backends/flint/Makefile.am,backends/flint/flint_database.cc,
28015           backends/flint/flint_alldocspostlist.cc,
28016           backends/flint/flint_alldocspostlist.h:
28017           Implement posting lists which return a list of all documents in
28018           the database.  Such a posting list is obtained by calling
28019           Xapian::Database::postlist_begin() with an empty term (ie, "").
28020           Also, all Xapian::Database methods which take a termname now
28021           accept an empty term, and return appropriate values (ie,
28022           get_termfreq("") and get_collection_freq("") return the number of
28023           documents in the database, and term_exists("") returns true
28024           unless the database is empty).  Fixes Bug #47.
28025         * docs/quartzdesign.html: Document the inefficiency of all-document
28026           postlists for Quartz.
28027         * tests/api_anydb.cc,tests/api_db.cc,tests/api_wrdb.cc: Add tests for
28028           all-document postlists, and for passing an empty term to all the
28029           applicable database methods.  This defines the new tests
28030           allpostlist1, allpostlist2, emptyterm1, and emptyterm2.  These
28031           tests currently skip for the remote backend where postlist_begin()
28032           isn't yet implemented.
28034 Mon Nov 13 02:06:03 GMT 2006  Olly Betts <olly@survex.com>
28036         * Merge in utf8 branch:
28038         Thu Sep 14 23:49:48 BST 2006  Olly Betts <olly@survex.com>
28040                 * queryparser/,tests/queryparsertest.cc: Update to work with
28041                   UTF-8.  Stop normalising accents - the general sentiment
28042                   seems to be firmly against it, and where it is still
28043                   appropriate we should get the stemmers to do it.
28045 Sun Nov 12 22:38:56 GMT 2006  Olly Betts <olly@survex.com>
28047         * NEWS: Update from ChangeLog file in preparation for branching and
28048           merging.
28050 Sun Nov 12 19:32:01 GMT 2006  Olly Betts <olly@survex.com>
28052         * backends/flint/flint_database.cc,
28053           backends/inmemory/inmemory_database.cc,
28054           backends/inmemory/inmemory_database.h,
28055           backends/quartz/quartz_database.cc: Fix replace_document() not to
28056           lose positional information for a document if it is replaced with
28057           itself with unmodified postings.
28058         * tests/api_wrdb.cc: Add testcase replace_document5 as regression test
28059           for the replace_document bug.
28060         * backends/remote/remote-database.cc: Fix
28061           RemoteDatabase::has_positions() to refetch the cached value if it
28062           might be out of date.
28064 Sun Nov 12 17:07:00 GMT 2006  Olly Betts <olly@survex.com>
28066         * docs/Makefile.am: Need to increase pool_size further still to build
28067           sourcedoc.pdf (2000000 now).
28069 Sun Nov 12 16:24:15 GMT 2006  Olly Betts <olly@survex.com>
28071         * HACKING: Add "update ReleaseNotes on wiki" to release checklist.
28073 Sun Nov 12 16:23:19 GMT 2006  Olly Betts <olly@survex.com>
28075         * xapian.spec.in: Remove "." from end of "Summary:".  Package
28076           new man page for xapian-progsrv.
28078 Sun Nov 12 00:43:36 GMT 2006  Olly Betts <olly@survex.com>
28080         * docs/stemming.html: Update another "CVS" reference to say "SVN".
28082 Sun Nov 12 00:42:22 GMT 2006  Olly Betts <olly@survex.com>
28084         * docs/install.html: Update reference to "CVS" to say "SVN".
28086 Thu Nov 09 01:11:52 GMT 2006  Olly Betts <olly@survex.com>
28088         * HACKING: Reorder the release checklist a little.  I've fixed
28089           update_website.sh to get the latest version from version.php, so
28090           now only version.php needs updating.
28092 Thu Nov 09 00:17:35 GMT 2006  Olly Betts <olly@survex.com>
28094         * NEWS,PLATFORMS,configure.ac: Update for 0.9.9.
28096 Wed Nov 08 20:54:31 GMT 2006  Olly Betts <olly@survex.com>
28098         * xapian.spec.in: Apply changes from Neal Becker to run "autoreconf
28099           --force" so that we don't set rpath for /usr/lib64, and add "libs"
28100           to %post and %postun.
28101         * AUTHORS: Thank Neal Becker.
28103 Wed Nov 08 04:27:17 GMT 2006  Olly Betts <olly@survex.com>
28105         * docs/tests.html: Update for "testsuite" -> "tests/harness".  Mark
28106           paths and programs with <code>...</code>.  Improve wording in a few
28107           places.
28109 Wed Nov 08 03:10:37 GMT 2006  Olly Betts <olly@survex.com>
28111         * bin/xapian-tcpsrv.cc: Need '#include "safeerrno.h"' for EADDRINUSE.
28113 Wed Nov 08 02:36:59 GMT 2006  Olly Betts <olly@survex.com>
28115         * bin/Makefile.am,bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc:
28116           xapian-progsrv now uses getopt for option processing, and we can
28117           now generate a man page using help2man.  Fixes Bug #98.
28119 Wed Nov 08 01:47:19 GMT 2006  Olly Betts <olly@survex.com>
28121         * bin/xapian-tcpsrv.cc: If the port requested is in use, exit with
28122           code 69 (EX_UNAVAILABLE) which is useful if you're trying to
28123           automate launching of xapian-tcpsrv instances.
28124         * tests/harness/backendmanager.cc: If we can't start xapian-tcpsrv
28125           because the port is in use, try higher numbered ports.
28126         * tests/harness/testsuite.cc: Catch and report std::string exceptions.
28128 Tue Nov 07 22:40:58 GMT 2006  Olly Betts <olly@survex.com>
28130         * net/tcpclient.cc: Turn on TCP_NODELAY for the client too.
28132 Tue Nov 07 21:46:39 GMT 2006  Olly Betts <olly@survex.com>
28134         * net/tcpserver.cc: Turn on TCP_NODELAY for xapian-tcpsrv which
28135           increases throughput for the remote backend over tcp.
28137 Tue Nov 07 21:08:57 GMT 2006  Olly Betts <olly@survex.com>
28139         * backends/flint/flint_btreebase.cc: Add missing '#include'-s.
28141 Tue Nov 07 17:57:22 GMT 2006  Olly Betts <olly@survex.com>
28143         * backends/quartz/btree_base.cc: Add missing '#include'-s.
28145 Tue Nov 07 05:12:40 GMT 2006  Olly Betts <olly@survex.com>
28147         * backends/flint/flint_positionlist.h,backends/flint/flint_table.cc,
28148           backends/quartz/btree.cc: Add missing '#include <vector>' which
28149           "utils.h" was implicitly pulling in.
28150         * common/utils.h: Move '#include "safefcntl.h"' to more logical place.
28152 Tue Nov 07 04:18:27 GMT 2006  Olly Betts <olly@survex.com>
28154         * common/safefcntl.h: Actually add the new file to SVN.
28156 Tue Nov 07 03:36:59 GMT 2006  Olly Betts <olly@survex.com>
28158         * HACKING,backends/flint/flint_io.h,backends/flint/flint_lock.cc,
28159           backends/flint/flint_lock.h,backends/muscat36/io_system.cc,common/,
28160           net/tcpserver.cc,tests/harness/backendmanager.cc,
28161           tests/harness/testsuite.cc: Create "safefcntl.h" as a replacement
28162           for <fcntl.h> instead of using "utils.h" for this purpose, since
28163           "utils.h" pulls in many other things we often don't want.
28164         * common/utils.cc,common/utils.h,net/progclient.cc: Move split_words
28165           to progclient.cc which is the only user of it.  Rewrite it to not
28166           modified the string being split which risks being O(n^2).
28167         * net/progclient.cc,common/progclient.h: Pass std::string by const
28168           reference.
28169         * configure.ac: Fix DJGPP build (fork is present but always fails).
28171 Tue Nov 07 03:21:24 GMT 2006  Olly Betts <olly@survex.com>
28173         * matcher/biaspostlist.h: Don't need '#include "utils.h"'.
28175 Tue Nov 07 01:15:14 GMT 2006  Olly Betts <olly@survex.com>
28177         * common/c_strtod.cc: Remove file which was checked in but is unused!
28179 Mon Nov 06 15:24:02 GMT 2006  Olly Betts <olly@survex.com>
28181         * tests/internaltest.cc: Disable serialiselength1 and serialisedoc1
28182           when the remote backend is disabled.
28184 Mon Nov 06 15:23:40 GMT 2006  Olly Betts <olly@survex.com>
28186         * tests/Makefile.am: Fix typo in recent check-in.
28188 Mon Nov 06 01:43:37 GMT 2006  Olly Betts <olly@survex.com>
28190         * tests/Makefile.am: Need "harness" in "$(srcdir)" for VPATH builds to
28191           work.
28193 Sun Nov 05 19:55:26 GMT 2006  Olly Betts <olly@survex.com>
28195         * backends/quartz/Makefile.am: Remove explicit dependency of
28196           libbtreecheck.la on libxapian.la.  We always link in libxapian.la
28197           and the explicit dependency makes it hard to build things in a
28198           sane order.
28200 Sun Nov 05 19:29:17 GMT 2006  Olly Betts <olly@survex.com>
28202         * net/tcpserver.cc: Don't define on_SIGCHLD() unless we'll use it.
28203         * tests/harness/backendmanager.cc: Use a proper signal handler for
28204           SIGCHLD if we have waitpid() - POSIX leaves the semantics of
28205           SIG_IGN on SIGCHLD unspecified.
28207 Sun Nov 05 19:11:36 GMT 2006  Olly Betts <olly@survex.com>
28209         * backends/quartz/Makefile.am,backends/quartz/btreecheck.cc,
28210           backends/quartz/btreecheck.h,bin/Makefile.am,tests/Makefile.am,
28211           tests/harness/: Use _exit(0) instead of exit(0) in the child
28212           process which closes the pipe to xapian-tcpsrv in BackendManager
28213           since we don't want to call atexit functions from the child.  Move
28214           btreecheck stuff into backends/quartz.
28216 Sun Nov 05 17:12:05 GMT 2006  Olly Betts <olly@survex.com>
28218         * Makefile.am,bin/Makefile.am,configure.ac,tests/Makefile.am,
28219           tests/harness/Makefile.am,tests/harness/dir_contents,testsuite/:
28220           Move the testsuite harness from "testsuite/" to "tests/harness/".
28222 Sun Nov 05 16:36:56 GMT 2006  Olly Betts <olly@survex.com>
28224         * testsuite/backendmanager.cc,testsuite/backendmanager.h: Now needs
28225           <stdio.h>.  Set SIG_IGN for SIG_CHLD so we don't get zombie child
28226           processes.
28228 Sun Nov 05 03:53:24 GMT 2006  Olly Betts <olly@survex.com>
28230         * tests/apitest.cc: Make backendmanager static.
28232 Sun Nov 05 03:51:36 GMT 2006  Olly Betts <olly@survex.com>
28234         * bin/xapian-tcpsrv.cc: Output "Listening..." once the socket is
28235           open and read for connections.
28236         * testsuite/backendmanager.cc: Use popen() to run xapian-tcpsrv
28237           and wait for "Listening..." before returning rather than just
28238           sleeping for 1 second and hoping that's enough.
28240 Sun Nov 05 02:54:23 GMT 2006  Olly Betts <olly@survex.com>
28242         * tests/api_db.cc: Remove unnecessary inclusion of backendmanager.h.
28244 Fri Nov 03 02:09:26 GMT 2006  Olly Betts <olly@survex.com>
28246         * HACKING: Update debian packaging checklist.
28248 Fri Nov 03 00:57:35 GMT 2006  Olly Betts <olly@survex.com>
28250         * docs/Makefile.am: Building sourcedoc.pdf needs a larger pool_size
28251           now.
28253 Thu Nov 02 19:12:34 GMT 2006  Olly Betts <olly@survex.com>
28255         * AUTHORS: Updated.
28257 Thu Nov 02 15:41:46 GMT 2006  Olly Betts <olly@survex.com>
28259         * HACKING,NEWS,configure.ac: Update for 0.9.8.
28261 Thu Nov 02 15:20:05 GMT 2006  Olly Betts <olly@survex.com>
28263         * PLATFORMS: Update from tinderbox.
28265 Thu Nov 02 11:53:53 GMT 2006  Olly Betts <olly@survex.com>
28267         * configure.ac: GCC's -Wendif-labels is enabled by default on versions
28268           which support it, which simplifies our tests.
28270 Thu Nov 02 00:22:44 GMT 2006  Olly Betts <olly@survex.com>
28272         * backends/remote/dir_contents: Update.
28274 Wed Nov 01 15:33:12 GMT 2006  Olly Betts <olly@survex.com>
28276         * common/omstringstream.h: Fix our implementation of om_ostringstream
28277           to work with OmTime.
28279 Wed Nov 01 03:27:36 GMT 2006  Olly Betts <olly@survex.com>
28281         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Don't
28282           require a prefixed boolean term to start with an alphanumeric
28283           - allow the same set of characters as we do for the second and
28284           subsequent characters.
28286 Sat Oct 28 04:12:13 BST 2006  Olly Betts <olly@survex.com>
28288         * bin/quartzcheck.cc: Add catch for unknown exceptions.
28290 Sat Oct 28 03:49:19 BST 2006  Olly Betts <olly@survex.com>
28292         * HACKING,configure.ac,docs/Makefile.am,docs/doxygen_api_conf.in,
28293           docs/doxygen_full_conf.in: Produce a PDF for apidoc rather than
28294           PostScript, since the PDF is smaller, and easier to view for most
28295           users.  Use pdflatex to generate the PDF directly rather than
28296           going via a DVI file.  This also avoids problems on some Linux
28297           distros where latex is a symlink to pdfelatex (bug#81, bug#95).
28299 Thu Oct 26 22:12:20 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28301         * bin/quartzcheck.cc: Catch (and display) any exceptions which are
28302           of type "const char *error".  btreecheck.cc raises an exception
28303           of this type if a btree error is found, and this avoids
28304           quartzcheck dying quite so horribly in this case.
28306 Wed Oct 25 23:30:26 BST 2006  Olly Betts <olly@survex.com>
28308         * configure.ac: -Wendif-labels is new in GCC 3.3.
28309         * configure.ac: Revert accidental change which turned on -Werror in
28310           non-maintainer builds.
28311         * configure.ac: Avoid non-portable use of double quotes in
28312           double-quoted backticks.
28314 Wed Oct 25 01:19:24 BST 2006  Olly Betts <olly@survex.com>
28316         * configure.ac: Redhat's GCC 2.96 doesn't support -Wundef even
28317           though real GCC version before and after it do!  Also, use
28318           -Wshadow and -Wendif-labels even when not in maintainer mode.
28320 Tue Oct 24 04:17:58 BST 2006  Olly Betts <olly@survex.com>
28322         * backends/flint/flint_lock.cc,bin/quartzcheck.cc: Eliminate
28323           a couple of variables whose value is never used.
28325 Tue Oct 24 00:31:25 BST 2006  Olly Betts <olly@survex.com>
28327         * backends/quartz/quartz_database.cc: Only force a flush on
28328           WritableDatabase::allterms_begin() if there are actually pending
28329           changes.
28331 Mon Oct 23 23:49:52 BST 2006  Olly Betts <olly@survex.com>
28333         * backends/flint/flint_database.cc: Only force a flush on
28334           WritableDatabase::allterms_begin() if there are actually pending
28335           changes.
28337 Mon Oct 23 02:24:12 BST 2006  Olly Betts <olly@survex.com>
28339         * configure.ac: When checking if we need -lm, don't use a constant
28340           argument to log as the compiler might simply evaluate the whole
28341           expression at compile time.
28343 Sat Oct 21 20:42:52 BST 2006  Olly Betts <olly@survex.com>
28345         * HACKING: Mention automake 1.10 is out but we've not tested it yet.
28347 Sat Oct 21 20:39:57 BST 2006  Olly Betts <olly@survex.com>
28349         * HACKING: Add entries to release checklist: make sure new API methods
28350           are wrapped by the bindings, and that bug submitters are thanked.
28352 Fri Oct 20 13:56:50 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28354         * backends/flint/flint_io.cc: Fix compilation on windows (needs to
28355           #include "safewindows.h" to get definition of SSIZE_T).
28357 Tue Oct 17 02:16:37 BST 2006  Olly Betts <olly@survex.com>
28359         * testsuite/backendmanager.cc: Fix compilation when valgrind is
28360           detected by configure.
28362 Thu Oct 12 13:30:05 BST 2006  Olly Betts <olly@survex.com>
28364         * xapian.spec.in: Package xapian-progsrv.
28366 Thu Oct 12 00:49:47 BST 2006  Olly Betts <olly@survex.com>
28368         * HACKING: Note that on Debian, tetex-extra is needed for
28369           fancyhdr.sty.
28370         * HACKING: Note that dch can be used to update debian/changelog.
28372 Wed Oct 11 23:35:08 BST 2006  Olly Betts <olly@survex.com>
28374         * docs/Makefile.am: If running latex on refman.ps fails, cat
28375           refman.log since that is likely to show what failed.
28377 Tue Oct 10 17:24:00 BST 2006  Olly Betts <olly@survex.com>
28379         * NEWS: Bump release date.
28381 Sun Oct 08 21:41:04 BST 2006  Olly Betts <olly@survex.com>
28383         * NEWS,PLATFORMS,configure.ac: Update for 0.9.7.
28385 Sun Oct 08 10:06:51 BST 2006  Olly Betts <olly@survex.com>
28387         * testsuite/testsuite.cc: Use lseek() to skip existing valgrind output
28388           instead of repeated calls to read.  Handle the old valgrind naming
28389           convention for log files.
28391 Sun Oct 08 09:35:59 BST 2006  Olly Betts <olly@survex.com>
28393         * matcher/multimatch.cc: Fix a couple of typos in comments.
28395 Sun Oct 08 05:36:36 BST 2006  Olly Betts <olly@survex.com>
28397         * configure.ac: Disable probing and short-cut tests for a FORTRAN
28398           compiler.  We don't use one, but current libtool versions always
28399           check for it regardless.
28401 Sat Oct 07 21:19:35 BST 2006  Olly Betts <olly@survex.com>
28403         * configure.ac,tests/runtest.in,testsuite/backendmanager.cc,
28404           testsuite/testsuite.cc: Fix testsuite harness to show valgrind
28405           output when a test fails (when running under valgrind in verbose
28406           mode).  This probably stopped working due to changes in valgrind 3.
28407         * testsuite/backendmanager.cc: Run xapian-tcpsrv under valgrind if
28408           apitest is.
28410 Fri Oct  6 18:27:13 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28412         * tests/runtest.in: export $LIBTOOL, $VALGRIND and $VG_LOG_FD.
28413         * testsuite/backendmanager.cc: If $LIBTOOL, $VALGRIND and
28414           $VG_LOG_FD are set, run progsrv under valgrind.  Fixes
28415           Bug #94.
28416         * net/remoteserver.cc: Use an AutoPtr to hold the unserialised
28417           query, so it gets deleted if an exception is thrown.
28418         * api/omqueryinternal.cc: Use AutoPtr in one place, and a try-catch
28419           in another, to ensure that partially unserialised queries get
28420           deleted if exceptions are thrown.
28421         * tests/internaltest.cc: Add copyright notices to file for recent
28422           change.
28423         * AUTHORS: Add myself as a current developer, now that I've started
28424           committing to the core again.
28426 Fri Oct 06 17:44:21 BST 2006  Olly Betts <olly@survex.com>
28428         * api/omqueryinternal.cc: Fix memory leak in query unserialisation.
28430 Fri Oct  6 17:34:59 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28432         * tests/runtest.in: Cache result of test for $VG_LOG_FD if we
28433           find the new option.  Saves 2 seconds for each invocation on my
28434           machine, which is half the time when running just a single simple
28435           test.
28437 Fri Oct  6 16:35:46 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28439         * tests/internaltest.cc: Check serialisation and unserialisation of
28440           Query objects.  Currently fails under valgrind due to a memory
28441           leak somewhere in the unserialisation code.
28443 Thu Oct 05 14:13:55 BST 2006  Olly Betts <olly@survex.com>
28445         * include/xapian/error.h: Only enable the SWIG visibility hook when
28446           using GCC 4 or later.
28448 Wed Oct 04 20:32:43 BST 2006  Olly Betts <olly@survex.com>
28450         * m4/xapian.m4: Remove overquoting.
28452 Wed Oct  4 13:28:09 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28454         * common/utils.h: MSVC seems to #define open.  However, the
28455           workaround for this problem implemented for old versions of
28456           solaris doesn't work for windows, so avoid applying the fix for
28457           windows, and just #undef open.  (Windows seems to define some
28458           open() functions, as well as #defining open!)
28460 Wed Oct  4 13:26:18 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28462         * net/serialise.cc: Use "unsigned char" instead of "char" when
28463           serialising lengths, to avoid problems on platforms where char is
28464           signed (eg, windows).
28466 Wed Oct 04 12:25:51 BST 2006  Olly Betts <olly@survex.com>
28468         * backends/flint/flint_version.cc: Remove "100" from start of file so
28469           it actually compiles.
28471 Mon Oct 02 13:57:56 BST 2006  Olly Betts <olly@survex.com>
28473         * xapian-config.in: Fix typo - "@libdir" should be "@libdir@".
28474           This would lead to -L/usr/lib not being pruned, which is really
28475           just a cosmetic problem (the typo was introduced in 0.9.3).
28477 Thu Sep 28 02:00:05 BST 2006  Olly Betts <olly@survex.com>
28479         * matcher/multimatch.cc: Reserve the right number of entries in the
28480           subrsets vector.
28482 Fri Sep 22 07:48:32 BST 2006  Olly Betts <olly@survex.com>
28484         * common/serialise-double.cc: Fix warning with aCC.
28486 Fri Sep 22 04:43:06 BST 2006  Olly Betts <olly@survex.com>
28488         * HACKING: Expand note on _GLIBCXX_DEBUG;  Now using autoconf 2.60 for
28489           snapshots and releases;  Now using a libtool patch which improves
28490           support for -library=stlport4 with Sun's C++;  Give URL to Alexandre
28491           Duret-Lutz's autotools tutorial, which is much more up-to-date than
28492           the "goat book".
28494 Fri Sep 22 04:42:08 BST 2006  Olly Betts <olly@survex.com>
28496         * common/serialise-double.cc: Fix a few compiler warnings.
28498 Fri Sep 22 04:29:18 BST 2006  Olly Betts <olly@survex.com>
28500         * backends/flint/flint_lock.cc: Retry on EINTR from fcntl or waitpid.
28502 Fri Sep 22 03:39:12 BST 2006  Olly Betts <olly@survex.com>
28504         * include/xapian/version_h.cc: Only check _GLIBCXX_DEBUG for GCC 3.4
28505           and later (which are the versions which support it).
28507 Fri Sep 22 03:37:02 BST 2006  Olly Betts <olly@survex.com>
28509         * bin/xapian-tcpsrv.cc: Report errno if we catch a Xapian::Error which
28510           has it set.
28512 Fri Sep 22 03:30:25 BST 2006  Olly Betts <olly@survex.com>
28514         * configure.ac: Turn on -Wportability to help ensure our Makefile.am's
28515           are written in a portable way.
28517 Fri Sep 22 03:29:25 BST 2006  Olly Betts <olly@survex.com>
28519         * tests/runtest.in: Turn on GLIBCXX_FORCE_NEW when running tests under
28520           valgrind.
28522 Tue Sep 19 06:28:47 BST 2006  Olly Betts <olly@survex.com>
28524         * tests/internaltest.cc: Check that the the destructor on a temporary
28525           object gets called at the correct time (Sun C++ deliberately gets
28526           this wrong by default).
28528 Tue Sep 19 04:32:04 BST 2006  Olly Betts <olly@survex.com>
28530         * include/xapian/enquire.h: Revert change to Xapian::Weight's copy
28531           constructor because it prevents Omega from compiling.
28533 Tue Sep 19 04:01:14 BST 2006  Olly Betts <olly@survex.com>
28535         * configure.ac: Make the argument of log() a double to avoid
28536           potential compiler warnings.
28538 Mon Sep 18 22:58:19 BST 2006  Olly Betts <olly@survex.com>
28540         * include/xapian/enquire.h: Xapian::Weight's copy constructor should
28541           be private not protected (direct copying isn't allowed).
28543 Mon Sep 18 07:03:51 BST 2006  Olly Betts <olly@survex.com>
28545         * configure.ac: We reportedly need "-lm" to get maths functions on
28546           some versions of Sun's C++ compiler.
28548 Sat Sep 16 12:08:25 BST 2006  Olly Betts <olly@survex.com>
28550         * configure.ac: Sun's C++ compiler implements non-standards-conforming
28551           lifetimes for temporary objects (for "backwards compatibility" with
28552           old Sun C++ specific code).  We don't care about such code, so
28553           always pass "-features=tmplife" for Sun C++.
28555 Sat Sep 16 03:04:57 BST 2006  Olly Betts <olly@survex.com>
28557         * bin/xapian-progsrv.cc: Oops, fix compilation error.
28559 Sat Sep 16 02:13:22 BST 2006  Olly Betts <olly@survex.com>
28561         * bin/xapian-progsrv.cc: Fix messages send by xapian-progsrv if an
28562           exception is thrown while opening the database.
28564 Fri Sep 15 06:29:55 BST 2006  Olly Betts <olly@survex.com>
28566         * tests/internaltest.cc: 1/DBL_MAX may be less than DBL_MIN but on
28567           platforms like x86 which hold results in registers with extra
28568           precision, this is still representable, but not reliably so
28569           the test sometimes fails.
28571 Fri Sep 15 02:40:52 BST 2006  Olly Betts <olly@survex.com>
28573         * backends/flint/flint_btreebase.cc: Avoid copying beyond the end of
28574           the bitmap block.
28576 Thu Sep 14 02:01:58 BST 2006  Olly Betts <olly@survex.com>
28578         * backends/flint/flint_version.cc: Fix warning from GCC 4.1.0.
28580 Wed Sep 13 18:12:43 BST 2006  Olly Betts <olly@survex.com>
28582         * backends/flint/flint_io.cc,backends/flint/flint_io.h,
28583           backends/flint/flint_version.cc: Fix compiler warnings.
28585 Wed Sep 13 06:09:40 BST 2006  Olly Betts <olly@survex.com>
28587         * backends/flint/flint_version.cc,backends/flint/flint_version.h:
28588           Actually commit the new files!
28590 Wed Sep 13 05:21:04 BST 2006  Olly Betts <olly@survex.com>
28592         * backends/flint/,common/utils.h: Rewrite some of flint's low level IO
28593           functions, and the "iamflint" handling class.
28595 Tue Sep 12 20:22:57 BST 2006  Olly Betts <olly@survex.com>
28597         * backends/remote/remote-database.cc: Fix to compile.
28599 Tue Sep 12 18:56:16 BST 2006  Olly Betts <olly@survex.com>
28601         * backends/remote/remote-database.cc,common/remote-database.h:
28602           Fix bug in remote backend which incorrectly returned an empty MSet
28603           under certain circumstances!
28605 Tue Sep 12 11:51:31 BST 2006  Olly Betts <olly@survex.com>
28607         * matcher/msetcmp.cc: "static inline" -> "inline" since the static is
28608           superfluous and Sun's C++ warns.
28610 Mon Sep 11 23:42:28 BST 2006  Olly Betts <olly@survex.com>
28612         * configure.ac: Check $CXX not $CC to identify which C++ compiler we
28613           have.
28615 Mon Sep 11 16:32:37 BST 2006  Olly Betts <olly@survex.com>
28617         * api/omenquire.cc,api/vectortermlist.h,
28618           backends/flint/flint_positionlist.cc,configure.ac,
28619           net/remoteconnection.cc,net/tcpclient.cc,
28620           queryparser/queryparser.lemony,tests/api_anydb.cc,tests/api_db.cc,
28621           tests/api_nodb.cc: I've discovered that -library=stlport4 puts
28622           Sun's compiler into an "ANSI C++ compliant" mode, so do that
28623           automatically in configure and throw away all the annoying special
28624           bits of alternative code we'd accumulated just for this one
28625           compiler.
28627 Mon Sep 11 16:01:20 BST 2006  Olly Betts <olly@survex.com>
28629         * tests/api_wrdb.cc: Speed up deldoc4 when run in verbose mode
28630           - some stringstream implementations are very inefficient when
28631           the string grows long.
28633 Mon Sep 11 05:30:29 BST 2006  Olly Betts <olly@survex.com>
28635         * HACKING: Add some advice regarding debugging using -D_GLIBCXX_DEBUG,
28636           valgrind, and gdb.
28638 Sun Sep 10 02:24:47 BST 2006  Olly Betts <olly@survex.com>
28640         * configure.ac: Fix last check-in to actually work.
28642 Sat Sep 09 04:19:44 BST 2006  Olly Betts <olly@survex.com>
28644         * configure.ac: Ensure that if _GLIBCXX_DEBUG has been specified that
28645           it also passed when generating version.h.
28647 Sat Sep 09 04:01:40 BST 2006  Olly Betts <olly@survex.com>
28649         * tests/internaltest.cc: Give more useful output should the double
28650           serialisation test fail.
28652 Sat Sep 09 03:19:20 BST 2006  Olly Betts <olly@survex.com>
28654         * include/xapian/version_h.cc: Add a check that _GLIBCXX_DEBUG is
28655           set compatibly if we're compiling with GNU C++.
28657 Sat Sep 09 02:55:38 BST 2006  Olly Betts <olly@survex.com>
28659         * backends/flint/flint_modifiedpostlist.cc: Fix potential access to
28660           iterator which has already reached its end.
28662 Fri Sep 08 04:05:28 BST 2006  Olly Betts <olly@survex.com>
28664         * backends/remote/remote-database.cc,common/,matcher/bm25weight.cc,
28665           matcher/tradweight.cc,net/,tests/internaltest.cc: Split the double
28666           serialisation code off into its own file - it is used by BM25Weight
28667           and TradWeight, so it needs to be compiled in even when the remote
28668           backend is disabled.
28670 Thu Sep 07 00:09:41 BST 2006  Olly Betts <olly@survex.com>
28672         * testsuite/backendmanager.cc: Discard stderr from xapian-tcpsrv
28673           so we don't get "write error" messages appearing in the testsuite
28674           output when we've just closed the connection at the client side.
28676 Tue Sep 05 21:07:40 BST 2006  Olly Betts <olly@survex.com>
28678         * api/omqueryinternal.cc: Fix warning when remote backend
28679           is disabled.
28681 Tue Sep 05 20:58:52 BST 2006  Olly Betts <olly@survex.com>
28683         * docs/Makefile.am: Add extra dependencies so that parallel make
28684           doesn't try to run latex twice simultaneously.
28686 Tue Sep 05 20:58:13 BST 2006  Olly Betts <olly@survex.com>
28688         * AUTHORS: Updated.
28690 Tue Sep 05 20:56:50 BST 2006  Olly Betts <olly@survex.com>
28692         * Makefile.am: Fix typo.
28694 Tue Sep 05 03:23:14 BST 2006  Olly Betts <olly@survex.com>
28696         * docs/queryparser.html,queryparser/queryparser.lemony,
28697           tests/queryparsertest.cc: Implement "ADJ" operator - like
28698           "NEAR" except the terms must appear in matching documents in the
28699           same order as in the query.
28701 Tue Sep 05 03:19:12 BST 2006  Olly Betts <olly@survex.com>
28703         * backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
28704           matcher/bm25weight.cc,matcher/tradweight.cc,net/remoteserver.cc,
28705           net/serialise.cc,tests/internaltest.cc: Change how doubles are
28706           serialised by TradWeight, BM25Weight, and in the remote backend
28707           protocol.  The new encoding allows us to transfer any double
28708           value which can be represented by both machines precisely and
28709           compactly.
28711 Tue Sep 05 02:27:36 BST 2006  Olly Betts <olly@survex.com>
28713         * docs/queryparser.html,queryparser/queryparser.lemony,
28714           tests/queryparsertest.cc: Allow a distance to be specified
28715           for NEAR - e.g. "cats NEAR/3 dogs" (bug#92).
28717 Fri Sep 01 00:29:10 BST 2006  Olly Betts <olly@survex.com>
28719         * backends/remote/remote-database.cc,common/remote-database.h:
28720           Fix RemoteDatabase::reopen() to not be const so it actually
28721           overrides the virtual method it is supposed to.
28723 Thu Aug 31 21:40:53 BST 2006  Olly Betts <olly@survex.com>
28725         * testsuite/backendmanager.h: Remove unneeded BackendManager::
28726           qualifications.
28728 Thu Aug 31 17:08:16 BST 2006  Olly Betts <olly@survex.com>
28730         * matcher/msetpostlist.cc,matcher/msetpostlist.h: Move #include
28731           "omenquireinternal.h" into the header to fix compilation error
28732           with older versions of GCC.
28734 Thu Aug 31 16:38:33 BST 2006  Olly Betts <olly@survex.com>
28736         * PLATFORMS: Added success report for Nexenta (alpha 5).
28738 Wed Aug 30 23:41:08 BST 2006  Olly Betts <olly@survex.com>
28740         * configure.ac: Fix generation of version.h to work with Solaris sed.
28742 Sat Aug 26 15:28:22 BST 2006  Olly Betts <olly@survex.com>
28744         * docs/index.html: Add links to the wiki.
28746 Sun Jul 16 03:48:26 BST 2006  Olly Betts <olly@survex.com>
28748         * common/Makefile.am: Ship remoteprotocol.h.
28750 Sun Jul 16 02:23:54 BST 2006  Olly Betts <olly@survex.com>
28752         * common/remote-database.h: Add new file I missed in the previous
28753           commit.
28755 Sun Jul 16 01:58:25 BST 2006  Olly Betts <olly@survex.com>
28757         * Makefile.am,api/,backends/Makefile.am,backends/database.cc,
28758           backends/dbfactory_remote.cc,backends/flint/flint_database.cc,
28759           backends/flint/flint_termlist.cc,backends/flint/flint_termlist.h,
28760           backends/inmemory/inmemory_database.cc,
28761           backends/inmemory/inmemory_database.h,
28762           backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
28763           backends/net/,backends/quartz/quartz_termlist.cc,
28764           backends/quartz/quartz_termlist.h,backends/remote/,bin/Makefile.am,
28765           bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/,configure.ac,
28766           docs/remote_protocol.html,include/xapian/,matcher/,net/,tests/,
28767           testsuite/backendmanager.cc,testsuite/backendmanager.h: Rewrite
28768           most of the remote backend.  It now supports most operations
28769           which a local database does (including writing!), the protocol
28770           used is more compact, and a number of layers of classes have
28771           been eliminated and the sequences of method calls simplified, so the
28772           code should be easier to understand and maintain despite doing more.
28773           A number of bugs have been fixed in the process.
28775 Sat Jul 15 05:10:38 BST 2006  Olly Betts <olly@survex.com>
28777         * tests/api_nodb.cc: Doesn't need <iostream>.
28779 Sat Jul 15 01:06:27 BST 2006  Olly Betts <olly@survex.com>
28781         * README: Add link to the wiki.  Tweak wording.
28783 Fri Jul 14 15:21:39 BST 2006  Olly Betts <olly@survex.com>
28785         * configure.ac: Note in error message that dot is in graphviz.
28787 Fri Jul 14 15:17:36 BST 2006  Olly Betts <olly@survex.com>
28789         * docs/overview.html: Add discussion of uses of terms vs values.
28791 Fri Jul 14 15:01:04 BST 2006  Olly Betts <olly@survex.com>
28793         * docs/overview.html: Rewrite the section on Xapian::Document to
28794           remove some very out-of-date information and make it clearer.
28796 Tue Jul 11 18:41:07 BST 2006  Olly Betts <olly@survex.com>
28798         * queryparser/queryparser.lemony: Fix problem I believe was introduced
28799           by previous fix.
28800         * tests/queryparsertest.cc: Add regression test and some additional
28801           related test cases.
28803 Tue Jul 11 03:32:48 BST 2006  Olly Betts <olly@survex.com>
28805         * queryparser/queryparser.lemony: Fix bug in how we handle prefixed
28806           quoted phrases and prefixed brackets.
28807         * tests/queryparsertest.cc: Add regression tests.
28809 Mon Jul 10 23:17:58 BST 2006  Olly Betts <olly@survex.com>
28811         * include/xapian/database.h: Note that automatically allocated
28812           document IDs don't reuse IDs from deleted document.
28814 Wed Jul 05 01:06:35 BST 2006  Olly Betts <olly@survex.com>
28816         * tests/api_wrdb.cc: Tweak whitespace.
28818 Mon Jun 26 23:56:02 BST 2006  Olly Betts <olly@survex.com>
28820         * PLATFORMS: Added success reports for MSVC and sparc linux.
28822 Sat Jun 17 02:01:35 BST 2006  Olly Betts <olly@survex.com>
28824         * Makefile.am,tests/Makefile.am: Tweak new check-* rules to be more
28825           portable and robust.
28827 Sun Jun 11 23:29:48 BST 2006  Olly Betts <olly@survex.com>
28829         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix parsing
28830           of loved and hated prefixed phrases and bracketted expressions.  Fix
28831           handling of stopwords in boolean expressions.  Don't ignore a
28832           stopword if it's the only query term.  Add regression tests for all
28833           these cases.
28835 Fri Jun 09 15:21:07 BST 2006  Olly Betts <olly@survex.com>
28837         * docs/queryparser.html: Add pointer to set_database when describing
28838           FLAG_WILDCARD.
28840 Fri Jun 09 13:51:03 BST 2006  Olly Betts <olly@survex.com>
28842         * include/xapian/queryparser.h: Add note that FLAG_WILDCARD requires
28843           you to call set_database.
28845 Fri Jun 09 13:49:34 BST 2006  Olly Betts <olly@survex.com>
28847         * api/omqueryinternal.cc: Don't compile query serialisation if the
28848           remote backend is disabled.
28850 Fri Jun 09 01:48:25 BST 2006  Olly Betts <olly@survex.com>
28852         * api/omdocument.cc,tests/api_nodb.cc: add_value failed to replace an
28853           existing value with the same number, contrary to what the
28854           documentation says (bug #82).
28856 Thu Jun 08 21:36:54 BST 2006  Olly Betts <olly@survex.com>
28858         * matcher/multimatch.cc: Don't fetch the document data when fetching
28859           the value to sort on.  Simple benchmarking showed this to speed
28860           up sort by value by a factor of between 3 and 9!
28862 Sun Jun 04 17:36:01 BST 2006  Olly Betts <olly@survex.com>
28864         * backends/flint/: Remove forced flush when iterating the posting list
28865           of a term which has modified posting pending.
28867 Sat Jun 03 21:38:43 BST 2006  Olly Betts <olly@survex.com>
28869         * backends/flint/flint_database.cc,backends/flint/flint_termlist.cc,
28870           backends/quartz/quartz_database.cc,tests/api_wrdb.cc: We can't flush
28871           during a transaction, which means that we can't use flush to avoid
28872           having to handle corner cases (like deleting a document right after
28873           adding it before it's been flushed) so handle corner cases properly
28874           (except for postlist_begin() and allterms_begin() which are
28875           harder - these now throw UnimplementedError at least...)
28876         * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
28877           replace_document(did, doc) was double-incrementing the "changes"
28878           counter when document did didn't exist - fixed.
28880 Sat Jun 03 17:53:41 BST 2006  Olly Betts <olly@survex.com>
28882         * HACKING: Document "make check-flint" and "make check-quartz".
28884 Sat Jun 03 17:49:25 BST 2006  Olly Betts <olly@survex.com>
28886         * Makefile.am,tests/Makefile.am: Added make targets "check-flint" and
28887           "check-quartz" which run the subset of tests which test the flint
28888           and quartz backends respectively.
28890 Sat Jun 03 04:03:00 BST 2006  Olly Betts <olly@survex.com>
28892         * api/omdatabase.cc,backends/database.cc,
28893           backends/flint/flint_database.cc,backends/flint/flint_database.h,
28894           backends/inmemory/inmemory_database.cc,
28895           backends/inmemory/inmemory_database.h,backends/quartz/dir_contents,
28896           backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
28897           common/database.h,include/xapian/database.h,tests/apitest.cc:
28898           Rework transactions to support "unflushed" transactions, and so
28899           they work with quartz as well as with flint.
28901 Sat Jun 03 03:18:22 BST 2006  Olly Betts <olly@survex.com>
28903         * HACKING: Document "make check-remote".
28905 Sat Jun 03 00:23:46 BST 2006  Olly Betts <olly@survex.com>
28907         * backends/database.cc,backends/flint/dir_contents,
28908           backends/flint/flint_database.cc,backends/flint/flint_database.h,
28909           backends/quartz/dir_contents,common/database.h,
28910           include/xapian/database.h,tests/: Implement transactions for
28911           flint.
28913 Sat Jun 03 00:14:37 BST 2006  Olly Betts <olly@survex.com>
28915         * tests/apitest.cc: Run tests on flint if flint is enabled, rather
28916           than if quartz is enabled.
28918 Sun May 28 23:01:45 BST 2006  Olly Betts <olly@survex.com>
28920         * common/omtime.h: Add operator+ and operator+= with argument of
28921           type Xapian::timeout.
28923 Sun May 28 22:02:30 BST 2006  Olly Betts <olly@survex.com>
28925         * include/xapian/errorhandler.h: Fix typos in private assignment
28926           operator and copy ctor (Error -> ErrorHandler!)
28928 Sun May 28 21:54:05 BST 2006  Olly Betts <olly@survex.com>
28930         * Makefile.am,tests/Makefile.am: Add "check-remote" target which runs
28931           the subset of tests which test the remote backend.
28933 Thu May 25 16:06:06 BST 2006  Olly Betts <olly@survex.com>
28935         * api/omdatabase.cc,backends/database.cc,common/database.h:
28936           Merge Xapian::Internal::open_database() into the Xapian::Database
28937           ctor which calls it; merge Xapian::Internal::open_writable_database()
28938           into the Xapian::WritableDatabase ctor which calls it.
28940 Wed May 24 08:28:40 BST 2006  Olly Betts <olly@survex.com>
28942         * net/socketserver.cc: OmLineBuf -> OmSocketLineBuf.
28944 Wed May 24 08:27:22 BST 2006  Olly Betts <olly@survex.com>
28946         * common/socketserver.h: OmLineBuf -> OmSocketLineBuf.
28948 Wed May 24 07:50:51 BST 2006  Olly Betts <olly@survex.com>
28950         * common/Makefile.am,common/omlinebuf.h,common/socketcommon.h,
28951           net/Makefile.am,net/omlinebuf.cc,net/socketcommon.cc:
28952           Merge OmLineBuf into OmSocketLineBuf.
28953         * common/Makefile.am: Fix netutils.cc to be conditionally included
28954           when the remote backend is enabled, not the quartz backend!
28956 Tue May 23 18:59:09 BST 2006  Olly Betts <olly@survex.com>
28958         * api/Makefile.am,api/errorhandler.cc,api/omerror.cc,
28959           include/xapian/error.h,include/xapian/errorhandler.h:
28960           Redo the Xapian::Error and Xapian::ErrorHandler classes.
28961           The new versions have better, clearer documentation comments
28962           and are cleaner internally.
28963         * include/xapian/error.h: Add hook to allow SWIG bindings to
28964           be built using GCC's visibility support.
28966 Tue May 23 10:08:02 BST 2006  Olly Betts <olly@survex.com>
28968         * backends/quartz/btree.cc: Remove superfluous '#include <autoptr.h>'.
28970 Tue May 23 09:42:52 BST 2006  Olly Betts <olly@survex.com>
28972         * backends/Makefile.am,backends/database.cc,
28973           backends/dbfactory_remote.cc,backends/net/net_database.cc,
28974           backends/net/net_termlist.cc,backends/net/net_termlist.h,common/,
28975           include/xapian/dbfactory.h,matcher/,net/socketclient.cc,
28976           net/socketcommon.cc: Eliminate the NetClient class by merging
28977           it into NetDatabase.
28979 Mon May 22 08:51:16 BST 2006  Olly Betts <olly@survex.com>
28981         * common/omtime.h: Fix OmTime::operator> which failed to return false
28982           if the seconds were strictly less but the microsecond fraction was
28983           more.
28985 Sun May 21 11:53:29 BST 2006  Olly Betts <olly@survex.com>
28987         * Makefile.am,bin/Makefile.am,docs/Makefile.am,examples/Makefile.am:
28988           Make use of the dist_ prefix to avoid having to list files in
28989           EXTRA_DIST as well as in *_DATA and man_MANS.
28991 Sun May 21 05:55:00 BST 2006  Olly Betts <olly@survex.com>
28993         * api/dir_contents,getopt/dir_contents,queryparser/dir_contents:
28994           Add missing dir_contents files.
28996 Sun May 21 05:45:44 BST 2006  Olly Betts <olly@survex.com>
28998         * tests/remotetest.cc: Remove unnecessary "#include <sys/wait.h>".
29000 Sat May 20 11:02:43 BST 2006  Olly Betts <olly@survex.com>
29002         * docs/Makefile.am: doxygen_api_conf and doxygen_full_conf are
29003           generated, so aren't in srcdir!
29005 Sat May 20 10:14:52 BST 2006  Olly Betts <olly@survex.com>
29007         * docs/Makefile.am: automake adds suitable rules for rebuilding
29008           doxygen_api_conf and doxygen_source_conf, so remove our less
29009           accurate versions.
29011 Fri May 19 14:43:47 BST 2006  Olly Betts <olly@survex.com>
29013         * docs/Makefile.am,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in:
29014           Remove "XAPIAN_DEPRECATED" from generated documentation.
29015         * docs/Makefile.am: Fix dependencies for regenerating the doxygen
29016           documentation.
29018 Fri May 19 08:12:51 BST 2006  Olly Betts <olly@survex.com>
29020         * docs/scalability.html: quartzcompact and xapian-compact now allow
29021           you to set the blocksize, so there's no need to use copydatabase
29022           if you want to migrate a database to a larger blocksize.  Mention
29023           gmane.  Other minor tweaks.
29025 Fri May 19 07:52:23 BST 2006  Olly Betts <olly@survex.com>
29027         * bin/quartzcompact.cc: Add --blocksize option to allow the blocksize
29028           to be set (default is 8K as before.)
29030 Fri May 19 07:47:13 BST 2006  Olly Betts <olly@survex.com>
29032         * bin/xapian-compact.cc: Add --blocksize option to allow the blocksize
29033           to be set (default is 8K as before.)
29035 Thu May 18 11:24:17 BST 2006  Olly Betts <olly@survex.com>
29037         * api/vectortermlist.h: Whitespace tweak.
29039 Tue May 16 10:09:53 BST 2006  Olly Betts <olly@survex.com>
29041         * HACKING: Update details of the debian stable backport version
29042           numbering scheme.
29044 Tue May 16 06:55:14 BST 2006  Olly Betts <olly@survex.com>
29046         * configure.ac: Remove unused variable from snprintf testing code.
29048 Tue May 16 04:32:34 BST 2006  Olly Betts <olly@survex.com>
29050         * HACKING: Expand on the debian package building checklist.
29052 Tue May 16 04:32:07 BST 2006  Olly Betts <olly@survex.com>
29054         * include/xapian/enquire.h: Note that "set_sort_by_relevance" is the
29055           default setting.
29057 Mon May 15 06:59:01 BST 2006  Olly Betts <olly@survex.com>
29059         * HACKING: Update debian package building checklist.
29061 Mon May 15 03:53:53 BST 2006  Olly Betts <olly@survex.com>
29063         * PLATFORMS: Update one more result before the actual release.
29065 Mon May 15 02:15:18 BST 2006  Olly Betts <olly@survex.com>
29067         * NEWS,configure.ac: Updated for 0.9.6.
29069 Mon May 15 01:35:33 BST 2006  Olly Betts <olly@survex.com>
29071         * PLATFORMS: Updated in preparation for the next release.
29073 Sun May 14 19:05:37 BST 2006  Olly Betts <olly@survex.com>
29075         * backends/flint/flint_lock.h: Added workaround for newlib header bug.
29077 Sat May 13 07:04:14 BST 2006  Olly Betts <olly@survex.com>
29079         * configure.ac: Fix snprintf tests.
29081 Sat May 13 04:52:53 BST 2006  Olly Betts <olly@survex.com>
29083         * configure.ac: Tweak version.h generation to cope with CXXCPP putting
29084           carriage returns into its output as can happen on cygwin.
29086 Fri May 12 21:49:33 BST 2006  Olly Betts <olly@survex.com>
29088         * HACKING: Update with the libtool patches we're now using.
29090 Fri May 12 21:43:02 BST 2006  Olly Betts <olly@survex.com>
29092         * include/xapian/version_h.cc: Trim trailing whitespace.
29094 Fri May 12 20:43:47 BST 2006  Olly Betts <olly@survex.com>
29096         * configure.ac,include/xapian/version_h.cc: Replace @@ with " instead
29097           of @, so we can write @deprecated.  Fix more compilation problems.
29099 Fri May 12 19:00:08 BST 2006  Olly Betts <olly@survex.com>
29101         * include/xapian/version_h.cc: Fix compilation problem.
29103 Fri May 12 01:19:14 BST 2006  Olly Betts <olly@survex.com>
29105         * api/version.cc,include/xapian/version_h.cc: Rename
29106           Xapian::xapian_version_string() and companions to
29107           Xapian::version_string().  Keep the old functions as aliases
29108           which are marked as deprecated.
29110 Wed May 10 18:25:59 BST 2006  Olly Betts <olly@survex.com>
29112         * include/xapian/enquire.h: Remove bogus documentation for a
29113           parameter which doesn't exist.
29115 Tue May 09 19:17:23 BST 2006  Olly Betts <olly@survex.com>
29117         * bin/Makefile.am: Remove trailing whitespace.
29118         * bin/xapian-compact.cc: Fix renaming of "iamflint.tmp" for MS Windows
29119           where you can't rename an open file.
29121 Tue May 09 15:57:26 BST 2006  Olly Betts <olly@survex.com>
29123         * configure.ac: Fix reversed conditional in test for snprintf (which
29124           affects cygwin).
29126 Mon May 01 21:49:46 BST 2006  Olly Betts <olly@survex.com>
29128         * tests/queryparsertest.cc: Add another prefix testcase to improve
29129           coverage.
29131 Sat Apr 29 20:16:46 BST 2006  Olly Betts <olly@survex.com>
29133         * docs/remote_protocol.html: Document keep-alive messages.
29135 Thu Apr 13 14:49:48 BST 2006  Olly Betts <olly@survex.com>
29137         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Add rules
29138           to handle a boolean filter with a "+" in front (such as
29139           +site:xapian.org).
29141 Wed Apr 12 18:42:31 BST 2006  Olly Betts <olly@survex.com>
29143         * PLATFORMS: More updates for 0.9.5.
29145 Tue Apr 11 19:56:16 BST 2006  Olly Betts <olly@survex.com>
29147         * matcher/Makefile.am: Need to add "-I${top_builddir}/include" to
29148           INCLUDES so that xapian/version.h is found.
29150 Tue Apr 11 19:24:59 BST 2006  Olly Betts <olly@survex.com>
29152         * backends/database.cc,configure.ac,include/xapian/version_h.cc,
29153           matcher/multimatch.cc,matcher/stats.cc,tests/apitest.cc,
29154           testsuite/backendmanager.cc,testsuite/backendmanager.h:
29155           Eliminate XAPIAN_BUILD_BACKEND_* from config.h and just use
29156           XAPIAN_HAS_*_BACKEND from xapian/version.h instead.
29158 Tue Apr 11 18:32:52 BST 2006  Olly Betts <olly@survex.com>
29160         * include/Makefile.am: Add xapian/version.h.timestamp as a dependency
29161           on all-local so that xapian/version.h actually gets regenerated
29162           when required.
29164 Tue Apr 11 17:52:24 BST 2006  Olly Betts <olly@survex.com>
29166         * api/omenquire.cc,backends/flint/flint_btreebase.cc,
29167           backends/quartz/btree_base.cc,common/utils.h,configure.ac:
29168           Disable MSVC warning 4800 (on int to bool conversions) in config.h
29169           and then we can remove the "fixes" elsewhere.
29171 Tue Apr 11 16:28:01 BST 2006  Olly Betts <olly@survex.com>
29173         * configure.ac: Simpler check for VALGRIND being set to empty value.
29175 Tue Apr 11 01:04:32 BST 2006  Olly Betts <olly@survex.com>
29177         * PLATFORMS: Add a summary.
29179 Tue Apr 11 00:45:55 BST 2006  Olly Betts <olly@survex.com>
29181         * PLATFORMS: Updates from boxes which were down when I did the
29182           release.
29184 Mon Apr 10 17:06:46 BST 2006  Olly Betts <olly@survex.com>
29186         * api/omenquire.cc,backends/flint/flint_btreebase.cc,
29187           backends/flint/flint_utils.h,backends/quartz/btree_base.cc,
29188           backends/quartz/quartz_utils.h,common/omassert.h:
29189           Fix more MSVC7 warnings (I spoke too soon).
29191 Mon Apr 10 15:56:52 BST 2006  Olly Betts <olly@survex.com>
29193         * include/xapian/query.h: Another MSVC7 warning fix.  Should be free
29194           of warnings now.
29196 Mon Apr 10 14:46:34 BST 2006  Olly Betts <olly@survex.com>
29198         * backends/flint/flint_database.cc,backends/flint/flint_utils.h,
29199           backends/quartz/quartz_utils.h,bin/quartzcompact.cc,
29200           bin/xapian-compact.cc,common/omdebug.h,common/utils.h,
29201           include/xapian/query.h,languages/header.h,matcher/multimatch.cc:
29202           Fix assorted MSVC7 warnings.
29204 Sun Apr 09 04:56:09 BST 2006  Olly Betts <olly@survex.com>
29206         * HACKING: Expand on details of what's required when changing Xapian
29207           (discuss documentation requirements, expand on why feature tests
29208           are vital).
29209         * HACKING: Update section on building debian packages.
29211 Sat Apr 08 20:02:19 BST 2006  Olly Betts <olly@survex.com>
29213         * NEWS,PLATFORMS,configure.ac: Updated for 0.9.5.
29215 Fri Apr 07 23:53:08 BST 2006  Olly Betts <olly@survex.com>
29217         * tests/api_anydb.cc,tests/api_db.cc,tests/btreetest.cc: Correct
29218           spelling of "existant" to "existent".
29220 Fri Apr 07 19:13:24 BST 2006  Olly Betts <olly@survex.com>
29222         * configure.ac: We don't use strcasecmp, so don't probe for it.
29224 Fri Apr 07 18:30:40 BST 2006  Olly Betts <olly@survex.com>
29226         * common/utils.h: Fixes for MSVC7 compilation.
29228 Fri Apr 07 17:19:43 BST 2006  Olly Betts <olly@survex.com>
29230         * backends/flint/flint_table.cc,backends/quartz/btree.cc: Fixes for
29231           MSVC compilation.
29233 Fri Apr 07 16:04:08 BST 2006  Olly Betts <olly@survex.com>
29235         * backends/flint/flint_cursor.h: Fix incorrect example code in
29236           documentation comment.
29237         * backends/flint/flint_table.cc,backends/flint/flint_table.h:
29238           Remove unused method FlintTable::find_key().
29240 Fri Apr 07 16:02:40 BST 2006  Olly Betts <olly@survex.com>
29242         * AUTHORS: Updated.
29244 Fri Apr 07 15:58:31 BST 2006  Olly Betts <olly@survex.com>
29246         * debian/control.in: copydatabase and xapian-compact are packaged
29247           in xapian-tools, so add them to the documented list of tools
29248           included.
29250 Fri Apr 07 15:12:43 BST 2006  Olly Betts <olly@survex.com>
29252         * net/tcpserver.cc: Set xapian-tcpsrv to allow 5 connections in the
29253           listen queue instead of just one.
29255 Fri Apr 07 13:28:15 BST 2006  Olly Betts <olly@survex.com>
29257         * tests/remotetest.cc: Check mset size in tcpmatch1.
29259 Fri Apr 07 01:26:03 BST 2006  Olly Betts <olly@survex.com>
29261         * xapian.spec.in: Man pages may be gzipped.
29263 Thu Apr 06 14:41:29 BST 2006  Olly Betts <olly@survex.com>
29265         * HACKING: aclocal is part of automake, not autoconf.
29267 Thu Apr 06 01:29:21 BST 2006  Olly Betts <olly@survex.com>
29269         * bin/,examples/copydatabase.cc,examples/delve.cc,examples/quest.cc:
29270           In the "--help" output, add "Options:" before the list of options.
29272 Thu Apr 06 01:11:31 BST 2006  Olly Betts <olly@survex.com>
29274         * xapian-config.in: Tweak to improve help2man output.
29276 Wed Apr 05 16:26:15 BST 2006  Fabrice Colin
29278         * xapian.spec.in: Package man pages.
29280 Wed Apr 05 16:23:49 BST 2006  Olly Betts <olly@survex.com>
29282         * Makefile.am,bin/Makefile.am,examples/Makefile.am: Include generated
29283           man pages in the distribution tarball.
29285 Wed Apr 05 02:48:27 BST 2006  Olly Betts <olly@survex.com>
29287         * debian/TODO: Updated.
29289 Wed Apr 05 02:44:15 BST 2006  Olly Betts <olly@survex.com>
29291         * ./,examples: svn:ignore man pages.
29293 Wed Apr 05 02:43:08 BST 2006  Olly Betts <olly@survex.com>
29295         * bin/Makefile.am,examples/Makefile.am: No need to make man pages
29296           depend on config.h, since the binaries will already.
29298 Wed Apr 05 02:42:42 BST 2006  Olly Betts <olly@survex.com>
29300         * Makefile.am: Generate man page for xapian-config.
29302 Wed Apr 05 00:59:53 BST 2006  Olly Betts <olly@survex.com>
29304         * examples/Makefile.am: Use help2man to generate manpages for the
29305           installed binaries in examples.
29307 Wed Apr 05 00:56:11 BST 2006  Olly Betts <olly@survex.com>
29309         * bin/omtcpsrv.cc: Rename to bin/xapian-tcpsrv.cc.
29310         * bin/omprogsrv.cc: Rename to bin/xapian-progsrv.cc.
29311         * HACKING,bin/Makefile.am,configure.ac: Use help2man to generate
29312           manpages for the installed binaries in bin.
29314 Tue Apr 04 16:44:54 BST 2006  Olly Betts <olly@survex.com>
29316         * include/xapian/enquire.h: Note example of BM25Weight parameters
29317           which make set_sort_by_relevance_then_value useful.
29319 Tue Apr 04 16:35:58 BST 2006  Olly Betts <olly@survex.com>
29321         * api/omenquire.cc,include/xapian/enquire.h,matcher/,tests/api_db.cc:
29322           Implement Enquire::set_sort_by_relevance_then_value().
29324 Tue Apr 04 01:05:41 BST 2006  Olly Betts <olly@survex.com>
29326         * common/omenquireinternal.h: sort_key no longer needs to be mutable
29327           now that MSetSortCmp has been removed.
29329 Mon Apr 03 02:03:12 BST 2006  Olly Betts <olly@survex.com>
29331         * matcher/multimatch.cc: Removed dead code (class MSetSortCmp).
29333 Sun Apr 02 16:37:38 BST 2006  Olly Betts <olly@survex.com>
29335         * net/tcpserver.cc: Don't perform a name lookup on the IP address
29336           which an incoming connection is from as that could easily slow
29337           down the search response - instead just print the IP address itself
29338           if output is verbose.
29340 Sun Apr 02 13:28:31 BST 2006  Olly Betts <olly@survex.com>
29342         * api/omenquire.cc,common/,docs/remote_protocol.html,
29343           matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h,
29344           net/socketclient.cc,net/socketserver.cc: Change bool
29345           sort_by_relevance to enum sort_by in preparation for adding
29346           "sort_by_relevance_then_value".
29348 Fri Mar 31 22:32:16 BST 2006  Olly Betts <olly@survex.com>
29350         * examples/copydatabase.cc,examples/quest.cc: Add --help and --version
29351           options.
29352         * examples/delve.cc: Tidy up output from --help and --version options.
29354 Fri Mar 31 19:01:25 BST 2006  Olly Betts <olly@survex.com>
29356         * bin/quartzcheck.cc: Fix SEGV when run with no arguments (introduced
29357           by last change).
29359 Fri Mar 31 17:57:27 BST 2006  Olly Betts <olly@survex.com>
29361         * bin/quartzcheck.cc: Add --version option.  Tidy up output from
29362           --help.
29364 Fri Mar 31 17:43:25 BST 2006  Olly Betts <olly@survex.com>
29366         * bin/quartzcompact.cc: Include --help and --version in --help output.
29367         * bin/quartzdump.cc: Add --help and --version options.  Terminate list
29368           of long options so that "quartzdump --foo" no longer segfaults.
29370 Fri Mar 31 17:27:09 BST 2006  Olly Betts <olly@survex.com>
29372         * bin/quartzcompact.cc: Tweak --help and --version output for
29373           consistency with other binaries.  Terminate list of long options so
29374           that "quartzcompact --foo" no longer segfaults.
29376 Fri Mar 31 16:47:02 BST 2006  Olly Betts <olly@survex.com>
29378         * bin/omtcpsrv.cc: Make OPT_HELP and OPT_VERSION positive numbers.
29379           Only give synopsis line for --help, not for syntax error.
29380         * bin/xapian-compact.cc: List --help and --version in --help output.
29381           Terminate list of long options so that "xapian-compact --foo" no
29382           longer segfaults.
29384 Fri Mar 31 16:20:24 BST 2006  Olly Betts <olly@survex.com>
29386         * bin/omtcpsrv.cc: Added --help and --version options.
29388 Thu Mar 30 11:51:21 BST 2006  Philip Neustrom
29390         * docs/remote_protocol.html: Document messages for requesting and
29391           sending a termlist and a document.
29393 Wed Mar 29 19:39:05 BST 2006  Olly Betts <olly@survex.com>
29395         * backends/flint/flint_termlist.cc,backends/quartz/quartz_termlist.cc:
29396           Add missing spaces in debug output.
29398 Fri Mar 17 09:22:54 GMT 2006  Olly Betts <olly@survex.com>
29400         * api/vectortermlist.h,backends/net/net_termlist.cc,
29401           backends/net/net_termlist.h,common/alltermslist.h,common/termlist.h,
29402           matcher/branchtermlist.h: Make TermList::positionlist_begin() pure
29403           virtual and put dummy implementations in BranchTermList and other
29404           subclasses which can't (or don't) implement it.  This makes it
29405           hard to accidentally fail to implement it in a backend's TermList
29406           subclass.
29407         * backends/net/net_termlist.h: positionlist_begin() now throws
29408           UnimplementedError instead of InvalidOperationError.
29410 Fri Mar 17 08:46:52 GMT 2006  Olly Betts <olly@survex.com>
29412         * api/omdatabase.cc: There's no need for the MultiTermList wrapper in
29413           the common case where we're only dealing with a single database.
29415 Fri Mar 17 07:54:54 GMT 2006  Olly Betts <olly@survex.com>
29417         * backends/net/net_termlist.h: Remove unused "positions" member.
29419 Fri Mar 17 07:07:57 GMT 2006  Olly Betts <olly@survex.com>
29421         * backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
29422           tests/api_posdb.cc: Fix TermIterator::positionlist_begin() to work
29423           on TermIterator from Database::termlist_begin().
29425 Fri Mar 17 03:47:04 GMT 2006  Olly Betts <olly@survex.com>
29427         * include/xapian/enquire.h: Fix "unused parameter" warning from
29428           previous change.
29430 Thu Mar 16 05:20:16 GMT 2006  Olly Betts <olly@survex.com>
29432         * api/omenquire.cc,include/xapian/enquire.h:  Move
29433           Enquire::get_matching_terms_end() inline in header.
29435 Thu Mar 16 04:28:20 GMT 2006  Olly Betts <olly@survex.com>
29437         * api/omdocument.cc,configure.ac,include/xapian/document.h: Move
29438           Document::termlist_end() inline in header.
29440 Fri Mar 10 04:55:57 GMT 2006  Olly Betts <olly@survex.com>
29442         * INSTALL: Improve wording.
29444 Fri Mar 10 04:49:09 GMT 2006  Olly Betts <olly@survex.com>
29446         * backends/quartz/bcursor.h: Fix incorrect method name in
29447           documentation comment.
29449 Fri Mar 10 04:39:45 GMT 2006  Olly Betts <olly@survex.com>
29451         * backends/quartz/btree.cc,backends/quartz/btree.h: Btree::find_key()
29452           is unused so remove it.
29454 Fri Mar 10 04:29:46 GMT 2006  Olly Betts <olly@survex.com>
29456         * HACKING: Note that we now use a lightly patched version of libtool
29457           1.5.22.
29459 Fri Mar 10 02:55:48 GMT 2006  Olly Betts <olly@survex.com>
29461         * docs/overview.html: Bring up to date.
29463 Wed Mar 08 02:32:49 GMT 2006  Olly Betts <olly@survex.com>
29465         * queryparser/queryparser.lemony: Fix FLAG_BOOLEAN_ANY_CASE to really
29466           allow any case combination - previously it only allowed all
29467           uppercase or all lowercase.
29468         * tests/queryparsertest.cc: Add feature and regression tests for
29469           FLAG_BOOLEAN_ANY_CASE.
29470         * tests/queryparsertest.cc: Rename test cases to more descriptive
29471           names.
29473 Tue Mar 07 19:59:54 GMT 2006  Olly Betts <olly@survex.com>
29475         * queryparser/queryparser.lemony,tests/queryparsertest.cc:
29476           Fix QueryParser's handling of terms with trailing "#", "+",
29477           or "-" when set_database has been called and the term doesn't
29478           exist in the database with the suffix.
29480 Tue Feb 21 21:14:22 GMT 2006  Olly Betts <olly@survex.com>
29482         * include/xapian/deprecated.h: Allow xapian-bindings to override
29483           deprecation warnings.
29485 Tue Feb 21 17:55:17 GMT 2006  Olly Betts <olly@survex.com>
29487         * backends/flint/flint_database.cc: Note that "flicklock" should be
29488           "flintlock"!
29490 Tue Feb 21 14:13:08 GMT 2006  Olly Betts <olly@survex.com>
29492         * PLATFORMS: Updated.
29494 Tue Feb 21 14:12:47 GMT 2006  Olly Betts <olly@survex.com>
29496         * HACKING: Update the "how to do a release" list.
29498 Tue Feb 21 00:17:40 GMT 2006  Olly Betts <olly@survex.com>
29500         * NEWS,PLATFORMS,configure.ac: Updated for 0.9.4.
29502 Mon Feb 20 21:15:46 GMT 2006  Olly Betts <olly@survex.com>
29504         * api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/,
29505           queryparser/queryparser.cc: GCC 3.2 actually doesn't like
29506           __attribute__((deprecated)) on method definitions, so just
29507           put declarations of deprecated methods in the headers, and
29508           move definitions into the library.
29510 Mon Feb 20 16:04:33 GMT 2006  Olly Betts <olly@survex.com>
29512         * tests/api_anydb.cc,tests/api_db.cc,tests/api_nodb.cc: Update uses
29513           of deprecated methods and functions.
29515 Mon Feb 20 15:47:31 GMT 2006  Olly Betts <olly@survex.com>
29517         * include/xapian/document.h: __attribute__((deprecated)) doesn't
29518           work on method definitions with default parameters on GCC 3.2
29519           so fix header to overload instead.
29521 Mon Feb 20 13:44:14 GMT 2006  Olly Betts <olly@survex.com>
29523         * include/xapian/enquire.h: Add documentation comment for
29524           Enquire::set_sort_by_value_then_relevance().
29526 Sun Feb 19 23:18:09 GMT 2006  Olly Betts <olly@survex.com>
29528         * include/Makefile.am,include/xapian/: Flag deprecated methods such
29529           that the compiler gives a warning, for compilers which support
29530           such a feature.
29532 Sun Feb 19 22:58:55 GMT 2006  Olly Betts <olly@survex.com>
29534         * COPYING: Update second occurrence of old FSF address.
29536 Sun Feb 19 22:46:49 GMT 2006  Olly Betts <olly@survex.com>
29538         * README: Add pointer to HACKING.  Change "CVS access" to "SVN
29539           access".
29541 Sun Feb 19 01:46:00 GMT 2006  Olly Betts <olly@survex.com>
29543         * api/version.cc: Correct typo in name of function xapian_revision().
29545 Thu Feb 16 10:23:59 GMT 2006  Olly Betts <olly@survex.com>
29547         * xapian-config.in: Oops, fix previous fix (I'd pasted the substituted
29548           result from testing the patch...)
29550 Thu Feb 16 10:16:31 GMT 2006  Olly Betts <olly@survex.com>
29552         * PLATFORMS: Updated from tinderbox.
29554 Thu Feb 16 10:15:51 GMT 2006  Olly Betts <olly@survex.com>
29556         * xapian-config.in: Need to set exec_prefix and prefix at top of
29557           script as they're used by various @SUBSTITUTIONS@.
29559 Thu Feb 16 00:09:34 GMT 2006  Olly Betts <olly@survex.com>
29561         * NEWS,PLATFORMS,configure.ac: Updated for 0.9.3.
29563 Wed Feb 15 21:58:23 GMT 2006  Olly Betts <olly@survex.com>
29565         * xapian-config.in: Fix option loop to work on shells other than bash.
29567 Wed Feb 15 21:38:38 GMT 2006  Olly Betts <olly@survex.com>
29569         * include/xapian/database.h: Tweak wording of a documentation comment.
29571 Wed Feb 15 21:34:55 GMT 2006  Olly Betts <olly@survex.com>
29573         * include/xapian/queryparser.h: Fix documentation comments for the
29574           values of QueryParser::feature_flag so doxygen actually pulls out
29575           the documentation for them.  Add documentation for the parameters
29576           of QueryParser::parse_query().
29578 Wed Feb 15 21:26:48 GMT 2006  Olly Betts <olly@survex.com>
29580         * bin/quartzcheck.cc: If the database is too broken to open, emit a
29581           warning message and bump the error count.
29583 Wed Feb 15 21:23:38 GMT 2006  Olly Betts <olly@survex.com>
29585         * docs/queryparser.html: Document right-truncation.
29587 Wed Feb 15 21:08:37 GMT 2006  Olly Betts <olly@survex.com>
29589         * xapian-config.in: Fixed to output usage correctly if no arguments
29590           are specified.
29592 Mon Feb 13 17:43:08 GMT 2006  Olly Betts <olly@survex.com>
29594         * xapian-config.in: Expand dependency_libs recursively.  It's not
29595           *that* hard, and we're just storing up problems for the future
29596           by ignoring the issue.
29598 Mon Feb 13 16:57:36 GMT 2006  Olly Betts <olly@survex.com>
29600         * HACKING: Devlopers also need makeindex installed for documentation
29601           building.  Note that dvips and makeindex are usually packaged with
29602           TeX.
29604 Mon Feb 13 15:16:02 GMT 2006  Olly Betts <olly@survex.com>
29606         * configure.ac,xapian-config.in: Some Linux distros have an
29607           unhelpful policy of not packaging .la files, and on Linux
29608           link_all_deplibs_CXX=no so we don't actually need to link
29609           in the dependency_libs.  So use the value of link_all_deplibs_CXX
29610           from configure to control whether we link against dependency_libs.
29611         * xapian-config.in: Factor out common code into shell functions,
29612           and tidy up --help output.
29613         * xapian-config.in: Re entry "Tue May 11 20:55:56 BST 2004": the (C)
29614           dates I mined from CVS included a BrightStation (C), but the few
29615           fragments of that version which survive are actually from
29616           glib-config (or one of the myriad of *-config scripts which look
29617           very like it), and are just standard Bourne shell idioms anyway.
29619 Mon Feb 13 13:59:02 GMT 2006  Olly Betts <olly@survex.com>
29621         * PLATFORMS: td174 is gone.
29622         * PLATFORMS: Compaq C++ 7.1 seems to have better template support
29623           (but fails to link binaries).
29625 Mon Feb 13 12:22:23 GMT 2006  Olly Betts <olly@survex.com>
29627         * HACKING,testsuite/testsuite.cc: XAPIAN_TESTSUITE_PLAIN_OUTPUT
29628           -> XAPIAN_TESTSUITE_OUTPUT=plain.
29630 Sun Feb 12 18:29:55 GMT 2006  Olly Betts <olly@survex.com>
29632         * backends/database.cc,tests/api_nodb.cc: Trying to open a database
29633           for reading which doesn't exist now fails with DatabaseOpeningError
29634           instead of FeatureUnavailableError.  Added regression test
29635           nosuchdb1.
29637 Thu Feb 09 10:48:10 GMT 2006  Olly Betts <olly@survex.com>
29639         * net/socketserver.cc: Add missing '#include <iostream>'
29640           when TIMING_PATCH is defined.
29642 Wed Feb 08 08:22:09 GMT 2006  Olly Betts <olly@survex.com>
29644         * HACKING: Now use libtool 1.5.22 for generating snapshots and
29645           releases (includes a number of bug-fixes).
29646         * HACKING,docs/doxygen_api_header.html_tmpl,
29647           docs/doxygen_full_header.html_tmpl: Now use doxygen 1.4.6 for
29648           generating snapshots and releases (nicer output).
29649         * docs/doxygen_full_header.html_tmpl: Title "Internal Source
29650           Documentation" rather than "Full source documentation".
29652 Sun Feb 05 06:19:29 GMT 2006  Olly Betts <olly@survex.com>
29654         * queryparser/queryparser.lemony,tests/queryparsertest.cc: The
29655           QueryParser now recognises "AND NOT" as a synonym for "NOT".
29657 Mon Jan 16 18:19:26 GMT 2006  Olly Betts <olly@survex.com>
29659         * backends/quartz/quartz_utils.h: Fix compiler warning.
29661 Mon Jan 16 18:17:27 GMT 2006  Olly Betts <olly@survex.com>
29663         * HACKING,backends/flint/,backends/muscat36/,backends/quartz/,
29664           bin/quartzcompact.cc,bin/xapian-compact.cc,common/Makefile.am,
29665           common/safeerrno.h,net/,tests/btreetest.cc,tests/quartztest.cc,
29666           testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out
29667           a cleaner workaround for Compaq C++'s <errno.h> oddity.
29669 Mon Jan 16 17:18:56 GMT 2006  Olly Betts <olly@survex.com>
29671         * common/safewindows.h: Fix typo in file description.
29673 Mon Jan 16 13:29:48 GMT 2006  Olly Betts <olly@survex.com>
29675         * backends/quartz/quartz_database.cc: Reverse order of errno includes
29676           which seems to make Compaq's C++ compiler happier.
29678 Sun Jan 15 23:52:01 GMT 2006  Olly Betts <olly@survex.com>
29680         * backends/flint/flint_database.cc,backends/flint/flint_table.cc,
29681           backends/quartz/btree.cc,backends/quartz/quartz_database.cc,
29682           backends/quartz/quartz_log.cc,configure.ac,net/socketcommon.cc,
29683           net/tcpclient.cc,testsuite/backendmanager.cc: Compaq C++ requires
29684           sys/errno.h to get ENOENT and most other EXXX codes defined.
29686 Sun Jan 15 23:41:15 GMT 2006  Olly Betts <olly@survex.com>
29688         * bin/xapian-compact.cc: Initialise 2 variables to avoid compiler
29689           warnings.
29691 Sun Jan 15 23:38:11 GMT 2006  Olly Betts <olly@survex.com>
29693         * xapian-config.in: If libxapian.la's dependency_libs contains
29694           another .la file, crudely transform to a pair of -L and -l
29695           options.  Ideally we should recursively pull in dependency_libs
29696           from that .la file, but that's too hard to do in sh.
29698 Sun Jan 15 21:43:26 GMT 2006  Olly Betts <olly@survex.com>
29700         * queryparser/queryparser.lemony,queryparser/queryparser.lt:
29701           Eliminate ParseAlloc's mallocProc parameter and ParseFree's freeProc
29702           parameter - we always pass malloc and free, and get warnings from
29703           some compilers because we're passing a C-linkage function for a
29704           C++-linkage function pointer.
29705         * testsuite/testsuite.cc,testsuite/testsuite.h: Fix functions
29706           registered as signal handlers and pass to atexit to have C linkage.
29708 Sun Jan 15 14:49:45 GMT 2006  Olly Betts <olly@survex.com>
29710         * backends/quartz/quartz_log.cc: #include <string.h> for strerror.
29712 Sun Jan 15 04:36:49 GMT 2006  Olly Betts <olly@survex.com>
29714         * include/xapian/queryparser.h,queryparser/queryparser.cc:
29715           Add Stopper::get_description() and SimpleStopper::get_description().
29717 Sat Jan 14 21:43:32 GMT 2006  Olly Betts <olly@survex.com>
29719         * configure.ac: Fix backwards logic in snprintf configure test.
29720           Also define SNPRINTF_ISO to be an snprintf with ISO C90 semantics
29721           for the return value (if one exists), with SNPRINTF being defined
29722           to any snprintf which at least performs truncation (which in many
29723           cases is sufficient).
29725 Sat Jan 14 04:47:33 GMT 2006  Olly Betts <olly@survex.com>
29727         * queryparser/queryparser.lt: Fix aCC warnings.
29729 Sat Jan 14 04:47:00 GMT 2006  Olly Betts <olly@survex.com>
29731         * common/utils.h: Fix aCC warning.
29733 Fri Jan 13 18:25:04 GMT 2006  Olly Betts <olly@survex.com>
29735         * configure.ac: Turn on more warnings for aCC; suppress existing
29736           warning ("Entire translation unit was empty") since it's not
29737           useful to us.
29739 Fri Jan 13 03:22:26 GMT 2006  Olly Betts <olly@survex.com>
29741         * configure.ac: The configure test for snprintf uses memcmp, so
29742           we need to "#include <string.h>" for it to work reliably.
29744 Wed Jan 11 03:14:30 GMT 2006  Olly Betts <olly@survex.com>
29746         * configure.ac: If not cross-compiling, try to actually run a test
29747           program built with the C++ compiler, not just link one.
29749 Wed Jan 11 03:06:28 GMT 2006  Olly Betts <olly@survex.com>
29751         * configure.ac: Note the library version info which 0.9.3 will
29752           probably need.
29754 Tue Jan 10 22:41:36 GMT 2006  Olly Betts <olly@survex.com>
29756         * configure.ac: Fix to actually skip the check for valgrind if
29757           VALGRIND is set to an empty value.
29759 Tue Jan 10 01:08:10 GMT 2006  Olly Betts <olly@survex.com>
29761         * PLATFORMS: Updates from the tinderbox.
29763 Mon Jan 09 01:35:57 GMT 2006  Olly Betts <olly@survex.com>
29765         * backends/muscat36/io_system.cc,bin/xapian-compact.cc,
29766           common/omdebug.cc: More sprintf tweaks.
29768 Mon Jan 09 00:58:33 GMT 2006  Olly Betts <olly@survex.com>
29770         * bin/xapian-compact.cc: Use snprintf if we have it.
29772 Sun Jan 08 03:51:52 GMT 2006  Olly Betts <olly@survex.com>
29774         * testsuite/backendmanager.cc: Fix conditional compilation of
29775           flint backend to use XAPIAN_BUILD_BACKEND_FLINT instead
29776           of XAPIAN_BUILD_BACKEND_QUARTZ.
29778 Sun Jan 08 02:11:30 GMT 2006  Olly Betts <olly@survex.com>
29780         * configure.ac: Disable flint backend by default if building for
29781           djgpp or msdos.
29783 Sun Jan 08 02:09:48 GMT 2006  Olly Betts <olly@survex.com>
29785         * backends/flint/flint_lock.cc: Cast NULL to (void*) to avoid
29786           "missing sentinel" warning from GCC4.
29788 Sat Jan 07 19:09:33 GMT 2006  Olly Betts <olly@survex.com>
29790         * HACKING,docs/tests.html: Merge the "running tests" section of
29791           docs/tests.html into the similar section in HACKING, and make
29792           docs/tests.html refer the reader to HACKING for more information.
29793         * HACKING,tests/apitest.cc: Remove OM_TEST_BACKEND.  You can now
29794           use the "-b" switch to apitest to control which backend is used
29795           so it's pretty much redundant.
29796         * HACKING,testsuite/testsuite.cc: Rename XAPIAN_SIG_DFL to
29797           XAPIAN_TESTSUITE_SIG_DFL.
29798         * HACKING,testsuite/testsuite.cc: Add XAPIAN_TESTSUITE_PLAIN_OUTPUT
29799           to disable use of ANSI escape sequences in test output.
29801 Sat Jan 07 09:13:06 GMT 2006  Olly Betts <olly@survex.com>
29803         * tests/queryparsertest.cc: Write top-bit set characters using \xXX
29804           notation to avoid warnings from Intel's C++ compiler.
29806 Sat Jan 07 07:13:25 GMT 2006  Olly Betts <olly@survex.com>
29808         * configure.ac: TYPE_SOCKLEN_T fails hard, so only run it if we've
29809           successfully run other socket tests.
29811 Sat Jan 07 05:29:39 GMT 2006  Olly Betts <olly@survex.com>
29813         * queryparser/accentnormalisingitor.h: #include <limits.h> for
29814           CHAR_BIT.
29816 Fri Jan 06 21:24:01 GMT 2006  Olly Betts <olly@survex.com>
29818         * bin/xapian-compact.cc: Fix printf type mismatch on 64 bit platforms.
29820 Fri Jan 06 18:05:30 GMT 2006  Olly Betts <olly@survex.com>
29822         * queryparser/queryparser.cc,queryparser/queryparser.lemony,
29823           queryparser/queryparser_internal.h: Replace pair<bool, string>
29824           with a simple class BoolAndString - the pair results in a
29825           4328 byte symbol on HP-UX which gets truncated (to 4000 bytes).
29827 Fri Jan 06 12:55:37 GMT 2006  Olly Betts <olly@survex.com>
29829         * PLATFORMS: Updated from tinderbox.
29831 Thu Jan 05 16:12:00 GMT 2006  Olly Betts <olly@survex.com>
29833         * configure.ac: Oops, remove hack left over from testing.
29835 Thu Jan 05 16:09:06 GMT 2006  Olly Betts <olly@survex.com>
29837         * configure.ac: Add sanity check for MS Windows that "find" is
29838           Unix-like find, not MSDOS-like.
29840 Thu Jan 05 04:27:29 GMT 2006  Olly Betts <olly@survex.com>
29842         * INSTALL,PLATFORMS,README: Updated.
29844 Mon Dec 19 12:53:38 GMT 2005  Olly Betts <olly@survex.com>
29846         * AUTHORS,PLATFORMS: Add success report for Fedora Core 4.
29848 Mon Dec 19 12:52:55 GMT 2005  Olly Betts <olly@survex.com>
29850         * include/xapian/database.h: Improve a couple of documentation
29851           comments.
29853 Sun Dec 11 01:33:58 GMT 2005  Olly Betts <olly@survex.com>
29855         * queryparser/queryparser.lemony: Fix handling of "+" terms in a query
29856           when the default query operator is AND.
29857         * tests/queryparsertest.cc: Add regression test.
29859 Fri Dec 09 05:54:33 GMT 2005  Olly Betts <olly@survex.com>
29861         * languages/api.cc: Check for malloc and calloc failing to allocate
29862           memory and throw an exception.  Richard has fix this upstream in
29863           snowball, so this is a temporary fix until we import a new version
29864           of snowball.
29866 Fri Dec 09 02:15:38 GMT 2005  Olly Betts <olly@survex.com>
29868         * api/omenquire.cc: Added assertions that the internal ptr isn't NULL
29869           to ESet::end() and ESet::get_description().
29871 Fri Dec 09 02:14:13 GMT 2005  Olly Betts <olly@survex.com>
29873         * HACKING: Note platforms valgrind now has solid support for; Improve
29874           phrasing in a few places.
29876 Thu Dec 08 23:13:09 GMT 2005  Olly Betts <olly@survex.com>
29878         * INSTALL: Update URL for stlport to sourceforge site, which seems to
29879           be where the action is now.
29881 Thu Dec 08 04:13:11 GMT 2005  Olly Betts <olly@survex.com>
29883         * testsuite/testsuite.cc: Fix testsuite harness to work with valgrind
29884           on 64 bit platforms (it's not documented, but VALGRIND_COUNT_LEAKS
29885           requires the count parameters to be 64 bit on such platforms - i.e.
29886           long rather than int as we were using).
29888 Tue Nov 01 13:22:50 GMT 2005  Olly Betts <olly@survex.com>
29890         * PLATFORMS: Sourceforge have a ppc64 linux box.  Xapian builds and
29891           works out of the box, so add success report for this platform.
29893 Thu Oct 27 09:32:24 BST 2005  Fabrice Colin
29895         * xapian.spec.in: Invoke %setup correctly.
29897 Sat Oct 01 03:25:50 BST 2005  Olly Betts <olly@survex.com>
29899         * bin/xapian-compact.cc: Added "--multipass" option to merge postlists
29900           in pairs or triples until all are merged.  Generally this is faster
29901           than an N-way merge, but it does require more disk space for
29902           temporary files so it's not the default.
29904 Fri Sep 30 18:02:32 BST 2005  Olly Betts <olly@survex.com>
29906         * include/xapian/enquire.h: Give pointer to replacements for the
29907           deprecated Enquire sorting methods.
29909 Wed Sep 28 02:16:03 BST 2005  Olly Betts <olly@survex.com>
29911         * bin/xapian-compact.cc: Use a vector<string> to store the list of
29912           source databases, in preparation for merging multiple postlist
29913           tables in more than one pass.
29915 Mon Sep 26 22:22:24 BST 2005  Olly Betts <olly@survex.com>
29917         * .: svn:ignore docsource.mk.
29919 Mon Sep 26 19:54:15 BST 2005  Olly Betts <olly@survex.com>
29921         * bin/: svn:ignore xapian-compact.
29923 Mon Sep 26 19:50:13 BST 2005  Olly Betts <olly@survex.com>
29925         * backends/flint/flint_positionlist.cc: Remove trailing whitespace.
29927 Wed Sep 21 01:31:23 BST 2005  Olly Betts <olly@survex.com>
29929         * api/Makefile.am: Fixed VPATH build which was broken by the addition
29930           of version.cc.
29932 Tue Sep 20 23:38:05 BST 2005  Olly Betts <olly@survex.com>
29934         * backends/flint/flint_lock.cc: Don't pass NULL for second parameter
29935           of execl().
29937 Tue Sep 20 21:32:04 BST 2005  Olly Betts <olly@survex.com>
29939         * api/Makefile.am,api/version.cc,include/xapian/version_h.cc: Add 4
29940           functions to report version information for the library version
29941           being used (which may not be the same as that compiled against
29942           if shared libraries are in use):  xapian_version_string(),
29943           xapian_major_version(), xapian_minor_version(), xapian_revision().
29945 Sat Sep 17 14:07:32 BST 2005  Richard Boulton <richard@tartarus.org>
29947         * backends/flint/flint_lock.cc: Pass two NULLs to execl() to avoid
29948           getting a warning ("not enough variable arguments to fit a
29949           sentinel", observed on Ubuntu breezy powerpc).  Reported by
29950           Sidnei da Silva.
29952 Wed Sep 14 23:54:14 BST 2005  Olly Betts <olly@survex.com>
29954         * HACKING: Now generate snapshots and releases with automake 1.9.6
29955           (was 1.9.5) and libtool 1.5.20 (was 1.5.18).
29957 Tue Aug 30 14:01:55 BST 2005  Olly Betts <olly@survex.com>
29959         * backends/inmemory/inmemory_database.h: Forward declare class
29960           InMemoryDatabase to fix compilation with GCC 4.0.1.
29962 Fri Aug 19 12:13:39 BST 2005  Olly Betts <olly@survex.com>
29964         * backends/quartz/quartz_postlist.cc,backends/flint/flint_postlist.cc:
29965           Correct uses of termcount which should be doccount.
29967 Fri Aug 19 11:48:51 BST 2005  Olly Betts <olly@survex.com>
29969         * include/xapian/enquire.h: Fix prototype for ESet::operator[] to
29970           take parameter of type termcount instead of doccount.
29972 Wed Aug 17 11:50:54 BST 2005  Olly Betts <olly@survex.com>
29974         * common/safewindows.h: Fix compilation for cygwin.
29976 Tue Aug 16 16:01:36 BST 2005  Olly Betts <olly@survex.com>
29978         * backends/flint/flint_types.h,backends/quartz/quartz_types.h:  Using
29979           a double to hold the total document length would be a bad idea as
29980           we need to store it exactly so kill FIXME comments that suggest
29981           perhaps we should.
29983 Fri Jul 15 11:11:35 BST 2005  Olly Betts <olly@survex.com>
29985         * configure.ac,NEWS,PLATFORMS: Updated for 0.9.2.
29987 Fri Jul 15 02:31:11 BST 2005  Olly Betts <olly@survex.com>
29989         * preautoreconf: Change directory to the directory that the
29990           preautoreconf script is in before doing anything else.
29992 Fri Jul 15 01:02:29 BST 2005  Olly Betts <olly@survex.com>
29994         * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in,configure.ac:
29995           Eliminate TOP_SRCDIR and TOP_BUILDDIR - it's better to just use
29996           top_srcdir and top_builddir directly.
29998 Fri Jul 15 00:48:39 BST 2005  Olly Betts <olly@survex.com>
30000         * configure.ac: Fix superfluous shell quoting.
30002 Fri Jul 15 00:28:40 BST 2005  Olly Betts <olly@survex.com>
30004         * configure.ac,docs/Makefile.am,preautoreconf,Makefile.am: Generate
30005           the list of source files to feed to doxygen by inspecting all the
30006           Makefile.am files prior to running autoreconf rather than by using
30007           "find" when the user runs ./configure.  This speeds up configure,
30008           avoids generating docs for random .cc and .h files which aren't
30009           part of xapian-core, and avoids problems with picking up FIND.EXE
30010           on MS Windows.
30012 Thu Jul 14 12:49:36 BST 2005  Olly Betts <olly@survex.com>
30014         * common/,matcher/multimatch.cc,matcher/networkmatch.cc,
30015           matcher/networkmatch.h,net/socketclient.cc,net/socketserver.cc,
30016           tests/api_db.cc: Implement sorting on a value with the remote
30017           backend.
30019 Wed Jul 13 01:25:17 BST 2005  Olly Betts <olly@survex.com>
30021         * include/xapian/database.h,include/xapian/dbfactory.h,
30022           net/socketclient.cc: Regularise horizontal whitespace.
30024 Tue Jul 05 03:03:57 BST 2005  Olly Betts <olly@survex.com>
30026         * include/xapian/queryparser.h: Oops, failed to check in header
30027           changes for last change.
30029 Mon Jul 04 15:50:55 BST 2005  Olly Betts <olly@survex.com>
30031         * queryparser/queryparser.lemony,queryparser/queryparser.cc:
30032           Add flag FLAG_BOOLEAN_ANY_CASE which tells the QueryParser that
30033           boolean operators such as "AND", "OR", and "NEAR" should be
30034           recognised even if they aren't fully capitalised (so "and",
30035           "And", "aNd", etc will work too).  Add flag FLAG_WILDCARD which
30036           tells the QueryParser to allow right truncation e.g. "xap*".
30037         * tests/queryparsertest.cc: Add tests for FLAG_WILDCARD.
30039 Sun Jul 03 15:24:12 BST 2005  Olly Betts <olly@survex.com>
30041         * backends/database.cc: Fixed to auto-detect database type when
30042           opening an existing Flint database as a WritableDatabase.
30044 Sat Jul 02 18:49:22 BST 2005  Olly Betts <olly@survex.com>
30046         * tests/queryparsertest.cc: Add test case: "-site:xapian.org mail".
30048 Sat Jul 02 18:49:03 BST 2005  Olly Betts <olly@survex.com>
30050         * common/Makefile.am: Ship safewindows.h header.
30052 Sat Jul 02 18:04:18 BST 2005  Olly Betts <olly@survex.com>
30054         * bin/quartzcompact.cc,bin/xapian-compact.cc,
30055           backends/muscat36/io_system.cc,backends/quartz/btree.cc,
30056           backends/quartz/quartz_log.cc,backends/quartz/quartz_database.cc,
30057           backends/flint/,common/,net/,tests/,testsuite/backendmanager.cc,
30058           testsuite/testsuite.cc: Assorted tweaks towards allowing
30059           compilation with MSVC.
30061 Sat Jul 02 05:08:54 BST 2005  Olly Betts <olly@survex.com>
30063         * backends/quartz/: Always define WIN32_LEAN_AND_MEAN before
30064           including windows.h to reduce the amount of stuff it includes
30065           and speed up builds; Eliminate Btree::max_key_len as MSVC
30066           doesn't like the way we define it and it actually seems
30067           simpler to just use BTREE_MAX_KEY_LEN everywhere anyway.
30068         * backends/quartz/btree.cc: Added a few more assertions.
30070 Sat Jul 02 04:11:01 BST 2005  Olly Betts <olly@survex.com>
30072         * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fixed to
30073           handle "-site:microsoft.com" where site is a boolean prefix.
30074         * queryparser/Makefile.am: Add dependency to generate
30075           queryparser_token.h.
30077 Thu Jun 30 02:14:16 BST 2005  Olly Betts <olly@survex.com>
30079         * testsuite/testsuite.cc: Update URL for valgrind FAQ in comment.
30081 Thu Jun 30 00:11:52 BST 2005  Olly Betts <olly@survex.com>
30083         * include/xapian/enquire.h: More explicit explanation of the
30084           "descending docid with boolean weighting" trick for fast
30085           date ordered searching.
30087 Wed Jun 29 13:16:13 BST 2005  Olly Betts <olly@survex.com>
30089         * NEWS: Fix typo: "configurec" -> "configure".
30091 Mon Jun 27 04:21:34 BST 2005  Olly Betts <olly@survex.com>
30093         * xapian.spec.in: Package xapian-compact.
30095 Mon Jun 27 03:41:23 BST 2005  Olly Betts <olly@survex.com>
30097         * backends/flint/flint_positionlist.cc,tests/api_wrdb.cc: Fixed
30098           mispacking of length for Flint positionlists with more than 127
30099           entries, and added regression test longpositionlist1.
30101 Sun Jun 26 02:04:33 BST 2005  Olly Betts <olly@survex.com>
30103         * bin/xapian-compact.cc,backends/flint/flint_cursor.h: Let
30104           PostlistCursor take ownership of the FlintTable it's iterating over
30105           which makes clean-up tidier.
30106         * bin/xapian-compact.cc: We were accidentally skipping the first
30107           entry in various tables (which essentially meant the first
30108           document from each database would go missing when merging
30109           databases).
30111 Sat Jun 25 23:45:42 BST 2005  Olly Betts <olly@survex.com>
30113         * api/omdatabase.cc: Tweak get_lastdocid() code to be a little
30114           clearer.
30116 Wed Jun 22 20:50:43 BST 2005  Olly Betts <olly@survex.com>
30118         * configure.ac,include/xapian/version.h.in,include/xapian/version_h.cc,
30119           include/Makefile.am: Eliminate use of "ln -s" when generating
30120           include/xapian/version.h since it seems to cause problems on Solaris
30121           in some setups and isn't really necessary.  Also add dependency
30122           mechanism so version.h gets regenerated when the template is
30123           changed.
30125 Wed Jun 22 18:47:05 BST 2005  Olly Betts <olly@survex.com>
30127         * docs/intro_ir.html: Citeseer has moved, so update link.
30129 Mon Jun 20 13:33:42 BST 2005  Olly Betts <olly@survex.com>
30131         * configure.ac: -Wshadow causes false positives with GCC 3.0.4, so
30132           only enable it for 3.1 and up.
30134 Mon Jun 20 03:09:07 BST 2005  Olly Betts <olly@survex.com>
30136         * queryparser/queryparser.lemony: "utilpy" -> "utility"!
30138 Fri Jun 17 19:54:44 BST 2005  Olly Betts <olly@survex.com>
30140         * COPYING: Update FSF address.
30142 Thu Jun 16 18:43:33 BST 2005  Olly Betts <olly@survex.com>
30144         * backends/flint/flint_table.cc: Fix warnings from older GCC versions.
30145         * backends/flint/flint_lock.cc: '#include <signal.h>' so that SIGHUP
30146           gets defined reliably.
30148 Thu Jun 16 17:54:39 BST 2005  Olly Betts <olly@survex.com>
30150         * bin/Makefile.am,bin/xapian-compact.cc: Added new "xapian-compact"
30151           program which can compact and merge flint databases in a similar
30152           way to how quartzcompact does for quartz databases.
30154 Thu Jun 16 01:22:45 BST 2005  Olly Betts <olly@survex.com>
30156         * configure.ac: Check for spaces in build directory, source directory,
30157           or install prefix and die with a helpful message.
30159 Wed Jun 15 01:00:11 BST 2005  Olly Betts <olly@survex.com>
30161         * backends/flint/flint_lock.cc: It seems we need to explicitly kill
30162           the child process.  Otherwise when we have two databases locked
30163           just closing the connection doesn't cause the child to die.  I
30164           don't understand why it's needed, but this fix is at least clean.
30166 Mon Jun 13 00:13:33 BST 2005  Olly Betts <olly@survex.com>
30168         * backends/flint/flint_alltermslist.cc,
30169           backends/flint/flint_alltermslist.h,
30170           backends/flint/flint_database.cc: Rewrite of FlintAllTermsList
30171           with several fewer member variables.  Also fixes a bug (the old
30172           version wasn't ignoring the metainfo entry so tests were failing).
30174 Sun Jun 12 13:08:16 BST 2005  Olly Betts <olly@survex.com>
30176         * backends/quartz/quartz_alltermslist.cc: Disable assertion which is
30177           incorrect in a corner case.
30178         * tests/api_db.cc: Add test_specialterms2 as a regression test.
30180 Sun Jun 12 02:03:52 BST 2005  Olly Betts <olly@survex.com>
30182         * backends/flint/flint_positionlist.cc: Encoding and decoding of
30183           position list size, and first and last entries didn't match.
30184           Reworked to match using a slightly smaller encoding.
30185         * backends/flint/flint_metafile.cc: Bumped format version.
30187 Sun Jun 12 02:02:35 BST 2005  Olly Betts <olly@survex.com>
30189         * backends/flint/flint_table.cc: We were failing to append "DB" to the
30190           path when opening a table for reading - fixed.
30192 Sun Jun 12 02:00:30 BST 2005  Olly Betts <olly@survex.com>
30194         * testsuite/backendmanager.cc: When a flint database was requested, we
30195           were incorrectly creating a quartz database instead - fixed.
30197 Sat Jun 11 17:53:12 BST 2005  Olly Betts <olly@survex.com>
30199         * bin/quartzcompact.cc: Fix mis-repacking of keys in positionlist
30200           table when merging several databases.
30202 Thu Jun 09 01:06:35 BST 2005  Olly Betts <olly@survex.com>
30204         * Makefile.am,configure.ac: Pass automake options to AM_INIT_AUTOMAKE
30205           rather than specifying them in Makefile.am.  This way, the version
30206           requirements for autoconf and automake are stated close together.
30208 Mon Jun 06 19:49:36 BST 2005  Olly Betts <olly@survex.com>
30210         * HACKING: Minor updates to release checklist.
30212 Mon Jun 06 17:44:19 BST 2005  Olly Betts <olly@survex.com>
30214         * NEWS,configure.ac: Updated for 0.9.1.
30216 Mon Jun 06 17:28:34 BST 2005  Olly Betts <olly@survex.com>
30218         * configure.ac: Describe CC_FOR_BUILD in configure --help output.
30220 Mon Jun 06 16:00:26 BST 2005  Olly Betts <olly@survex.com>
30222         * PLATFORMS: Updated for 0.9.1.
30224 Fri Jun 03 03:49:33 BST 2005  Olly Betts <olly@survex.com>
30226         * backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Fixed
30227           compilation failure on mingw.
30229 Fri Jun 03 01:58:08 BST 2005  Olly Betts <olly@survex.com>
30231         * PLATFORMS: Updated from tinderbox.
30233 Fri Jun 03 00:46:00 BST 2005  Olly Betts <olly@survex.com>
30235         * HACKING,NEWS: Snapshot and release tarballs are now bootstrapped
30236           using libtool 1.5.18 and automake 1.9.5 (though neither is currently
30237           an enforced requirement for bootstrapping).
30239 Thu Jun 02 17:36:36 BST 2005  Olly Betts <olly@survex.com>
30241         * NEWS: First draft of release notes for 0.9.1.
30243 Thu Jun 02 02:05:47 BST 2005  Olly Betts <olly@survex.com>
30245         * backends/flint/flint_record.cc: Fix get_doccount() to not return
30246           one too low now that the special entry is no longer in the record
30247           table!
30249 Wed Jun 01 12:41:59 BST 2005  Olly Betts <olly@survex.com>
30251         * backends/flint/flint_positionlist.cc: Placate Sun's C++ compiler.
30253 Tue May 31 19:31:24 BST 2005  Olly Betts <olly@survex.com>
30255         * backends/flint/flint_positionlist.h,
30256           backends/flint/flint_positionlist.cc,
30257           backends/flint/flint_metafile.cc: positionlist entries are now
30258           stored using interpolative coding (which is significantly more
30259           compact).
30261 Mon May 30 01:48:17 BST 2005  Olly Betts <olly@survex.com>
30263         * backends/flint/flint_lock.cc,backends/flint/flint_lock.h:  Added
30264           locking code for MS Windows (untested).
30266 Sun May 29 01:00:41 BST 2005  Olly Betts <olly@survex.com>
30268         * HACKING,NEWS,testsuite/testsuite.h: Fixed spelling mistakes.
30270 Sat May 28 22:51:15 BST 2005  Olly Betts <olly@survex.com>
30272         * tests/: svn:ignore .flint/ subdirectory.
30273         * tests/Makefile.am: Remove .flint subdirectory on 'make clean'.
30275 Sat May 28 22:45:24 BST 2005  Olly Betts <olly@survex.com>
30277         * docs/quartzdesign.html: Remove warning that quartz is still in
30278           development.
30280 Sat May 28 16:24:43 BST 2005  Olly Betts <olly@survex.com>
30282         * backends/flint/flint_lock.h: Removed unused FlintLock method
30283           'operator int()' which was confusing Sun's C++ compiler.
30285 Sat May 28 16:18:11 BST 2005  Olly Betts <olly@survex.com>
30287         * include/xapian/query.h: Removed superfluous "Query::" which was
30288           causing the build to fail with aCC.
30290 Sat May 28 14:31:33 BST 2005  Olly Betts <olly@survex.com>
30292         * backends/flint/flint_metafile.cc: Added missing '#include <errno.h>'.
30294 Sat May 28 14:15:36 BST 2005  Olly Betts <olly@survex.com>
30296         * backends/flint/flint_positionlist.cc: Simplify code a bit.
30298 Sat May 28 02:01:12 BST 2005  Olly Betts <olly@survex.com>
30300         * backends/flint/: Move the special item holding the total document
30301           length and doc id high water mark from the record table to the
30302           postlist table.  This means that when appending documents, the
30303           insertion point will now always be at the end of the record table.
30304           We need to jump around the postlist table to merge anyway.
30306 Sat May 28 00:42:25 BST 2005  Olly Betts <olly@survex.com>
30308         * backends/flint/flint_metafile.cc: Change metafile magic to be
30309           different from quartz, and make the metafile version a datestamp
30310           which we'll change each time the format changes; check the return
30311           value of close on the metafile.
30313 Fri May 27 22:09:45 BST 2005  Olly Betts <olly@survex.com>
30315         * backends/Makefile.am,backends/flint/: Implement new fork+fcntl+exec
30316           based locking;  Fix new GCC warnings.
30318 Fri May 27 22:06:14 BST 2005  Olly Betts <olly@survex.com>
30320         * api/omquery.cc: Missed a warning fix.
30322 Fri May 27 22:04:18 BST 2005  Olly Betts <olly@survex.com>
30324         * backends/quartz/btree.cc,backends/quartz/btree.h,
30325           backends/quartz/quartz_postlist.cc,common/omtime.h,matcher/,
30326           net/socketserver.cc,net/socketcommon.cc,net/socketclient.cc,
30327           testsuite/btreecheck.h,testsuite/testsuite.cc: Fix GCC warnings
30328           from new flags.
30330 Fri May 27 20:06:52 BST 2005  Olly Betts <olly@survex.com>
30332         * queryparser/queryparser.lemony: Add missing '#include <config.h>'.
30334 Fri May 27 12:20:03 BST 2005  Olly Betts <olly@survex.com>
30336         * common/omdebug.h: Oops, change to static_cast reveals that we were
30337           discarding const (harmlessly).
30339 Fri May 27 12:16:03 BST 2005  Olly Betts <olly@survex.com>
30341         * common/omdebug.h: Replace C style cast with static_cast<>.
30343 Fri May 27 12:07:48 BST 2005  Olly Betts <olly@survex.com>
30345         * configure.ac: -Wendif should be -Wendif-labels.
30347 Wed May 25 20:41:39 BST 2005  Olly Betts <olly@survex.com>
30349         * configure.ac: Pass more -W flags to g++ (including -Wundef which
30350           caught the getopt problem fixed by the previous commit).
30352 Wed May 25 20:32:35 BST 2005  Olly Betts <olly@survex.com>
30354         * getopt/getopt.cc: Added accidentally pruned #define so that getopt
30355           code isn't compiled in when the system uses glibc.
30357 Wed May 25 18:36:41 BST 2005  Olly Betts <olly@survex.com>
30359         * configure.ac: Add -Wredundant-decls to the default CXXFLAGS for GCC.
30361 Wed May 25 03:33:34 BST 2005  Olly Betts <olly@survex.com>
30363         * tests/apitest.cc,tests/api_db.cc,tests/api_db.h,
30364           testsuite/backendmanager.cc,testsuite/backendmanager.h:
30365           apitest now runs tests on flint as well.
30367 Wed May 25 03:20:12 BST 2005  Olly Betts <olly@survex.com>
30369         * backends/database.cc: When automatically determining which backend
30370           to use when creating a WritableDatabase, don't try to open it as
30371           both Flint *AND* Quartz (an "else" was missing).
30373 Wed May 25 03:19:21 BST 2005  Olly Betts <olly@survex.com>
30375         * backends/flint/flint_btreebase.cc: Fix typo in code which prevented
30376           a flint database from being opened.
30378 Wed May 25 01:10:51 BST 2005  Olly Betts <olly@survex.com>
30380         * include/xapian/version.h.in,include/xapian/dbfactory.h,
30381           include/xapian/queryparser.h,backends/quartz/,backends/flint/:
30382           Flint backend hooked in fully, and everything now builds once
30383           more.
30385 Tue May 24 02:30:39 BST 2005  Olly Betts <olly@survex.com>
30387         * HACKING: Add "email Fabrice" to the release checklist so that RPM
30388           spec files don't lag behind.  The new svn-tag-release script
30389           actually builds the release tarballs rather than just copying
30390           snapshots like cvs-tag-release did, so document that.
30392 Tue May 24 01:21:18 BST 2005  Olly Betts <olly@survex.com>
30394         * include/xapian/queryparser.h: Added missing documentation comments.
30396 Mon May 23 02:36:06 BST 2005  Olly Betts <olly@survex.com>
30398         * configure.ac,backends/database.cc,backends/Makefile.am,
30399           backends/flint/: Cloned the quartz backend to form the basis of the
30400           new flint backend.  Currently it's the same except that the quartz
30401           log feature has been removed.  When creating a database without a
30402           specified backend, quartz is still used unless the environmental
30403           variable XAPIAN_PREFER_FLINT is set to a non-empty value.
30405 Sat May 21 20:58:48 BST 2005  Olly Betts <olly@survex.com>
30407         * xapian.spec.in: Remove bogus %setup line left over from when we
30408           packaged xapian-core and xapian-examples together from separate
30409           tarballs.
30411 Thu May 19 01:12:27 BST 2005  Olly Betts <olly@survex.com>
30413         * bin/quartzcheck.cc: Fixed corner case where you couldn't check a
30414           single Btree table which was just the DB and baseA/baseB files
30415           in a directory (Xapian doesn't produce anything like this, but
30416           btreetest does while unit testing the Btree code).
30418 Wed May 18 16:59:23 BST 2005  Olly Betts <olly@survex.com>
30420         * api/omquery.cc,include/xapian/query.h: Put Query::get_terms_end()
30421           inline in header.
30423 Wed May 18 16:41:56 BST 2005  Olly Betts <olly@survex.com>
30425         * api/omquery.cc,tests/api_nodb.cc: Fix SEGV on get_terms_begin()
30426           on an empty Query object.
30428 Mon May 16 22:58:09 BST 2005  Olly Betts <olly@survex.com>
30430         * api/omqueryinternal.cc: Fixed compilation with --enable-debug.
30432 Sat May 14 01:02:33 BST 2005  Olly Betts <olly@survex.com>
30434         * docs/doxygen_full_conf.in: Fix lingering DOXYGEN_HAVE_DOT reference.
30436 Sat May 14 00:36:14 BST 2005  Olly Betts <olly@survex.com>
30438         * HACKING: Update information about the SVN tag name to use for
30439           debian files.
30441 Fri May 13 23:21:54 BST 2005  Olly Betts <olly@survex.com>
30443         * HACKING: Updated release instructions to refer to SVN.
30445 Fri May 13 20:58:15 BST 2005  Olly Betts <olly@survex.com>
30447         * PLATFORMS: Updated for 0.9.0.
30449 Fri May 13 02:47:42 BST 2005  Olly Betts <olly@survex.com>
30451         * include/xapian/queryparser.h: Fix for Sun's C++ compiler.
30453 Fri May 13 00:09:07 BST 2005  Olly Betts <olly@survex.com>
30455         * NEWS,configure.ac: Updated for 0.9.0.
30457 Thu May 12 18:54:11 BST 2005  Olly Betts <olly@survex.com>
30459         * docs/doxygen_api_conf.in,docs/Makefile.am: Fix to generate docs
30460           for all backend factory functions like 0.8.5 did.
30462 Thu May 12 16:59:22 BST 2005  Olly Betts <olly@survex.com>
30464         * backends/database.cc,backends/Makefile.am,include/xapian/database.h,
30465           include/xapian/dbfactory.h,include/xapian.h,include/Makefile.am:
30466           Split off database factory methods into xapian/dbfactory.h - this
30467           allows us to fix recent breakage in VPATH builds (caused by the
30468           need to include the generated file xapian/version.h from
30469           xapian/database.h) without modifying almost every Makefile.am.
30471 Wed May 11 16:52:41 BST 2005  Olly Betts <olly@survex.com>
30473         * queryparser/queryparser.lemony: Move prefixed, bracketed
30474           subexpression to be an alternative for stop_term which allows
30475           "term prefix:(term2 term3)" to parse correctly. Also move
30476           non-prefixed, bracketed subexpression to be an alternative
30477           for stop_term - this doesn't change how things parse, but
30478           makes the grammar simpler.
30479         * tests/queryparsertest.cc: Added regression test for the above.
30480         * tests/Makefile.am,tests/queryparsertest.cc: Reworked queryparsertest
30481           to use the standard testsuite harness.
30483 Wed May 11 16:09:32 BST 2005  Olly Betts <olly@survex.com>
30485         * include/xapian/query.h: Fix OP_ELITE_SET at 10 (the value it had
30486           in 0.8.5).
30488 Tue May 10 22:56:45 BST 2005  Olly Betts <olly@survex.com>
30490         * docs/Makefile.am: Removed check for DOXYGEN_HAVE_DOT which I removed
30491           recently.
30493 Tue May 10 01:09:01 BST 2005  Olly Betts <olly@survex.com>
30495         * queryparser/queryparser.lemony: Removed state parameter from
30496           TermList::add_term() since it is no longer used.
30498 Mon May 09 20:56:40 BST 2005  Olly Betts <olly@survex.com>
30500         * docs/Makefile.am: Explicitly set the pool_size for latex, because we
30501           seem to overflow the default setting on many systems.
30502         * docs/Makefile.am: Use $(MAKE) instead of make.
30504 Sun May 08 23:22:37 BST 2005  Olly Betts <olly@survex.com>
30506         * configure.ac: Corrected $CC -> $CXX to fix bogus message "Checking
30507           for  option to enable ANSI C++ mode".
30508         * configure.ac: If any tools needed for documentation are missing
30509           and we're in maintainer mode, die with a suitable error in
30510           configure rather than with strange errors when building the
30511           documentation.
30513 Sun May 08 01:43:55 BST 2005  Olly Betts <olly@survex.com>
30515         * include/xapian/queryparser.h,queryparser/queryparser.lemony,
30516           queryparser/queryparser_internal.h,queryparser/queryparser.cc:
30517           Remove QueryParser::termlist_begin() and termlist_end() since
30518           you can just use Query::terms_begin() and terms_end() on the
30519           Query object returned by QueryParser::parse_query().
30521 Thu May 05 01:00:26 BST 2005  Olly Betts <olly@survex.com>
30523         * common/utils.cc: On WIN32, don't define NOMINMAX if it is already
30524           defined.
30526 Wed May 04 00:52:04 BST 2005  Olly Betts <olly@survex.com>
30528         * matcher/bm25weight.cc: Avoid needing document length if we're simply
30529           going to multiply it by zero!
30531 Tue May 03 14:07:20 BST 2005  Olly Betts <olly@survex.com>
30533         * HACKING: CVS -> SVN;  Note that tabs should be 8 spaces.
30535 Thu Apr 28 21:13:17 BST 2005  Olly Betts <olly@survex.com>
30537         * include/xapian/database.h: Don't declare the backend factory
30538           functions if the corresponding backend has been disabled.  This
30539           means that trying to use a disabled backend will be caught at
30540           compile time rather than link time.
30542 Thu Apr 28 21:12:43 BST 2005  Olly Betts <olly@survex.com>
30544         * docs/intro_ir.html: Corrected two errors.
30546 Wed Apr 27 23:04:53 BST 2005  Olly Betts <olly@survex.com>
30548         * configure.ac,include/xapian/version.h.in: Define
30549           XAPIAN_HAS_xxx_BACKEND for each backend which is enabled.  The
30550           bindings need this, and user code might find it useful too.
30552 Wed Apr 27 03:31:50 BST 2005  Olly Betts <olly@survex.com>
30554         * api/omdatabase.cc,api/ompostlistiterator.cc,
30555           api/omtermlistiterator.cc,include/xapian/,
30556           queryparser/queryparser.cc: Where end iterator is just
30557           FooIterator(NULL) put it inline in the header for efficiency.
30558           If we ever need to change an implementation, we can easily move
30559           methods back into the library and bump the library version suitably.
30561 Wed Apr 27 02:40:43 BST 2005  Olly Betts <olly@survex.com>
30563         * examples/quest.cc,include/xapian/queryparser.h,
30564           queryparser/queryparser.cc,tests/queryparsertest.cc: Rename
30565           QueryParser::set_stemming_options() to set_stemming_strategy()
30566           - it's a better name and avoids confusion with the old deprecated
30567           method called set_stemming_options().
30568         * examples/quest.cc: Added stopword handling.
30570 Wed Apr 27 02:39:33 BST 2005  Olly Betts <olly@survex.com>
30572         * include/xapian/enquire.h: Fixed documentation comment.
30574 Sun Apr 24 03:02:47 BST 2005  Olly Betts <olly@survex.com>
30576         * api/omstem.cc: Simplified Xapian::Stem::Internal.
30578 Sun Apr 24 02:21:22 BST 2005  Olly Betts <olly@survex.com>
30580         * tests/api_nodb.cc: Extended stemlang1 to check that trying to create
30581           a stemmer for a non-existent language throws InvalidArgumentError.
30583 Fri Apr 22 01:20:57 BST 2005  Olly Betts <olly@survex.com>
30585         * include/xapian/document.h: Clearer documentation comments.
30587 Thu Apr 21 15:03:42 BST 2005  Olly Betts <olly@survex.com>
30589         * docs/overview.html,include/xapian/query.h: Removed lingering
30590           references to OP_WEIGHT_CUTOFF.
30592 Thu Apr 21 01:46:51 BST 2005  Olly Betts <olly@survex.com>
30594         * PLATFORMS: Added success report for Ubuntu 5.04 on x86_64.
30596 Mon Apr 18 02:54:10 BST 2005  Olly Betts <olly@survex.com>
30598         * docs/stemming.html: Stemming appears to be applicable to Japanese
30599           so don't say it isn't!
30601 Sat Apr 16 01:08:22 BST 2005  Olly Betts <olly@survex.com>
30603         * PLATFORMS: Updated from tinderbox.
30605 Fri Apr 15 23:18:58 BST 2005  Olly Betts <olly@survex.com>
30607         * languages/: Remove lingering .c versions of snowball generated
30608           sources.
30610 Fri Apr 15 02:05:27 BST 2005  Olly Betts <olly@survex.com>
30612         * include/xapian/queryparser.h,queryparser/queryparser_internal.h,
30613           queryparser/queryparser.cc: Implemented QueryParser::set_database()
30614           method.
30615         * queryparser/queryparser.lemony: Allow searches for C#, etc.  If a
30616           database has been set, for this and + and - suffixes, check if the
30617           term actually exists, and if not, ignore the suffix if the
30618           unsuffixed term exists.
30619         * tests/queryparsertest.cc: Added tests for # suffix.
30621 Thu Apr 14 23:39:57 BST 2005  Olly Betts <olly@survex.com>
30623         * include/xapian/stem.h: Rewritten with better documentation comments.
30624         * include/xapian/stem.h: Added operator() as preferred alternative
30625           to stem_word().
30626         * api/omstem.cc,include/xapian/stem.h: Simplified by restructuring
30627           to eliminate a few internal methods.
30629 Thu Apr 14 23:35:47 BST 2005  Olly Betts <olly@survex.com>
30631         * queryparser/queryparser.cc: Make get_description() debug tracing
30632           message category INTRO not API.
30634 Thu Apr 14 19:57:06 BST 2005  Olly Betts <olly@survex.com>
30636         * include/xapian/queryparser.h,queryparser/queryparser.cc: Added
30637           QueryParser::get_description() method (not very descriptive yet!)
30639 Thu Apr 14 03:30:09 BST 2005  Olly Betts <olly@survex.com>
30641         * include/xapian/queryparser.h: Fixed to only include the xapian
30642           headers we actually depend on.
30643         * include/xapian/queryparser.h: Added \file and \brief documentation
30644           comments.
30646 Thu Apr 14 02:50:36 BST 2005  Olly Betts <olly@survex.com>
30648         * examples/quest.cc,include/xapian.h,tests/queryparsertest.cc:
30649           Change xapian.h to automatically include xapian/queryparser.h
30650           and fix direct includes of xapian/queryparser.h in tests and
30651           examples.
30653 Thu Apr 14 01:48:39 BST 2005  Olly Betts <olly@survex.com>
30655         * include/xapian/queryparser.h: Added Xapian::SimpleStopper which
30656           should be sufficient for the majority of uses.
30657         * include/xapian/queryparser.h,queryparser/queryparser_internal.h,
30658           queryparser/queryparser.cc: Changed QueryParser::set_stopper() to
30659           take a const pointer.
30661 Thu Apr 07 15:57:15 BST 2005  Olly Betts <olly@survex.com>
30663         * api/omenquire.cc,common/omenquireinternal.h,common/multimatch.h,
30664           matcher/multimatch.cc,net/socketserver.cc: Tidy up after sort_bands.
30666 Thu Apr 07 15:15:27 BST 2005  Olly Betts <olly@survex.com>
30668         * api/omenquire.cc,common/,include/xapian/enquire.h,
30669           matcher/networkmatch.cc,matcher/multimatch.cc,matcher/networkmatch.h,
30670           net/socketserver.cc,net/socketclient.cc,tests/api_db.cc:
30671           Enhanced Enquire sorting API and added ability to reverse sort on
30672           a value.
30673         * api/omenquire.cc: Enquire::get_description() now includes output of
30674           Enquire::Internal::get_description().
30676 Thu Apr 07 13:55:56 BST 2005  Olly Betts <olly@survex.com>
30678         * HACKING: Fixed a typo.
30680 Thu Apr 07 13:37:02 BST 2005  Olly Betts <olly@survex.com>
30682         * backends/quartz/btree.cc,backends/quartz/btree.h,
30683           bin/quartzcompact.cc: The "fuller compaction" code needs changes
30684           to btree.h which I'd failed to check in.  Also document --fuller
30685           in 'quartzcompact --help'.
30687 Thu Apr 07 03:35:36 BST 2005  Olly Betts <olly@survex.com>
30689         * bin/quartzcompact.cc: Added "fuller compaction" mode, which ignores
30690           the usual "at least 4 items per block" rule.
30692 Thu Apr 07 03:28:32 BST 2005  Olly Betts <olly@survex.com>
30694         * PLATFORMS: Added success result for GCC 3.2.3 on FreeBSD 4.8; fixed
30695           a typo.
30697 Wed Apr 06 23:04:15 BST 2005  Olly Betts <olly@survex.com>
30699         * queryparser/queryparser.lemony: Added FIXME comment.
30701 Wed Apr 06 22:52:53 BST 2005  Olly Betts <olly@survex.com>
30703         * ./: Removed ylwrap from svn:ignore.
30705 Tue Apr 05 22:34:16 BST 2005  Olly Betts <olly@survex.com>
30707         * queryparser/queryparsertest.cc,queryparser/Makefile.am,
30708           tests/Makefile.am: Moved queryparsertest into tests/.
30710 Tue Apr 05 22:15:05 BST 2005  Olly Betts <olly@survex.com>
30712         * examples/: Updated svn:ignore property.
30714 Tue Apr 05 21:34:13 BST 2005  Olly Betts <olly@survex.com>
30716         * queryparser/Makefile.am,configure.ac,extra/xapian/queryparser.h,
30717           extra/,include/Makefile.am,Makefile.am: Move extra/ to queryparser/;
30718           Merge extra/xapian/ into include/xapian/.
30720 Tue Apr 05 16:37:32 BST 2005  Olly Betts <olly@survex.com>
30722         * m4/xapian.m4: Fix m4 quoting (argh!)
30724 Tue Apr 05 16:28:06 BST 2005  Olly Betts <olly@survex.com>
30726         * m4/xapian.m4: Fix XO_LIB_XAPIAN to trim off any _svn6789 from
30727           XAPIAN_VERSION.
30729 Tue Apr 05 16:17:31 BST 2005  Olly Betts <olly@survex.com>
30731         * configure.ac: Fix m4 quoting.
30733 Tue Apr 05 15:16:38 BST 2005  Olly Betts <olly@survex.com>
30735         * configure.ac: #define VERSION in version.h shouldn't include any
30736           _svn6789 suffix.
30738 Tue Apr 05 13:28:23 BST 2005  Olly Betts <olly@survex.com>
30740         * configure.ac: Snapshot generator now appends _svn6789 or similar to
30741           the version string, so take that into account when finding REVISION.
30743 Tue Apr 05 12:55:52 BST 2005  Olly Betts <olly@survex.com>
30745         * ChangeLog.examples,Makefile.am,examples/ChangeLog: Move
30746           xapian-examples ChangeLog to ChangeLog.examples in the top-level
30747           and include in the tarball.
30749 Tue Apr 05 02:18:08 BST 2005  Olly Betts <olly@survex.com>
30751         * examples/dir_contents,examples/README: Converted xapian-examples
30752           README into a dir_contents file.
30754 Tue Apr 05 02:12:31 BST 2005  Olly Betts <olly@survex.com>
30756         * docs/overview.html,docs/install.html,configure.ac,Makefile.am,
30757           xapian.spec.in,examples/Makefile.am: Moved xapian-examples module
30758           to examples subdirectory of xapian-core.
30760 Tue Apr 05 00:37:05 BST 2005  Olly Betts <olly@survex.com>
30762         * m4/.cvsignore,debian/.cvsignore,matcher/.cvsignore,docs/.cvsignore,
30763           tests/.cvsignore,bin/.cvsignore,.cvsignore,autoconf/.cvsignore,
30764           extra/.cvsignore,include/xapian/.cvsignore,include/.cvsignore,
30765           net/.cvsignore,common/.cvsignore,testsuite/.cvsignore,
30766           getopt/.cvsignore,languages/.cvsignore,api/.cvsignore,
30767           backends/inmemory/.cvsignore,backends/muscat36/.cvsignore,
30768           backends/net/.cvsignore,backends/quartz/.cvsignore,
30769           backends/multi/.cvsignore,backends/.cvsignore: Remove .cvsignore
30770           files, as they're not used by SVN.
30772 Thu Mar 10 01:48:20 GMT 2005  Olly Betts <olly@survex.com>
30774         * testsuite/backendmanager.cc,testsuite/index_utils.cc,
30775           testsuite/index_utils.h: Rewrite of index_utils code, removing
30776           unused and unusual features.
30777         * tests/testdata/: Cleaned up data for apitest now that paragraphs
30778           don't have the odd minimum number of lines!
30779         * tests/testdata/apitest_space.txt: New index_utils code has C-like
30780           \ escapes for control characters rather than ^ escapes.
30782 Wed Mar 09 22:04:08 GMT 2005  Olly Betts <olly@survex.com>
30784         * common/utils.h: Added C_isxdigit and C_isnotxdigit.
30786 Wed Mar 09 15:22:35 GMT 2005  Olly Betts <olly@survex.com>
30788         * testsuite/index_utils.cc: Fixed ^x to actually decode hex values
30789           correctly.
30791 Tue Mar 08 16:57:25 GMT 2005  Olly Betts <olly@survex.com>
30793         * matcher/multimatch.cc: Minor code tidy.
30795 Tue Mar 08 15:48:38 GMT 2005  Olly Betts <olly@survex.com>
30797         * api/omenquire.cc,docs/matcherdesign.html,include/xapian/enquire.h,
30798           matcher/multimatch.cc,tests/api_db.cc: Removed sort_bands support.
30800 Tue Mar 08 04:13:03 GMT 2005  Olly Betts <olly@survex.com>
30802         * bin/quartzcompact.cc: Fixed to add items for all tables in key order
30803           which produces results around 40% more compact (previously in the
30804           merge case, this was only happening for the postlist table).
30806 Tue Mar 08 03:30:06 GMT 2005  Olly Betts <olly@survex.com>
30808         * testsuite/btreecheck.cc: Make default check output fit on a single
30809           line (at least for many databases).
30811 Tue Mar 08 02:34:41 GMT 2005  Olly Betts <olly@survex.com>
30813         * matcher/multimatch.cc: Fix warning from newer versions of GCC.
30815 Sat Mar 05 00:25:07 GMT 2005  Olly Betts <olly@survex.com>
30817         * api/omenquire.cc,common/omenquireinternal.h,include/xapian/enquire.h,
30818           matcher/multimatch.cc,tests/api_db.cc: Fixed Xapian::RSet to have
30819           the same "it's a handle" copy semantics as most of the other
30820           classes.
30822 Sat Mar 05 00:23:47 GMT 2005  Olly Betts <olly@survex.com>
30824         * testsuite/testsuite.h: Fixed TEST_EQUAL_DOUBLE to use DBL_EPSILON
30825           correctly.
30827 Fri Mar 04 21:06:38 GMT 2005  Olly Betts <olly@survex.com>
30829         * tests/testdata/etext.txt: Stripped carriage returns.
30831 Fri Mar 04 21:04:25 GMT 2005  Olly Betts <olly@survex.com>
30833         * PLATFORMS: Assorted updates.
30835 Thu Mar 03 01:17:07 GMT 2005  Olly Betts <olly@survex.com>
30837         * bin/quartzcompact.cc: Fixed to allow compacting a single database.
30838           Fixed handling of very last term when merging postlists.
30840 Wed Mar 02 03:18:30 GMT 2005  Olly Betts <olly@survex.com>
30842         * backends/quartz/quartz_values.cc: Values are stored in sorted order
30843           so we can stop unpacking the list once we get to one after the one
30844           we're looking for.
30846 Wed Mar 02 02:59:23 GMT 2005  Olly Betts <olly@survex.com>
30848         * bin/quartzcheck.cc: Now checks the structure of all the tables, not
30849           just the postlist table, and cross-checks doclen values between
30850           termlist and postlist tables.  Recognises "--help" option.  Should
30851           now continue after an error (typically it would crash before), and
30852           counts the number of errors found.  Now exits with non-zero status
30853           if any errors were found.
30855 Tue Mar 01 18:48:25 GMT 2005  Olly Betts <olly@survex.com>
30857         * xapian.spec.in: '/usr/share' -> '%{_datadir}'.
30859 Tue Mar 01 16:21:07 GMT 2005  Olly Betts <olly@survex.com>
30861         * tests/api_db.cc: Fixed warning from Sun's C++ compiler.
30863 Tue Mar 01 02:02:15 GMT 2005  Olly Betts <olly@survex.com>
30865         * bin/quartzcompact.cc: Extended to allow merging several quartz
30866           databases to produce a single compact quartz database.  This
30867           allows for faster building - simple index in chunks, then merge
30868           the chunks.
30870 Tue Mar 01 00:08:12 GMT 2005  Olly Betts <olly@survex.com>
30872         * xapian.spec.in: Put the .so in the -devel package (it's only useful
30873           for linking to - the .so.* files are all that's needed at runtime).
30875 Tue Mar 01 00:05:25 GMT 2005  Olly Betts <olly@survex.com>
30877         * Makefile.am,xapian-config.in,xapian.spec.in,extra/.cvsignore,
30878           extra/Makefile.am: Eliminated the extra library for the queryparser
30879           - it's tiny compared to the main library and having it around just
30880           complicates things.
30882 Mon Feb 28 23:52:19 GMT 2005  Olly Betts <olly@survex.com>
30884         * tests/api_anydb.cc: More set_length() changes.
30886 Mon Feb 28 20:31:13 GMT 2005  Olly Betts <olly@survex.com>
30888         * net/socketclient.cc,net/socketserver.cc,api/omenquire.cc,
30889           api/omquery.cc,api/omqueryinternal.cc,common/,
30890           include/xapian/enquire.h,include/xapian/query.h,matcher/:
30891           Remove Query::set_length() in favour of an optional length
30892           parameter to Enquire::set_query().
30894 Mon Feb 28 15:32:32 GMT 2005  Olly Betts <olly@survex.com>
30896         * api/omqueryinternal.cc,common/Makefile.am,common/deleter_vector.h:
30897           Removed deleter_vector as it's no longer used anywhere.
30899 Mon Feb 28 15:27:42 GMT 2005  Olly Betts <olly@survex.com>
30901         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
30902           matcher/localmatch.cc,tests/api_anydb.cc,tests/api_nodb.cc:
30903           Eliminated Query::set_elite_set_size().
30905 Mon Feb 28 15:15:45 GMT 2005  Olly Betts <olly@survex.com>
30907         * HACKING: Note how to disable use of VALGRIND on the make check
30908           command line, or when using runtest directly.
30910 Mon Feb 28 13:36:07 GMT 2005  Olly Betts <olly@survex.com>
30912         * common/omqueryinternal.h: Removed out-of-date commented out version
30913           of Xapian::Query::Internal.
30915 Mon Feb 28 13:07:42 GMT 2005  Olly Betts <olly@survex.com>
30917         * backends/quartz/quartz_alltermslist.cc,tests/api_db.cc: Updated (C)
30918           dates for changes earlier this year.
30920 Mon Feb 28 13:04:41 GMT 2005  Olly Betts <olly@survex.com>
30922         * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
30923           matcher/localmatch.cc,matcher/localmatch.h,tests/api_anydb.cc,
30924           tests/api_nodb.cc,tests/api_posdb.cc: Eliminated Query::set_window
30925           in favour of an optional parameter to the constructor, with the aim
30926           of making Query objects immutable once constructed.
30928 Mon Feb 28 12:32:26 GMT 2005  Olly Betts <olly@survex.com>
30930         * extra/queryparser.lemony: Updated 2 uses of Query::set_window().
30932 Mon Feb 28 04:43:20 GMT 2005  Olly Betts <olly@survex.com>
30934         * api/omquery.cc,api/omqueryinternal.cc,common/socketcommon.h,
30935           include/xapian/query.h,matcher/,tests/api_anydb.cc:
30936           Removed OP_WEIGHT_CUTOFF, since it doesn't actually seem to
30937           add useful functionality over using Enquire::set_cutoff().
30939 Mon Feb 28 04:31:58 GMT 2005  Olly Betts <olly@survex.com>
30941         * matcher/weightcutoffpostlist.cc: Fix updating of docid in
30942           WeightCutoffPostList - the current code works, but can end up doing
30943           lots (potentially millions) of pointless loop iterations.
30945 Mon Feb 28 02:57:29 GMT 2005  Olly Betts <olly@survex.com>
30947         * docs/queryparser.html: Note that + and - work on phrases and
30948           bracketed expressions.
30950 Fri Feb 25 17:06:23 GMT 2005  Olly Betts <olly@survex.com>
30952         * backends/quartz/quartz_alltermslist.cc: Fix skip_to on an allterms
30953           TermIterator to set the current term when the skip_to-ed term is
30954           in the database.
30955         * tests/api_db.cc: Add regression test for this (allterms5).
30957 Wed Feb 23 19:07:30 GMT 2005  Olly Betts <olly@survex.com>
30959         * configure.ac: Suppress 2 Intel C++ warnings which we can't easily
30960           code around, and enable -Werror automatically with
30961           --enable-maintainer-mode.
30962         * configure.ac: Check that the C++ compiler can actually link a
30963           program.  AC_LANG_CXX doesn't, and if it can't find a C++ compiler
30964           it'll just return "g++" which just leads to a later configure
30965           test failing in a confusing way.
30967 Tue Feb 22 13:39:07 GMT 2005  Olly Betts <olly@survex.com>
30969         * include/xapian/enquire.h: Improved documentation comments.
30970         * api/omenquire.cc,include/xapian/enquire.h: MSet::max_size() (which
30971           only exists so that MSet is an STL compiler) now returns
30972           MSet::size() and is inlined from the header.
30973         * include/xapian/enquire.h: Added ESet::max_size() (for STL
30974           compatibility).
30976 Tue Feb 22 00:18:33 GMT 2005  Olly Betts <olly@survex.com>
30978         * configure.ac: corrected "none known for yes" or "none known for no"
30979           to "none known for g++-3.2" or similar.
30980         * configure.ac: autoconf identifies Intel's C++ compiler as GCC, so
30981           probe for which it actually is.
30983 Mon Feb 21 21:54:29 GMT 2005  Olly Betts <olly@survex.com>
30985         * PLATFORMS: Updated.
30987 Mon Feb 21 16:06:32 GMT 2005  Olly Betts <olly@survex.com>
30989         * PLATFORMS: Added success report for Intel C++ 8.1 on ia64 Linux
30990           (and also GCC 3.2.3 on ia64 Linux).
30992 Mon Feb 21 05:33:46 GMT 2005  Olly Betts <olly@survex.com>
30994         * backends/multi/: Don't delare methods in headers if they're virtual
30995           or large.
30997 Mon Feb 21 04:11:23 GMT 2005  Olly Betts <olly@survex.com>
30999         * backends/inmemory/inmemory_database.cc,
31000           backends/inmemory/inmemory_database.h: Don't delare methods in
31001           headers if they're virtual or large.
31003 Sun Feb 20 21:13:40 GMT 2005  Olly Betts <olly@survex.com>
31005         * common/multimatch.h: Removed unused "class SocketServer;".
31007 Sun Feb 20 19:47:01 GMT 2005  Olly Betts <olly@survex.com>
31009         * net/socketserver.cc: Fixed typo in debug code.
31011 Sat Feb 19 18:44:17 GMT 2005  Olly Betts <olly@survex.com>
31013         * PLATFORMS: Added minimal testcase which fails to compile with
31014           Compaq's C++ compiler (cxx).
31016 Sat Feb 19 04:23:51 GMT 2005  Olly Betts <olly@survex.com>
31018         * backends/quartz/btree.cc,backends/quartz/btree.h: Change
31019           Btree::find_in_block to take a bool indicating if this is a leaf
31020           block rather than an offset to subtract when it is.
31022 Fri Feb 18 04:27:16 GMT 2005  Olly Betts <olly@survex.com>
31024         * HACKING: Added better description of how reference-counted API
31025           classes are structured.
31026         * include/xapian/postingiterator.h,include/xapian/termiterator.h:
31027           More (and better) documentation comments.
31029 Fri Feb 18 03:05:40 GMT 2005  Olly Betts <olly@survex.com>
31031         * backends/quartz/btree.cc: Made full compaction a tiny bit more
31032           compact.  Improved compaction by a few % in non-full case.
31033           Tighter bound on amount of memory to reserve to read the tag
31034           into.
31036 Fri Feb 18 00:47:41 GMT 2005  Olly Betts <olly@survex.com>
31038         * api/omenquire.cc: Removed duplicate "#include <xapian/enquire.h>".
31040 Thu Feb 17 01:33:01 GMT 2005  Olly Betts <olly@survex.com>
31042         * extra/queryparser_internal.h: Further Sun C++ fixes.
31044 Wed Feb 16 05:32:40 GMT 2005  Olly Betts <olly@survex.com>
31046         * extra/queryparser.lemony: Attempted fix for Sun's C++ compiler.
31048 Tue Feb 15 02:10:35 GMT 2005  Olly Betts <olly@survex.com>
31050         * extra/queryparser.cc,extra/queryparser.lemony,
31051           extra/queryparser_internal.h: Fixed namespace stuff to keep Sun's C++
31052           compiler happy.
31054 Mon Feb 14 21:21:08 GMT 2005  Olly Betts <olly@survex.com>
31056         * api/vectortermlist.h: Workaround a shortcoming in Sun's C++
31057           compiler.
31059 Mon Feb 14 21:16:05 GMT 2005  Olly Betts <olly@survex.com>
31061         * PLATFORMS: Results from upgraded sourceforge x86_64 box.
31063 Mon Feb 14 18:36:40 GMT 2005  Olly Betts <olly@survex.com>
31065         * extra/xapian/queryparser.h: Fixed compilation error.
31067 Mon Feb 14 18:00:12 GMT 2005  Olly Betts <olly@survex.com>
31069         * extra/xapian/queryparser.h: Added backward compatibility wrapper for
31070           old version of QueryParser::set_stemming_options().
31072 Mon Feb 14 17:50:47 GMT 2005  Olly Betts <olly@survex.com>
31074         * extra/xapian/queryparser.h: Added dummy QueryParser::set_database()
31075           (currently it ignores the parameter).
31077 Mon Feb 14 15:34:13 GMT 2005  Olly Betts <olly@survex.com>
31079         * extra/lemon.c: C90, not C99!
31081 Mon Feb 14 15:20:11 GMT 2005  Olly Betts <olly@survex.com>
31083         * extra/lemon.c: C, not C++.
31085 Mon Feb 14 05:49:50 GMT 2005  Olly Betts <olly@survex.com>
31087         * extra/: Tweak lemon so we can avoid generating files in builddir
31088           in a VPATH build.
31090 Mon Feb 14 02:44:17 GMT 2005  Olly Betts <olly@survex.com>
31092         * extra/Makefile.am: Update to reflect lempar.c -> queryparser.lt.
31094 Mon Feb 14 02:25:53 GMT 2005  Olly Betts <olly@survex.com>
31096         * extra/lempar.c,extra/queryparser.lt: Rename lemon template to .lt
31097           which is more sensible than calling it lempar.c and should work
31098           with VPATH builds.
31100 Mon Feb 14 02:12:51 GMT 2005  Olly Betts <olly@survex.com>
31102         * extra/Makefile.am: Fixes for VPATH builds.
31104 Mon Feb 14 01:43:59 GMT 2005  Olly Betts <olly@survex.com>
31106         * configure.ac: Need to AC_SUBST(CC_FOR_BUILD).
31108 Mon Feb 14 00:19:45 GMT 2005  Olly Betts <olly@survex.com>
31110         * extra/Makefile.am: Added dependency for building queryparser.h.
31112 Sun Feb 13 23:30:02 GMT 2005  Olly Betts <olly@survex.com>
31114         * extra/queryparser.cc,extra/queryparser_internal.h,
31115           extra/xapian/queryparser.h: Fixed to compile with GCC 3.3.
31117 Sun Feb 13 23:09:15 GMT 2005  Olly Betts <olly@survex.com>
31119         * configure.ac: Enhanced valgrind test to (a) see if --tool=memcheck
31120           is needed and (b) see if valgrind actually works (we don't want to
31121           try to use an x86 valgrind on an x86_64 box).
31123 Mon Jan 17 03:21:29 GMT 2005  Olly Betts <olly@survex.com>
31125         * api/vectortermlist.h,extra/,extra/xapian/queryparser.h: Rewritten
31126           QueryParser class.  Uses Lemon instead of Bison to generate the
31127           parser, which enables us to stop using static data, so this class
31128           is at last reentrant.  It now uses a PIMPL style with reference
31129           counted internals like most of the other Xapian classes.  And
31130           direct access to member variables has gone, which unfortunately
31131           forces an API change (bug #39).  The rewrite also supports more
31132           features than the original did.
31133         * HACKING,configure.ac: No longer need Bison.
31134         * configure.ac: Need CC_FOR_BUILD to compile Lemon with.
31136 Mon Jan 17 02:40:40 GMT 2005  Olly Betts <olly@survex.com>
31138         * PLATFORMS: IRIX + SGI C++ now compiles with just two warnings -
31139           unused variables in Snowball generated code.
31141 Sun Jan 16 03:19:56 GMT 2005  Olly Betts <olly@survex.com>
31143         * xapian.spec.in: Don't say "%makeinstall" in a comment since rpm
31144           tries to expand it and explodes.
31146 Sat Jan 15 03:30:33 GMT 2005  Olly Betts <olly@survex.com>
31148         * docs/Makefile.am: Clearer rules for making Postscript doxygen docs.
31150 Sat Jan 15 02:45:19 GMT 2005  Olly Betts <olly@survex.com>
31152         * HACKING: Note that '#include <limits>' isn't supported by GCC 2.95,
31153           and other assorted minor tweaks.
31155 Sat Jan 08 16:09:10 GMT 2005  Olly Betts <olly@survex.com>
31157         * api/maptermlist.h,backends/inmemory/inmemory_database.h,
31158           backends/quartz/quartz_postlist.h,common/,matcher/localmatch.h,
31159           matcher/mergepostlist.h,matcher/phrasepostlist.h,net/progclient.cc:
31160           Fixes for SGI C++ warnings.
31162 Fri Jan  7 13:02:49 GMT 2005  Richard Boulton <richard@tartarus.org>
31164         * common/positionlist.h: Correct out-of-date documentation comment.
31166 Tue Jan 04 03:05:26 GMT 2005  Olly Betts <olly@survex.com>
31168         * matcher/multimatch.cc: Removed unnecessary class declaration.
31170 Tue Jan 04 03:02:02 GMT 2005  Olly Betts <olly@survex.com>
31172         * configure.ac: Automatically enable ANSI C++ mode for SGI's compiler
31173           with '-LANG:std'; check that any automatically determined flags
31174           for ANSI C++ mode actually allow us to compile a trivial program
31175           - if they don't it probably means the compiler isn't the one we
31176           were expecting, but one installed with the same name, so we now
31177           drop the flags in this case.
31179 Thu Dec 30 00:50:58 GMT 2004  Olly Betts <olly@survex.com>
31181         * extra/queryparser.yy: QueryParser::parse_query() was failing to
31182           clear termlist and unstem.
31184 Fri Dec 24 00:07:28 GMT 2004  Olly Betts <olly@survex.com>
31186         * PLATFORMS: Updated from tinderbox.
31188 Thu Dec 23 21:13:46 GMT 2004  Olly Betts <olly@survex.com>
31190         * backends/quartz/btree.cc: Fixed GCC compilation warning.
31192 Thu Dec 23 17:22:15 GMT 2004  Olly Betts <olly@survex.com>
31194         * INSTALL,README: Updated.
31195         * README: Don't quote chunks of the GPL - just refer people to the
31196           full text in COPYING.
31198 Thu Dec 23 16:55:03 GMT 2004  Olly Betts <olly@survex.com>
31200         * NEWS,PLATFORMS,configure.ac: Updated for 0.8.5 release.
31202 Tue Dec 21 13:26:55 GMT 2004  Olly Betts <olly@survex.com>
31204         * docs/quickstart.html: Improved wording.
31206 Tue Dec 21 13:03:06 GMT 2004  Olly Betts <olly@survex.com>
31208         * HACKING: Updated to reflect extra jobs which cvs-tag-release now
31209           does.
31211 Mon Dec 20 16:25:21 GMT 2004  Olly Betts <olly@survex.com>
31213         * bin/Makefile.am: quartzcompact now uses getopt, so need to link
31214           it in our version to build on non-glibc platforms.
31216 Mon Dec 20 16:23:28 GMT 2004  Olly Betts <olly@survex.com>
31218         * backends/quartz/btree.cc: Added comment noting why we can't
31219           truncate separating keys at higher levels.
31221 Thu Dec 16 14:46:28 GMT 2004  Olly Betts <olly@survex.com>
31223         * HACKING: Fixed a typo, and improved wording.
31225 Mon Dec 13 02:52:52 GMT 2004  Olly Betts <olly@survex.com>
31227         * backends/multi/multi_postlist.cc: Updated (C) date.
31229 Mon Dec 13 02:50:44 GMT 2004  Olly Betts <olly@survex.com>
31231         * languages/: Added missing '#include <config.h>' to .cc files
31232           (probably harmless, but it should be included as the first thing any
31233           source file does).
31235 Mon Dec 13 02:21:28 GMT 2004  Olly Betts <olly@survex.com>
31237         * bin/quartzdump.cc: Mark the long options as const.
31239 Mon Dec 13 02:20:08 GMT 2004  Olly Betts <olly@survex.com>
31241         * bin/quartzcompact.cc: Tables sizes will always be a whole number of
31242           Kbytes, since the blocksize is, so report the size in K.  Also
31243           report the change in size as well as the before and after sizes.
31245 Mon Dec 13 02:11:59 GMT 2004  Olly Betts <olly@survex.com>
31247         * common/netutils.cc: Added missing '#include <config.h>' (probably
31248           harmless, but it should be included as the first thing any source
31249           file does).
31251 Mon Dec 13 01:39:53 GMT 2004  Olly Betts <olly@survex.com>
31253         * backends/quartz/btree.cc,backends/quartz/btree.h: Renamed
31254           Btree::compress() to Btree::compact() for consistency with
31255           "full_compaction" and "quartzcompact".  Also, "compress" is
31256           confusing since use "compact" and we use that term in the zlib
31257           patch.
31258         * backends/quartz/btree.cc: When full_compaction is enabled, don't
31259           fill the last few bytes of a block if that would mean we needed
31260           an extra item and the overhead for that item would use up more
31261           of the next block than we save.  This reduces the table size
31262           after full compaction by up to 0.2% in my tests!
31264 Mon Dec 13 01:39:02 GMT 2004  Olly Betts <olly@survex.com>
31266         * backends/multi/multi_postlist.cc: Fixed to build with AssertParanoid
31267           enabled.
31269 Mon Dec 13 00:41:28 GMT 2004  Olly Betts <olly@survex.com>
31271         * bin/quartzcompact.cc: Added missing '#include <config.h>' so that
31272           largefile support is enabled and we report compression statistics
31273           for tables > 2G.
31274         * bin/quartzcompact.cc: Added --no-full / -n option to disable full
31275           compaction.  This may be useful if you want to update the database
31276           after compacting it (need to test to see if this option is actually
31277           useful).
31279 Sun Dec 12 21:26:27 GMT 2004  Olly Betts <olly@survex.com>
31281         * xapian-config.in: Previous attempted fix to --libs output was wrong
31282           - made it actually work.
31284 Sun Dec 12 21:24:44 GMT 2004  Olly Betts <olly@survex.com>
31286         * xapian.spec.in: %makeinstall puts the wrong paths in the .la files
31287           so use "make DESTDIR=... install" instead.
31289 Wed Dec 08 15:59:44 GMT 2004  Olly Betts <olly@survex.com>
31291         * NEWS: Bumped the 0.8.4 release date.
31293 Wed Dec 08 15:32:46 GMT 2004  Olly Betts <olly@survex.com>
31295         * xapian-config.in: Make sure that --libs output doesn't include
31296           libxapian.la (from libxapianqueryparser.la's dependencies).
31298 Tue Dec 07 18:18:26 GMT 2004  Olly Betts <olly@survex.com>
31300         * backends/quartz/quartz_log.cc: Fixed to compile on mingw.
31302 Tue Dec 07 15:57:44 GMT 2004  Olly Betts <olly@survex.com>
31304         * NEWS: Updated.
31305         * api/omdatabase.cc,backends/database.cc,bin/omtcpsrv.cc,
31306           common/database.h,docs/,include/xapian/database.h,tests/api_db.cc:
31307           Added constructors to Database and WritableDatabase which fulfil the
31308           role that the Auto::open() factory functions currently do.
31309           Auto::open() is now deprecated.
31310         * api/,backends/inmemory/inmemory_database.cc,
31311           backends/quartz/quartz_database.cc,backends/quartz/quartz_postlist.h,
31312           common/expandweight.h,common/stats.h,include/xapian.h:
31313           #include <xapian.h> no longer pulls in xapian/output.h - this
31314           removes the external ability to write a Xapian object to an
31315           ostream directly, as it's little used and potentially dangerous
31316           ('cout << mset[i];' will compile, but you almost certainly meant
31317           'cout << *mset[i];').  You can get the old effect by writing
31318           'cout << obj->get_description();' instead of 'cout << obj;'.
31319           Adjusted all the library sources which relied on xapian/output.h
31320           pulling in various other xapian/ headers.
31321         * backends/muscat36/da_database.cc,backends/muscat36/db_database.cc:
31322           Debug output tweaks.
31323         * common/emptypostlist.h,matcher/mergepostlist.cc,matcher/multimatch.cc:
31324           Added EmptyPostList::get_maxweight() which always returns 0, so you
31325           no longer need to explicitly set a weighting scheme on an
31326           EmptyPostList.
31327         * common/omdebug.h: Only include omstringstream.h if
31328           XAPIAN_DEBUG_VERBOSE is in effect.
31329         * extra/Makefile.am: queryparsertest needs to link to libxapian.la
31330           explicitly.
31331         * net/progclient.cc: Whitespace tweak.
31332         * testsuite/: Eliminated barely used sources indexer.h,
31333           textfile_indexer.h, and textfile_indexer.cc.
31334         * testsuite/backendmanager.cc: Removed unused functions
31335           make_strvec() and index_file_to_database().
31337 Wed Dec 01 07:15:46 GMT 2004  Olly Betts <olly@survex.com>
31339         * PLATFORMS: SF CF x86_64 machine no longer needs --disable-shared.
31341 Tue Nov 30 21:53:33 GMT 2004  Olly Betts <olly@survex.com>
31343         * NEWS,PLATFORMS,configure.ac: Updated for 0.8.4 release.
31345 Tue Nov 30 03:07:43 GMT 2004  Olly Betts <olly@survex.com>
31347         * configure.ac,backends/database.cc,backends/quartz/bcursor.cc,
31348           backends/quartz/quartz_database.cc,
31349           backends/quartz/quartz_postlist.cc,common/omassert.h,
31350           common/omdebug.cc,common/omdebug.h,docs/doxygen_full_conf.in,
31351           matcher/localmatch.cc,matcher/multimatch.cc,matcher/stats.cc,
31352           tests/apitest.cc,tests/btreetest.cc,testsuite/backendmanager.cc,
31353           testsuite/backendmanager.h,testsuite/testsuite.cc: Rename all the
31354           MUS_xxx defines to XAPIAN_xxx.
31356 Tue Nov 30 02:36:33 GMT 2004  Olly Betts <olly@survex.com>
31358         * configure.ac,backends/quartz/btree.cc: Get configure to probe for
31359           the prototypes (if any) needed for pread and pwrite.
31361 Tue Nov 30 01:09:26 GMT 2004  Olly Betts <olly@survex.com>
31363         * backends/quartz/btree.cc: Instead of trying to coax pread/pwrite
31364           prototypes out of the system headers, let's try just providing our
31365           own!
31367 Mon Nov 29 19:51:13 GMT 2004  Olly Betts <olly@survex.com>
31369         * extra/Makefile.am: Moved -no-undefined to the right place, plus we
31370           also need to pass @ldflags@ and ../libxapian.la in
31371           libxapianqueryparser_la_LIBADD.
31373 Mon Nov 29 18:28:57 GMT 2004  Olly Betts <olly@survex.com>
31375         * AUTHORS: Updated.
31377 Mon Nov 29 18:27:12 GMT 2004  Olly Betts <olly@survex.com>
31379         * extra/Makefile.am: Added -no-undefined to
31380           libxapianqueryparser_la_LDFLAGS so it builds on mingw.
31382 Mon Nov 29 17:46:54 GMT 2004  Olly Betts <olly@survex.com>
31384         * tests/Makefile.am: Don't try to run "runtest" as a test - it just
31385           needs to be a dependency of the tests.
31387 Sat Nov 27 02:58:28 GMT 2004  Olly Betts <olly@survex.com>
31389         * backends/inmemory/dir_contents: Trimmed whitespace.
31391 Sat Nov 27 02:05:51 GMT 2004  Olly Betts <olly@survex.com>
31393         * NEWS: Updated ready for 0.8.4 release.
31395 Sat Nov 27 02:03:40 GMT 2004  Olly Betts <olly@survex.com>
31397         * tests/Makefile.am: Added a dependency so "make check" regenerates
31398           runtest if necessary.
31400 Sat Nov 27 02:02:58 GMT 2004  Olly Betts <olly@survex.com>
31402         * AUTHORS: Updated.
31404 Sat Nov 27 01:59:18 GMT 2004  Olly Betts <olly@survex.com>
31406         * README: Minor tweak.
31408 Sat Nov 27 01:58:53 GMT 2004  Olly Betts <olly@survex.com>
31410         * configure.ac: Improved a couple of comments.
31412 Sat Nov 27 01:42:32 GMT 2004  Olly Betts <olly@survex.com>
31414         * docs/: Trimmed trailing whitespace.
31416 Sat Nov 27 01:41:33 GMT 2004  Olly Betts <olly@survex.com>
31418         * docs/stemming.html: Reworded text from BrightStation times which
31419           talked about "the open source release".
31421 Fri Nov 26 17:32:55 GMT 2004  Olly Betts <olly@survex.com>
31423         * docs/indexerquickstart.html: Removed dead documentation.
31425 Fri Nov 26 17:11:19 GMT 2004  Olly Betts <olly@survex.com>
31427         * PLATFORMS: Updated with new cygwin report.
31429 Fri Nov 26 17:07:21 GMT 2004  Olly Betts <olly@survex.com>
31431         * tests/api_anydb.cc,tests/api_nodb.cc,docs/bm25.html,
31432           include/xapian/enquire.h,matcher/bm25weight.cc: Renamed BM25
31433           parameters to match standard naming in papers and elsewhere
31434           (A->k3, B->k1, C->k2, D->b), eliminated the extra factor of 2
31435           which our C had, and reordered the parameters to k1, k2, k3.
31436           This is an incompatible API change for BM25Weight(), so if
31437           you are using custom parameters for BM25 you'll need to
31438           update your code.
31440 Fri Nov 26 15:20:16 GMT 2004  Olly Betts <olly@survex.com>
31442         * tests/runtest.in: Allow VALGRIND environmental variable to override
31443           the value we got from configure.
31445 Fri Nov 26 03:50:36 GMT 2004  Olly Betts <olly@survex.com>
31447         * matcher/bm25weight.cc,matcher/tradweight.cc: termfreq is always
31448           exact for matching (we only approximate it for query expansion)
31449           so replace code to work around bad approximations with Assert() to
31450           make sure this never happens.
31452 Fri Nov 26 00:19:22 GMT 2004  Olly Betts <olly@survex.com>
31454         * matcher/expandweight.cc,matcher/tradweight.cc: If we estimate the
31455           term frequency, ensure it has a sane value (>= r and <= N - R + r)
31456           rather than bodging around the problem later on.
31458 Thu Nov 25 01:29:36 GMT 2004  Olly Betts <olly@survex.com>
31460         * backends/quartz/quartz_database.cc: Fixed recent cygwin change to
31461           actually compile.
31463 Thu Nov 25 01:06:03 GMT 2004  Olly Betts <olly@survex.com>
31465         * bin/quartzcompact.cc: Added --help and --version; Check that the
31466           source path and desitination path aren't the same; Report each table
31467           name when we start compacting it, and some simple stats on the
31468           compaction achieved when we finish.
31470 Tue Nov 23 16:19:09 GMT 2004  Olly Betts <olly@survex.com>
31472         * configure.ac: Fixed m4 quoting problem.
31474 Tue Nov 23 12:47:54 GMT 2004  Olly Betts <olly@survex.com>
31476         * configure.ac: Fix the test for GCC3 used to turn on -Werror with
31477           --enable-maintainer-mode.
31479 Mon Nov 22 03:08:10 GMT 2004  Olly Betts <olly@survex.com>
31481         * PLATFORMS: Assorted updates.
31483 Mon Nov 22 02:15:22 GMT 2004  Olly Betts <olly@survex.com>
31485         * tests/quartztest.cc: Test with DB_CREATE_OR_OPEN in writelock1.
31487 Mon Nov 22 01:37:13 GMT 2004  Olly Betts <olly@survex.com>
31489         * common/utils.cc: define NOMINMAX as a cleaner way to prevent
31490           windows.h from polluting the namespace and colliding with ANSI C++.
31492 Sat Nov 20 14:36:43 GMT 2004  Olly Betts <olly@survex.com>
31494         * tests/runtest.in: --logfile-fd was renamed to --log-fd in valgrind
31495           2.1.2 with no support for the old option name, so we must probe
31496           to decide which to use.
31498 Fri Nov 19 13:18:43 GMT 2004  Olly Betts <olly@survex.com>
31500         * backends/quartz/bcursor.cc,backends/quartz/bcursor.h: Eliminated
31501           Bcursor::get_tag() - it's an internal method only used from one
31502           other method, and it now just a trivial wrapper around
31503           Btree::read_tag().
31505 Fri Nov 19 04:20:39 GMT 2004  Olly Betts <olly@survex.com>
31507         * backends/quartz/bcursor.cc,backends/quartz/btree.cc,
31508           backends/quartz/btree.h: Factored out near identical code from
31509           Btree::find_tag() and Bcursor::get_tag() into Btree::read_tag().
31511 Thu Nov 18 03:27:52 GMT 2004  Olly Betts <olly@survex.com>
31513         * backends/quartz/btree.cc: Applied the Quartz "DANGEROUS" patch, but
31514           disabled for now.  This way it won't keep being broken by changes
31515           to the code.
31517 Tue Nov 16 04:29:25 GMT 2004  Olly Betts <olly@survex.com>
31519         * backends/quartz/btree.cc: Ah, it's __sun__/__sun/sun, not
31520           __solaris__ (at least for x86 Solaris 9).
31522 Tue Nov 16 02:56:44 GMT 2004  Olly Betts <olly@survex.com>
31524         * backends/quartz/btree.cc: Solaris defines __solaris__ not
31525           __SOLARIS__.
31527 Mon Nov 15 12:40:38 GMT 2004  Olly Betts <olly@survex.com>
31529         * tests/api_db.cc: Added new test userweight1 to test user defined
31530           matching schemes.
31532 Sun Nov 14 05:20:34 GMT 2004  Olly Betts <olly@survex.com>
31534         * backends/quartz/quartz_metafile.cc,
31535           backends/quartz/quartz_metafile.h: Removed unused
31536           QuartzMetaFile::erase() method.
31538 Sun Nov 14 04:55:05 GMT 2004  Olly Betts <olly@survex.com>
31540         * backends/quartz/quartz_database.cc: For cygwin, use the underlying
31541           MoveFile API call for locking, as link() doesn't work on FAT
31542           partitions.  And don't rely on HAVE_LINK to control whether we
31543           use link() otherwise - if the configure test somehow misfires, a
31544           compilation error is better than using rename() on Unix as that
31545           would cause a second writer to smash the lock of the first.
31547 Thu Nov 11 06:58:41 GMT 2004  Olly Betts <olly@survex.com>
31549         * backends/quartz/btree.cc: Removed superfluous statement.
31551 Tue Nov 09 23:50:10 GMT 2004  Olly Betts <olly@survex.com>
31553         * backends/quartz/btree.cc: Need to include sys/types.h to define
31554           ssize_t, size_t, and off_t before we prototype pread and pwrite
31555           for OSF.
31557 Tue Nov 09 22:39:00 GMT 2004  Olly Betts <olly@survex.com>
31559         * backends/quartz/btree.cc: Tweaked the pread/pwrite mess to try to
31560           get it to work on OSF and x86 Solaris while not breaking it
31561           elsewhere.
31563 Tue Nov 09 19:29:37 GMT 2004  Olly Betts <olly@survex.com>
31565         * backends/quartz/btree.cc,backends/quartz/btree.h: More refactoring.
31567 Tue Nov 09 17:13:10 GMT 2004  Olly Betts <olly@survex.com>
31569         * backends/quartz/: More refactoring.  Also rearranged the contents
31570           of the quartz and btree headers, eliminating btree_types.h in the
31571           process.
31573 Tue Nov 09 16:47:13 GMT 2004  Olly Betts <olly@survex.com>
31575         * backends/quartz/quartz_metafile.cc: Using fdcloser is less clear in
31576           trivial cases.
31578 Tue Nov 09 16:38:47 GMT 2004  Olly Betts <olly@survex.com>
31580         * backends/quartz/quartz_database.cc: Close the fd of the lock file
31581           before trying to rename it on Windows.
31583 Tue Nov 09 07:58:02 GMT 2004  Olly Betts <olly@survex.com>
31585         * backends/quartz/btree.cc,backends/quartz/btree.h,
31586           backends/quartz/btree_util.h: More refactoring.
31588 Tue Nov 09 03:24:59 GMT 2004  Olly Betts <olly@survex.com>
31590         * xapian-config.in: Added --swigflags option for use with SWIG.
31592 Mon Nov 08 22:54:55 GMT 2004  Olly Betts <olly@survex.com>
31594         * configure.ac,xapian-config.in: If flags are needed to select ANSI
31595           mode with the current compiler, then make xapian-config --cxxflags
31596           include them so that Xapian users don't have to jump through the
31597           same hoops we do.
31599 Mon Nov 08 04:49:21 GMT 2004  Olly Betts <olly@survex.com>
31601         * backends/inmemory/inmemory_database.cc,
31602           backends/inmemory/inmemory_database.h,backends/muscat36/,
31603           backends/net/net_database.cc,backends/quartz/quartz_database.cc,
31604           backends/quartz/quartz_database.h,common/database.h,
31605           common/net_database.h,matcher/localmatch.cc: If a database contains
31606           no positional information, change NEAR and PHRASE queries into AND
31607           queries (as otherwise they'd return no matches at all) (bug#56).
31608         * tests/api_wrdb.cc: Added feature test phraseorneartoand1.
31610 Mon Nov 08 04:09:04 GMT 2004  Olly Betts <olly@survex.com>
31612         * configure.ac,backends/quartz/btree.cc: Improved what we do to
31613           turn on pread and pwrite declarations in unistd.h so that it works
31614           on OSF and doesn't need the HAVE_GLIBC test, yet still works on
31615           OpenBSD.
31617 Mon Nov 08 03:55:51 GMT 2004  Olly Betts <olly@survex.com>
31619         * backends/quartz/,testsuite/btreecheck.cc: More refactoring.
31621 Sun Nov 07 20:42:32 GMT 2004  Olly Betts <olly@survex.com>
31623         * configure.ac: One more tweak.
31625 Sun Nov 07 18:18:19 GMT 2004  Olly Betts <olly@survex.com>
31627         * configure.ac,include/xapian/version.h.in: Another tweak to hopefully
31628           get version.h generation to work everywhere.
31630 Sun Nov 07 15:01:23 GMT 2004  Olly Betts <olly@survex.com>
31632         * configure.ac,include/xapian/version.h.in: Terminating lines with 'N'
31633           makes Sun's C++ unhappy.  Try ',' instead.
31635 Sun Nov 07 03:54:42 GMT 2004  Olly Betts <olly@survex.com>
31637         * tests/api_nodb.cc: Added test_weight1 which tests the built-in
31638           Xapian::Weight subclasses (bug#8).
31640 Sun Nov 07 03:36:19 GMT 2004  Olly Betts <olly@survex.com>
31642         * backends/quartz/btree.cc,backends/quartz/btree_util.h,
31643           testsuite/btreecheck.cc: More refactoring.
31645 Sun Nov 07 03:33:24 GMT 2004  Olly Betts <olly@survex.com>
31647         * matcher/bm25weight.cc,matcher/tradweight.cc: Fixed definitions to
31648           match declarations after recent change.
31650 Sun Nov 07 02:33:50 GMT 2004  Olly Betts <olly@survex.com>
31652         * configure.ac: Noted LIBRARY_VERSION_INFO which 0.8.4 will get.
31654 Sun Nov 07 02:28:38 GMT 2004  Olly Betts <olly@survex.com>
31656         * include/xapian/enquire.h: BoolWeight::unserialise() returns
31657           BoolWeight*, etc.  BoolWeight::clone() returns BoolWeight *.
31659 Sun Nov 07 02:24:17 GMT 2004  Olly Betts <olly@survex.com>
31661         * HACKING: Note that C++ style casts are preferable to C style casts;
31662           Improve wording in a few places.
31664 Sun Nov 07 01:05:58 GMT 2004  Olly Betts <olly@survex.com>
31666         * backends/quartz/btree.cc,backends/quartz/btree_util.h,
31667           testsuite/btreecheck.cc: Moved set_block_given_by()
31668           and block_given_by() into Item class.
31670 Sat Nov 06 21:16:15 GMT 2004  Olly Betts <olly@survex.com>
31672         * configure.ac,include/xapian/version.h.in: Fix generation of
31673           version.h to work with aCC -E which concatenates adjacent literal
31674           strings.
31676 Sat Nov 06 20:58:00 GMT 2004  Olly Betts <olly@survex.com>
31678         * backends/quartz/,testsuite/btreecheck.cc: Started to refactor the
31679           Btree manager by introducing Item and Key classes which take care
31680           of handling the on-disk format.
31682 Sat Nov 06 15:40:05 GMT 2004  Olly Betts <olly@survex.com>
31684         * xapian-config.in,m4/xapian.m4: Pass across ac_top_srcdir and use it
31685           if provided to say "configure.ac" or "configure.in" rather than
31686           "configure.in (or configure.ac)" in the "Add AC_PROG_LIBTOOL"
31687           error message.
31689 Sat Nov 06 14:49:05 GMT 2004  Olly Betts <olly@survex.com>
31691         * configure.ac: Updated comment - we now find SOURCEDOC in 2 goes (as
31692           there are no longer any C sources).
31694 Sat Nov 06 14:43:16 GMT 2004  Olly Betts <olly@survex.com>
31696         * configure.ac: Oops, STLPORT_CXXFLAGS *is* used (in xapian-config.in)
31697           so revert the change which removes it.
31699 Sat Nov 06 13:37:23 GMT 2004  Olly Betts <olly@survex.com>
31701         * include/xapian/enquire.h,matcher/bm25weight.cc,
31702           matcher/tradweight.cc: Move virtual methods of BM25Weight and
31703           TradWeight out of the header.
31705 Sat Nov 06 13:19:32 GMT 2004  Olly Betts <olly@survex.com>
31707         * configure.ac,include/xapian/version.h.in: Another rework of how
31708           include/xapian/version.h is generated - this time to make it work
31709           with Sun's C++ compiler again; XAPIAN_VERSION is now a string;
31710           Define XAPIAN_REVISION (which is 4 for version 0.8.4).
31712 Sat Nov 06 04:22:57 GMT 2004  Olly Betts <olly@survex.com>
31714         * configure.ac: Don't AC_SUBST(STLPORT_CXXFLAGS) as it is never used
31715           that way (it's included in AM_CXXFLAGS).
31717 Sat Nov 06 01:03:53 GMT 2004  Olly Betts <olly@survex.com>
31719         * testsuite/testsuite.h: Removed incorrect comment about how STRINGIZE
31720           is used.
31722 Fri Nov 05 14:41:59 GMT 2004  Olly Betts <olly@survex.com>
31724         * include/xapian/database.h: Removed a default parameter value from one
31725           variant of open_db so that there's only one candidate for
31726           open_db(string).
31728 Fri Nov 05 14:40:38 GMT 2004  Olly Betts <olly@survex.com>
31730         * backends/database.cc: Renamed parameter from keys to values to
31731           reflect current external naming.
31733 Fri Nov 05 14:38:07 GMT 2004  Olly Betts <olly@survex.com>
31735         * include/xapian/version.h.in,configure.ac: Fixed generation of
31736           include/xapian/version.h to work with aCC.
31738 Thu Nov 04 12:17:50 GMT 2004  Olly Betts <olly@survex.com>
31740         * configure.ac: Try "-std strict_ansi" for Compaq C++.
31742 Thu Nov 04 11:22:52 GMT 2004  Olly Betts <olly@survex.com>
31744         * configure.ac: Fourth argument to AC_CHECK_HEADERS must be non-empty
31745           to make a difference.
31747 Thu Nov 04 10:21:25 GMT 2004  Olly Betts <olly@survex.com>
31749         * configure.ac: Found clean fix for inttypes.h problem (previous bodge
31750           didn't work anyway).
31752 Thu Nov 04 01:18:55 GMT 2004  Olly Betts <olly@survex.com>
31754         * configure.ac: Eliminated use of \( \) in sed expression as it
31755           appears to cause problems on HP-UX.
31757 Thu Nov 04 00:54:11 GMT 2004  Olly Betts <olly@survex.com>
31759         * configure.ac: Added icky workaround to Compaq C++ oddness - cc can
31760           find inttypes.h but cxx can't.
31762 Wed Nov 03 23:58:48 GMT 2004  Olly Betts <olly@survex.com>
31764         * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
31765           net/socketserver.cc: Tweaked to compile with Compaq C++.
31767 Wed Nov 03 22:55:04 GMT 2004  Olly Betts <olly@survex.com>
31769         * configure.ac: Need to put flags to select ANSI C++ mode in CXXFLAGS
31770           not AM_CXXFLAGS.
31772 Wed Nov 03 22:27:08 GMT 2004  Olly Betts <olly@survex.com>
31774         * api/omenquire.cc: Fixed typo.
31776 Wed Nov 03 21:58:53 GMT 2004  Olly Betts <olly@survex.com>
31778         * api/omenquire.cc: Added explicit cast to try to help Compaq C++
31779           build.
31781 Wed Nov 03 21:38:29 GMT 2004  Olly Betts <olly@survex.com>
31783         * configure.ac: Probe for C++ compiler switches for ANSI mode as early
31784           as possible.  With Compaq's C++, we need -D__USE_STD_IOSTREAM to
31785           successfully #include <streambuf>.
31787 Wed Nov 03 21:07:43 GMT 2004  Olly Betts <olly@survex.com>
31789         * configure.ac: Fixed snprintf configure test.
31791 Wed Nov 03 19:37:32 GMT 2004  Olly Betts <olly@survex.com>
31793         * common/utils.cc: Fixed typo.
31795 Wed Nov 03 19:27:22 GMT 2004  Olly Betts <olly@survex.com>
31797         * configure.ac,common/utils.cc: Improved snprintf checking.
31799 Wed Nov 03 15:43:54 GMT 2004  Olly Betts <olly@survex.com>
31801         * getopt/getopt.cc: Fixed to compile when not using glibc.
31803 Wed Nov 03 14:55:29 GMT 2004  Olly Betts <olly@survex.com>
31805         * bin/omtcpsrv.cc,bin/quartzdump.cc,common/Makefile.am,common/getopt.h,
31806           common/gnu_getopt.h,getopt/,testsuite/testsuite.cc: Major overhaul
31807           of getopt use.  Move from getopt(), getopt_long(), getopt_long_only()
31808           to gnu_getopt(), etc so we don't need to dance around avoiding
31809           clashes with getopt() stuff in system headers.  The new gnu_getopt.h
31810           header is cruft free and hopefully won't trip up assorted compilers
31811           or platforms.
31813 Wed Nov 03 14:53:39 GMT 2004  Olly Betts <olly@survex.com>
31815         * tests/Makefile.am: quartztest doesn't use getopt directly, so no
31816           need to link it.
31818 Wed Nov 03 12:56:56 GMT 2004  Olly Betts <olly@survex.com>
31820         * tests/stemtest.cc: Prune unused #includes.
31822 Wed Nov 03 03:47:46 GMT 2004  Olly Betts <olly@survex.com>
31824         * getopt/getopt.cc: Defining _NO_PROTO is a really bad idea for C++
31825           code!
31827 Wed Nov 03 03:34:06 GMT 2004  Olly Betts <olly@survex.com>
31829         * configure.ac: Removed AC_HEADER_STDC - Compaq's C++ compiler can't
31830           find inttypes.h, but their C compiler can!
31832 Wed Nov 03 02:48:04 GMT 2004  Olly Betts <olly@survex.com>
31834         * net/tcpclient.cc,net/tcpserver.cc: Use SOCKLEN_T for the type we
31835           need to pass to various socket calls, since HPUX defines socklen_t
31836           yet wants int in those calls.
31838 Wed Nov 03 02:43:26 GMT 2004  Olly Betts <olly@survex.com>
31840         * autoconf/type_socklen_t.m4,matcher/networkmatch.cc,net/: If
31841           __WIN32__ is defined, we want winsock2.h instead of sys/socket.h.
31842           Mingw doesn't seem to even have the latter, so I think previously
31843           we've been compiling by picking one up from somewhere random!
31845 Wed Nov 03 01:10:01 GMT 2004  Olly Betts <olly@survex.com>
31847         * autoconf/type_socklen_t.m4: Rewritten to work with HPUX which
31848           helpfully defines socklen_t but doesn't use it!
31850 Tue Nov 02 21:29:40 GMT 2004  Olly Betts <olly@survex.com>
31852         * getopt/getopt.cc: Fixes for Compaq C++.
31854 Tue Nov 02 18:51:43 GMT 2004  Olly Betts <olly@survex.com>
31856         * getopt/getopt.cc: Protect getopt definition for possible getopt
31857           macro declared in getopt.h.
31859 Tue Nov 02 16:52:21 GMT 2004  Olly Betts <olly@survex.com>
31861         * configure.ac: AM_CONFIG_HEADER -> AC_CONFIG_HEADERS; removed
31862           commented out AC_LANG_SAVE and AC_LANG_RESTORE.
31864 Tue Nov 02 15:56:02 GMT 2004  Olly Betts <olly@survex.com>
31866         * configure.ac: # comments -> dnl comments.
31868 Tue Nov 02 15:54:46 GMT 2004  Olly Betts <olly@survex.com>
31870         * configure.ac: $GCC -> $GXX; $CC -> $CXX.
31872 Tue Nov 02 15:38:21 GMT 2004  Olly Betts <olly@survex.com>
31874         * configure.ac,docs/Makefile.am: Removed SOURCEDOC_C_SRC.
31876 Tue Nov 02 06:51:39 GMT 2004  Olly Betts <olly@survex.com>
31878         * getopt/getopt.cc,getopt/getopt1.cc: Fixed function declarations to
31879           not use K&R C syntax.
31881 Tue Nov 02 05:31:57 GMT 2004  Olly Betts <olly@survex.com>
31883         * getopt/getopt.cc: Make _getopt_internal extern "C" too.
31885 Tue Nov 02 04:43:08 GMT 2004  Olly Betts <olly@survex.com>
31887         * Makefile.am,configure.ac,HACKING,PLATFORMS,backends/muscat36/,
31888           getopt/Makefile.am,getopt/getopt.cc,getopt/getopt1.cc,languages/:
31889           Change the few C sources to be C++.  This way we don't need to
31890           worry about configure choosing a mismatching pair of compilers,
31891           or about whether configure tests with the C compiler don't apply
31892           to the C++ compiler, or vice versa.
31894 Tue Nov 02 04:31:49 GMT 2004  Olly Betts <olly@survex.com>
31896         * backends/muscat36/: More C casts converted to C++ casts.
31898 Tue Nov 02 04:28:07 GMT 2004  Olly Betts <olly@survex.com>
31900         * matcher/bm25weight.cc,matcher/tradweight.cc: More C casts converted
31901           to C++ casts.
31903 Tue Nov 02 03:22:52 GMT 2004  Olly Betts <olly@survex.com>
31905         * backends/muscat36/: Removed unused test harness sources.
31907 Tue Nov 02 02:44:34 GMT 2004  Olly Betts <olly@survex.com>
31909         * languages/pool.c,languages/pool.h: Removed unused sources.
31911 Tue Nov 02 01:51:30 GMT 2004  Olly Betts <olly@survex.com>
31913         * configure.ac: AC_TYPE_SIZE_T causes problems with Compaq C++ when it
31914           fails to spot size_t (which is there) and the "#define size_t
31915           unsigned long" it adds to config.h breaks "using std::size_t;".
31916           Also removed AC_C_CONST as I don't believe that's needed either
31917           in a largely C++ library.  Both of these have been in configure.in
31918           since the very first version so I suspect autoscan decided we wanted
31919           them.
31921 Mon Nov 01 05:44:02 GMT 2004  Olly Betts <olly@survex.com>
31923         * matcher/multimatch.cc: Fixed compilation problem on alpha Linux.
31925 Mon Nov 01 03:16:36 GMT 2004  Olly Betts <olly@survex.com>
31927         * api/omqueryinternal.cc,api/omstem.cc,
31928           backends/inmemory/inmemory_database.h,
31929           backends/multi/multi_termlist.h,backends/quartz/,
31930           extra/queryparser.yy,matcher/,net/tcpserver.cc,tests/api_anydb.cc,
31931           tests/api_db.cc,tests/quartztest.cc,testsuite/backendmanager.cc,
31932           testsuite/btreecheck.cc,testsuite/testsuite.cc: Changed C style
31933           casts to C++ style.  The syntax is ugly, but they do make the intent
31934           clearer which is a good thing.
31936 Mon Nov 01 02:56:31 GMT 2004  Olly Betts <olly@survex.com>
31938         * configure.ac: Select ANSI iostream implementation for Compaq C++.
31940 Mon Nov 01 02:41:58 GMT 2004  Olly Betts <olly@survex.com>
31942         * configure.ac: Compaq's C++ compiler doesn't know snprintf, yet their
31943           C compiler does.  Let's try running *all* the configure checks with
31944           the C++ compiler, since that's what we compile most code with.
31946 Mon Nov 01 01:12:43 GMT 2004  Olly Betts <olly@survex.com>
31948         * common/netutils.cc: Fixed to compile.
31950 Mon Nov 01 01:06:13 GMT 2004  Olly Betts <olly@survex.com>
31952         * common/Makefile.am,common/netutils.cc,common/netutils.h:
31953           encode_tname() and decode_tname() aren't really sensible candidates
31954           for inlining so move them out of a header.
31956 Sun Oct 31 15:34:18 GMT 2004  Olly Betts <olly@survex.com>
31958         * configure.ac: Turn on -AA when compiling with HP's aCC.
31960 Sun Oct 31 15:10:02 GMT 2004  Olly Betts <olly@survex.com>
31962         * testsuite/testutils.cc: Fixed mset_range_is_same() and
31963           mset_range_is_same_weights() which were only comparing the
31964           first items in the range.  Luckily the tests still all pass
31965           so this wasn't hiding any bugs.
31967 Sat Oct 30 19:15:48 BST 2004  Olly Betts <olly@survex.com>
31969         * configure.ac: Disable pread/pwrite on HP-UX as they don't work when
31970           LFS in enabled, and we definitely want LFS.
31972 Sat Oct 30 16:42:24 BST 2004  Olly Betts <olly@survex.com>
31974         * backends/quartz/bcursor.cc: Fix Bcursor::del() which didn't always
31975           leave the cursor on the next item like it should.
31976         * backends/quartz/quartz_postlist.cc: If we're removing a posting
31977           list entirely, often there will only be one chunk, so avoid
31978           creating a Bcursor in this case.
31980 Sat Oct 30 16:55:19 BST 2004  Olly Betts <olly@survex.com>
31982         * languages/header.h: Removed unused #define MAXINT and MININT which
31983           were clashing with some header on HP-UX.
31985 Sat Oct 30 07:09:33 BST 2004  Olly Betts <olly@survex.com>
31987         * docs/bm25.html,docs/intro_ir.html: Reworked to talk about Xapian
31988           rather than Muscat.  Also improved the appearance of the formulae.
31990 Sat Oct 30 06:07:14 BST 2004  Olly Betts <olly@survex.com>
31992         * backends/quartz/btree.cc: Btree::read_block - debug log the value
31993           of p, not the irrelevant contents of the block it points to.
31995 Fri Oct 29 22:37:31 BST 2004  Olly Betts <olly@survex.com>
31997         * backends/quartz/quartz_postlist.cc: Improved comments.
31999 Fri Oct 29 05:10:02 BST 2004  Olly Betts <olly@survex.com>
32001         * backends/quartz/btree.cc: Fixed ultra-obscure bug in the code which
32002           finds a key suitable to discriminating between two blocks in a
32003           B-tree branch (discovered by reading the code).  Comparing the keys
32004           didn't consider the length of the second, so it is possible the code
32005           would miscompare.  But in reality this is extremely unlikely to
32006           happen, and even then would probably just mean that the
32007           discriminating key wouldn't be as short as it could be.
32009 Fri Oct 29 04:12:09 BST 2004  Olly Betts <olly@survex.com>
32011         * backends/quartz/btree.cc: Simplified Btree::compare_keys() by
32012           removing the last case which was dead code as it was covered by
32013           an earlier case.
32015 Wed Oct 27 21:17:12 BST 2004  Olly Betts <olly@survex.com>
32017         * HACKING,tests/runtest.in:
32018           Enhanced runtest to allow it to run test programs under valgrind
32019           and other tools (gdb was already supported).
32020         * testsuite/testsuite.cc: Point the user to the runtest script if
32021           srcdir can't be guessed.  And no longer look for the test program
32022           in the tests subdirectory of the current directory.
32023         * common/omdebug.cc: Removed compatibility code for checking
32024           OM_DEBUG_FILE and OM_DEBUG_TYPES.
32025         * HACKING: Document that %% in XAPIAN_DEBUG_LOG is substituted with
32026           the process-id, and that setting XAPIAN_DEBUG_FLAGS to -1 enables
32027           all debug messages.
32028         * HACKING: Valgrind now supports x86 FreeBSD and PowerPC Linux.
32029         * HACKING: Removed mentions of long-dead configure options
32030           --enable-profiling, --enable-purify and --enable-insure.
32032 Wed Oct 27 21:16:10 BST 2004  Olly Betts <olly@survex.com>
32034         * include/xapian/enquire.h: Document parameters of
32035           Enquire::register_match_decider().
32037 Wed Oct 27 21:14:32 BST 2004  Olly Betts <olly@survex.com>
32039         * PLATFORMS: Updated.
32041 Wed Oct 13 20:21:38 BST 2004  Olly Betts <olly@survex.com>
32043         * backends/quartz/btree.cc,backends/quartz/btree.h: Revert the
32044           previous change as runtime sized arrays are a g++ extension.
32045           Calling new and delete on every call to add_item() is probably
32046           unwise.
32048 Tue Oct 12 23:40:36 BST 2004  Olly Betts <olly@survex.com>
32050         * backends/quartz/btree.cc,backends/quartz/btree.h: split_p is only
32051           used by Btree::add_item(), so make it a temporary in that method
32052           rather than a class member variable which we need to take care to
32053           allocate and deallocate.
32055 Mon Oct 11 16:32:10 BST 2004  Olly Betts <olly@survex.com>
32057         * tests/btreetest.cc: Fix memory leaks in test_cursor1.
32059 Mon Oct 11 02:24:50 BST 2004  Olly Betts <olly@survex.com>
32061         * docs/quartzdesign.html: Use 5 tables in the example for how we keep
32062           revisions in step, since we use 5 tables in quartz.
32064 Thu Oct 07 22:51:28 BST 2004  Olly Betts <olly@survex.com>
32066         * backends/quartz/btree.cc: An interrupted update could cause any
32067           further updates to fail with "New revision too low" because the
32068           new revision was being calculated incorrectly - fixed.
32070 Wed Oct 06 15:42:31 BST 2004  Olly Betts <olly@survex.com>
32072         * backends/quartz/btree.cc,include/xapian/database.h: Check that any
32073           user specified block size is a power of 2.  And if the block size
32074           passed is invalid, use the default of 8192 rather than throwing an
32075           exception.
32077 Wed Oct 06 12:19:39 BST 2004  Olly Betts <olly@survex.com>
32079         * PLATFORMS: Updated from tinderbox.
32081 Wed Oct 06 01:10:46 BST 2004  Olly Betts <olly@survex.com>
32083         * backends/quartz/btree.cc,backends/quartz/quartz_document.cc,
32084           matcher/multimatch.cc,common/multimatch.h: Fix some warnings
32085           from Sun's C++ compiler.
32087 Thu Sep 30 22:16:37 BST 2004  Olly Betts <olly@survex.com>
32089         * common/utils.cc,common/utils.h: Fixes for win32 and sun's c++
32090           compiler.
32092 Thu Sep 30 18:24:20 BST 2004  Olly Betts <olly@survex.com>
32094         * common/utils.h,extra/queryparser.yy: Fixed bug which caused
32095           misparsing of certain prefixed queries, introduced by C_isXXXXX
32096           change.
32098 Thu Sep 30 11:09:17 BST 2004  Olly Betts <olly@survex.com>
32100         * tests/api_anydb.cc: Modified version of changequery1 fails - the
32101           fix is tricky, so just make it SKIP for now.
32103 Wed Sep 29 21:33:29 BST 2004  Olly Betts <olly@survex.com>
32105         * extra/Makefile.am: Fixed to work when srcdir != builddir.
32107 Wed Sep 29 18:52:04 BST 2004  Olly Betts <olly@survex.com>
32109         * PLATFORMS,docs/Makefile.am: Workaround odd latex problem.
32111 Wed Sep 29 17:10:00 BST 2004  Olly Betts <olly@survex.com>
32113         * configure.ac,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in:
32114           Updated doxygen conf files for doxygen 1.3.8.
32116 Wed Sep 29 16:52:53 BST 2004  Olly Betts <olly@survex.com>
32118         * common/utils.cc,common/utils.h,extra/Makefile.am,
32119           extra/queryparser.yy,tests/api_anydb.cc,testsuite/index_utils.cc:
32120           Provide our own C_isalpha(), etc replacements for isalpha(), etc
32121           which always work in the C locale and avoid signed char problems.
32123 Tue Sep 28 00:04:11 BST 2004  Olly Betts <olly@survex.com>
32125         * common/utils.cc,common/utils.h: rmdir() isn't a sensible candidate
32126           for inlining so move it out of the header.
32128 Mon Sep 27 17:33:23 BST 2004  Olly Betts <olly@survex.com>
32130         * extra/queryparser.yy: Be smarter about when to add a ':' when adding
32131           a term prefix.
32133 Mon Sep 27 16:01:37 BST 2004  Olly Betts <olly@survex.com>
32135         * docs/scalability.html: Added note warning about benchmarking from
32136           cold.
32138 Mon Sep 27 15:20:13 BST 2004  Olly Betts <olly@survex.com>
32140         * HACKING: Note that we use doxygen 1.3.8 for snapshots and releases;
32141           Note that --enable-maintainer-mode now automatically enables -Werror
32142           with GCC 3.0 or newer.
32144 Wed Sep 22 16:49:20 BST 2004  Olly Betts <olly@survex.com>
32146         * matcher/: Pruned unneeded #include-s and other tidying, some
32147           enabled by the previous change.
32149 Wed Sep 22 14:04:27 BST 2004  Olly Betts <olly@survex.com>
32151         * common/positionlist.h,matcher/: Moved all of the implementations
32152           of the XXXPostList classes from the .h files into the .cc files.
32153           All the methods are virtual, so we aren't going to gain anything
32154           from being able to inline them.
32156 Wed Sep 22 02:58:59 BST 2004  Olly Betts <olly@survex.com>
32158         * configure.ac: Automatically add -Werror to CFLAGS and CXXFLAGS if
32159           maintainer mode is enabled and we're using GCC3 or newer.  Don't
32160           do this for older GCCs as GCC 2.95 issues spurious warnings.
32162 Wed Sep 22 02:41:41 BST 2004  Olly Betts <olly@survex.com>
32164         * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h:
32165           Introduced CASSERT_TYPE_UNSIGNED to replace the common use of
32166           CASSERT to assert at compile time that a type is unsigned.
32168 Tue Sep 21 15:58:05 BST 2004  Olly Betts <olly@survex.com>
32170         * PLATFORMS: Removed reports from versions prior to 0.7.0.  So much
32171           has changed that these are of little value.
32173 Mon Sep 20 15:24:27 BST 2004  Olly Betts <olly@survex.com>
32175         * NEWS,PLATFORMS,configure.ac: Version 0.8.3.
32177 Mon Sep 20 15:13:34 BST 2004  Olly Betts <olly@survex.com>
32179         * AUTHORS: Updated.
32181 Mon Sep 20 14:26:35 BST 2004  Olly Betts <olly@survex.com>
32183         * xapian.spec.in: Removed reference to xapian-examples' createdatabase
32184           (which is no longer in xapian-examples).
32186 Mon Sep 20 13:06:59 BST 2004  Olly Betts <olly@survex.com>
32188         * xapian.spec.in: Updated version from Fabrice Colin (incorporating
32189           changes from Alan Cox's RPM spec files): split off libs into a
32190           separate package to allow 32 and 64 bit versions to be installed
32191           concurrently; include binaries from xapian-examples; updated source
32192           URLs.
32194 Mon Sep 20 03:25:44 BST 2004  Olly Betts <olly@survex.com>
32196         * tests/api_anydb.cc: Added regression test for previous bug (test
32197           checkatleast1).
32199 Mon Sep 20 03:16:14 BST 2004  Olly Betts <olly@survex.com>
32201         * matcher/multimatch.cc: Fixed segfault with check_at_least when there
32202           were no matches.
32204 Sun Sep 19 17:54:52 BST 2004  Olly Betts <olly@survex.com>
32206         * api/omenquire.cc,common/omdebug.cc: Fixed to compile with debug
32207           tracing enabled.
32209 Sat Sep 18 19:02:54 BST 2004  Olly Betts <olly@survex.com>
32211         * tests/api_db.cc: Updated missed use of omprogsrv to xapian-progsrv.
32213 Tue Sep 14 18:09:19 BST 2004  Olly Betts <olly@survex.com>
32215         * xapian.spec.in,bin/.cvsignore,bin/Makefile.am,debian/control.in,
32216           debian/xapian-tools.install,docs/remote.html,tests/remotetest.cc,
32217           testsuite/backendmanager.cc: Rename omtcpsrv to xapian-tcpsrv and
32218           omprogsrv to xapian-progsrv.
32220 Tue Sep 14 16:25:06 BST 2004  Olly Betts <olly@survex.com>
32222         * xapian.spec.in: Fixed mangled URL in last checkin.
32224 Tue Sep 14 15:35:00 BST 2004  Olly Betts <olly@survex.com>
32226         * xapian.spec.in: Updated URL for tarball.
32228 Tue Sep 14 02:49:34 BST 2004  Olly Betts <olly@survex.com>
32230         * HACKING: Updated the "how to do a release" tasklist.
32232 Mon Sep 13 03:19:47 BST 2004  Olly Betts <olly@survex.com>
32234         * NEWS,PLATFORMS,configure.ac: Version 0.8.2.
32236 Sat Sep 11 16:39:08 BST 2004  Olly Betts <olly@survex.com>
32238         * include/xapian/version.h.in: GCC 3.1 reported the wrong value for
32239           __GXX_ABI_VERSION (100 not 101) so check 3.0 and 3.1 by version
32240           number, keeping the __GXX_ABI_VERSION check for newer versions.
32242 Sat Sep 11 02:57:48 BST 2004  Olly Betts <olly@survex.com>
32244         * backends/quartz/bcursor.cc: Fixed and reenabled Bcursor::prev()
32245           (not currently used, but it will be useful for running posting
32246           lists backwards!)
32248 Fri Sep 10 13:13:51 BST 2004  Olly Betts <olly@survex.com>
32250         * tests/Makefile.am: Need to ship test data for new test.
32252 Thu Sep 09 21:58:37 BST 2004  Olly Betts <olly@survex.com>
32254         * tests/api_db.cc: Extended feature test sortrel1 to check interaction
32255           with Enquire::set_sort_forward(false).
32257 Thu Sep 09 21:46:12 BST 2004  Olly Betts <olly@survex.com>
32259         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
32260           include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc,
32261           tests/api_db.cc,tests/testdata/apitest_sortrel.txt: You can now
32262           specify to sort by value, then relevance, then docid instead of
32263           by value then docid.
32265 Thu Sep 09 19:30:07 BST 2004  Olly Betts <olly@survex.com>
32267         * docs/todo.xml: Removed unused file - todo entries are now in
32268           bugzilla.
32270 Thu Sep 09 13:11:52 BST 2004  Olly Betts <olly@survex.com>
32272         * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
32273           include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc:
32274           Added optional "checkatleast" parameter to Enquire::get_mset()
32275           which allows Omega's MIN_HITS functionality to be implemented
32276           in the matcher (a bit more efficient).
32278 Thu Sep 09 04:18:32 BST 2004  Olly Betts <olly@survex.com>
32280         * NEWS: Updated.
32282 Thu Sep 09 03:39:52 BST 2004  Olly Betts <olly@survex.com>
32284         * PLATFORMS: Updated from the tinderbox.  Sun's C++ compiler can
32285           now build Xapian on sparc!
32287 Thu Sep 09 02:19:43 BST 2004  Olly Betts <olly@survex.com>
32289         * tests/api_wrdb.cc: Added feature test for
32290           WritableDatabase::replace_document() and delete_document() with
32291           a unique term (apitest:uniqueterm1.
32292         * backends/inmemory/inmemory_alltermslist.cc,
32293           backends/inmemory/inmemory_database.cc,
32294           backends/inmemory/inmemory_database.h:
32295           Fixed bugs thrown up by the new test.
32297 Wed Sep 08 19:45:37 BST 2004  Olly Betts <olly@survex.com>
32299         * HACKING: Updated details of Solaris open workaround.
32301 Wed Sep 08 19:42:15 BST 2004  Olly Betts <olly@survex.com>
32303         * common/utils.h,backends/quartz/btree.cc,
32304           backends/quartz/quartz_database.cc,backends/quartz/quartz_log.cc:
32305           New version of the Solaris open dance - now we always pass in
32306           const char * for the filename, and we don't need the dance on
32307           new versions, so only dance if open is defined.
32309 Wed Sep 08 16:26:15 BST 2004  Olly Betts <olly@survex.com>
32311         * api/omquery.cc,include/xapian/query.h: Renamed Query::is_empty()
32312           to Query::empty() for consistency.  Keep Query::is_empty() for
32313           now as a deprecated alias.
32315 Wed Sep 08 16:24:44 BST 2004  Olly Betts <olly@survex.com>
32317         * tests/api_wrdb.cc: replace_doc -> replace_doc1; added new test
32318           replace_doc2 to test using replace_doc to add a document with
32319           a specified docid.
32321 Wed Sep 08 16:23:50 BST 2004  Olly Betts <olly@survex.com>
32323         * backends/inmemory/inmemory_database.h: Removed unused member
32324           variable "indexing".
32326 Wed Sep 08 16:14:47 BST 2004  Olly Betts <olly@survex.com>
32328         * backends/quartz/quartz_database.cc: If replace_document() is used
32329           to add a document with did greater than lastdocid, raise lastdocid
32330           so future calls to add_document() won't clash.
32332 Wed Sep 08 16:13:51 BST 2004  Olly Betts <olly@survex.com>
32334         * backends/inmemory/inmemory_database.cc: Fixed bug
32335           Database::replace_document() to work with a document id greater
32336           than lastdocid.
32338 Wed Sep 08 05:10:01 BST 2004  Olly Betts <olly@survex.com>
32340         * common/utils.h: The latest fcntl.h dance causes a compile error on
32341           mingw, so don't use it there.
32343 Wed Sep 08 03:38:20 BST 2004  Olly Betts <olly@survex.com>
32345         * common/utils.h: Use a namespace as an extra step in the Sun fcntl
32346           open64 dance.
32348 Tue Sep 07 02:33:50 BST 2004  Olly Betts <olly@survex.com>
32350         * tests/test.da: Another cruft file removed.
32352 Tue Sep 07 02:21:49 BST 2004  Olly Betts <olly@survex.com>
32354         * tests/btreetest.cc,tests/quartztest.cc: Moved overwrite1 from
32355           quartztest to btreetest.  Added const in a few places.
32357 Tue Sep 07 02:07:43 BST 2004  Olly Betts <olly@survex.com>
32359         * tests/quartztest.cc: Removed overwrite2 test.  Digging back in CVS
32360           it's been disabled since the day after it added.  After all this
32361           time it's hard to guess exactly what it was intended to test, so
32362           just removing it seems simplest.  We already have overwrite1 to test
32363           getting DatabaseModifiedError.
32365 Tue Sep 07 01:52:25 BST 2004  Olly Betts <olly@survex.com>
32367         * tests/btreetest.cc: Cleaned up paths to temporary Btrees.
32369 Mon Sep 06 17:51:27 BST 2004  Olly Betts <olly@survex.com>
32371         * tests/btreetest.cc,tests/quartztest.cc: Now that QuartzTable,
32372           QuartzDiskTable, QuartzBufferedTable, QuartzCursor,
32373           QuartzDiskCursor, and QuartzBufferedCursor are gone, move
32374           quartztest tests which now just use Btree and Bcursor to btreetest.
32375           This is more logical and should help make quartztest less of a
32376           monster to compile.
32378 Mon Sep 06 12:47:47 BST 2004  Olly Betts <olly@survex.com>
32380         * tests/Makefile.am: Ship testdata/apitest_allterms4.txt.
32382 Mon Sep 06 02:46:32 BST 2004  Olly Betts <olly@survex.com>
32384         * tests/quartztest.cc: Xapian::Database will create the directory for
32385           the database so there's no need to create it ourselves.
32387 Mon Sep 06 02:40:57 BST 2004  Olly Betts <olly@survex.com>
32389         * tests/,tests/testdata/apitest_allterms4.txt: Split off tests which
32390           require a writable database backend and tests which should work with
32391           any database backend from api_db.cc as it was getting rather large.
32392           Fixed simplequery2 to work with backends which don't return the
32393           document length (such as the muscat36 backends).  Fixed allterms4
32394           to work with muscat36 backends.
32396 Mon Sep 06 02:39:29 BST 2004  Olly Betts <olly@survex.com>
32398         * backends/muscat36/da_database.cc,backends/muscat36/db_database.cc:
32399           Fixed to compile now that internal_end_session() has gone.
32401 Mon Sep 06 00:59:36 BST 2004  Olly Betts <olly@survex.com>
32403         * tests/runtest.in: Added support for running gdb on a test program,
32404           automatically sorting out srcdir and libtool.
32406 Mon Sep 06 00:49:11 BST 2004  Olly Betts <olly@survex.com>
32408         * tests/apitest_parser.pm: Removed long unused file.
32410 Sun Sep 05 22:53:27 BST 2004  Olly Betts <olly@survex.com>
32412         * include/xapian/enquire.h: Tweaked documentation comment to stop
32413           doxygen parsing a hyphen as a single entry bullet point list.
32415 Sun Sep 05 20:20:01 BST 2004  Olly Betts <olly@survex.com>
32417         * testsuite/backendmanager.h: Added missing "std::" so code will
32418           compile with GCC >= 3.
32420 Sun Sep 05 13:54:58 BST 2004  Olly Betts <olly@survex.com>
32422         * testsuite/backendmanager.h: Removed superfluous "BackendManager::".
32424 Sun Sep 05 01:54:49 BST 2004  Olly Betts <olly@survex.com>
32426         * common/utils.cc,common/utils.h: Removed now unused files_exist()
32427           function.
32429 Sun Sep 05 01:50:35 BST 2004  Olly Betts <olly@survex.com>
32431         * tests/api_db.cc,tests/apitest.cc,tests/apitest.h,
32432           testsuite/backendmanager.cc,testsuite/backendmanager.h:
32433           Cleaned up BackendManager by removing complications only required
32434           by absentfile1 test, which can be implemented more directly anyway.
32436 Sun Sep 05 01:33:16 BST 2004  Olly Betts <olly@survex.com>
32438         * tests/quartztest.cc: Cleaned up rather odd code which is a hangover
32439           from when keys and tags weren't simply C++ strings.
32441 Sat Sep 04 12:35:12 BST 2004  Olly Betts <olly@survex.com>
32443         * HACKING: Updated details of which autotools we require.
32445 Fri Sep 03 17:51:59 BST 2004  Olly Betts <olly@survex.com>
32447         * configure.ac: Require autoconf 2.59.  Noted LIBRARY_VERSION_INFO
32448           which 0.8.2 will probably have.
32449         * Makefile.am: Require automake 1.8.5.
32451 Fri Sep 03 16:40:11 BST 2004  Olly Betts <olly@survex.com>
32453         * PLATFORMS: Updated with results from tinderbox.
32455 Fri Sep 03 14:34:00 BST 2004  Olly Betts <olly@survex.com>
32457         * autoconf/definedir.m4,autoconf/rjb_find_stlport.m4: Quote macro
32458           names to fix warning from newer aclocal.  Removed comments about
32459           future autodetection of stlport, as the user will always need to
32460           decide between the STL supplied with the compiler and stlport.
32462 Thu Sep 02 17:55:33 BST 2004  Olly Betts <olly@survex.com>
32464         * matcher/andpostlist.cc: Initialise lmax and rmax to 0.  Hopefully
32465           this will fix SIGFPE on apitest's qterminfo2 on alpha linux.
32467 Thu Sep 02 14:50:20 BST 2004  Olly Betts <olly@survex.com>
32469         * backends/quartz/quartz_database.cc: Not storing the document length
32470           and last docid on every add means that the magic key won't always
32471           exists when there are records and
32472           QuartzWritableDatabase::get_doccount() is sometimes off by one.  Fix
32473           crudely for now by making sure that the magic key does always exist.
32474           Longer term the magic key probably should be in the postlist table
32475           but that's an incompatible change.
32477 Wed Sep 01 16:15:23 BST 2004  Olly Betts <olly@survex.com>
32479         * backends/quartz/: Change QuartzWritableDatabase to store the total
32480           document length and the last docid itself rather than tallying added
32481           and removed document length and writing the last docid back every
32482           time a document is added.  This gives cleaner code and a small
32483           performance win.  Removed XAPIAN_FLUSH_THRESHOLD_LENGTH as we no
32484           longer tally the length changes, and made the default flush
32485           threshold 10000 documents (was 1000).
32487 Wed Sep 01 14:21:19 BST 2004  Olly Betts <olly@survex.com>
32489         * backends/quartz/btree.cc: Turn on previously commented-out code to
32490           make the first key null for blocks more than 1 away from the leaves.
32491           It saves disk space for a tiny CPU and RAM cost so is bound to be
32492           a win overall.
32494 Tue Aug 31 13:55:58 BST 2004  Olly Betts <olly@survex.com>
32496         * backends/quartz/btree.cc,backends/quartz/btree.h,
32497           backends/quartz/btree_util.h: Merged Btree::make_index_item() into
32498           Btree::enter_key().
32500 Tue Aug 31 01:07:19 BST 2004  Olly Betts <olly@survex.com>
32502         * NEWS: Updated in preparation for a release.
32504 Tue Aug 31 00:53:35 BST 2004  Olly Betts <olly@survex.com>
32506         * backends/quartz/btree.cc: Short-cutting Btree::cancel causes
32507           problems so disable that for the time being at least.
32509 Fri Aug 27 13:09:56 BST 2004  Olly Betts <olly@survex.com>
32511         * testsuite/btreecheck.cc: Fixed %% to % (presumably a hangover from
32512           converting printf to cout).
32514 Thu Aug 26 18:11:50 BST 2004  Olly Betts <olly@survex.com>
32516         * backends/quartz/quartz_postlist.cc: Reduce quartz postlist chunk
32517           threshold from 2048 to 2000 so that chunks won't get split by the
32518           Btree.
32520 Thu Aug 26 18:10:27 BST 2004  Olly Betts <olly@survex.com>
32522         * backends/quartz/quartz_record.cc: Throw DocNotFoundError if we
32523           try to delete a record which doesn't exist.
32525 Thu Aug 26 17:18:56 BST 2004  Olly Betts <olly@survex.com>
32527         * configure.ac: Don't define DATADIR - we no longer use it and clashes
32528           with more recent mingw headers.
32530 Wed Aug 25 22:47:06 BST 2004  Olly Betts <olly@survex.com>
32532         * docs/quartzdesign.html: Started section on quartzcompact.
32534 Wed Aug 25 22:45:48 BST 2004  Olly Betts <olly@survex.com>
32536         * api/omdatabase.cc,include/xapian/database.h: Changed new
32537           WritableDatabase::replace_document(term, doc) method to return
32538           the docid which the document was given.
32540 Tue Aug 24 13:45:52 BST 2004  Olly Betts <olly@survex.com>
32542         * api/omenquire.cc,include/xapian/enquire.h: Added new ESet methods
32543           swap(), back() and operator[].
32544         * include/xapian/enquire.h: Added documentation comments for
32545           MSet methods size(), empty(), swap(), begin(), end(), back().
32546         * include/xapian/enquire.h: Removed bogus documentation saying
32547           that some Enquire methods can throw DatabaseOpeningError.
32549 Tue Aug 24 10:24:30 BST 2004  Olly Betts <olly@survex.com>
32551         * HACKING: Noted automake 1.8 may be problematic.  Tweaked list of
32552           release tasks.
32554 Tue Aug 24 10:16:38 BST 2004  Olly Betts <olly@survex.com>
32556         * matcher/multimatch.cc: If a matchdecider is specified and no matches
32557           are requested, the lower bound on the number of matches must be 0
32558           (since the matchdecider could reject all the matches).
32560 Mon Aug 23 23:03:12 BST 2004  Olly Betts <olly@survex.com>
32562         * backends/quartz/btree.cc: Improved the "Db block overwritten"
32563           message.  The DatabaseCorruptError version now suggests multiple
32564           writers may be the cause, while the DatabaseModifiedError version
32565           uses less alarming wording and says to call Database::reopen().
32567 Sun Aug 22 14:07:35 BST 2004  Olly Betts <olly@survex.com>
32569         * indexer/: Removed the old XML-based indexer framework.  It's not
32570           worked for ages, and nobody seems interested in ressurecting it.
32571           If anyone ever is, they can fetch it back from CVS, but otherwise
32572           it's just bulking up CVS checkouts.
32574 Sun Aug 22 13:02:25 BST 2004  Olly Betts <olly@survex.com>
32576         * Makefile.am,configure.ac,extra/Makefile.am: Moved the older library
32577           version information into configure.ac.
32579 Sun Aug 22 12:58:21 BST 2004  Olly Betts <olly@survex.com>
32581         * HACKING,configure.in,configure.ac,backends/Makefile.am,
32582           docs/Makefile.am: Renamed configure.in to configure.ac.
32584 Sun Aug 22 12:47:43 BST 2004  Olly Betts <olly@survex.com>
32586         * xapian-config.in: Add "(or configure.ac)" in message telling the
32587           user to add a line to their configure.in.
32589 Sun Aug 22 11:38:55 BST 2004  Olly Betts <olly@survex.com>
32591         * backends/quartz/btree.cc,backends/quartz/btree_util.h: Adjusted
32592           some Asserts to check c is within blocksize rather than
32593           65536.  Added a FIXME for those which can't be trivially changed.
32595 Sun Aug 22 10:56:56 BST 2004  Olly Betts <olly@survex.com>
32597         * backends/quartz/quartz_database.cc: No need to force a flush on
32598           QuartzWritableDatabase::open_document() (the document will read
32599           things lazily from the database, and that may trigger a forced
32600           flush).
32601         * backends/quartz/quartz_database.cc,
32602           backends/quartz/quartz_database.h: Eliminated
32603           QuartzDatabase::open_post_list_internal() and
32604           QuartzDatabase::open_term_list_internal().
32606 Sun Aug 22 01:33:05 BST 2004  Olly Betts <olly@survex.com>
32608         * backends/quartz/quartz_database.cc,backends/quartz/quartz_record.cc,
32609           backends/quartz/quartz_record.h: WritableDatabase::get_avlength()
32610           no longer forces pending changes to be flushed.  This means you can
32611           now search a modified WritableDatabase without causing a flush
32612           unless the search includes a term whose postlist has pending
32613           modifications.
32615 Fri Aug 20 20:03:59 BST 2004  Olly Betts <olly@survex.com>
32617         * backends/quartz/btree_util.h,common/,docs/overview.html,
32618           docs/quickstart.html,include/xapian/enquire.h,
32619           matcher/branchpostlist.h,matcher/multimatch.cc,tests/api_db.cc:
32620           Corrected multiple occurrences of "an Xapian::XXX" to "a Xapian::XXX"
32621           (presumably these all resulted from replacing "Om" with "Xapian::").
32623 Fri Aug 20 17:38:15 BST 2004  Olly Betts <olly@survex.com>
32625         * backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc,
32626           bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc:
32627           Merged QuartzCursor into Bcursor.
32629 Fri Aug 20 13:43:04 BST 2004  Olly Betts <olly@survex.com>
32631         * NEWS,backends/quartz/: Fixed the problem with "lazy tag reading"
32632           in QuartzCursor and reenable that code.  The problem was with
32633           deleting the current key, so added QuartzCursor::del() which
32634           deletes the current key, leaving the cursor on the next item.
32636 Fri Aug 20 13:04:33 BST 2004  Olly Betts <olly@survex.com>
32638         * tests/api_db.cc: Reenabled test allterms2, but with the iterator
32639           copying parts removed - TermIterator is an input_iterator so
32640           that part was invalid.
32642 Thu Aug 19 19:19:48 BST 2004  Olly Betts <olly@survex.com>
32644         * NEWS: Updated from recent ChangeLog entries.
32646 Thu Aug 19 14:09:28 BST 2004  Olly Betts <olly@survex.com>
32648         * tests/api_db.cc: Added regression test for bug #37.
32650 Thu Aug 19 13:31:37 BST 2004  Olly Betts <olly@survex.com>
32652         * matcher/localmatch.cc: Fixed problems handling termweights in
32653           queries with the same term repeated (bug #37).
32655 Thu Aug 19 13:22:12 BST 2004  Olly Betts <olly@survex.com>
32657         * backends/quartz/quartz_table.cc: Disable the "lazy tag reading" in
32658           QuartzCursor for the time being - it seems to cause problems.
32660 Thu Aug 19 12:58:10 BST 2004  Olly Betts <olly@survex.com>
32662         * bin/quartzcheck.cc,bin/quartzdump.cc: Added calls to
32663           QuartzCursor::read_tag().
32665 Thu Aug 19 12:56:53 BST 2004  Olly Betts <olly@survex.com>
32667         * matcher/multimatch.cc: Removed superfluous clear() of a map.
32669 Thu Aug 19 12:56:08 BST 2004  Olly Betts <olly@survex.com>
32671         * tests/api_db.cc: Corrected a comment - a pure boolean query has all
32672           weights set to 0, not 1.
32674 Mon Aug 16 15:41:33 BST 2004  Olly Betts <olly@survex.com>
32676         * docs/: Removed unused and very out of date class diagrams in dia
32677           format.  Doxygen generates similar but up-to-date diagrams
32678           automatically anyway.
32680 Mon Aug 16 15:27:30 BST 2004  Olly Betts <olly@survex.com>
32682         * xapian.spec.in,debian/libxapianVERSION-dev.install,
32683           extra/.cvsignore,extra/Makefile.am,extra/omparsequery.h,
32684           include/Makefile.am,include/om/.cvsignore,include/om/dir_contents,
32685           include/om/om.h,m4/xapian.m4: Removed the compatibility layer which
32686           allowed programs written against the pre-0.7.0 API to be compiled.
32688 Mon Aug 16 15:08:08 BST 2004  Olly Betts <olly@survex.com>
32690         * backends/quartz/quartz_table.cc: Fixed QuartzCursor::find()
32691           to work again after the last change.
32693 Mon Aug 16 14:43:08 BST 2004  Olly Betts <olly@survex.com>
32695         * backends/quartz/,tests/quartztest.cc: QuartzCursor no longer
32696           automatically reads the tag - you have to call read_tag() to
32697           get it read.  This speeds up iterator over all the terms in
32698           a database.  Also commented out QuartzCursor::prev as it's
32699           unused and untested (at least in its latest form).
32701 Mon Aug 16 12:39:56 BST 2004  Olly Betts <olly@survex.com>
32703         * backends/quartz/btree_types.h: Made Bcursor.rewrite bool rather than
32704           int.
32706 Mon Aug 16 12:35:07 BST 2004  Olly Betts <olly@survex.com>
32708         * backends/quartz/btree.cc,backends/quartz/btree.h: Calculate and
32709           store the latest revision number, rather than storing the other
32710           one and working out which is newer every time we're asked.
32712 Mon Aug 16 12:32:59 BST 2004  Olly Betts <olly@survex.com>
32714         * docs/install.html: We haven't "only [...] UNIX" for ages, so don't
32715           claim we are.  We use libtool as well as autoconf and automake.
32716           Link to the CVS snapshots.  And also mention downloading omega.
32718 Mon Aug 16 12:20:04 BST 2004  Olly Betts <olly@survex.com>
32720         * docs/index.html: exaplains -> explains.
32722 Mon Aug 16 12:18:34 BST 2004  Olly Betts <olly@survex.com>
32724         * docs/overview.html: Removed references to "our company" (meaning
32725           BrightStation) and to the now defunct special parameters which
32726           the inmemory backend accepted to cause deliberate errors for
32727           testing.
32729 Sun Aug 15 23:48:20 BST 2004  Olly Betts <olly@survex.com>
32731         * tests/btreetest.cc: item_count -> get_entry_count(); revision_number
32732           -> get_open_revision_number().
32734 Sun Aug 15 23:15:34 BST 2004  Olly Betts <olly@survex.com>
32736         * backends/Makefile.am,backends/inmemory/Makefile.am: Fixed to compile
32737           with --disable-inmemory (bug #33).
32739 Sat Aug 14 18:56:06 BST 2004  Olly Betts <olly@survex.com>
32741         * Makefile.am: Improved library versioning comment.
32743 Sat Aug 14 18:55:17 BST 2004  Olly Betts <olly@survex.com>
32745         * docs/overview.html: Fixed om_queryop to Xapian::Query::op, and added
32746           missing OP_* codes to the list.
32748 Sat Aug 14 17:44:39 BST 2004  Olly Betts <olly@survex.com>
32750         * backends/quartz/bcursor.h,backends/quartz/btree.cc,
32751           backends/quartz/btree.h,bin/quartzcompact.cc,docs/quartzdesign.html:
32752           Updated quartz design docs to reflect recent changes.  Also pulled
32753           out the Btree and Bcursor API docs and slotted them in as doxygen
32754           documentation comments - this way they're much more likely to
32755           be kept up-to-date.
32757 Sat Aug 14 15:59:07 BST 2004  Olly Betts <olly@survex.com>
32759         * backends/quartz/btree.cc,backends/quartz/btree.h: Removed unused
32760           Btree default ctor.
32762 Sat Aug 14 15:45:28 BST 2004  Olly Betts <olly@survex.com>
32764         * backends/quartz/btree.cc,backends/quartz/btree.h: Don't redundantly
32765           store next_revision - it's always just revision_number + 1.
32767 Sat Aug 14 15:30:30 BST 2004  Olly Betts <olly@survex.com>
32769         * backends/quartz/btree.cc: Implemented Btree::cancel directly rather
32770           than closing and reopening the Btree.
32772 Sat Aug 14 14:46:43 BST 2004  Olly Betts <olly@survex.com>
32774         * backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc,
32775           bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc,
32776           testsuite/btreecheck.cc,testsuite/btreecheck.h: Eliminated
32777           QuartzTable which had become just a thin wrapper around Btree.
32779 Fri Aug 13 19:19:02 BST 2004  Olly Betts <olly@survex.com>
32781         * backends/quartz/quartz_postlist.cc:
32782           QuartzPostList::move_to_chunk_containing now calls next_chunk if
32783           required, rather than forcing the caller to do the fix-up.
32785 Fri Aug 13 17:54:53 BST 2004  Olly Betts <olly@survex.com>
32787         * backends/quartz/quartz_database.cc,
32788           backends/quartz/quartz_database.h: Added tunable flush thresholds
32789           - set XAPIAN_FLUSH_THRESHOLD=5000 to flush every 5000 documents
32790           or XAPIAN_FLUSH_THRESHOLD_LENGTH=1000000 to flush every 1000000
32791           total change in document length.  Set both to flush whichever is
32792           reached first.  Set neither and the default is to flush every
32793           1000 documents as before.
32795 Fri Aug 13 15:54:21 BST 2004  Olly Betts <olly@survex.com>
32797         * backends/quartz/: Removed no-longer-used Btree::erase and
32798           QuartzTable::erase methods.
32800 Fri Aug 13 15:37:15 BST 2004  Olly Betts <olly@survex.com>
32802         * backends/quartz/btree.cc,backends/quartz/quartz_database.cc:
32803           Changed Btree::create() to remove any pre-existing alternate base
32804           file, so we no longer need to call Btree::erase before
32805           Btree::create.
32807 Fri Aug 13 15:37:15 BST 2004  Olly Betts <olly@survex.com>
32809         * NEWS: Updated with changes since last release.
32811 Fri Aug 13 15:36:04 BST 2004  Olly Betts <olly@survex.com>
32813         * tests/api_posdb.cc,tests/quartztest.cc: Reworked quartztest's
32814           positionlist1 into a generic api test as apitest's poslist3.
32816 Thu Aug 12 16:26:42 BST 2004  Olly Betts <olly@survex.com>
32818         * backends/quartz/quartz_table.cc,backends/quartz/quartz_table.h,
32819           bin/quartzcheck.cc,bin/quartzdump.cc: QuartzCursor now has a
32820           Bcursor member, rather than an AutoPtr<Bcursor> member.
32822 Thu Aug 12 14:13:37 BST 2004  Olly Betts <olly@survex.com>
32824         * tests/btreetest.cc: Fixed up in line with the recent refactoring.
32826 Thu Aug 12 13:23:31 BST 2004  Olly Betts <olly@survex.com>
32828         * m4/xapian.m4: XO_LIB_XAPIAN now AC_SUBSTs XAPIAN_VERSION.
32830 Thu Aug 12 13:21:36 BST 2004  Olly Betts <olly@survex.com>
32832         * backends/quartz/,tests/quartztest.cc: Refactored, replacing
32833           Quartz*Manager with Quartz*Table.
32835 Thu Aug 12 02:00:58 BST 2004  Olly Betts <olly@survex.com>
32837         * backends/quartz/: Merged QuartzTableManager into QuartzDatabase.
32839 Wed Aug 11 23:40:34 BST 2004  Olly Betts <olly@survex.com>
32841         * backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h:
32842           Eliminated buffered_tables member of QuartzWritableDatabase.
32844 Wed Aug 11 21:26:35 BST 2004  Olly Betts <olly@survex.com>
32846         * backends/inmemory/inmemory_database.cc,
32847           backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
32848           docs/todo.xml: WritableDatabase::replace_document can now be used
32849           to add a document with a specific docid (to allow keeping docids
32850           in sync with numeric UIDs from another system).
32852 Wed Aug 11 20:09:15 BST 2004  Olly Betts <olly@survex.com>
32854         * api/omdatabase.cc,include/xapian/database.h: Added replace_document
32855           and delete_document variants which take a unique id term name rather
32856           than a document id.
32857         * include/xapian/database.h: Better documentation for replace_document
32858           and delete_document.
32860 Wed Aug 11 16:15:10 BST 2004  Olly Betts <olly@survex.com>
32862         * backends/quartz/,bin/quartzcheck.cc,bin/quartzdump.cc,
32863           tests/quartztest.cc: Eliminated QuartzBufferedTable.
32865 Wed Jun 30 20:34:08 BST 2004  Olly Betts <olly@survex.com>
32867         * NEWS: Fixed an unwrapped line.
32869 Wed Jun 30 20:32:31 BST 2004  Olly Betts <olly@survex.com>
32871         * HACKING: Added note about the cvs-tag-release script.
32873 Wed Jun 30 19:05:45 BST 2004  Olly Betts <olly@survex.com>
32875         * HACKING,NEWS,PLATFORMS,configure.in: Version 0.8.1.
32877 Wed Jun 30 14:23:20 BST 2004  Olly Betts <olly@survex.com>
32879         * AUTHORS,PLATFORMS: Updated.
32881 Tue Jun 29 23:24:59 BST 2004  Olly Betts <olly@survex.com>
32883         * tests/api_nodb.cc: Make emptyquery1 check that Query("") causes an
32884           InvalidArgumentError exception.
32886 Tue Jun 29 17:29:03 BST 2004  Richard Boulton <richard@tartarus.org>
32888         * Makefile.am: Remove Debian files from distribution tarballs,
32889           since there will often be multiple patch releases for each
32890           release.  Debian files will be available from an apt repository
32891           in future.
32893 Mon Jun 28 01:29:00 BST 2004  Olly Betts <olly@survex.com>
32895         * NEWS: Mostly updated for 0.8.1 release.
32897 Sun Jun 27 23:37:01 BST 2004  Olly Betts <olly@survex.com>
32899         * backends/quartz/quartz_postlist.cc: Fixed bug in postlist merging.
32901 Sat Jun 26 00:51:04 BST 2004  Olly Betts <olly@survex.com>
32903         * AUTHORS: Add Malcolm Baldridge (helped fix a problem with building
32904           the PHP bindings with newer versions of SWIG and PHP).
32906 Fri Jun 26 00:29:10 BST 2004  Olly Betts <olly@survex.com>
32908         * HACKING,api/ompositionlistiterator.cc,api/ompostlistiterator.cc,
32909           api/omtermlistiterator.cc,include/xapian/: MSetIterator and
32910           ESetIterator are now bidirectional iterators (rather than
32911           just input iterators);  Fixed post-increment forms of
32912           PostingIterator, TermIterator, PositionIterator, and ValueIterator
32913           so that *i++ works (as it must for them to be true input iterators).
32915 Thu Jun 24 18:03:46 BST 2004  Olly Betts <olly@survex.com>
32917         * PLATFORMS: Added success report for Slackware Linux 9.1.
32919 Mon Jun 21 16:33:16 BST 2004  Olly Betts <olly@survex.com>
32921         * backends/quartz/quartz_postlist.cc: Corrected -> to . so code
32922           compiles with debug enabled.
32924 Mon Jun 21 03:25:24 BST 2004  Olly Betts <olly@survex.com>
32926         * backends/quartz/btree.cc: Eliminated two calls to abort() - throw
32927           exceptions instead.
32929 Mon Jun 21 03:21:14 BST 2004  Olly Betts <olly@survex.com>
32931         * backends/quartz/quartz_postlist.cc: Finish backing out incorrect
32932           change from "Fri May 07 03:16:29 BST 2004" - failed to change two
32933           lines back before.
32935 Fri Jun 18 16:48:10 BST 2004  Richard Boulton <richard@tartarus.org>
32937         * configure.in: Fix typo (STLPORT_CXXLAGS -> STLPORT_CXXFLAGS)
32939 Thu Jun 17 03:46:32 BST 2004  Olly Betts <olly@survex.com>
32941         * backends/quartz/quartz_database.cc: Cleaned up code to track
32942           add vs delete vs modify of a posting list entry since we now
32943           force a flush if an entry is about to be retouched.
32945 Thu Jun 17 03:44:21 BST 2004  Olly Betts <olly@survex.com>
32947         * backends/quartz/quartz_postlist.cc: Back out incorrect change from
32948           "Fri May 07 03:16:29 BST 2004".  We do need to call get_or_make_tag
32949           in this case because we're modifying the tag.
32951 Wed Jun 16 15:40:21 BST 2004  Olly Betts <olly@survex.com>
32953         * backends/inmemory/inmemory_database.h: Implemented get_lastdocid()
32954           for InMemory backend.
32956 Wed Jun 16 02:39:41 BST 2004  Olly Betts <olly@survex.com>
32958         * configure.in: Note the value of LIBRARY_VERSION_INFO which 0.8.1
32959           would get if it were released now.
32961 Wed Jun 16 02:39:11 BST 2004  Robert Pollak <robert.pollak@fabasoft.com>
32963         * api/omdatabase.cc, include/xapian/database.h,
32964           backends/database.cc, common/database.h,
32965           backends/quartz/quartz_database.cc, backends/quartz/quartz_database.h,
32966           backends/quartz/quartz_record.cc, backends/quartz/quartz_record.h:
32967           New method Database::get_lastdocid for re-synchronizing an old
32968           quartz index.
32970 Wed Jun 16 02:05:07 BST 2004  Richard Boulton <richard@tartarus.org>
32972         * matcher/multimatch.cc: When collapsing, keep track of the number
32973           of collapses performed, and use this information to modify the
32974           bounds and estimate of the number of matches.
32975         * tests/api_db.cc: Added tests for this.
32976         * include/xapian/enquire.h: Update documentation comments for
32977           MSet::get_matches_*() functions to make clear that collapsing and
32978           cutoffs are taken into account.  (Previously, the most likely
32979           interpretation of the comments was that they wouldn't be taken
32980           into account, but the implementation was that percentage cutoffs
32981           were taken into account.)  Due to this ambiguity, I think it is
32982           reasonable to say this isn't an API change.
32984 Wed Jun 16 01:55:29 BST 2004  Olly Betts <olly@survex.com>
32986         * matcher/multimatch.cc: Rearranged code so that the behaviour can
32987           be easily seen to be unchanged, but so that it's closer to the
32988           result of applying Richard's patch for bug #31.
32990 Wed Jun 16 01:27:09 BST 2004  Olly Betts <olly@survex.com>
32992         * matcher/multimatch.cc: Trimmed extra whitespace.
32994 Tue Jun 15 15:40:11 BST 2004  Olly Betts <olly@survex.com>
32996         * backends/quartz/quartz_postlist.cc: Fixed PostlistChunkReader to
32997           take a copy of the postlist data being read to avoid problems with
32998           reading data from a string that's been deleted.
33000 Tue Jun 15 15:26:54 BST 2004  Olly Betts <olly@survex.com>
33002         * HACKING: Updated the list of tasks required for a new release.
33004 Tue Jun 15 15:24:04 BST 2004  Olly Betts <olly@survex.com>
33006         * Makefile.am,configure.in,extra/Makefile.am: Unify the shlib version
33007           numbers (the small benefit of tracking them individually makes it
33008           hard to justify the extra work required, and having one version
33009           simplifies debian packaging too).
33011 Tue Jun 15 14:52:36 BST 2004  Robert Pollak <robert.pollak@fabasoft.com>
33013         * extra/xapian/queryparser.h: Fixed memory leaked upon QueryParser
33014           destruction.
33016 Fri Jun 11 02:18:35 BST 2004  Olly Betts <olly@survex.com>
33018         * backends/quartz/quartz_postlist.cc: Refactored a loop.
33020 Fri Jun 11 02:17:05 BST 2004  Olly Betts <olly@survex.com>
33022         * backends/quartz/quartz_postlist.cc: Fixed bug which meant we
33023           sometimes failed to remove a posting when deleting or replacing
33024           a document.
33026 Fri Jun 11 02:16:16 BST 2004  Olly Betts <olly@survex.com>
33028         * backends/quartz/quartz_postlist.cc,
33029           backends/quartz/quartz_postlist.h: Merged move_to() into skip_to().
33031 Fri Jun 11 02:14:56 BST 2004  Olly Betts <olly@survex.com>
33033         * backends/quartz/quartz_postlist.cc: Fixed typo in comment.
33035 Thu May 27 15:41:45 BST 2004  Olly Betts <olly@survex.com>
33037         * backends/quartz/btree.cc,backends/quartz/btree.h: Eliminated the
33038           split cursor - we only actually need a single block buffer to
33039           handle splitting blocks.
33041 Wed May 26 04:02:18 BST 2004  Olly Betts <olly@survex.com>
33043         * include/om/om.h,include/xapian/errortypes.h: Removed several unused
33044           Xapian::Error subclasses (these were used by the indexer framework
33045           which we decided was a failed experiment).
33047 Wed May 26 01:54:13 BST 2004  Olly Betts <olly@survex.com>
33049         * backends/quartz/btree.cc,backends/quartz/btree.h: More DEBUGCALL
33050           tracing added; split_root now uses level member rather than a
33051           parameter.
33053 Sun May 23 00:56:41 BST 2004  Olly Betts <olly@survex.com>
33055         * backends/quartz/btree.cc,backends/quartz/btree.h: Merge split_off()
33056           into add_item().
33058 Sat May 22 01:28:58 BST 2004  Olly Betts <olly@survex.com>
33060         * backends/quartz/btree.cc: Another DEBUGCALL.
33061         * backends/quartz/quartz_table.h: Improved comments.
33063 Fri May 21 23:17:01 BST 2004  Olly Betts <olly@survex.com>
33065         * backends/quartz/btree.cc: Removed unnecessary assignment which is
33066           a hangover from the shared level code we removed long ago.
33068 Fri May 21 20:31:56 BST 2004  Olly Betts <olly@survex.com>
33070         * backends/quartz/,docs/quartzdesign.html,testsuite/btreecheck.cc:
33071           Removed overwritten flag (unused as we throw an exception anyway).
33072           If Btree is writable, throw DatabaseCorruptError if we detect
33073           overwritten.  Make use of bool return types consistent.  Removed
33074           documentation of Btree error codes (the error codes themselves
33075           were removed a month ago).
33077 Thu May 20 03:50:46 BST 2004  Olly Betts <olly@survex.com>
33079         * include/xapian/database.h: Remove references to sessions in doxygen
33080           comments.
33082 Thu May 20 03:44:28 BST 2004  Olly Betts <olly@survex.com>
33084         * api/omdatabase.cc,backends/database.cc,
33085           backends/inmemory/inmemory_database.cc,
33086           backends/inmemory/inmemory_database.h,
33087           backends/muscat36/da_database.h,backends/muscat36/db_database.h,
33088           backends/net/net_database.cc,backends/quartz/quartz_database.cc,
33089           backends/quartz/quartz_database.h,common/database.h,
33090           common/net_database.h: Clean up the backend interface.
33092 Thu May 20 03:18:30 BST 2004  Olly Betts <olly@survex.com>
33094         * backends/database.cc,backends/inmemory/inmemory_database.cc,
33095           backends/inmemory/inmemory_database.h,backends/muscat36/,
33096           backends/net/net_database.cc,backends/quartz/quartz_database.cc,
33097           backends/quartz/quartz_database.h,common/database.h:
33098           Stripped out the session machinery - all that is actually required
33099           is to ensure that any unflushed changes are flushed when the dtor
33100           runs.
33102 Mon May 17 01:04:17 BST 2004  Olly Betts <olly@survex.com>
33104         * backends/quartz/btree.cc,backends/quartz/btree.h,
33105           backends/quartz/btree_types.h: Reworked split_p and split_n
33106           members of Cursor into a separate C_split cursor.  This
33107           reduces the memory overhead of each Bcursor (and hence each
33108           QuartzPostList).
33110 Sat May 15 01:29:40 BST 2004  Olly Betts <olly@survex.com>
33112         * docs/quickstart.html: Corrected lingering reference to "om.h" and
33113           note that we need <iostream>.
33114         * docs/quickstartindex.cc.html,docs/quickstartexpand.cc.html,
33115           docs/quickstartsearch.cc.html: Add <iostream>.
33116         * AUTHORS: Add John Ward for pointing out the above problems.
33118 Fri May 14 00:59:51 BST 2004  Olly Betts <olly@survex.com>
33120         * HACKING: Added the start of a list of subtasks when doing a release.
33121           Currently it's always me that does this, but it may not always be
33122           and anyhow it'll help me to have a list to run through.
33124 Fri May 14 00:59:21 BST 2004  Olly Betts <olly@survex.com>
33126         * docs/todo.xml: Updated.
33128 Thu May 13 17:14:18 BST 2004  Olly Betts <olly@survex.com>
33130         * extra/queryparser.yy: When stripping non-alphanums prior to
33131           reparsing, keep dots ('.').
33132         * extra/queryparsertest.cc: Pruned near-duplicate queryparsertest
33133           testcases.
33135 Thu May 13 12:09:19 BST 2004  Olly Betts <olly@survex.com>
33137         * docs/quartzdesign.html: "interger" -> "integer".
33139 Thu May 13 11:20:44 BST 2004  Olly Betts <olly@survex.com>
33141         * Makefile.am: Removed bogus extra line added by last change.
33143 Thu May 13 11:11:31 BST 2004  Olly Betts <olly@survex.com>
33145         * configure.in,Makefile.am,autoconf/.cvsignore,autoconf/Makefile.am,
33146           m4/.cvsignore,m4/Makefile.am: Removed trivial m4/Makefile.am and
33147           and autoconf/Makefile.am and do the work from the top level
33148           Makefile.am instead.  It's easy to see the structure this way, and
33149           it also removes a couple of recursive make invocations.
33151 Thu May 13 09:32:22 BST 2004  Olly Betts <olly@survex.com>
33153         * backends/quartz/btree.cc,backends/quartz/btree.h: Added DEBUGCALL
33154           tracing;  Stripped out C_ parameters where they are always the
33155           internal cursor C.
33157 Thu May 13 00:05:45 BST 2004  Olly Betts <olly@survex.com>
33159         * extra/queryparser.yy,extra/queryparsertest.cc: If we fail to parse
33160           a query, try stripping out non-alphanumerics and reparsing.
33162 Wed May 12 14:32:54 BST 2004  Olly Betts <olly@survex.com>
33164         * common/omtime.h: Corrected file description.
33166 Wed May 12 02:08:44 BST 2004  Olly Betts <olly@survex.com>
33168         * backends/quartz/btree.cc: Fixed typos in comment.
33170 Tue May 11 20:55:56 BST 2004  Olly Betts <olly@survex.com>
33172         * xapian-config.in: Added comment saying why we filter out
33173           -I/usr/include; Removed no longer used "optarg" stuff; Added licence
33174           boilerplate text (with (C) dates mined from CVS).
33176 Tue May 11 13:42:38 BST 2004  Olly Betts <olly@survex.com>
33178         * backends/quartz/bcursor.cc,backends/quartz/btree.cc: Added lots
33179           of assertions.
33181 Tue May 11 09:29:51 BST 2004  Richard Boulton <richard@tartarus.org>
33183         * debian/: Added basic Debian packaging.
33185 Mon May 10 17:17:45 BST 2004  Olly Betts <olly@survex.com>
33187         * docs/quartzdsign.html: Corrected various pieces of out of date
33188           information.
33190 Mon May 10 01:30:35 BST 2004  Olly Betts <olly@survex.com>
33192         * backends/quartz/btree.h: Removed unused forward declaration of
33193           class BtreeCheck.
33195 Mon May 10 01:30:24 BST 2004  Olly Betts <olly@survex.com>
33197         * backends/quartz/btree.cc: Fixed typo.
33199 Sat May 08 20:14:40 BST 2004  Olly Betts <olly@survex.com>
33201         * backends/quartz/: Pruned some #include-s which were unused, or could
33202           be replaced by forward class declarations.
33204 Fri May 07 14:38:10 BST 2004  Olly Betts <olly@survex.com>
33206         * backends/quartz/quartz_postlist.cc: Slight efficiency tweak to the
33207           "deleting the whole posting list" case.
33209 Fri May 07 03:16:29 BST 2004  Olly Betts <olly@survex.com>
33211         * backends/quartz/quartz_postlist.cc: Removed another unnecessary use
33212           of QuartzBufferedTable::get_or_make_tag().
33214 Fri May 07 02:56:22 BST 2004  Olly Betts <olly@survex.com>
33216         * backends/quartz/btree.cc: Initialise prev_ptr and next_ptr at open
33217           time for a writable Btree.
33219 Fri May 07 02:46:53 BST 2004  Olly Betts <olly@survex.com>
33221         * backends/quartz/quartz_postlist.cc: Remove unneeded call to
33222           QuartzBufferedTable::get_or_make_tag() in a case when we're using a
33223           cursor which has already fetched the tag.
33225 Thu May 06 23:30:12 BST 2004  Olly Betts <olly@survex.com>
33227         * backends/quartz/btree.cc: Improved a comment.
33229 Thu May 06 22:20:43 BST 2004  Olly Betts <olly@survex.com>
33231         * backends/quartz/btree.cc: Added a few more assertions.
33233 Thu May 06 02:25:33 BST 2004  Olly Betts <olly@survex.com>
33235         * backends/quartz/quartz_positionlist.cc,
33236           backends/quartz/quartz_utils.h: Added SON_OF_QUARTZ define to
33237           disable incompatible changes to database formats by default, and
33238           use it to control the docid encoding for keys such that we're always
33239           inserting at the end of the table when added new documents.
33241 Thu May 06 02:23:02 BST 2004  Olly Betts <olly@survex.com>
33243         * backends/quartz/quartz_postlist.cc: Improved a FIXME comment.
33245 Thu May 06 00:32:17 BST 2004  Olly Betts <olly@survex.com>
33247         * extra/queryparsertest.cc: Added test case for `term NOT "a phrase'.
33249 Thu May 06 00:28:32 BST 2004  Olly Betts <olly@survex.com>
33251         * common/omdebug.cc,common/omdebug.h: Renamed OmTimer class used
33252           internally by the --enable-debug=profile code to
33253           Xapian::Internal::Timer.
33255 Wed May 05 13:59:47 BST 2004  Olly Betts <olly@survex.com>
33257         * docs/scalability.html: Reworded to remove use of first person.
33259 Mon May 03 21:42:05 BST 2004  Olly Betts <olly@survex.com>
33261         * Makefile.am: Improved wording of a FIXME comment.
33263 Sun May 02 10:18:55 BST 2004  Olly Betts <olly@survex.com>
33265         * backends/quartz/btree.cc: Improved a couple of comments.
33267 Sat May 01 04:42:43 BST 2004  Olly Betts <olly@survex.com>
33269         * backends/quartz/btree.cc,backends/quartz/btree.h,
33270           backends/quartz/quartz_table.cc: Reopening the readonly version
33271           of a writable Btree is now more efficient.
33273 Sat May 01 01:41:24 BST 2004  Olly Betts <olly@survex.com>
33275         * PLATFORMS: Added up-to-date success reports for x86-openbsd and
33276           x86-solaris.
33278 Fri Apr 30 04:05:15 BST 2004  Olly Betts <olly@survex.com>
33280         * backends/quartz/: Don't delete and reload the Btree_base just after
33281           saving it - instead reuse the existing Btree_base object.
33283 Fri Apr 30 02:41:50 BST 2004  Olly Betts <olly@survex.com>
33285         * backends/quartz/btree.cc: Clean up new code in Btree::commit()
33286           from last change.
33288 Thu Apr 29 22:41:05 BST 2004  Olly Betts <olly@survex.com>
33290         * backends/quartz/btree.cc,backends/quartz/quartz_table.cc: Don't
33291           close and reopen the database table file descriptors every time
33292           we flush changes.
33294 Thu Apr 29 22:40:36 BST 2004  Olly Betts <olly@survex.com>
33296         * docs/quartzdesign.html: Improved wording in a couple of places.
33298 Thu Apr 29 16:50:45 BST 2004  Olly Betts <olly@survex.com>
33300         * backends/quartz/bcursor.cc: Removed references to Btree::error
33301           from debug code since Btree::error was removed a week ago.
33303 Tue Apr 27 20:46:25 BST 2004  Olly Betts <olly@survex.com>
33305         * backends/quartz/btree.cc,configure.in: Added configure test for
33306           glibc, because otherwise we need to include a header before we
33307           can check for glibc in order to define something we should be
33308           defining before we include any headers!
33310 Tue Apr 27 17:45:51 BST 2004  Olly Betts <olly@survex.com>
33312         * backends/quartz/btree.cc: Only defined _XOPEN_SOURCE if __GLIBC__
33313           is defined.  OpenBSD seems to do the opposite to Linux and *disable*
33314           pread and pwrite if this is defined!
33316 Tue Apr 27 14:35:47 BST 2004  Olly Betts <olly@survex.com>
33318         * api/omenquire.cc,tests/api_db.cc: Need to adjust index by firstitem
33319           when indexing into items (bug#28).
33321 Mon Apr 26 23:45:15 BST 2004  Olly Betts <olly@survex.com>
33323         * PLATFORMS: Successfully built with gcc-3.5-20040327 snapshot on x86
33324           linux.
33326 Fri Apr 23 11:26:07 BST 2004  Olly Betts <olly@survex.com>
33328         * PLATFORMS: Successfully built and tested on arm linux.
33330 Fri Apr 23 11:24:23 BST 2004  Olly Betts <olly@survex.com>
33332         * tests/remotetest.cc: Use 127.0.0.1 instead of localhost so that
33333           tcpmatch1 doesn't fail just because the network setup is broken.
33335 Thu Apr 22 00:54:58 BST 2004  Olly Betts <olly@survex.com>
33337         * backends/quartz/: Stripped out Btree_errors as it's almost
33338           totally unused now.  Fixed up the last few uses.
33339         * backends/quartz/quartz_table.cc: Fixed another case where read
33340           and write Btrees should share fds.
33342 Wed Apr 21 02:51:08 BST 2004  Olly Betts <olly@survex.com>
33344         * backends/quartz/btree.cc: Check the return value of
33345           fdatasync()/fsync()/_commit() and raise an error.  They aren't
33346           likely to fail harmlessly.
33348 Wed Apr 21 02:45:28 BST 2004  Olly Betts <olly@survex.com>
33350         * backends/quartz/btree.cc,backends/quartz/btree.h,
33351           backends/quartz/quartz_table.cc: Share file descriptors between
33352           the read and write Btree objects so that a quartz WritableDatabase
33353           now uses 5 fds rather than 10.
33355 Wed Apr 21 02:37:38 BST 2004  Olly Betts <olly@survex.com>
33357         * docs/scalability.html: Removed the reference to the Quartz update
33358           bottleneck "currently being addressed for Xapian 0.8" as it's now
33359           been addressed!
33361 Wed Apr 21 00:24:08 BST 2004  Olly Betts <olly@survex.com>
33363         * backends/quartz/btree.cc: Corrected a comment.
33365 Mon Apr 19 14:42:06 BST 2004  Olly Betts <olly@survex.com>
33367         * NEWS: Final update for 0.8.0.
33369 Mon Apr 19 14:02:33 BST 2004  Olly Betts <olly@survex.com>
33371         * AUTHORS: Added people who've contributed build reports for the
33372           PLATFORMS file.
33374 Mon Apr 19 14:01:38 BST 2004  Olly Betts <olly@survex.com>
33376         * PLATFORMS: More updates from tinderbox and elsewhere.
33378 Sat Apr 17 02:24:11 BST 2004  Olly Betts <olly@survex.com>
33380         * PLATFORMS: Lots of updates from tinderbox and mailing list.
33382 Sat Apr 17 00:13:26 BST 2004  Olly Betts <olly@survex.com>
33384         * HACKING: Added notes about using "using", and pointers to a couple
33385           of useful C++ web resources.
33387 Mon Apr 12 00:56:04 BST 2004  Olly Betts <olly@survex.com>
33389         * Makefile.am,NEWS,configure.in,extra/Makefile.am: Version 0.8.0.
33391 Mon Apr 12 00:31:15 BST 2004  Olly Betts <olly@survex.com>
33393         * NEWS: Updated for 0.8.0.
33395 Sun Apr 11 21:18:47 BST 2004  Olly Betts <olly@survex.com>
33397         * extra/queryparser.yy,extra/queryparsertest.cc: Don't use a raw term
33398           for a term which starts with a digit.
33400 Sat Apr 10 17:20:23 BST 2004  Olly Betts <olly@survex.com>
33402         * AUTHORS: "Open Muscat" not "OmSee"; Updated the list of contributors
33403           (more work needed...)
33405 Sat Apr 10 16:41:28 BST 2004  Olly Betts <olly@survex.com>
33407         * m4/xapian.m4: Make XO_LIB_XAPIAN with no arguments do what most
33408           users will want: check for Xapian and fail if it's not found,
33409           or AC_SUBST XAPIAN_CXXFLAGS and XAPIAN_LIBS if it is.  Those
33410           will unusual needs can supply one or both arguments as at
33411           present.
33413 Sat Apr 10 15:00:28 BST 2004  Olly Betts <olly@survex.com>
33415         * docs/todo.xml: Updated.
33417 Sat Apr 10 00:32:07 BST 2004  Olly Betts <olly@survex.com>
33419         * PLATFORMS: Added success report for GCC 3.4 (prerelease).
33421 Sat Apr 10 00:27:58 BST 2004  Olly Betts <olly@survex.com>
33423         * extra/xapian/queryparser.h: Added doxygen documentation comments.
33425 Sat Apr 10 00:23:13 BST 2004  Olly Betts <olly@survex.com>
33427         * testsuite/testsuite.cc: Removed a now superfluous line.
33429 Sat Apr 10 00:21:15 BST 2004  Olly Betts <olly@survex.com>
33431         * testsuite/testsuite.cc: Give a more accurate message if valgrind
33432           spots a test doing something dodgy (e.g. free() of memory allocated
33433           with new).
33435 Thu Apr 08 17:22:20 BST 2004  Olly Betts <olly@survex.com>
33437         * net/.cvsignore: No longer need to ignore readquery.cc.
33439 Thu Apr 08 17:19:43 BST 2004  Olly Betts <olly@survex.com>
33441         * include/xapian/base.h: Note in doxygen comment why the ref_count
33442           is mutable.
33444 Thu Apr 08 15:33:16 BST 2004  Olly Betts <olly@survex.com>
33446         * testsuite/testsuite.cc: valgrinding code needs errno.h too.
33448 Thu Apr 08 15:28:44 BST 2004  Olly Betts <olly@survex.com>
33450         * include/xapian/enquire.h: Make Xapian::Weight::Weight() protected
33451           rather than private as we want to be able to call it from derived
33452           classes (GCC 3.4 flags this, other compilers seem to miss it).
33454 Tue Apr 06 03:32:39 BST 2004  Olly Betts <olly@survex.com>
33456         * net/omerr_string.cc,include/xapian/error.h,
33457           include/xapian/errortypes.h,include/xapian/output.h:
33458           Fixed some doxygen warnings.
33460 Mon Apr 05 17:21:06 BST 2004  Olly Betts <olly@survex.com>
33462         * README: There never was an Omsee release - the last BrightStation
33463           release was "OpenMuscat 0.4.1".
33465 Mon Apr 05 17:19:38 BST 2004  Olly Betts <olly@survex.com>
33467         * backends/quartz/quartz_database.cc,
33468           backends/quartz/quartz_database.h: Make the flush criterion 1000
33469           documents changed (added, removed, or replaced) as that seems to
33470           perform much better over a wide variety of document sizes.
33472 Thu Apr 01 01:04:17 BST 2004  Olly Betts <olly@survex.com>
33474         * tests/quartztest.cc: Fixed temporary directory used (a slash was
33475           missing).
33477 Thu Apr 01 00:39:59 BST 2004  Olly Betts <olly@survex.com>
33479         * docs/todo.xml: Updated.
33481 Fri Mar 26 22:33:30 GMT 2004  Olly Betts <olly@survex.com>
33483         * backends/quartz/quartz_database.cc: Fix problems with termfreq and
33484           collfreq in postlist getting out of step when a recently modified
33485           or deleted document is deleted or remodified.
33487 Fri Mar 26 12:31:24 GMT 2004  Olly Betts <olly@survex.com>
33489         * configure.in: Fixed check for --enable-runtime-pseudo-reloc.
33491 Fri Mar 26 12:31:00 GMT 2004  Olly Betts <olly@survex.com>
33493         * bin/Makefile.am: Removed spurious "-lz" from quartzdump_LDADD.
33495 Thu Mar 25 00:22:13 GMT 2004  Olly Betts <olly@survex.com>
33497         * bin/quartzcheck.cc: Check the structure with the postlist Btree
33498           as well as the Btree structures themselves.
33500 Sun Mar 21 00:00:59 GMT 2004  Olly Betts <olly@survex.com>
33502         * backends/quartz/quartz_table_manager.cc: Fix for building on mingw.
33504 Sat Mar 20 23:04:27 GMT 2004  Olly Betts <olly@survex.com>
33506         * include/xapian/positioniterator.h,include/xapian/postingiterator.h:
33507           Add doxygen comments in front of PostingIterator and
33508           PositionListIterator classes so that doxygen pulls out the
33509           existing documentation for their methods.
33511 Sat Mar 20 16:23:13 GMT 2004  Olly Betts <olly@survex.com>
33513         * configure.in,backends/quartz/quartz_table_manager.cc,common/utils.h:
33514           Added configure test for link() to avoid infinite loop on mingw!
33516 Thu Mar 18 12:20:18 GMT 2004  Olly Betts <olly@survex.com>
33518         * configure.in: Improved the --enable-runtime-pseudo-reloc check.
33520 Thu Mar 18 00:45:15 GMT 2004  Olly Betts <olly@survex.com>
33522         * bin/Makefile.am,tests/Makefile.am: Pass the magic mingw/cygwin flag
33523           when linking the programs in bin and tests.
33525 Thu Mar 18 00:33:22 GMT 2004  Olly Betts <olly@survex.com>
33527         * configure.in,xapian-config.in: mingw and cygwin both need
33528           -Wl,--enable-runtime-pseudo-reloc passing when linking.
33529           Arrange for xapian-config to include this, and check that
33530           the ld installed is a new enough version (or at least that
33531           it was at configure time).
33533 Tue Mar 16 01:40:43 GMT 2004  Olly Betts <olly@survex.com>
33535         * docs/matcherdesign.html: Merged in more details from a message I
33536           sent to the mailing list.
33538 Mon Mar 15 20:39:21 GMT 2004  Olly Betts <olly@survex.com>
33540         * tests/quartztest.cc: Fail the test if there's still a directory after
33541           rmdir(), or there isn't a directory after mkdir().  Close a
33542           QuartzDatabase or QuartzWritableDatabase before trying to overwrite
33543           it - cygwin doesn't allow use to delete open/locked files...
33545 Mon Mar 15 20:38:11 GMT 2004  Olly Betts <olly@survex.com>
33547         * backends/database.cc: Database::Internal::Internal::keep_alive()
33548           should be Database::Internal::keep_alive().
33550 Mon Mar 15 17:20:58 GMT 2004  Olly Betts <olly@survex.com>
33552         * include/xapian/base.h: Returning a void result makes SGI's compiler
33553           complain - don't!
33555 Mon Mar 15 14:34:44 GMT 2004  Olly Betts <olly@survex.com>
33557         * common/omdebug.cc: Only use O_SYNC (on the debug log) if we have it.
33559 Sun Mar 14 17:48:52 GMT 2004  Olly Betts <olly@survex.com>
33561         * tests/runtest.in: Mark with @configure_input@.
33563 Thu Mar 11 23:53:43 GMT 2004  Olly Betts <olly@survex.com>
33565         * common/database.h,common/termlist.h,include/xapian/database.h,
33566           include/xapian/enquire.h: Attempted fixes for warnings given by
33567           SGI's MIPSpro C++ compiler.
33569 Thu Mar 11 23:51:10 GMT 2004  Olly Betts <olly@survex.com>
33571         * configure.in: GCC 2.95 supported -Wno-long-long and is our minimum
33572           recommended version, so unconditionally use -Wno-long-long with
33573           GCC, and don't test for it on other compilers (the test incorrectly
33574           decided to use it with SGI's compiler leading to a warning for
33575           every file compiled).
33577 Thu Mar 11 17:29:24 GMT 2004  Olly Betts <olly@survex.com>
33579         * docs/intro_ir.html: Added a link to "Information Retrieval"
33580           by Keith v.R. which can be read on his website!
33582 Thu Mar 11 17:12:35 GMT 2004  Olly Betts <olly@survex.com>
33584         * PLATFORMS: Added IRIX success reports from Jim Lynch.
33586 Thu Mar 11 12:17:21 GMT 2004  Olly Betts <olly@survex.com>
33588         * backends/quartz/quartz_database.cc: Fixes for Sun C++'s fussy
33589           template matching.
33591 Thu Mar 11 12:12:46 GMT 2004  Olly Betts <olly@survex.com>
33593         * include/xapian/enquire.h: Another friend fix for Sun's C++.
33595 Thu Mar 11 01:56:19 GMT 2004  Olly Betts <olly@survex.com>
33597         * include/xapian/query.h: Another fix for Sun's C++.
33599 Tue Mar 09 21:02:08 GMT 2004  Olly Betts <olly@survex.com>
33601         * include/xapian/document.h: string -> std::string.
33603 Tue Mar 09 19:04:48 GMT 2004  Olly Betts <olly@survex.com>
33605         * api/omdocument.cc,common/document.h,include/xapian/document.h,
33606           tests/api_db.cc,tests/api_posdb.cc: Renamed
33607           Xapian::Document::add_term_nopos to Xapian::Document::add_term
33608           (with forwarding wrapper method for compatibility with existing
33609           code).
33611 Sat Mar 06 02:32:58 GMT 2004  Olly Betts <olly@survex.com>
33613         * docs/: Updated the quickstart tutorial and removed the warning
33614           that "this document isn't up to date".
33616 Sat Mar 06 01:56:17 GMT 2004  Olly Betts <olly@survex.com>
33618         * api/omenquire.cc: Another tweak for Sun's C++ compiler.
33620 Sat Mar 06 01:31:29 GMT 2004  Olly Betts <olly@survex.com>
33622         * common/omenquireinternal.h: Tweaked friend class declarations a
33623           bit so Sun's C++ compiler can cope.
33625 Thu Mar 04 23:58:17 GMT 2004  Olly Betts <olly@survex.com>
33627         * PLATFORMS: Updated with results from the tinderbox.
33629 Thu Mar 04 23:29:28 GMT 2004  Olly Betts <olly@survex.com>
33631         * tests/btreetest.cc,tests/quartztest.cc: NetBSD mkdir() doesn't cope
33632           with a trailing / on the path - fixed our code to cope with this.
33634 Wed Mar 03 19:14:09 GMT 2004  Olly Betts <olly@survex.com>
33636         * docs/todo.xml: Updated.
33638 Fri Feb 13 23:56:44 GMT 2004  Olly Betts <olly@survex.com>
33640         * api/omquery.cc,tests/api_nodb.cc: Throw error when an empty query is
33641           used to build in the binary operator Query ctor.  Added regression
33642           test.
33644 Fri Feb 13 15:08:09 GMT 2004  Olly Betts <olly@survex.com>
33646         * HACKING: XAPIAN_DEBUG_TYPES should be XAPIAN_DEBUG_FLAGS.
33648 Sat Feb 07 14:26:54 GMT 2004  Olly Betts <olly@survex.com>
33650         * docs/queryparser.html: Grammar fixes.
33652 Fri Jan 16 02:06:53 GMT 2004  Olly Betts <olly@survex.com>
33654         * backends/quartz/quartz_postlist.cc: Fixed bug flagged up by deldoc4.
33656 Thu Jan 15 01:00:48 GMT 2004  Olly Betts <olly@survex.com>
33658         * backends/quartz/quartz_termlist.cc: Use Xapian::doccount instead of
33659           unsigned int in set_entries().
33661 Thu Jan 15 00:56:47 GMT 2004  Olly Betts <olly@survex.com>
33663         * backends/quartz/btree.cc,backends/quartz/btree.h,
33664           testsuite/btreecheck.cc: Made some static functions into static
33665           member functions of Btree so we can avoid duplicating code in
33666           btreecheck.cc.  Also tweaked compare_keys to use memcmp and
33667           special case when the keys are the same length (each of these
33668           changes gives a very small speed gain).
33670 Thu Jan 15 00:54:47 GMT 2004  Olly Betts <olly@survex.com>
33672         * api/maptermlist.h: Removed a FIXME which already had been fixed.
33673           Removed a couple of asserts from a function which should never be
33674           called (and so had `Assert(false)' anyway).
33676 Mon Jan 12 00:32:37 GMT 2004  Olly Betts <olly@survex.com>
33678         * bin/quartzdump.cc: Backslash escape space and backslash in output
33679           rather than hex encoding them; renamed start-term and end-term to
33680           start-key and end-key; removed rather pointless "Calling next"
33681           message; if there's an error, write it to stderr not stdout, and
33682           exit with return code 1.
33684 Sun Jan 11 03:23:17 GMT 2004  Olly Betts <olly@survex.com>
33686         * backends/quartz/quartz_termlist.cc: When possible, pack the wdf into
33687           the same byte as the reuse length - doing so typically makes the
33688           termlist 14% smaller!  This change is backward compatible.
33690 Sat Jan 10 03:04:22 GMT 2004  Olly Betts <olly@survex.com>
33692         * backends/quartz/quartz_postlist.cc: Fixed bug in new postlist
33693           chunking code.
33695 Sat Jan 10 00:45:04 GMT 2004  Olly Betts <olly@survex.com>
33697         * backends/quartz/quartz_termlist.cc: Removed unused
33698           OLD_TERMLIST_FORMAT code.
33700 Fri Jan 09 21:54:34 GMT 2004  Olly Betts <olly@survex.com>
33702         * backends/quartz/quartz_postlist.cc: Fix incorrect code which just
33703           happens to build and work with GCC 2.95.
33705 Fri Jan 09 14:40:00 GMT 2004  Olly Betts <olly@survex.com>
33707         * backends/quartz/quartz_postlist.cc: Tidied the initial call to
33708           get_chunk() out of the merge loop (gives ~4% speedup!)
33710 Fri Jan 09 01:31:05 GMT 2004  Olly Betts <olly@survex.com>
33712         * backends/quartz/quartz_postlist.cc: Implement chunking of postlists
33713           once again.
33715 Thu Jan 08 21:06:37 GMT 2004  Olly Betts <olly@survex.com>
33717         * backends/quartz/quartz_postlist.cc: Shortcut the very common case
33718           of appending to a posting list (which happens when we're just
33719           adding new documents).  Declare small helper functions as "inline".
33721 Wed Jan 07 23:21:59 GMT 2004  Olly Betts <olly@survex.com>
33723         * backends/quartz/quartz_database.cc: Set threshold for flushing to
33724           a saner value for the value we are now using.
33725         * backends/quartz/: Use freq_deltas to update the stats in the first
33726           chunk of each postlist.
33728 Mon Jan 05 16:00:07 GMT 2004  Olly Betts <olly@survex.com>
33730         * include/xapian/enquire.h: Made the TradWeight constructor explicit.
33731           This is technically an API change as before you could pass a
33732           double where a Xapian::Weight was required - now you must pass
33733           Xapian::TradWeight(2.0) instead of 2.0.  That seems desirable, and
33734           it's unlikely any existing code will be affected.
33736 Mon Jan 05 15:08:26 GMT 2004  Olly Betts <olly@survex.com>
33738         * include/xapian/: Added "explicit" qualifier to internal ctors
33739           which take a single parameter.
33741 Mon Jan 05 15:04:12 GMT 2004  Olly Betts <olly@survex.com>
33743         * include/xapian/base.h: Assigning a normal pointer to a RefCntPtr no
33744           longer creates a temporary RefCntPtr from it.
33746 Thu Dec 25 05:49:03 GMT 2003  Olly Betts <olly@survex.com>
33748         * backends/quartz/quartz_postlist.cc: Changed to merge a batch of
33749           changes into a posting list in one pass.
33751 Thu Dec 25 05:48:09 GMT 2003  Olly Betts <olly@survex.com>
33753         * docs/quartzdesign.html: Some minor improvements.
33755 Thu Dec 25 05:39:57 GMT 2003  Olly Betts <olly@survex.com>
33757         * tests/api_db.cc: Check returned docids are the expected values in a
33758           couple more cases.  Improved wording of a comment.
33760 Thu Dec 25 05:38:43 GMT 2003  Olly Betts <olly@survex.com>
33762         * backends/quartz/quartz_utils.h: Updated explanation of string
33763           encoding.
33765 Thu Dec 25 05:37:36 GMT 2003  Olly Betts <olly@survex.com>
33767         * backends/quartz/quartz_values.cc: Fixed problem with dereferencing
33768           a pointer to the end of a string in debug output.
33770 Sun Dec 21 23:35:49 GMT 2003  Olly Betts <olly@survex.com>
33772         * backends/quartz/quartz_postlist.cc: Refactor recently relocated code
33773           to reduce duplication.
33775 Sun Dec 21 21:44:07 GMT 2003  Olly Betts <olly@survex.com>
33777         * backends/quartz/quartz_postlist.cc: Renamed
33778           skip_and_check_tname_in_key() to check_tname_in_key() as it doesn't
33779           do any sort of skipping!
33781 Sun Dec 21 14:54:49 GMT 2003  Olly Betts <olly@survex.com>
33783         * backends/quartz/quartz_postlist.cc,backends/quartz/quartz_postlist.h,
33784           tests/quartztest.cc: Subsumed QuartzPostList::add_entry and
33785           QuartzPostList::delete_entry into QuartzPostList::merge_changes.
33787 Sun Dec 21 03:21:42 GMT 2003  Olly Betts <olly@survex.com>
33789         * backends/quartz/quartz_database.cc,
33790           backends/quartz/quartz_postlist.cc,
33791           backends/quartz/quartz_postlist.h: Move merging on postlist changes
33792           into QuartzPostList in preparation for an efficient
33793           reimplementation.
33795 Sun Dec 21 01:47:07 GMT 2003  Olly Betts <olly@survex.com>
33797         * backends/quartz/quartz_postlist.h,
33798           backends/quartz/quartz_table_entries.h: Fixed typos and incorrect
33799           comments.
33801 Sat Dec 20 22:11:26 GMT 2003  Olly Betts <olly@survex.com>
33803         * backends/quartz/: Removed several needless inclusions of
33804           quartz_table_entries.h.
33806 Sat Dec 20 16:31:46 GMT 2003  Olly Betts <olly@survex.com>
33808         * backends/quartz/,docs/quartzdesign.html: Removed all the quartz
33809           lexicon code and docs.  It's been disabled for ages, and we've
33810           not missed it.
33812 Sat Dec 20 01:21:47 GMT 2003  Olly Betts <olly@survex.com>
33814         * backends/quartz/quartz_database.h: Added doxygen comments for the
33815           QuartzWritableDatabase members we use to buffer changes.
33817 Sat Dec 20 01:19:10 GMT 2003  Olly Betts <olly@survex.com>
33819         * backends/quartz/quartz_database.cc: Trigger autoflush on
33820           totlen_added + totlen_removed rather than specially tracking the
33821           number of document add/delete/replace operations.
33823 Fri Dec 19 22:51:26 GMT 2003  Olly Betts <olly@survex.com>
33825         * backends/quartz/: Buffer up changes to the postlists and apply them
33826           all at once (at present they're applied inefficiently, but this is
33827           change enables us to apply them with an efficient merge).
33828         * tests/api_db.cc,tests/quartztest.cc: Added a couple of tests, and
33829           commented out some test lines which fail in debug builds.
33831 Sun Dec 14 03:38:55 GMT 2003  Olly Betts <olly@survex.com>
33833         * common/omdebug.cc: Open debug log with flag O_WRONLY so that we can
33834           actually write to it!
33836 Mon Dec 08 01:53:24 GMT 2003  Olly Betts <olly@survex.com>
33838         * HACKING: Update to mention that building from CVS requires
33839           ./configure --enable-maintainer-mode (or use bootstrap).
33841 Mon Dec 01 19:03:00 GMT 2003  Olly Betts <olly@survex.com>
33843         * configure.in: Fixed the "fixed" valgrind test.
33845 Sun Nov 30 23:42:52 GMT 2003  Olly Betts <olly@survex.com>
33847         * configure.in,testsuite/testsuite.cc: Fix test for valgrind - it
33848           wasn't working correctly when valgrind was installed but was too
33849           a version to support VALGRIND_COUNT_ERRORS and VALGRIND_COUNT_LEAKS.
33851 Wed Nov 26 16:31:19 GMT 2003  Olly Betts <olly@survex.com>
33853         * Makefile.am,extra/Makefile.am: Updated libtool -version-info
33854           parameters for 0.7.5.
33856 Wed Nov 26 15:32:45 GMT 2003  Olly Betts <olly@survex.com>
33858         * NEWS,PLATFORMS,configure.in: Version 0.7.5.
33860 Wed Nov 26 15:31:56 GMT 2003  Olly Betts <olly@survex.com>
33862         * extra/queryparser.yy: Special case stemming language "none".
33864 Tue Nov 25 04:37:50 GMT 2003  Olly Betts <olly@survex.com>
33866         * api/ompositionlistiterator.cc,api/ompostlistiterator.cc,
33867           include/xapian/positioniterator.h,include/xapian/postingiterator.h,
33868           tests/api_db.cc: Added missing default ctors for PostingIterator and
33869           PositionIterator classes; fixed PositionIterator assignment operator.
33871 Tue Nov 25 03:40:11 GMT 2003  Olly Betts <olly@survex.com>
33873         * tests/btreetest.cc: Fixed 2 compiler warnings.
33875 Tue Nov 25 02:47:16 GMT 2003  Olly Betts <olly@survex.com>
33877         * common/,include/xapian/: Fixed incorrect doxygen comments which
33878           resulted in some missing text in the collated API and internal
33879           classes documentation.
33881 Fri Nov 21 03:23:57 GMT 2003  Olly Betts <olly@survex.com>
33883         * Makefile.am,include/xapian/termiterator.h,api/omtermlistiterator.cc:
33884           TermIterator::TermIterator() fix which actually works!
33886 Fri Nov 21 01:14:23 GMT 2003  Olly Betts <olly@survex.com>
33888         * HACKING,configure.in,docs/Makefile.am,extra/Makefile.am: Change to
33889           using AM_MAINTAINER_MODE.  If you're doing development work on
33890           Xapian, you should configure with "--enable-maintainer-mode" and
33891           ideally use GNU make.
33893 Fri Nov 21 01:13:25 GMT 2003  Olly Betts <olly@survex.com>
33895         * include/xapian/termiterator.h,tests/api_nodb.cc: Added TermIterator
33896           default ctor which had disappeared somehow.  Added regression test.
33898 Thu Nov 20 03:19:37 GMT 2003  Olly Betts <olly@survex.com>
33900         * configure.in: Fixed test for fdatasync to work (I suspect a change
33901           in a recent autoconf broke it as it relied on autoconf internal
33902           naming).
33904 Tue Nov 18 17:53:29 GMT 2003  Olly Betts <olly@survex.com>
33906         * extra/Makefile.am: Tweaked workaround for FreeBSD make in VPATH
33907           builds.
33909 Tue Nov 18 17:53:01 GMT 2003  Olly Betts <olly@survex.com>
33911         * extra/queryparsertest.cc: Added another testcase.
33913 Tue Nov 18 17:37:20 GMT 2003  Olly Betts <olly@survex.com>
33915         * docs/: Added first cut of documentation for Xapian::QueryParser
33916           query syntax.
33917         * docs/scalability.html: Fixed typo.
33919 Fri Oct 31 18:17:13 GMT 2003  Olly Betts <olly@survex.com>
33921         * extra/queryparser.yy,extra/queryparsertest.cc: Added support for
33922           term prefixes on phrases and expressions (e.g. author:(twain OR poe)
33923           subject:"space flight").
33925 Tue Oct 28 15:03:01 GMT 2003  Olly Betts <olly@survex.com>
33927         * api/omenquire.cc: Added FIXME comment.
33929 Tue Oct 28 15:01:14 GMT 2003  Olly Betts <olly@survex.com>
33931         * docs/todo.xml: Removed Java from list of language bindings we'd
33932           like to support, as we should have up-to-date Java bindings soon.
33934 Sun Oct 26 20:18:24 GMT 2003  Olly Betts <olly@survex.com>
33936         * bin/quartzcompact.cc: Fix the name that the meta file gets copied
33937           to (was /path/to/dbdirmeta rather than /path/to/dbdir/meta).
33939 Tue Oct 21 22:26:51 BST 2003  Olly Betts <olly@survex.com>
33941         * extra/Makefile.am: Backed out previous change - the original rule
33942           does work, but the build machine had a generated file which stopped
33943           the symlink being generated.
33945 Tue Oct 21 22:14:22 BST 2003  Olly Betts <olly@survex.com>
33947         * extra/Makefile.am: Tweaked rule to symlink queryparser.cc.
33949 Tue Oct 21 17:31:10 BST 2003  Olly Betts <olly@survex.com>
33951         * extra/Makefile.am: Added rule to symlink queryparser.cc from source
33952           tree to build tree - otherwise FreeBSD's make insists on
33953           regenerating it...
33955 Wed Oct 08 14:04:44 BST 2003  Olly Betts <olly@survex.com>
33957         * backends/quartz/.cvsignore,tests/Makefile.am,testsuite/.cvsignore:
33958           Updated to reflect move of libbtreecheck.la from backends/quartz
33959           to testsuite.
33961 Wed Oct 08 13:22:08 BST 2003  Olly Betts <olly@survex.com>
33963         * backends/quartz/btree.cc: Don't pass mode argument to open when we
33964           aren't specifying O_CREAT.
33966 Thu Oct 02 15:29:38 BST 2003  Olly Betts <olly@survex.com>
33968         * NEWS: Another entry for omega for 0.7.4.
33970 Thu Oct 02 14:57:25 BST 2003  Olly Betts <olly@survex.com>
33972         * configure.in,extra/Makefile.am: Version 0.7.4.
33974 Thu Oct 02 14:56:36 BST 2003  Olly Betts <olly@survex.com>
33976         * HACKING: Improved wording in a few places.
33978 Thu Oct 02 14:39:49 BST 2003  Olly Betts <olly@survex.com>
33980         * NEWS: Updated.
33982 Thu Oct 02 13:35:46 BST 2003  Olly Betts <olly@survex.com>
33984         * xapian.spec.in: Don't hardcode the shared library versioning info.
33986 Wed Oct 01 13:51:15 BST 2003  Olly Betts <olly@survex.com>
33988         * PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ doesn't actually
33989           pass "make check" (I forgot the tinderbox builds omega before "make
33990           check").
33992 Tue Sep 30 21:39:20 BST 2003  Olly Betts <olly@survex.com>
33994         * configure.in: Another stab at fixing the test for -lsocket.
33996 Tue Sep 30 18:29:31 BST 2003  Olly Betts <olly@survex.com>
33998         * configure.in: Quote arguments to test in a couple of places.
34000 Tue Sep 30 11:20:09 BST 2003  Olly Betts <olly@survex.com>
34002         * configure.in: Fixed test for -lsocket.
34004 Tue Sep 30 10:17:09 BST 2003  Olly Betts <olly@survex.com>
34006         * PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ builds and passes
34007           "make check" (but Omega fails to build).
34009 Mon Sep 29 00:41:19 BST 2003  Olly Betts <olly@survex.com>
34011         * configure.in: Fixed dependency libs for libxapian.
34013 Sun Sep 28 23:55:49 BST 2003  Olly Betts <olly@survex.com>
34015         * Makefile.am,backends/quartz/Makefile.am,
34016           backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h,
34017           bin/Makefile.am,testsuite/Makefile.am,testsuite/btreecheck.cc,
34018           testsuite/btreecheck.h: libbtreecheck.la now has an explicit
34019           dependency on libxapian.la.
34021 Sun Sep 28 17:29:55 BST 2003  Olly Betts <olly@survex.com>
34023         * Makefile.am,configure.in: Tell libtool about any libraries which
34024           libxapian needs to depend on.
34026 Fri Sep 26 09:39:29 BST 2003  Olly Betts <olly@survex.com>
34028         * bin/Makefile.am: Swap order of libbtreecheck.la and libxapian.la
34029           when linking quartzcheck to see if that gets it to work with
34030           Sun's CC.
34032 Thu Sep 25 17:25:17 BST 2003  Olly Betts <olly@survex.com>
34034         * xapian-config.in: Fixed stupid mistake in previous check-in.
34036 Thu Sep 25 16:50:00 BST 2003  Olly Betts <olly@survex.com>
34038         * xapian-config.in: Link with libxapianqueryparser before libxapian,
34039           since that's the dependency order.
34041 Thu Sep 25 16:43:20 BST 2003  Olly Betts <olly@survex.com>
34043         * include/om/om.h: Updated comment about why we `#include <iostream>'.
34045 Thu Sep 25 13:13:37 BST 2003  Olly Betts <olly@survex.com>
34047         * api/omqueryinternal.cc,backends/database.cc,common/omdebug.cc,
34048           common/omstringstream.h,include/xapian/output.h: Removed or replaced
34049           uses of <iostream> and <iosfwd> - we don't need or want the library
34050           to pull in cin and friends.
34052 Thu Sep 25 13:12:31 BST 2003  Olly Betts <olly@survex.com>
34054         * Makefile.am: Improved several comments.
34056 Thu Sep 25 11:57:03 BST 2003  Olly Betts <olly@survex.com>
34058         * api/omqueryinternal.cc: Removed `#include <iostream>' left over from
34059           debugging; changed to `using namespace std;'.
34061 Mon Sep 15 00:41:10 BST 2003  Olly Betts <olly@survex.com>
34063         * extra/queryparser.yy: Fixed to build with Sun's C++ compiler.
34065 Thu Sep 11 03:35:29 BST 2003  Olly Betts <olly@survex.com>
34067         * dummy.c,dummy.cc,Makefile.am: Change the default file to be C++ so
34068           that automake tells libtool that this is a C++ library.
34069         * Makefile.am: Pass -no-undefined to libtool so that it will build
34070           a DLL on MS Windows.
34072 Wed Sep 10 02:53:46 BST 2003  Olly Betts <olly@survex.com>
34074         * docs/scalability.html: Fixed oops (32GB should be 32TB);  Added
34075           note about Linux 2.4 and ext2 filesize limits.
34077 Tue Sep 09 03:36:05 BST 2003  Olly Betts <olly@survex.com>
34079         * backends/quartz/quartz_database.cc: don't start the document's
34080           TermIterator from scratch on every iteration in replace_document().
34081           Should be a small performance win.
34083 Sun Sep 07 22:17:27 BST 2003  Olly Betts <olly@survex.com>
34085         * configure.in: Fixed check for socketpair - we were automatically
34086           disabling the remote backend on platforms where socketpair is
34087           in libsocket (such as Solaris).
34089 Sun Sep 07 19:56:57 BST 2003  Olly Betts <olly@survex.com>
34091         * PLATFORMS: Added success report for cygwin from Eric B. Ridge.
34093 Sun Sep 07 03:53:48 BST 2003  Olly Betts <olly@survex.com>
34095         * testsuite/testsuite.cc: Also need to rerun test if it "probably
34096           leaked".
34098 Sun Sep 07 03:51:37 BST 2003  Olly Betts <olly@survex.com>
34100         * tests/api_db.cc: Use x & (x - 1) trick to check for x being a power
34101           of 2, rather than an elaborate loop with shifting; use Xapian::docid
34102           rather than "int" and "unsigned int".
34104 Sun Sep 07 02:24:06 BST 2003  Olly Betts <olly@survex.com>
34106         * api/omenquire.cc: Fixed small memory leak if
34107           Xapian::Enquire::set_query() is called more than once.
34109 Sun Sep 07 02:12:47 BST 2003  Olly Betts <olly@survex.com>
34111         * common/omenquireinternal.h,include/xapian/enquire.h: Fixed
34112           Xapian::ESet to have reference counted internals
34113         * Makefile.am: bumped libxapian version-info to 1:0:0 because of this.
34115 Sun Sep 07 02:09:50 BST 2003  Olly Betts <olly@survex.com>
34117         * testsuite/testsuite.cc: Delete any buffered test output before
34118           asking valgrind to check for leaks, as otherwise the buffered
34119           output may be reported as a leak; also fixed |= to != in several
34120           places - a cosmetic bug which lead to extra newlines after test
34121           output.
34123 Sun Sep 07 00:09:32 BST 2003  Olly Betts <olly@survex.com>
34125         * testsuite/testsuite.cc: Actually open temporary file for valgrind
34126           to log to.
34128 Sat Sep 06 20:50:58 BST 2003  Olly Betts <olly@survex.com>
34130         * configure.in,testsuite/testsuite.cc: Fixed up detection of valgrind
34131           and testsuite code to use it.
34133 Sat Sep 06 20:48:17 BST 2003  Olly Betts <olly@survex.com>
34135         * tests/btreetest.cc: Reinstated non-superfluous `/'s which I had
34136           overeagerly removed!
34138 Sat Sep 06 17:28:00 BST 2003  Olly Betts <olly@survex.com>
34140         * matcher/Makefile.am: Ship networkmatch.cc even if "make dist" is run
34141           from a tree with the remote backend disabled.
34143 Thu Aug 28 00:01:22 BST 2003  Olly Betts <olly@survex.com>
34145         * tests/btreetest.cc: Removed superfluous `/'s from constructed paths.
34147 Fri Aug 15 15:12:24 BST 2003  Olly Betts <olly@survex.com>
34149         * PLATFORMS: Updated with current testsuite results for mingw build.
34151 Fri Aug 15 15:10:59 BST 2003  Olly Betts <olly@survex.com>
34153         * backends/quartz/btree.cc: Use O_BINARY for database I/O if it
34154           exists.
34156 Fri Aug 15 15:10:30 BST 2003  Olly Betts <olly@survex.com>
34158         * common/utils.h: mkdir() only takes one argument on mingw.
34160 Fri Aug 15 01:26:22 BST 2003  Olly Betts <olly@survex.com>
34162         * common/utils.h,testsuite/backendmanager.cc: Touch file using
34163           open() rather than system().
34165 Fri Aug 15 01:06:06 BST 2003  Olly Betts <olly@survex.com>
34167         * common/utils.h: Fixed parameter name of system from "filename" to
34168           "command" (cosmetic change).
34170 Thu Aug 14 22:31:23 BST 2003  Olly Betts <olly@survex.com>
34172         * net/progclient.cc: Tidied a little.
34174 Tue Aug 12 12:50:19 BST 2003  Olly Betts <olly@survex.com>
34176         * backends/quartz/quartz_database.cc: Pass 0 for the lexicon/postlist
34177           table when creating a termlist just to find the doc length.
34179 Tue Aug 12 02:08:50 BST 2003  Olly Betts <olly@survex.com>
34181         * api/maptermlist.h,api/omdocument.cc,common/documentterm.h:
34182           Removed unused OmDocumentTerm::termfreq member variable.
34184 Tue Aug 12 00:53:02 BST 2003  Olly Betts <olly@survex.com>
34186         * api/omdocument.cc,common/documentterm.h: OmDocumentTerm ctor now
34187           takes wdf, and replaced set_wdf() with inc_wdf() and dec_wdf().
34189 Mon Aug 11 16:11:26 BST 2003  Olly Betts <olly@survex.com>
34191         * backends/quartz/quartz_table_entries.cc: Removed rather unnecessary
34192           use of const_cast.
34194 Mon Aug 11 16:11:05 BST 2003  Olly Betts <olly@survex.com>
34196         * backends/quartz/quartz_table.cc: Removed unused variable.
34198 Mon Aug 11 16:09:57 BST 2003  Olly Betts <olly@survex.com>
34200         * backends/quartz/quartz_postlist.cc: Fixed typo in comment.
34202 Mon Aug 11 15:51:20 BST 2003  Olly Betts <olly@survex.com>
34204         * tests/quartztest.cc: adddoc2 now checks that there weren't any extra
34205           values created.
34207 Mon Aug 11 12:55:49 BST 2003  Olly Betts <olly@survex.com>
34209         * configure.in: Sorted out tests for gethostbyname and gethostbyaddr
34210           using standard autoconf macros.
34212 Mon Aug 11 12:05:13 BST 2003  Olly Betts <olly@survex.com>
34214         * common/match.h,matcher/: Removed unused open_document() method from
34215           SubMatch and derived classes; calls made by the matcher to
34216           Document::Internal::open_document() now use the lazy flag provided
34217           for precisely this purpose, but apparently never used - this should
34218           give quite a speed boost to any matcher options which use values
34219           (e.g. sort, collapse).
34221 Sun Aug 10 02:25:59 BST 2003  Olly Betts <olly@survex.com>
34223         * PLATFORMS: Out of curiosity, I tried to build with a Linux->DJGPP
34224           cross-compiler I had to hand.  It built (just had to disable the
34225           remote backend if socketpair isn't found and add the workaround for
34226           not having snprintf).
34228 Sun Aug 10 01:38:17 BST 2003  Olly Betts <olly@survex.com>
34230         * common/utils.cc: Fixed to compile if snprintf isn't available.
34232 Sun Aug 10 01:37:44 BST 2003  Olly Betts <olly@survex.com>
34234         * backends/quartz/btree.cc: Fixed "initialisation reordered" warning.
34236 Sun Aug 10 01:26:58 BST 2003  Olly Betts <olly@survex.com>
34238         * acinclude.m4: Updated in line with previous change.
34240 Sun Aug 10 01:00:08 BST 2003  Olly Betts <olly@survex.com>
34242         * configure.in: If fork is found, but socketpair isn't, automatically
34243           disable the remote backend rather than configure dying with an
34244           error.
34245         * autoconf/: Removed various unused autoconf macros.
34247 Sat Aug 09 23:57:44 BST 2003  Olly Betts <olly@survex.com>
34249         * backends/quartz/btree.h: Made "overwritten" protected.
34251 Sat Aug 09 23:45:26 BST 2003  Olly Betts <olly@survex.com>
34253         * docs/quartzdesign.html: Wrapped an overlong line.
34255 Sat Aug 09 23:31:30 BST 2003  Olly Betts <olly@survex.com>
34257         * backends/quartz/btree.cc,backends/quartz/btree.h,
34258           backends/quartz/quartz_table.cc,docs/quartzdesign.html:
34259           Improved class Btree's encapsulation.
34261 Sat Aug 09 22:30:13 BST 2003  Olly Betts <olly@survex.com>
34263         * NEWS: Fixed a few typos.
34265 Sat Aug 09 22:29:52 BST 2003  Olly Betts <olly@survex.com>
34267         * PLATFORMS: Updated with results from the Tinderbox.
34269 Sat Aug 09 22:19:12 BST 2003  Fabrice Colin
34271         * xapian.spec.in: Updated RPM packaging to reflect changes in 0.7.3.
34273 Fri Aug 08 01:38:40 BST 2003  Olly Betts <olly@survex.com>
34275         * Makefile.am,configure.in,extra/Makefile.am: Version 0.7.3.
34277 Fri Aug 08 01:35:04 BST 2003  Olly Betts <olly@survex.com>
34279         * NEWS: Updated.
34281 Fri Aug 08 01:34:29 BST 2003  Olly Betts <olly@survex.com>
34283         * PLATFORMS: Updated with more tinderbox results.
34285 Wed Aug 06 16:27:34 BST 2003  Olly Betts <olly@survex.com>
34287         * HACKING: Noted that libtool 1.5 is the first version to actually
34288           support linking C++ libraries properly.
34290 Wed Aug 06 16:25:15 BST 2003  Olly Betts <olly@survex.com>
34292         * api/omenquire.cc,net/socketcommon.cc,common/omenquireinternal.h:
34293           Moved rset serialisation into a method of RSet::Internal, so
34294           omrset_to_string() is now just glue code.  This eliminates the
34295           need for it to be a friend of RSet::Internal which Sun's C++
34296           compiler didn't seem to be able to cope with.
34298 Wed Aug 06 01:57:11 BST 2003  Olly Betts <olly@survex.com>
34300         * api/omenquire.cc: Applied patch from Olivier Galibert to fix
34301           MSetIterator::get_document() when get_mset() was called with
34302           first != 0.
34303         * tests/api_db.cc: Added regression test (msetiterator3).
34305 Mon Aug 04 12:40:25 BST 2003  Olly Betts <olly@survex.com>
34307         * languages/Makefile.am: Fixed compilation for compilers other than
34308           GCC.
34310 Wed Jul 30 17:03:14 BST 2003  Olly Betts <olly@survex.com>
34312         * common/getopt.h: Another try - the previous one failed on FreeBSD.
34314 Wed Jul 30 15:07:58 BST 2003  Olly Betts <olly@survex.com>
34316         * common/getopt.h: Another iteration of the getopt C++ prototype fix
34317           as the previous one failed on Solaris.
34319 Wed Jul 30 02:38:47 BST 2003  Olly Betts <olly@survex.com>
34321         * testsuite/backendmanager.cc: Fixed breakage caused by remotetest
34322           cleanup.
34324 Tue Jul 29 13:22:20 BST 2003  Olly Betts <olly@survex.com>
34326         * tests/remotetest.cc: Cleaned up uses of
34327           BackendManager::get_database() to pass a string rather than a vector
34328           with one string in.
34330 Tue Jul 29 11:58:21 BST 2003  Olly Betts <olly@survex.com>
34332         * testsuite/testutils.cc: Added output of const vector<unsigned int>
34333           for platforms which use our internal stringstream implementation.
34335 Tue Jul 29 11:42:54 BST 2003  Olly Betts <olly@survex.com>
34337         * PLATFORMS: Updated with results from the tinderbox.
34339 Tue Jul 29 01:21:53 BST 2003  Olly Betts <olly@survex.com>
34341         * testsuite/testsuite.cc,testsuite/testsuite.h: Only use \r in test
34342           output if the output is a tty.
34344 Mon Jul 28 23:56:10 BST 2003  Olly Betts <olly@survex.com>
34346         * xapian-config.in: Fixed fix of --cxxflags for uninstalled VPATH
34347           builds.
34349 Mon Jul 28 23:37:15 BST 2003  Olly Betts <olly@survex.com>
34351         * testsuite/backendmanager.cc: Increased default timeout used by
34352           tests running on the remote backend from 10 seconds to 5 minutes
34353           to avoid tests failing just because the machine running them is
34354           slow and/or busy.
34356 Mon Jul 28 15:41:12 BST 2003  Olly Betts <olly@survex.com>
34358         * testsuite/testutils.h: Fixed check for broken exception handling
34359           - we were getting "Xapian::" prefixed to one version and not on the
34360           other.
34362 Mon Jul 28 15:34:54 BST 2003  Olly Betts <olly@survex.com>
34364         * tests/runtest.in: Set srcdir if it isn't already to make it easy
34365           to manually run test programs from a VPATH build.
34367 Mon Jul 28 10:38:04 BST 2003  Olly Betts <olly@survex.com>
34369         * xapian-config.in: Fixed --cxxflags for uninstalled VPATH builds.
34371 Mon Jul 28 10:37:17 BST 2003  Olly Betts <olly@survex.com>
34373         * PLATFORMS: Updated FreeBSD success report.
34375 Sun Jul 27 16:01:25 BST 2003  Olly Betts <olly@survex.com>
34377         * configure.in: Explicitly remove include/xapian/version.h from
34378           APIDOC_SRC to avoid us trying to run doxygen unnecessarily.
34380 Sun Jul 27 14:31:36 BST 2003  Olly Betts <olly@survex.com>
34382         * docs/todo.xml: Assorted updates.
34384 Sun Jul 27 13:02:36 BST 2003  Olly Betts <olly@survex.com>
34386         * extra/.cvsignore: We still create libomqueryparser.la for backward
34387           compatibility.
34389 Sun Jul 27 04:56:40 BST 2003  Olly Betts <olly@survex.com>
34391         * xapian-config.in,m4/xapian.m4: Added --from-xo-lib-xapian option
34392           to xapian-config for use by XO_LIB_XAPIAN to allow us to give a
34393           more helpful error message if asked to link an uninstalled
34394           libxapian.
34396 Sun Jul 27 04:46:48 BST 2003  Olly Betts <olly@survex.com>
34398         * xapian-config.in: Fixed --cxxflags in non-installed case.
34399           Tidied up --help output and error messages.
34401 Sun Jul 27 01:40:39 BST 2003  Olly Betts <olly@survex.com>
34403         * tests/api_db.cc: Check termfreq in allterms4.
34405 Sun Jul 27 01:39:57 BST 2003  Olly Betts <olly@survex.com>
34407         * extra/queryparsertest.cc: Fixed for relocated queryparser.h.
34409 Sun Jul 27 00:59:56 BST 2003  Olly Betts <olly@survex.com>
34411         * .cvsignore,backends/quartz/.cvsignore,extra/.cvsignore: Updated.
34413 Sun Jul 27 00:19:11 BST 2003  Olly Betts <olly@survex.com>
34415         * tests/Makefile.am: Oops, failed to remove btreecheck.cc reference
34416           in previous check-in.
34418 Sat Jul 26 23:36:01 BST 2003  Olly Betts <olly@survex.com>
34420         * backends/quartz/Makefile.am,bin/Makefile.am,tests/Makefile.am:
34421           Hopefully fixed "make dist" in VPATH builds.
34423 Sat Jul 26 22:58:27 BST 2003  Olly Betts <olly@survex.com>
34425         * backends/quartz/Makefile.am: Need to distribute btreecheck.cc.
34427 Sat Jul 26 20:05:47 BST 2003  Olly Betts <olly@survex.com>
34429         * xapian-config.in,extra/Makefile.am,extra/queryparser.h,
34430           extra/queryparser.yy,extra/xapian/queryparser.h: Sorted out
34431           xapian-config so it handles using QueryParser too.
34433 Sat Jul 26 19:03:04 BST 2003  Olly Betts <olly@survex.com>
34435         * xapian-config.in: Updated logic in --libs and --cxxflags in line
34436           with recent change in --ltlibs.
34438 Sat Jul 26 18:31:11 BST 2003  Olly Betts <olly@survex.com>
34440         * xapian-config.in: Reworked logic for finding libxapian.la in
34441           --ltlibs - it may not yet exist in the non-installed case.
34442         * m4/xapian.m4: Don't pass --libs when checking if xapian-config
34443           works as it will fail in the non-installed case.
34445 Sat Jul 26 01:25:46 BST 2003  Olly Betts <olly@survex.com>
34447         * NEWS: Updated.
34449 Fri Jul 25 10:20:18 BST 2003  Olly Betts <olly@survex.com>
34451         * NEWS: Updated in preparation for 0.7.3 release.
34453 Thu Jul 24 23:20:14 BST 2003  Olly Betts <olly@survex.com>
34455         * backends/quartz/quartz_alltermslist.cc,
34456           backends/quartz/quartz_alltermslist.h,tests/api_db.cc:
34457           Fixed allterms TermIterator to not give duplicate terms with a
34458           quartz database when a posting list is chunked; added regression
34459           test (allterms4).
34461 Mon Jul 21 15:06:59 BST 2003  Richard Boulton <richard@tartarus.org>
34463         * include/xapian/enquire.h: Fix incorrect documentation comment
34464           for Enquire::set_set_forward().  (Looked like a cut&paste error)
34466 Mon Jul 21 01:10:55 BST 2003  Olly Betts <olly@survex.com>
34468         * docs/install.html,m4/xapian.m4: Added XO_LIB_XAPIAN to replace
34469           OM_PATH_XAPIAN.  XO_LIB_XAPIAN will automagically enable use of
34470           "xapian-config --ltlibs" if A[CM]_PROG_LIBTOOL is used in
34471           configure.in.
34473 Sun Jul 20 16:00:43 BST 2003  Olly Betts <olly@survex.com>
34475         * .cvsignore,Makefile.am,configure.in,xapian-config.in,
34476           xapian-config.nodep.in: Reworked xapian-config so that it
34477           now supports linking with libtool - using libtool means that the
34478           run-time library path is set and that you can now link with an
34479           uninstalled libxapian.  Also xapian-config will now work
34480           once configure is run, rather than only after "make all".
34482 Thu Jul 17 01:42:47 BST 2003  Olly Betts <olly@survex.com>
34484         * backends/quartz/bcursor.cc,backends/quartz/btree.cc: Check for
34485           EINTR when reading or writing blocks and retry the operation.
34487 Thu Jul 17 00:56:35 BST 2003  Olly Betts <olly@survex.com>
34489         * COPYING: Updated FSF address, and reinstated missing section: "How
34490           to Apply These Terms to Your New Programs"
34492 Thu Jul 17 00:48:40 BST 2003  Olly Betts <olly@survex.com>
34494         * HACKING,bootstrap: Removed bootstrap in favour of top-level
34495           bootstrap.
34497 Mon Jul 14 23:36:14 BST 2003  Olly Betts <olly@survex.com>
34499         * PLATFORMS: Updated some linux results: RH7.3 on x86, and Debian on
34500           alpha and arm.
34502 Mon Jul 14 23:33:17 BST 2003  Olly Betts <olly@survex.com>
34504         * configure.in,Makefile.am,extra/Makefile.am: Added versioning
34505           information to libxapian and libomqueryparser.
34507 Mon Jul 14 23:32:15 BST 2003  Olly Betts <olly@survex.com>
34509         * bin/quartzdump.cc,testsuite/testsuite.cc: Added long option support
34510           to quartzdump, and to the testsuite programs.
34512 Mon Jul 14 22:45:53 BST 2003  Olly Betts <olly@survex.com>
34514         * tests/internaltest.cc: Changed test exception1 to actually test
34515           something (hopefully what was originally intended!)
34517 Mon Jul 14 17:15:28 BST 2003  Olly Betts <olly@survex.com>
34519         * common/getopt.h: #include <stdlib.h> before defining getopt as a
34520           macro - hopefully that'll avoid problems with clobbering prototypes
34521           of getopt() in system headers.
34523 Sat Jul 12 09:15:26 BST 2003  Olly Betts <olly@survex.com>
34525         * bin/quartzcompact.cc: Need stdio.h for rename().
34527 Sat Jul 12 01:11:54 BST 2003  Olly Betts <olly@survex.com>
34529         * HACKING: Noted another reason why libtool 1.5 is needed.
34531 Sat Jul 12 01:11:08 BST 2003  Olly Betts <olly@survex.com>
34533         * docs/mkdoc.pl: Don't choke on a comment at the end of the
34534           DIST_SUBDIRS line in a Makefile.am.
34536 Fri Jul 11 22:00:36 BST 2003  Olly Betts <olly@survex.com>
34538         * HACKING: Added note about additional tools needed for building a
34539           distribution.
34541 Fri Jul 11 15:13:08 BST 2003  Olly Betts <olly@survex.com>
34543         * NEWS,PLATFORMS,configure.in: Version 0.7.2.
34545 Fri Jul 11 12:36:18 BST 2003  Olly Betts <olly@survex.com>
34547         * NEWS: Updated in preparation for 0.7.2.
34549 Fri Jul 11 12:12:40 BST 2003  Olly Betts <olly@survex.com>
34551         * configure.in: Fixed test for snprintf.
34553 Fri Jul 11 09:37:14 BST 2003  Olly Betts <olly@survex.com>
34555         * testsuite/testsuite.cc: Fixed dereference of a NULL pointer which
34556           was happening when a test threw an unexpected exception.
34558 Fri Jul 11 09:31:40 BST 2003  Olly Betts <olly@survex.com>
34560         * testsuite/backendmanager.cc: Backed out incorrect hunk of previous
34561           patch which was causing test failures.
34563 Fri Jul 11 01:48:21 BST 2003  Olly Betts <olly@survex.com>
34565         * backends/quartz/quartz_table_manager.cc,tests/quartztest.cc,
34566           testsuite/backendmanager.cc: Tidying up around directory creation.
34568 Fri Jul 11 00:57:12 BST 2003  Olly Betts <olly@survex.com>
34570         * include/xapian/database.h: Document that the directory is created.
34572 Fri Jul 11 00:53:59 BST 2003  Olly Betts <olly@survex.com>
34574         * backends/quartz/quartz_table_manager.cc: When asked to create a
34575           quartz database, try to create the directory if it doesn't already
34576           exist.  Then we don't have to do it in every single Xapian program
34577           which wants to create a database...
34579 Fri Jul 11 00:36:00 BST 2003  Olly Betts <olly@survex.com>
34581         * common/getopt.h: Removed space between \ and newline.
34583 Fri Jul 11 00:32:40 BST 2003  Olly Betts <olly@survex.com>
34585         * PLATFORMS: Added MacOS X 10.2 success report.
34587 Thu Jul 10 20:05:58 BST 2003  Olly Betts <olly@survex.com>
34589         * common/getopt.h: Fixed to work better with C++ compilers on
34590           non-glibc platforms.
34592 Thu Jul 10 19:21:00 BST 2003  Olly Betts <olly@survex.com>
34594         * backends/quartz/btree.cc: Modified setting of _XOPEN_SOURCE to
34595           actually work!
34597 Thu Jul 10 19:19:30 BST 2003  Olly Betts <olly@survex.com>
34599         * backends/quartz/btree.cc: Defined _XOPEN_SOURCE=500 for GLIBC
34600           so we get pread() and pwrite().
34602 Thu Jul 10 00:28:25 BST 2003  Olly Betts <olly@survex.com>
34604         * HACKING,Makefile.am,configure.in,bindings/.cvsignore,
34605           bindings/Makefile.am,bindings/dir_contents,bindings/guile/.cvsignore,
34606           bindings/guile/Makefile.am,bindings/php4/.cvsignore,
34607           bindings/php4/ABOUT,bindings/php4/Makefile.am,bindings/python/,
34608           bindings/swig/,bindings/tcl8/.cvsignore,bindings/tcl8/Makefile.am,
34609           docs/todo.xml: Removed bindings - they'll shortly reappear in a
34610           separate module named xapian-bindings.
34612 Thu Jul 10 00:03:04 BST 2003  Olly Betts <olly@survex.com>
34614         * bindings/swig/om_util_perl5.i: Removed.
34616 Wed Jul 09 15:35:56 BST 2003  Olly Betts <olly@survex.com>
34618         * bindings/guile/Makefile.am,bindings/php4/Makefile.am,
34619           bindings/python/Makefile.am,bindings/swig/,
34620           bindings/tcl8/Makefile.am: Removed omtypes.i and merged omstem.i
34621           into xapian.i; added forward declaration for upwrapped classes
34622           to xapian.i.
34624 Wed Jul 09 15:34:11 BST 2003  Olly Betts <olly@survex.com>
34626         * bindings/java/,bindings/java/com/muscat/om/,bindings/java/native/:
34627           Removed old Java bindings - we'll do them using SWIG instead.
34629 Wed Jul 09 14:51:51 BST 2003  Olly Betts <olly@survex.com>
34631         * bindings/php4/Makefile.am,bindings/php4/xapian/.cvsignore: More
34632           work on the php4 bindings.
34634 Wed Jul 09 03:00:17 BST 2003  Olly Betts <olly@survex.com>
34636         * bindings/guile/Makefile.am,bindings/python/Makefile.am,
34637           bindings/tcl8/Makefile.am: Worked towards getting guile and tcl8
34638           bindings up-to-date.
34639         * bindings/php4/.cvsignore: Ignore the whole xapian subdirectory.
34641 Wed Jul 09 02:37:12 BST 2003  Olly Betts <olly@survex.com>
34643         * bindings/perl5/: Removed remaining files.
34645 Wed Jul 09 02:30:55 BST 2003  Olly Betts <olly@survex.com>
34647         * configure.in,bindings/Makefile.am,bindings/php4/Makefile.am:
34648           Working towards getting the php4 bindings functional again.
34650 Wed Jul 09 01:27:39 BST 2003  Olly Betts <olly@survex.com>
34652         * bindings/swig/om_util_php4.i: om_termname -> std::string.
34654 Wed Jul 09 01:25:11 BST 2003  Olly Betts <olly@survex.com>
34656         * docs/overview.html,include/xapian/base.h,include/xapian/database.h:
34657           Improvements to doxygen-generated documentation.
34659 Wed Jul 09 01:23:55 BST 2003  Olly Betts <olly@survex.com>
34661         * configure.in,docs/todo.xml: Added check for SWIG version (require
34662           at least 1.3.14).
34664 Tue Jul  8 20:59:08 2003  James Aylett  <james@tartarus.org>
34666         * common/utils.h: missing #include <ctype.h>
34668 Tue Jul  8 18:06:23 2003  James Aylett  <james@tartarus.org>
34670         * bindings/swig/xapian.i: over-enthusiastic automatic
34671           conversion of termname to std::string
34673 Tue Jul 08 17:45:16 BST 2003  Olly Betts <olly@survex.com>
34675         * common/utils.h: Improved mingw implementation of rmdir().
34677 Tue Jul 08 17:43:21 BST 2003  Olly Betts <olly@survex.com>
34679         * NEWS,PLATFORMS,configure.in: Version 0.7.1.
34681 Sun Jul 06 21:35:08 BST 2003  Olly Betts <olly@survex.com>
34683         * backends/quartz/btree.cc: Minor tweak.
34685 Sun Jul 06 21:34:30 BST 2003  Olly Betts <olly@survex.com>
34687         * common/utils.h: Compile fixes for mingw.
34689 Sun Jul 06 17:59:26 BST 2003  Olly Betts <olly@survex.com>
34691         * docs/scalability.html: Fixed typo.
34693 Sun Jul 06 13:02:09 BST 2003  Olly Betts <olly@survex.com>
34695         * docs/scalability.html: Fixed typo.
34697 Sun Jul 06 12:56:08 BST 2003  Olly Betts <olly@survex.com>
34699         * docs/Makefile.am,docs/index.html,docs/scalability.html: Added new
34700           document on Xapian's scalability.
34702 Sun Jul 06 12:15:34 BST 2003  Olly Betts <olly@survex.com>
34704         * backends/quartz/: Made quartz block count unsigned, which should
34705           nearly double the size of database for a given block size.
34707 Sun Jul 06 11:47:46 BST 2003  Olly Betts <olly@survex.com>
34709         * backends/quartz/: Use BLK_UNUSED rather than literal -1.
34711 Sun Jul 06 11:47:14 BST 2003  Olly Betts <olly@survex.com>
34713         * common/utils.h: Fixed last check-in to compile.
34715 Sun Jul 06 11:01:03 BST 2003  Olly Betts <olly@survex.com>
34717         * common/utils.h,tests/btreetest.cc,tests/quartztest.cc,
34718           testsuite/backendmanager.cc: Replaced system("rm -rf ...") with
34719           rmdir() function and added two ms windows implementations for
34720           Sam to try.
34722 Sat Jul 05 10:37:35 BST 2003  Olly Betts <olly@survex.com>
34724         * getopt/getopt.c: Suppress "unused variable" warnings from getopt.c.
34726 Sat Jul 05 02:21:11 BST 2003  Olly Betts <olly@survex.com>
34728         * docs/todo.xml: Updated.
34730 Sat Jul 05 02:09:06 BST 2003  Olly Betts <olly@survex.com>
34732         * configure.in,backends/quartz/btree.cc: Use pread() and pwrite() if
34733           available - this avoids one syscall per block read/write.
34735 Fri Jul 04 22:05:14 BST 2003  Olly Betts <olly@survex.com>
34737         * PLATFORMS: Added results from building 0.7.0 on my Linux dev box.
34739 Fri Jul 04 18:52:07 BST 2003  Olly Betts <olly@survex.com>
34741         * extra/Makefile.am: Distribute symboltab.h.
34743 Fri Jul 04 18:04:53 BST 2003  Olly Betts <olly@survex.com>
34745         * common/Makefile.am: Distribute documentterm.h.
34747 Fri Jul 04 15:30:28 BST 2003  Olly Betts <olly@survex.com>
34749         * configure.in: Disabled guile, tcl8, and php4 here as well as in
34750           bindings/Makefile.am.
34752 Fri Jul  4 11:27:53 2003  James Aylett  <james@tartarus.org>
34754         * bindings/Makefile.am: change commenting so mkdoc.pl doesn't
34755           choke
34757 Fri Jul  4 10:51:04 2003  James Aylett  <james@tartarus.org>
34759         * bootstrap: add missing ';;' as case pattern delimiter
34761 Thu Jul 03 23:46:14 BST 2003  Olly Betts <olly@survex.com>
34763         * bindings/Makefile.am,bindings/python/Makefile.am: Fixed to work with
34764           "make dist".
34766 Thu Jul 03 23:29:06 BST 2003  Olly Betts <olly@survex.com>
34768         * NEWS,PLATFORMS,configure.in: Version 0.7.0.
34770 Thu Jul 03 22:57:22 BST 2003  Olly Betts <olly@survex.com>
34772         * PLATFORMS: Updated (Linux GCC 2.95 and Linux to mingw cross).
34774 Thu Jul 03 22:55:54 BST 2003  Olly Betts <olly@survex.com>
34776         * extra/queryparser.yy,extra/queryparsertest.cc: Allow more than one
34777           adjacent phrase generating character.
34779 Thu Jul 03 22:12:18 BST 2003  Olly Betts <olly@survex.com>
34781         * extra/queryparser.yy,extra/queryparsertest.cc: Always ignore phrase
34782           generating characters at start and end of query.
34784 Thu Jul 03 21:02:10 BST 2003  Olly Betts <olly@survex.com>
34786         * extra/Makefile.am: Fixed for mingw compile.
34788 Thu Jul 03 19:24:50 BST 2003  Olly Betts <olly@survex.com>
34790         * buildall,docs/OMAims: Removed unwanted old files.
34792 Thu Jul 03 19:18:41 BST 2003  Olly Betts <olly@survex.com>
34794         * backends/quartz/runquartztest: Obsolete, so removed.
34796 Thu Jul 03 01:26:03 BST 2003  Olly Betts <olly@survex.com>
34798         * common/omenquireinternal.h: Fix for building with GCC 3.3.
34800 Thu Jul 03 01:02:54 BST 2003  Olly Betts <olly@survex.com>
34802         * NEWS: Updated.
34804 Wed Jul 02 22:18:07 BST 2003  Olly Betts <olly@survex.com>
34806         * backends/quartz/bcursor.cc,backends/quartz/bcursor.h:
34807           Made Bcursor::get_key(string * key) const.
34809 Wed Jul 02 21:51:43 BST 2003  Olly Betts <olly@survex.com>
34811         * backends/quartz/: Workaround for shared_level problem turns out to
34812           be arguably the better approach, so made it permanent and tidied up
34813           code.
34815 Mon Jun 23 21:39:50 BST 2003  Olly Betts <olly@survex.com>
34817         * NEWS: Updated in preparation for 0.7.0 release.
34819 Mon Jun 23 21:18:23 BST 2003  Olly Betts <olly@survex.com>
34821         * extra/omparsequery.h: Corrected include protection token comment on
34822           #endif to match that used in the #ifdef.
34824 Mon Jun 23 21:10:33 BST 2003  Olly Betts <olly@survex.com>
34826         * bootstrap: Check for Bison 1.875 which doesn't work with Xapian.
34828 Mon Jun 23 21:08:35 BST 2003  Olly Betts <olly@survex.com>
34830         * HACKING: Automake 1.7 works reliably with Xapian; CFLAGS=-Werror can
34831           now be used as we suppress the warnings from the Snowball generated
34832           C code.
34834 Mon Jun 23 16:55:54 BST 2003  Olly Betts <olly@survex.com>
34836         * api/,backends/inmemory/inmemory_database.cc,
34837           backends/inmemory/inmemory_database.h,backends/quartz/,
34838           bindings/swig/om_util_python.i,bindings/swig/xapian.i,common/,
34839           include/Makefile.am,include/xapian.h,include/om/om.h,include/xapian/,
34840           matcher/localmatch.h,matcher/phrasepostlist.h,tests/api_db.cc,
34841           tests/api_posdb.cc,tests/quartztest.cc:
34842           Xapian::Xapian::PostListIterator -> Xapian::PostingIterator;
34843           Xapian::PositionListIterator -> Xapian::PositionIterator;
34844           xapian/postlistiterator.h -> xapian/postingiterator.h;
34845           xapian/positionlistiterator.h -> xapian/positioniterator.h.
34847 Mon Jun 23 15:31:30 BST 2003  Olly Betts <olly@survex.com>
34849         * backends/database.cc,backends/inmemory/inmemory_database.h,
34850           backends/muscat36/,backends/quartz/,bindings/python/Makefile.am,
34851           bindings/swig/om_util.i,bindings/swig/omstem.i,docs/quickstart.html,
34852           docs/todo.xml,include/xapian/database.h,include/xapian/enquire.h,
34853           include/xapian/errortypes.h,tests/api_db.cc,tests/quartztest.cc,
34854           testsuite/backendmanager.cc,testsuite/textfile_indexer.cc:
34855           Xapian::OpeningError renamed to Xapian::DatabaseOpeningError.
34856         * include/om/om.h: OmOpeningError now maps to
34857           Xapian::DatabaseOpeningError.
34859 Mon Jun 23 01:44:45 BST 2003  Olly Betts <olly@survex.com>
34861         * api/,backends/inmemory/inmemory_database.cc,
34862           backends/muscat36/da_database.cc,backends/muscat36/db_database.cc,
34863           backends/net/net_database.cc,backends/net/net_termlist.cc,
34864           backends/net/net_termlist.h,backends/quartz/,bin/omprogsrv.cc,
34865           bin/quartzdump.cc,common/,include/xapian/error.h,
34866           include/xapian/errorhandler.h,matcher/emptymatch.h,net/,
34867           tests/quartztest.cc,tests/stemtest.cc,testsuite/testsuite.cc,
34868           testsuite/textfile_indexer.cc: Use '#include <...>' for headers
34869           in include/.
34871 Thu Jun 19 17:55:07 BST 2003  Olly Betts <olly@survex.com>
34873         * common/netserver.h,common/socketserver.h,matcher/localmatch.cc,
34874           matcher/multimatch.cc,net/socketserver.cc: Removed unused header
34875           inclusion; pass Stats and Xapian::Database by const reference, not
34876           value.
34878 Thu Jun 19 14:50:49 BST 2003  Olly Betts <olly@survex.com>
34880         * extra/queryparser.yy,extra/symboltab.h: Force control characters to
34881           spaces; Added note that accent normalisation is perhaps done at the
34882           wrong time...
34884 Thu Jun 19 14:40:36 BST 2003  Olly Betts <olly@survex.com>
34886         * extra/queryparsertest.cc: Added test for control characters.
34888 Thu Jun 19 14:31:12 BST 2003  Olly Betts <olly@survex.com>
34890         * extra/queryparsertest.cc: Added checks for weird whitespace in
34891           queries.
34893 Wed Jun 18 19:02:14 BST 2003  Olly Betts <olly@survex.com>
34895         * extra/queryparser.yy: Reworked parsing of boolean operators to
34896           improve error reporting.
34897         * extra/queryparsertest.cc: Added 2 more testcases and fixed to better
34898           handle tests for expected errors.
34900 Wed Jun 18 19:00:55 BST 2003  Olly Betts <olly@survex.com>
34902         * extra/queryparser.yy: Trim leading and trailing whitespace before
34903           attempting to parse the query.
34905 Wed Jun 18 17:58:56 BST 2003  Olly Betts <olly@survex.com>
34907         * extra/queryparser.yy: `using namespace Xapian;'
34909 Fri Jun 06 01:33:33 BST 2003  Olly Betts <olly@survex.com>
34911         * docs/quartzdesign.html: Commented out the section on the Lexicon,
34912           which we no longer use.
34914 Thu Jun 05 22:40:21 BST 2003  Olly Betts <olly@survex.com>
34916         * bindings/python/.cvsignore,bindings/python/Makefile.am,
34917           bindings/python/dothemake.txt,bindings/swig/om_util_python.i:
34918           Cleaned up building of python bindings by making better use of
34919           automake.
34921 Thu Jun 05 22:17:40 BST 2003  Olly Betts <olly@survex.com>
34923         * languages/Makefile.am: Reenable standard warnings apart from the
34924           -Wunused.
34926 Thu Jun 05 20:21:08 BST 2003  Olly Betts <olly@survex.com>
34928         * api/omqueryinternal.cc: Fixed a couple of problems with the new
34929           query serialisation.
34931 Thu Jun 05 17:55:21 BST 2003  Olly Betts <olly@survex.com>
34933         * HACKING,configure.in: Flex is no longer used, so removed configure
34934           tests and note in HACKING.
34936 Thu Jun 05 17:53:30 BST 2003  Olly Betts <olly@survex.com>
34938         * tests/remotetest.cc: In test netexpand1, use TEST() rather than
34939           Assert() so that the check is made in non-debug builds too.
34941 Thu Jun 05 17:52:17 BST 2003  Olly Betts <olly@survex.com>
34943         * api/omqueryinternal.cc,common/socketcommon.h,docs/todo.xml,
34944           include/xapian/query.h,net/: Reworked query serialisation so that
34945           the code is now all in api/omqueryinternal.cc.  Serialisation is
34946           now rather more compact and no longer relies on flex for parsing.
34948 Thu Jun 05 17:45:00 BST 2003  Olly Betts <olly@survex.com>
34950         * bin/Makefile.am: omprogsrv depends on libtest.la, so it need to be
34951           in check_PROGRAMS.
34953 Thu Jun 05 17:09:10 BST 2003  Olly Betts <olly@survex.com>
34955         * Makefile.am: Moved bindings after extra in SUBDIRS - the bindings
34956           wrap Xapian::QueryParser so they need to be built after it.
34958 Thu Jun 05 01:28:01 BST 2003  Olly Betts <olly@survex.com>
34960         * bindings/python/Makefile.am: Use $(SWIG) (as detected by configure).
34962 Thu Jun 05 00:46:16 BST 2003  Olly Betts <olly@survex.com>
34964         * configure.in,bindings/Makefile.am,bindings/python/Makefile.am:
34965           Check for python and find the correct paths for building python
34966           bindings; Added dependencies for building _xapian.so.
34968 Wed Jun  4 17:19:37 2003  James Aylett  <james@tartarus.org>
34970         * configure.in, Makefile.am, bindings: build system will build
34971           bindings as part of normal build process.  No longer build
34972           Perl or Java bindings; for Perl, use Search::Xapian; Java will
34973           be replaced with SWIG-based bindings.
34975         * bindings: bindings now use Xapian:: namespace names rather than
34976           the old Om* ones. Almost all of the API should now be wrapped.
34978 Wed Jun 04 02:52:38 BST 2003  Olly Betts <olly@survex.com>
34980         * docs/overview.html: Added start of "Design Principles" section.
34981         * docs/todo.xml: Added a couple more items.
34983 Wed Jun 04 02:51:56 BST 2003  Olly Betts <olly@survex.com>
34985         * Makefile.am: Build testsuite later - it now doesn't need to be built
34986           until just before tests.
34988 Wed Jun 04 02:43:08 BST 2003  Olly Betts <olly@survex.com>
34990         * backends/muscat36/: Split up spec into comments in the appropriate
34991           header files; fixed to build after recent Om -> Xapian changes.
34993 Wed Jun 04 01:56:46 BST 2003  Olly Betts <olly@survex.com>
34995         * HACKING: Bison 1.75 and 1.875a both checked with parsequery.yy
34996           - no problems found.
34998 Mon Jun 02 20:14:22 BST 2003  Olly Betts <olly@survex.com>
35000         * ChangeLog.0: Fixed 2 typos.
35002 Mon Jun 02 20:09:01 BST 2003  Olly Betts <olly@survex.com>
35004         * NEWS: Updated in preparation for 0.7.0 release.
35006 Mon Jun 02 16:25:18 BST 2003  Olly Betts <olly@survex.com>
35008         * configure.in: Fix m4 quoting so that MINOR_VERSION is set correctly.
35010 Mon Jun  2 15:22:30 2003  James Aylett  <james@tartarus.org>
35012         * bindings/swig/xapian.i: move QueryParser wrapping to use
35013           the new namespace location, and fix include so it can work
35014           out of the build directory rather than just the installed
35015           library
35017 Mon Jun 02 14:15:14 BST 2003  Olly Betts <olly@survex.com>
35019         * Makefile.am,configure.in,bindings/Makefile.am,docs/todo.xml:
35020           Added --enable-bindings to configure - if this is specified and
35021           swig is detected, try to build the language bindings.
35023 Mon Jun 02 12:46:18 BST 2003  Olly Betts <olly@survex.com>
35025         * backends/database.cc: Fixed parsing of port number in remote stub
35026           databases.
35028 Sat May 31 15:03:47 BST 2003  James Aylett  <james@tartarus.org>
35030         * bindings/swig: update so can build Python bindings against
35031           latest Xapian; untested, and other languages are likely to
35032           fail
35034 Fri May 30 02:59:48 BST 2003  Olly Betts <olly@survex.com>
35036         * extra/queryparser.yy,extra/queryparsertest.cc: Embedded '.' is
35037           now a phrase maker; Ignore `""' in query; Ignore ')' at start
35038           of query.
35040 Fri May 30 01:22:49 BST 2003  Olly Betts <olly@survex.com>
35042         * extra/queryparsertest.cc: Added another 405 queries which fail to
35043           parse (courtesy of Arjen van der Meijden).
35045 Thu May 29 19:08:28 BST 2003  Olly Betts <olly@survex.com>
35047         * docs/todo.xml,extra/queryparsertest.cc: Extracted two more
35048           queryparser testcases which need fixing from the old todo list.
35050 Thu May 29 17:14:04 BST 2003  Olly Betts <olly@survex.com>
35052         * extra/queryparser.yy,extra/queryparsertest.cc: A phrasemaker isn't
35053           a phrasemaker unless it's preceded by an alphanumeric, "+", or "-";
35054           If a single term is in (), ignore the ().
35056 Thu May 29 16:45:39 BST 2003  Olly Betts <olly@survex.com>
35058         * extra/queryparser.yy,extra/queryparsertest.cc: Improved handling
35059           of various odd queries encountered in real life applications.
35061 Thu May 29 01:50:51 BST 2003  Olly Betts <olly@survex.com>
35063         * docs/todo.xml: Updated more.
35065 Thu May 29 01:26:50 BST 2003  Olly Betts <olly@survex.com>
35067         * api/,backends/database.cc,backends/inmemory/,backends/multi/,
35068           backends/muscat36/,backends/net/,backends/quartz/,common/,
35069           docs/overview.html,docs/quickstart.html,
35070           docs/quickstartexpand.cc.html,extra/queryparser.yy,include/om/om.h,
35071           include/xapian/,matcher/,net/,tests/api_db.cc,tests/api_posdb.cc,
35072           tests/quartztest.cc,testsuite/: Converted remaining om_xxx types
35073           to Xapian::xxx.
35075 Wed May 28 23:06:18 BST 2003  Olly Betts <olly@survex.com>
35077         * docs/todo.xml: Updated.
35079 Wed May 28 22:59:17 BST 2003  Olly Betts <olly@survex.com>
35081         * tests/api_db.cc: Spelling correction: accross -> across.
35083 Wed May 28 20:24:32 BST 2003  Olly Betts <olly@survex.com>
35085         * extra/: OmQueryParser -> Xapian::QueryParser, etc.
35087 Wed May 28 20:03:48 BST 2003  Olly Betts <olly@survex.com>
35089         * api/omdocument.cc: Removed include of defunct header
35090           modifieddocument.h.
35092 Wed May 28 20:00:56 BST 2003  Olly Betts <olly@survex.com>
35094         * api/maptermlist.h,api/omdocument.cc,api/omvalueiterator.cc,
35095           backends/inmemory/inmemory_document.cc,
35096           backends/inmemory/inmemory_document.h,backends/muscat36/,
35097           backends/net/net_document.cc,backends/net/net_document.h,
35098           backends/quartz/quartz_document.cc,backends/quartz/quartz_document.h,
35099           common/Makefile.am,common/document.h,common/modifieddocument.h,
35100           include/xapian/document.h,tests/api_db.cc: Fixed bug in refactored
35101           Xapian::Document when modifying a copy.  Added regression test.
35103 Wed May 28 19:23:26 BST 2003  Olly Betts <olly@survex.com>
35105         * common/omenquireinternal.h,include/xapian/database.h,
35106           include/xapian/enquire.h,include/xapian/query.h: Where possible,
35107           declare classes rather than including headers (in public headers).
35109 Wed May 28 17:32:14 BST 2003  Olly Betts <olly@survex.com>
35111         * include/xapian/document.h: Just declare "class TermIterator;" rather
35112           than including <xapian/termiterator.h>.
35114 Tue May 27 16:59:34 BST 2003  Olly Betts <olly@survex.com>
35116         * common/progserver.h,common/socketserver.h,net/socketserver.cc:
35117           Reduced needless header inclusion.
35119 Tue May 27 16:53:40 BST 2003  Olly Betts <olly@survex.com>
35121         * bin/omprogsrv.cc,tests/api_db.cc: Use variable name "dbs" in
35122           preference to "dbgrp".  OmDatabaseGroup hasn't existed for
35123           years!
35125 Tue May 27 16:51:30 BST 2003  Olly Betts <olly@survex.com>
35127         * Makefile.am: Fixed typo: "bin" should be "net" in remote_subdirs.
35129 Tue May 27 02:43:32 BST 2003  Olly Betts <olly@survex.com>
35131         * backends/quartz/Makefile.am: Removed -I referencing testsuite
35132           directory.
35134 Tue May 27 02:39:43 BST 2003  Olly Betts <olly@survex.com>
35136         * backends/quartz/,docs/tests.html,tests/: Moved quartztest and
35137           btreetest to tests/ directory.
35139 Tue May 27 02:03:07 BST 2003  Olly Betts <olly@survex.com>
35141         * Makefile.am,configure.in,xapian.spec.in,backends/quartz/,bin/,
35142           docs/remote.html,netprogs/,tests/api_db.cc,tests/remotetest.cc,
35143           testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out
35144           the source tree structure so that programs which aren't tests which
35145           were previously built by "make check" are now be built by "make".
35147 Tue May 27 01:01:40 BST 2003  Olly Betts <olly@survex.com>
35149         * autoconf/dir_contents,backends/dir_contents,
35150           backends/inmemory/dir_contents,backends/multi/dir_contents,
35151           backends/muscat36/dir_contents,backends/net/dir_contents,
35152           backends/quartz/dir_contents,bindings/dir_contents,
35153           common/dir_contents,docs/dir_contents,include/om/dir_contents,
35154           include/xapian/dir_contents,include/dir_contents,
35155           indexer/dir_contents,indexer/indexgraph/dir_contents,
35156           languages/dir_contents,m4/dir_contents,tests/dir_contents:
35157           Updated all the dir_contents files - many were out-of-date.
35159 Tue May 27 00:42:54 BST 2003  Olly Betts <olly@survex.com>
35161         * Makefile.am: Filter any .la files out of dependency_libs.
35163 Tue May 27 00:11:18 BST 2003  Olly Betts <olly@survex.com>
35165         * netprogs/.cvsignore,netprogs/Makefile.am,netprogs/nettest.cc,
35166           tests/.cvsignore,tests/Makefile.am,tests/remotetest.cc:
35167           netprogs/nettest -> tests/remotetest.
35169 Mon May 26 23:49:49 BST 2003  Olly Betts <olly@survex.com>
35171         * netprogs/nettest.cc: Removed test tcpclient1 - the functionality it
35172           tests is also tested by tcpmatch1, and it introduces dependencies on
35173           internal headers.
35175 Mon May 26 22:00:01 BST 2003  Olly Betts <olly@survex.com>
35177         * backends/quartz/quartz_table_manager.cc: Give a better error message
35178           if asked to open a pre-0.6 Quartz database.
35180 Mon May 26 20:43:21 BST 2003  Olly Betts <olly@survex.com>
35182         * HACKING,Makefile.am,backends/Makefile.am,docs/mkdoc.pl,
35183           net/Makefile.am: Fixed to never leave partial files in place of the
35184           expected output if a build is interrupted.
35186 Mon May 26 16:50:59 BST 2003  Olly Betts <olly@survex.com>
35188         * HACKING: Added note adapted from an old email noting why compile-time
35189           options are generally best avoided.
35191 Mon May 26 12:03:29 BST 2003  Olly Betts <olly@survex.com>
35193         * testsuite/backendmanager.cc,testsuite/textfile_indexer.cc: Corrected
35194           odd uses of std::string::erase() (instead of `str = str.erase(n, m)'
35195           just use `str.erase(n,m)').
35197 Sun May 25 22:59:44 BST 2003  Olly Betts <olly@survex.com>
35199         * PLATFORMS: Updated.
35201 Sun May 25 22:58:28 BST 2003  Olly Betts <olly@survex.com>
35203         * languages/Makefile.am: Suppress "unused" warnings in Snowball
35204           generated C code.
35206 Sun May 25 21:43:34 BST 2003  Olly Betts <olly@survex.com>
35208         * api/omtermlistiterator.cc: Removed iostream.h include left over from
35209           debugging.
35211 Sun May 25 12:27:11 BST 2003  Olly Betts <olly@survex.com>
35213         * docs/,extra/omparsequery.h,extra/parsequery.yy,include/Makefile.am,
35214           include/xapian.h,include/om/om.h,tests/,testsuite/backendmanager.cc,
35215           testsuite/backendmanager.h,testsuite/testutils.h: Created xapian.h
35216           header and changed everything to use it.
35218 Sat May 24 23:35:46 BST 2003  Olly Betts <olly@survex.com>
35220         * api/,backends/inmemory/inmemory_database.cc,
35221           backends/inmemory/inmemory_document.h,
35222           backends/quartz/quartz_database.cc,backends/quartz/quartztest.cc,
35223           common/,include/Makefile.am,include/om/om.h,
35224           include/om/omvalueiterator.h,include/xapian/,
35225           testsuite/backendmanager.cc: OmValueIterator -> Xapian::ValueIterator
35226           etc.
35228 Fri May 23 15:32:29 BST 2003  Olly Betts <olly@survex.com>
35230         * api/,backends/database.cc,backends/inmemory/,backends/muscat36/,
35231           backends/net/net_database.cc,backends/net/net_document.cc,
35232           backends/net/net_document.h,backends/quartz/,common/,docs/,
35233           include/Makefile.am,include/om/om.h,include/om/omdocument.h,
35234           include/om/omvalueiterator.h,include/xapian/,indexer/omindexer.h,
35235           matcher/,net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_posdb.cc,
35236           tests/internaltest.cc,testsuite/: OmDocument -> Xapian::Document, etc.
35237         * include/Makefile.am: Fixed library headers to install in xapian and
35238           om subdirectories as they should.
35240 Fri May 23 15:31:05 BST 2003  Olly Betts <olly@survex.com>
35242         * backends/quartz/btree.cc: Consistently use int4 for block number -
35243           it really should be unsigned and this is a first step.
35245 Mon May 19 13:20:46 BST 2003  Olly Betts <olly@survex.com>
35247         * configure.in: Create include/xapian if it doesn't exist so that
35248           VPATH builds work.
35250 Mon May 19 13:17:16 BST 2003  Olly Betts <olly@survex.com>
35252         * Makefile.am: Disabled exported symbol regex for now.
35254 Tue May 13 05:08:54 BST 2003  Olly Betts <olly@survex.com>
35256         * api/,backends/database.cc,backends/dir_contents,backends/inmemory/,
35257           backends/multi/,backends/muscat36/,backends/net/,backends/quartz/,
35258           common/,docs/,extra/omparsequery.h,include/,matcher/,net/,netprogs/,
35259           tests/: OmDatabase -> Xapian::Database, etc.
35261 Tue May 13 05:07:41 BST 2003  Olly Betts <olly@survex.com>
35263         * NEWS: Corrected spelling: "maintainance" to "maintenance".
35265 Tue May 13 00:40:47 BST 2003  Olly Betts <olly@survex.com>
35267         * ChangeLog.0,NEWS,backends/inmemory/inmemory_database.h,
35268           backends/muscat36/da_database.h,backends/muscat36/db_database.h,
35269           backends/quartz/quartz_postlist.h,
35270           indexer/indexgraph/omstopwordnode.cc: Spelling correction:
35271           "occurence" should be "occurrence".
35273 Mon May 12 22:39:27 BST 2003  Olly Betts <olly@survex.com>
35275         * api/ompositionlistiteratorinternal.h,
35276           include/om/ompositionlistiterator.h: Removed unused files.
35278 Mon May 12 20:51:03 BST 2003  Olly Betts <olly@survex.com>
35280         * api/omdatabaseinternal.cc,backends/database.cc: Moved database
35281           factory functions from api to backends.
35283 Fri May 09 04:02:29 BST 2003  Olly Betts <olly@survex.com>
35285         * common/expandweight.h: Removed cruft.
35287 Fri May 09 03:50:36 BST 2003  Olly Betts <olly@survex.com>
35289         * common/rset.h: Removed unused RSetI ctor variant.
35291 Fri May 09 02:00:03 BST 2003  Olly Betts <olly@survex.com>
35293         * api/omenquire.cc,common/,docs/overview.html,include/om/om.h,
35294           include/xapian/enquire.h,include/xapian/output.h,matcher/,
35295           net/socketclient.cc,net/socketcommon.cc,net/socketserver.cc,
35296           netprogs/nettest.cc,tests/api_db.cc: OmRSet -> Xapian::RSet.
35298 Fri May 09 01:06:32 BST 2003  Olly Betts <olly@survex.com>
35300         * api/omenquire.cc: Fixed MSet::Internal::get_description() to include
35301           class name.
35303 Fri May 09 01:04:12 BST 2003  Olly Betts <olly@survex.com>
35305         * common/rset.h,matcher/expand.cc,matcher/rset.cc: RSetI now uses
35306           set<Xapian::docid> (as OmRSet::Internal) rather than
35307           vector<RSetItem>.
35309 Fri May 09 00:41:20 BST 2003  Olly Betts <olly@survex.com>
35311         * api/omenquire.cc,common/,docs/quickstartexpand.cc.html,matcher/:
35312           RSet internal class renamed to RSetI to aid upcoming OmRSet ->
35313           Xapian::RSet change.  RSetI looks like it can be eliminated
35314           later.
35316 Thu May 08 23:54:44 BST 2003  Olly Betts <olly@survex.com>
35318         * tests/: Removed make_dbgrp() helper function from apitest as it
35319           makes the test code less clear without making it easier to write.
35321 Thu May 08 01:24:53 BST 2003  Olly Betts <olly@survex.com>
35323         * api/ompostlistiterator.cc,docs/overview.html,tests/api_db.cc:
35324           Fixed OmWeight and OmMatchDecider in comments, docs, and
35325           testsuite.
35327 Thu May 08 01:16:30 BST 2003  Olly Betts <olly@survex.com>
35329         * api/omenquire.cc,backends/multi/multi_postlist.h,common/,
35330           include/om/om.h,include/xapian/enquire.h,matcher/,
35331           net/socketclient.cc,net/socketserver.cc: OmMatchDecider ->
35332           Xapian::MatchDecider; OmWeight -> Xapian::Weight; BoolWeight,
35333           TradWeight, BM25Weight -> Xapian::.
35335 Wed May 07 23:06:47 BST 2003  Olly Betts <olly@survex.com>
35337         * backends/quartz/btreetest.cc,backends/quartz/quartztest.cc,
35338           configure.in,netprogs/nettest.cc,tests/,testsuite/: Minor overhaul
35339           of testsuite.
35341 Wed May 07 17:54:34 BST 2003  Olly Betts <olly@survex.com>
35343         * backends/,common/document.h,matcher/Makefile.am,matcher/document.cc:
35344           Removed do_ wrappers for Document methods get_value(),
35345           get_all_values() and get_data().  The wrappers used to perform
35346           thread locking, but now they're just pointless overhead.
35348 Wed May 07 17:24:00 BST 2003  Olly Betts <olly@survex.com>
35350         * HACKING: Started section of API structure.
35352 Wed May 07 02:16:03 BST 2003  Olly Betts <olly@survex.com>
35354         * api/omenquire.cc,common/expand.h,common/omenquireinternal.h,
35355           common/omstringstream.h,docs/quickstart.html,include/om/om.h,
35356           include/xapian/enquire.h,include/xapian/output.h,matcher/expand.cc,
35357           matcher/multimatch.cc,net/socketcommon.cc,netprogs/nettest.cc,
35358           tests/api_db.cc,testsuite/testutils.cc: OmMSet -> Xapian::MSet,
35359           similarly for OmMSetIterator, OmESet, and OmESetIterator.
35361 Tue May 06 19:31:42 BST 2003  Olly Betts <olly@survex.com>
35363         * include/xapian/query.h: New file I failed to checkin on Friday.
35365 Tue May 06 14:16:41 BST 2003  Olly Betts <olly@survex.com>
35367         * HACKING,configure.in,tests/.cvsignore,tests/Makefile.am,
35368           tests/runtest.in,testsuite/testsuite.cc: Sorted out autodetection
35369           of valgrind for running testsuite.
35370         * HACKING: Added note about how to run gdb on dynamically linked
35371           binaries built using libtool.
35372         * HACKING: Recommend libtool 1.5 as in 1.4.2 libtool --mode=execute
35373           doesn't seem to handle programs with arguments.
35375 Tue May 06 00:25:03 BST 2003  Olly Betts <olly@survex.com>
35377         * PLATFORMS: Updated.
35379 Fri May 02 16:58:15 BST 2003  Olly Betts <olly@survex.com>
35381         * configure.in: Improved check that LEX is flex - it will now accept
35382           "flex" with a path and/or prefix.
35384 Fri May 02 16:12:46 BST 2003  Olly Betts <olly@survex.com>
35386         * api/,common/,include/,matcher/,net/,netprogs/nettest.cc,
35387           netprogs/omtcpsrv.cc,tests/api_db.cc,tests/api_posdb.cc,
35388           testsuite/testutils.cc,testsuite/testutils.h: OmEnquire ->
35389           Xapian::Enquire, OmQuery -> Xapian::Query, etc.
35391 Fri May 02 03:14:28 BST 2003  Olly Betts <olly@survex.com>
35393         * tests/internaltest.cc: Reenabled tests for leak checking and fixed
35394           them up to work with valgrind.
35396 Fri May 02 02:14:28 BST 2003  Olly Betts <olly@survex.com>
35398         * testsuite/testsuite.cc,testsuite/testsuite.h: If a testsuite program
35399           is run using "valgrind --logfile-fd=255 ./footest" then the harness
35400           will show valgrind's output for tests which fail because valgrind
35401           spotted errors or leaks (untested under valgrind).
35403 Thu May 01 21:25:01 BST 2003  Olly Betts <olly@survex.com>
35405         * api/omenquire.cc,api/omquery.cc,api/omqueryinternal.cc,common/,
35406           docs/overview.html,docs/quickstart.html,extra/omparsequery.h,
35407           extra/parsequery.yy,extra/parsequerytest.cc,include/,matcher/,
35408           net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_nodb.cc,
35409           tests/api_posdb.cc: OmQuery -> Xapian::Query, etc.  For now
35410           I've had to expose Xapian::Query::Internal in xapian/query.h
35411           which isn't ideal.
35413 Wed Apr 30 20:37:27 BST 2003  Olly Betts <olly@survex.com>
35415         * api/omenquire.cc,common/omenquireinternal.h,include/:
35416           typedefs om_* -> Xapian::*, but not changed all internal uses yet.
35418 Wed Apr 30 03:51:52 BST 2003  Olly Betts <olly@survex.com>
35420         * api/,backends/,common/,extra/omparsequery.h,extra/parsequery.yy,
35421           include/,matcher/localmatch.h,matcher/orpostlist.h,tests/api_db.cc:
35422           OmPostListIterator -> Xapian::PostListIterator, etc.
35424 Wed Apr 30 02:13:31 BST 2003  Olly Betts <olly@survex.com>
35426         * docs/matcherdesign.html,include/om/omenquire.h: Merged docs
35427           discussing OmMSetIterator::get_collapse_count() into the doxygen
35428           documentation comments - they're docs aimed at the API user so
35429           really don't belong in the internal matcher design docs.
35431 Wed Apr 30 01:08:39 BST 2003  Olly Betts <olly@survex.com>
35433         * .cvsignore: Added config.guess.
35435 Tue Apr 29 21:08:40 BST 2003  Olly Betts <olly@survex.com>
35437         * include/om/om.h,include/xapian/base.h,include/xapian/error.h,
35438           include/xapian/errorhandler.h,include/xapian/expanddecider.h,
35439           include/xapian/positionlistiterator.h,include/xapian/stem.h,
35440           include/xapian/termiterator.h: OM_HGUARD_* -> XAPIAN_INCLUDED_*.
35442 Tue Apr 29 20:37:01 BST 2003  Olly Betts <olly@survex.com>
35444         * api/,backends/,common/,include/,indexer/omnodeinstanceiterator.h,
35445           indexer/ompaditerator.h,net/readquery.h,testsuite/indexer.h:
35446           om/omoutput.h -> xapian/output.h; om/omtypes.h -> xapian/types.h.
35448 Tue Apr 29 18:28:27 BST 2003  Olly Betts <olly@survex.com>
35450         * api/,backends/,common/,include/,matcher/,net/socketserver.cc,tests/,
35451           testsuite/backendmanager.cc,testsuite/testsuite.cc: OmTermIterator
35452           -> Xapian::TermIterator, etc.
35454 Tue Apr 29 17:39:34 BST 2003  Olly Betts <olly@survex.com>
35456         * common/omdebug.cc: Setting XAPIAN_DEBUG_LOG caused an exception
35457           (with GCC 3.0 at least) unless the value contained %% - fixed.
35459 Tue Apr 29 14:29:36 BST 2003  Olly Betts <olly@survex.com>
35461         * api/ompositionlistiterator.cc: Fixed to compile in debug mode.
35463 Tue Apr 29 01:06:02 BST 2003  Olly Betts <olly@survex.com>
35465         * xapian.spec.in: Removed %changelog - it hasn't been reliably updated
35466           and only really makes sense when the packaging is done by a third
35467           party anyway.
35469 Tue Apr 29 01:03:20 BST 2003  Fabrice Colin
35471         * xapian.spec.in: Fixed packaging of docs.
35473 Tue Apr 29 00:33:21 BST 2003  Olly Betts <olly@survex.com>
35475         * HACKING,testsuite/testsuite.cc,testsuite/testsuite.h: valgrind is
35476           now mostly hooked into the testsuite.
35477         * HACKING: Bison 1.875 doesn't work but Bison 1.875a probably does;
35478           suggest CXXFLAGS=-Werror, not CFLAGS.
35480 Tue Apr 29 00:14:00 BST 2003  Olly Betts <olly@survex.com>
35482         * INSTALL: Updated.
35484 Wed Apr 23 14:31:51 BST 2003  Olly Betts <olly@survex.com>
35486         * api/omtermlistiterator.cc,api/omtermlistiteratorinternal.h,
35487           api/omvalueiteratorinternal.h,backends/inmemory/inmemory_database.cc,
35488           backends/inmemory/inmemory_positionlist.cc,
35489           common/inmemory_positionlist.h: Added InMemoryPositionList ctor
35490           which takes the positions data to avoid needing to construct and
35491           immediately call set_data().
35493 Wed Apr 23 14:14:34 BST 2003  Olly Betts <olly@survex.com>
35495         * api/,backends/,common/,include/,matcher/: OmPositionListIterator
35496           -> Xapian::PositionListIterator, etc.
35498 Wed Apr 23 13:47:49 BST 2003  Olly Betts <olly@survex.com>
35500         * xapian.spec.in: Minor tweaks.
35502 Sun Apr 20 22:55:04 BST 2003  Olly Betts <olly@survex.com>
35504         * extra/omparsequery.h,include/xapian/stem.h,tests/api_db.cc,
35505           tests/api_nodb.cc,tests/api_posdb.cc,testsuite/backendmanager.cc:
35506           OmStem -> Xapian::Stem; OmExpandDecider -> Xapian::ExpandDecider.
35508 Sun Apr 20 22:52:42 BST 2003  Olly Betts <olly@survex.com>
35510         * configure.in,api/omenquire.cc,common/expand.h,
35511           common/omenquireinternal.h,docs/overview.html,include/,
35512           matcher/expand.cc,tests/api_db.cc: OmExpandDecider ->
35513           Xapian::ExpandDecider, etc.
35515 Sun Apr 20 22:42:32 BST 2003  Olly Betts <olly@survex.com>
35517         * PLATFORMS,api/,backends/,common/,docs/,include/,matcher/,net/,
35518           netprogs/,tests/,testsuite/: OmError -> Xapian::Error, etc.
35520 Fri Apr 18 22:40:31 BST 2003  Sam Liddicott <sam@liddicott.com>
35522         * matcher/multimatch.cc: Fixed so that it updates the OmMSetItem in
35523           the MSet with the collapse_count from the OmMSetItem twin in
35524           collapse_tab or we lose collapse_count if newer collapsing hits are
35525           less relevant than the hits they collapse over.  I think we need
35526           collapse_tab maybe to keep a reference to the item in the mset?  But
35527           this works for now.
35528         * xapian.spec.in: Fixed to also install include/xapian stuff
35530 Fri Apr 18 19:17:56 BST 2003  Olly Betts <olly@survex.com>
35532         * configure.in,include/Makefile.am,include/om/.cvsignore,
35533           include/om/Makefile.am,include/om/om.h,include/om/om.h.in,
35534           include/xapian/.cvsignore,include/xapian/Makefile.am,
35535           include/xapian/dir_contents,include/xapian/version.h.in:
35536           C++ ABI version checking is now done by xapian/version.h.
35538 Fri Apr 18 17:57:21 BST 2003  Olly Betts <olly@survex.com>
35540         * configure.in,api/omstem.cc,include/Makefile.am,include/om/om.h.in,
35541           include/om/omstem.h,include/xapian/.cvsignore,
35542           include/xapian/Makefile.am,include/xapian/base.h,
35543           include/xapian/stem.h: Reworked OmStem to use reference counted
35544           internals; renamed OmStem to Xapian::Stem and added a #define for
35545           compatibility with existing code.
35547 Fri Apr 18 17:02:56 BST 2003  Olly Betts <olly@survex.com>
35549         * api/,backends/,common/,docs/overview.html,docs/quickstart.html,
35550           docs/quickstartexpand.cc.html,extra/,include/om/,matcher/,net/,
35551           tests/,testsuite/: Use std::string instead of typedef-ing it as
35552           om_termname.  The typedef doesn't really buy us anything.  Keep
35553           a typedef for compatibility with existing code for now.
35555 Fri Apr 18 16:12:32 BST 2003  Olly Betts <olly@survex.com>
35557         * PLATFORMS: GCC 3.2.2 on Redhat 7.1 works with CXXFLAGS=-Werror
35559 Thu Apr 10 20:05:27 BST 2003  Olly Betts <olly@survex.com>
35561         * common/Makefile.am,common/indexer.h,testsuite/Makefile.am,
35562           testsuite/indexer.h: Moved indexer.h from common to testsuite
35563           and altered it to use iosfwd instead of iostream and to
35564           declare OmDocument as a class instead of include omdocument.h.
35566 Thu Apr 10 18:55:55 BST 2003  Olly Betts <olly@survex.com>
35568         * xapian-config.nodep.in: Removed --prefix and --exec-prefix - you
35569           can't reliably install Xapian with a different prefix to the one
35570           it was configured with, yet these options give the impression you
35571           can.
35573 Thu Apr 10 18:53:53 BST 2003  Olly Betts <olly@survex.com>
35575         * .cvsignore: Added config.sub.
35577 Thu Apr 10 02:41:50 BST 2003  Olly Betts <olly@survex.com>
35579         * NEWS,configure.in: Updated for 0.6.5 release.
35581 Thu Apr 10 02:29:12 BST 2003  Olly Betts <olly@survex.com>
35583         * docs/doxygen_api_footer.html_tmpl,docs/doxygen_full_footer.html_tmpl,
35584           docs/overview.html: Use http://www.doxygen.org/ as URL for doxygen.
35585         * docs/overview.html: Fixed bad link to our own website!
35587 Thu Apr 10 02:12:00 BST 2003  Olly Betts <olly@survex.com>
35589         * Makefile.am,backends/Makefile.am,backends/net/.cvsignore,
35590           backends/net/Makefile.am,netprogs/.cvsignore: Renamed libnetdb.la
35591           to libremote.la, and LIB_REMOTE1 to LIBNET_LA.
35593 Thu Apr 10 02:08:24 BST 2003  Olly Betts <olly@survex.com>
35595         * PLATFORMS: Updated mingw notes to reflect the change to
35596           automatically disable the remote backend when fork() isn't
35597           available.
35599 Thu Apr 10 01:56:34 BST 2003  Olly Betts <olly@survex.com>
35601         * docs/mkdoc.pl: Fixed to only look at directories listed in
35602           DIST_SUBDIRS.
35604 Thu Apr 10 00:23:28 BST 2003  Olly Betts <olly@survex.com>
35606         * configure.in: Automatically disable the remote backend if we don't
35607           have fork() since the remote backend requires it in several places;
35608           AM_CONDITIONAL ENABLE_SHARED isn't used anywhere so commented it
35609           out.
35611 Wed Apr 09 22:48:20 BST 2003  Olly Betts <olly@survex.com>
35613         * NEWS: Updated with recent changes.
35615 Wed Apr 09 22:43:31 BST 2003  Olly Betts <olly@survex.com>
35617         * docs/remote_protocol.html: Talk about Server/Client rather than
35618           ProgServer/ProgClient; reworked first paragraph.
35620 Wed Apr 09 13:23:05 BST 2003  Olly Betts <olly@survex.com>
35622         * docs/Makefile.am: Install docs in /usr/share/doc/xapian-core to be
35623           FHS compliant.
35624         * xapian.spec.in: Package quartzcheck and quartzcompact too; sorted
35625           out docs so they all install in the right place.
35627 Wed Apr 09 01:16:11 BST 2003  Olly Betts <olly@survex.com>
35629         * configure.in,backends/quartz/quartz_log.cc,
35630           backends/quartz/quartz_table_manager.cc,common/omdebug.cc,
35631           common/omdebug.h: Don't use HAVE_GETPID - if it's not set we assume
35632           GetCurrentProcessId() works, so it's cleaner to test with
35633           #ifdef WIN32 instead.
35635 Tue Apr 08 19:56:57 BST 2003  Olly Betts <olly@survex.com>
35637         * PLATFORMS: Updated with the results of many test builds.
35639 Tue Apr 08 19:55:15 BST 2003  Olly Betts <olly@survex.com>
35641         * configure.in,backends/quartz/Makefile.am,backends/quartz/btree.cc,
35642           netprogs/nettest.cc,common/getopt.h,common/omtime.h,common/utils.cc,
35643           common/utils.h,tests/Makefile.am,tests/api_db.cc: Now builds with
35644           Linux to mingw cross-compiler.
35645         * tests/Makefile.am: don't include findheaders.pl in the tarball -
35646           it's no longer used.
35647         * tests/internaltest.cc: removed "#include <dlfcn.h>" and disabled
35648           code which used to use it.
35649         * testsuite/backendmanager.cc,testsuite/backendmanager.h: fixed to
35650           work if any backends are disabled.
35652 Tue Apr 08 16:09:11 BST 2003  Olly Betts <olly@survex.com>
35654         * backends/quartz/btree.cc,backends/quartz/quartz_log.cc,
35655           backends/quartz/quartz_table_manager.cc,testsuite/testsuite.cc:
35656           Some fixes for building with Linux to mingw cross-compiler.
35658 Tue Apr 08 02:26:51 BST 2003  Olly Betts <olly@survex.com>
35660         * backends/quartz/btreetest.cc: If we don't have <sstream> and so are
35661           using our own stringstream implementation, we can't pass it as an
35662           ostream reference so BtreeCheck::check() can't be run in btreetest.
35663           This is only an issue on old compilers (for GCC <= 2.95.2 it seems)
35664           so just disable the checking in that case - it's probably not worth
35665           the effort of trying to make our stringstream a subclass of ostream.
35667 Tue Apr 08 01:20:36 BST 2003  Olly Betts <olly@survex.com>
35669         * testsuite/testsuite.cc: Updated unfinished hooks to use valgrind in
35670           the test harness.
35672 Fri Apr 04 03:12:27 BST 2003  Olly Betts <olly@survex.com>
35674         * api/omenquire.cc,api/omstem.cc,common/omdebug.cc: Fixed to compile
35675           when configure-d with --enable-debug-verbose --enable-debug=full.
35677 Fri Apr 04 03:10:53 BST 2003  Olly Betts <olly@survex.com>
35679         * common/omstringstream.h: Removed unused code for writing
35680           vector<string> to our own implementation of om_ostringstream.
35682 Fri Apr 04 03:08:35 BST 2003  Olly Betts <olly@survex.com>
35684         * api/ompostlistiterator.cc: Use "using namespace std;"; replaced
35685           gratuitous use of om_ostringstream.
35687 Fri Apr 04 03:07:05 BST 2003  Olly Betts <olly@survex.com>
35689         * tests/api_nodb.cc: Use "using namespace std;"; removed stray cout
35690           debug line.
35692 Wed Apr 02 16:54:50 BST 2003  Olly Betts <olly@survex.com>
35694         * tests/internaltest.cc: More Sun C++ fixes.
35695         * PLATFORMS: Updated.
35697 Wed Apr 02 16:39:48 BST 2003  Olly Betts <olly@survex.com>
35699         * tests/api_db.cc,net/tcpserver.cc,common/tcpserver.h: More Sun C++
35700           fettling.
35702 Wed Apr 02 15:42:54 BST 2003  Olly Betts <olly@survex.com>
35704         * matcher/emptymatch.h,tests/api_db.cc: More fixes for Sun C++.
35706 Wed Apr 02 15:13:58 BST 2003  Olly Betts <olly@survex.com>
35708         * api/omenquire.cc,api/omqueryinternal.cc,
35709           backends/inmemory/inmemory_database.h,common/document.h,
35710           common/netclient.h,common/netserver.h,common/networkstats.h,
35711           common/omlinebuf.h,common/stats.h,include/om/omerror.h,
35712           include/om/omerrorhandler.h,indexer/indexgraph/nodetest.cc,
35713           indexer/indexgraph/omindexerbuilder.cc,
35714           indexer/indexgraph/omindexerinternal.h,
35715           indexer/indexgraph/omstopwordnode.cc,
35716           indexer/indexgraph/regexcommon.h,indexer/indexgraph/toposort.h,
35717           tests/api_db.cc,tests/api_nodb.cc,testsuite/backendmanager.h:
35718           More fixes for Sun C++; removed many superfluous ";" after "}".
35720 Wed Apr 02 03:45:42 BST 2003  Olly Betts <olly@survex.com>
35722         * api/omdocument.cc,api/omenquire.cc,api/omtermlistiteratorinternal.h,
35723           backends/inmemory/inmemory_database.h,backends/quartz/btree.cc,
35724           backends/quartz/btree.h,common/alltermslist.h,common/expandweight.h,
35725           common/getopt.h,common/utils.h,include/om/omenquire.h,
35726           matcher/expandweight.cc,matcher/multimatch.cc,
35727           testsuite/backendmanager.h: Resolved various issues so that
35728           libxapian now builds with Sun's C++ compiler.  However
35729           libomqueryparser and the test programs don't yet.
35731 Tue Apr 01 02:52:57 BST 2003  Olly Betts <olly@survex.com>
35733         * backends/quartz/quartz_types.h: use "unsigned int" rather than
35734           "unsigned long int" so that quartz_tablesize_t matches om_doccount
35735           on 64 bit machines.
35737 Mon Mar 31 19:34:54 BST 2003  Olly Betts <olly@survex.com>
35739         * AUTHORS,xapian.spec.in: Merged in changes to RPM packaging from
35740           Fabrice Colin and reworked further.
35742 Fri Mar 28 20:04:04 GMT 2003  Olly Betts <olly@survex.com>
35744         * NEWS: Updated.
35746 Fri Mar 28 19:53:59 GMT 2003  Olly Betts <olly@survex.com>
35748         * README: Removed out-of-date sourceforge references; tidied up
35749           wording in places.
35751 Fri Mar 28 19:52:11 GMT 2003  Olly Betts <olly@survex.com>
35753         * HACKING: Removed out-of-date sourceforge references; tidied up
35754           wording in places; docs/tests.txt is now docs/tests.html .
35756 Fri Mar 28 17:35:15 GMT 2003  Olly Betts <olly@survex.com>
35758         * NEWS: Wrote most of the entries for the next release.
35760 Fri Mar 28 17:34:57 GMT 2003  Olly Betts <olly@survex.com>
35762         * docs/todo.xml: Updated.
35764 Thu Mar 27 05:42:41 GMT 2003  Olly Betts <olly@survex.com>
35766         * .cvsignore,Makefile.am,configure.in,docs/.cvsignore,docs/Makefile.am,
35767           docs/index.html,docs/todo2html.pl: removed machinery to generate
35768           TODO, TODO.release, docs/todo.html, and docs/todo-release.html from
35769           docs/todo.xml - bug and todo items will be tracked in bugzilla
35770           instead.
35772 Thu Mar 27 05:25:12 GMT 2003  Olly Betts <olly@survex.com>
35774         * docs/todo.xml: Removed completed items and those already fed into
35775           bugzilla.
35777 Thu Mar 27 05:17:05 GMT 2003  Olly Betts <olly@survex.com>
35779         * api/omstem.cc,include/om/omstem.h: Added default OmStem ctor,
35780           and "none" language.  Both of these give a stemmer object which
35781           leaves terms unchanged which should allow for simpler logic
35782           in programs using Xapian.  The default ctor also removes the
35783           need to mess with pointers in some cases.
35785 Thu Mar 27 04:52:27 GMT 2003  Olly Betts <olly@survex.com>
35787         * NEWS: Started to prepare for next release.
35789 Thu Mar 27 04:49:52 GMT 2003  Olly Betts <olly@survex.com>
35791         * include/om/omenquire.h,include/om/omerror.h: Improved documentation
35792           comments.
35794 Thu Mar 27 01:09:04 GMT 2003  Olly Betts <olly@survex.com>
35796         * docs/todo.xml,tests/api_db.cc: Added regression test for Quartz
35797           bug which caused problems with long terms on machines with signed
35798           chars.
35800 Wed Mar 26 20:30:18 GMT 2003  Olly Betts <olly@survex.com>
35802         * matcher/multimatch.cc: fixed interaction of collapsing and
35803           sort_bands == 1.
35805 Wed Mar 26 01:04:30 GMT 2003  Olly Betts <olly@survex.com>
35807         * matcher/multimatch.cc: Fixed sort_bands == 1 bug which would
35808           incorrectly reject many documents with a low score.
35810 Thu Mar 06 13:04:06 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
35812         * docs/matcherdesign.html: Add writeup about document collapsing.
35814 Thu Mar 06 11:32:05 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
35816         * Add collapse_count threshold checking to ensure that most
35817           relevant collapsed-away hit is more relevant than threshold
35818           (if specified)
35820 Mon Mar 03 14:04:56 GMT 2003  Olly Betts <olly@survex.com>
35822         * docs/quartzdesign.html: Corrected 2kB to 2KB.
35824 Fri Feb 28 10:11:04 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
35826         * Add get_collapse_count() to OmMSetIterator
35827         * Add collapse_count to OmMSetItem
35828         * Add collapse_count tracking to get_mset()
35830 Thu Feb 27 15:28:08 GMT 2003  Olly Betts <olly@survex.com>
35832         * common/match.h,common/multimatch.h,matcher/multimatch.cc: Optimise
35833           the common sort_bands == 1 case better.
35834         * tests/api_db.cc: sortbands2 now tests 1 sortband as well as 10.
35836 Wed Feb 26 09:58:01 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
35838         * bootstrap: Fix success message when building in non-src dir
35839           as configure is written to the src dir.
35841 Mon Feb 24 10:33:52 GMT 2003  Olly Betts <olly@survex.com>
35843         * matcher/multimatch.cc: Disabled (for now) sort_bands
35844           optimisation which is misbehaving.  Fixed forward ordered boolean
35845           optimisation broken by last check-in.
35846         * tests/api_db.cc: Added test_sortbands2 based on James' test code.
35848 Sun Feb 23 20:28:47 GMT 2003  Olly Betts <olly@survex.com>
35850         * matcher/multimatch.cc: Fixed problem with sort_bands when asking
35851           for an m-set which didn't start with the first match.
35853 Sun Jan 05 22:20:33 GMT 2003  Olly Betts <olly@survex.com>
35855         * testsuite/index_utils.cc: Handling of ^x was just downright wrong
35856           due to a typo.
35858 Sun Jan 05 22:19:56 GMT 2003  Olly Betts <olly@survex.com>
35860         * backends/quartz/.cvsignore: Ignore quartzcompact binary.
35862 Sun Jan 05 22:18:57 GMT 2003  Olly Betts <olly@survex.com>
35864         * extra/parsequerytest.cc: Fixed to build with GCC 2.95.
35866 Tue Dec 24 20:21:03 GMT 2002  Olly Betts <olly@survex.com>
35868         * NEWS: Added omega 0.6.4 changes.
35870 Tue Dec 24 19:53:10 GMT 2002  Olly Betts <olly@survex.com>
35872         * NEWS,PLATFORMS,configure.in: Version 0.6.4.
35874 Tue Dec 24 19:29:27 GMT 2002  Olly Betts <olly@survex.com>
35876         * backends/quartz/quartz_database.cc,backends/quartz/quartz_table.cc:
35877           Don't bother checking is position_list is empty - just delete it and
35878           let the layer below handle not having anything to delete.
35879         * backends/quartz/quartz_termlist.cc,docs/todo.xml: Fixed unpacking
35880           of termlist on platforms where char is signed.
35882 Tue Dec 24 05:48:06 GMT 2002  Olly Betts <olly@survex.com>
35884         * backends/quartz/quartz_database.cc: Fixed double setting of position
35885           list when updating a document with term position information.  The
35886           behaviour before was correct, just inefficient.
35888 Mon Dec 23 04:44:46 GMT 2002  Olly Betts <olly@survex.com>
35890         * docs/todo.xml: Updated.
35892 Mon Dec 23 03:22:19 GMT 2002  Olly Betts <olly@survex.com>
35894         * extra/parsequery.yy: If a stemmed form with a "." is in the query,
35895           include the "." on the form in the unstem multimap.
35897 Sun Dec 22 21:44:06 GMT 2002  Olly Betts <olly@survex.com>
35899         * extra/omparsequery.h,extra/parsequery.yy,extra/parsequerytest.cc:
35900           Added support for searching probabilistic fields (using
35901           <field>:<term>).
35903 Sat Dec 21 01:38:59 GMT 2002  Olly Betts <olly@survex.com>
35905         * configure.in: Don't include "om.h" in APIDOC_SRC, otherwise
35906           people building from source will need to regenerate the source
35907           docs which will require them to have doxygen installed.
35909 Fri Dec 20 15:39:51 GMT 2002  James Aylett  <james@tartarus.org>
35911         * Bindings build using SWIG 1.3.14u-20020706-1222, with very
35912           basic functionality tested with the Python target.
35914 Fri Dec 20 12:38:26 GMT 2002  James Aylett  <tartarus@users.sourceforge.net>
35916         * Tidied up some bindings-related issues, including changes to
35917           the Python bindings to work with Python 2.2. This probably won't
35918           compile as it stands, but it's disabled anyway.
35920 Sun Dec 15 18:23:42 GMT 2002  Olly Betts <olly@survex.com>
35922         * api/omdatabase.cc,backends/muscat36/da_database.cc,
35923           backends/muscat36/db_database.cc,matcher/phrasepostlist.cc:
35924           Muscat 3.6 DA and DB databases don't have word position information.
35925           Instead of throwing an exception when this information is requested,
35926           return an empty position list (i.e. behave as a quartz database with
35927           no position information would).
35929 Sun Dec 15 03:08:28 GMT 2002  Olly Betts <olly@survex.com>
35931         * backends/muscat36/: DADatabase and DBDatabase ctors need to public
35932           so that they can called from the database factory functions.
35933         * api/omenquire.cc,backends/muscat36/,backends/quartz/btree.cc,
35934           tests/api_db.cc: Fixed compilation warnings.
35936 Sat Dec 14 23:02:55 GMT 2002  Olly Betts <olly@survex.com>
35938         * docs/quartzdesign.html,docs/todo.xml: Updated.
35940 Sat Dec 14 22:57:41 GMT 2002  Olly Betts <olly@survex.com>
35942         * backends/quartz/Makefile.am,backends/quartz/quartzcheck.cc,
35943           backends/quartz/quartzcompact.cc,backends/quartz/quartzdump.cc:
35944           Enhanced quartzcheck to check all the btrees in a quartz database
35945           if passed a directory name.  It also default to "v" rather than
35946           "+" which is more appropriate for an end user checking if tables
35947           in a non-trivial sized database are corrupt.  Added quartzcompact
35948           utility to make a copy of a quartz database with full compaction
35949           turned on - this results in a smaller database which is faster to
35950           search.  The next update will result in a lot of block splitting
35951           though (since all blocks are as full as possible).
35953 Sat Dec 14 16:28:11 GMT 2002  Olly Betts <olly@survex.com>
35955         * NEWS: Updated for 0.6.3 release.
35957 Sat Dec 14 04:28:16 GMT 2002  Olly Betts <olly@survex.com>
35959         * PLATFORMS,configure.in: Version 0.6.3.
35961 Sat Dec 14 03:54:08 GMT 2002  Olly Betts <olly@survex.com>
35963         * extra/omparsequery.h,extra/parsequery.yy: Create an "unstem" multimap
35964           so users can convert the stemmed terms back into their query
35965           representation.
35967 Sat Dec 14 03:48:27 GMT 2002  Olly Betts <olly@survex.com>
35969         * docs/todo.xml: Updated.
35971 Sat Dec 14 02:37:41 GMT 2002  Olly Betts <olly@survex.com>
35973         * docs/todo.xml: Updated.
35975 Sat Dec 14 02:26:29 GMT 2002  Olly Betts <olly@survex.com>
35977         * docs/remote_protocol.html,net/socketclient.cc,net/socketserver.cc:
35978           Updated remote protocol description.
35980 Sat Dec 14 02:05:59 GMT 2002  Olly Betts <olly@survex.com>
35982         * docs/: Updated.
35984 Fri Dec 13 23:43:23 GMT 2002  Olly Betts <olly@survex.com>
35986         * include/om/om.h.in: Removed bogus // in the middle of a comment.
35988 Fri Dec 13 22:17:41 GMT 2002  Olly Betts <olly@survex.com>
35990         * configure.in,testsuite/testsuite.cc: Added hooks for using valgrind
35991           to find leaks in the test suite.  Just need to sort out suitable
35992           hooks in valgrind now!
35994 Fri Dec 13 19:57:23 GMT 2002  Olly Betts <olly@survex.com>
35996         * docs/: OmSettings removal updates.
35998 Fri Dec 13 19:44:23 GMT 2002  Olly Betts <olly@survex.com>
36000         * bindings/: Made a start updating bindings for OmSettings removal.
36002 Fri Dec 13 19:13:36 GMT 2002  Olly Betts <olly@survex.com>
36004         * api/omenquire.cc,common/omenquireinternal.h,include/om/omenquire.h,
36005           net/socketclient.cc,tests/api_db.cc: Finished removal of OmSettings
36006           - all tests now pass once more!
36008 Fri Dec 13 16:35:12 GMT 2002  Olly Betts <olly@survex.com>
36010         * api/,backends/quartz/quartz_table_manager.h,common/,docs/,include/,
36011           matcher/,net/,tests/internaltest.cc: Removed last use of OmSettings.
36012           Just a check-point check in - the code compiles, but doesn't pass
36013           tests yet.
36015 Fri Dec 13 12:53:01 GMT 2002  Olly Betts <olly@survex.com>
36017         * netprogs/nettest.cc: Updated disabled code to use new database
36018           factory functions; Added "using namespace std;".
36020 Thu Dec 12 23:52:32 GMT 2002  Olly Betts <olly@survex.com>
36022         * docs/todo.xml: Tidied my desk and converted lots of scraps of paper
36023           to todo entries.
36025 Thu Dec 12 16:43:22 GMT 2002  Olly Betts <olly@survex.com>
36027         * backends/quartz/btree.cc: Added workaround for shared_level problem;
36028           Improved error reporting.
36030 Thu Dec 12 01:05:00 GMT 2002  Olly Betts <olly@survex.com>
36032         * docs/overview.html: Updated docs on stub databases.
36034 Wed Dec 11 20:49:11 GMT 2002  Olly Betts <olly@survex.com>
36036         * api/omdatabaseinternal.cc,include/om/omdatabase.h,tests/api_db.cc:
36037           Reimplemented stub databases in the new scheme of things.
36038         * backends/inmemory/: fully disabled inmemory_errornext and
36039           inmemory_abortnext code.
36041 Tue Dec 10 13:47:44 GMT 2002  Olly Betts <olly@survex.com>
36043         * HACKING: Added note that Bison 1.50 seems to work with Xapian's
36044           .yy files.
36046 Mon Dec 09 20:13:00 GMT 2002  Olly Betts <olly@survex.com>
36048         * api/omenquire.cc,common/omenquireinternal.h,docs/todo.xml,
36049           include/om/omenquire.h,tests/api_db.cc: OmEnquire::get_eset()
36050           now takes a flags argument of bit constants |-ed together
36051           instead of 2 bools.
36053 Mon Dec 09 12:52:38 GMT 2002  Olly Betts <olly@survex.com>
36055         * backends/quartz/btree.cc,backends/quartz/btree.h: Applied patch
36056           from Martin Porter with better fix for sequential addition bug.
36058 Mon Dec 09 09:57:42 GMT 2002  Olly Betts <olly@survex.com>
36060         * docs/todo.xml: Updated.
36062 Mon Dec 09 07:32:46 GMT 2002  Olly Betts <olly@survex.com>
36064         * backends/quartz/quartztest.cc: Corrected name of database used
36065           by test adddoc2 (was using testdb_adddoc1!)
36067 Mon Dec 09 05:10:09 GMT 2002  Olly Betts <olly@survex.com>
36069         * backends/quartz/quartz_postlist.cc,backends/quartz/quartz_table.cc:
36070           More fettling.
36072 Mon Dec 09 04:48:39 GMT 2002  Olly Betts <olly@survex.com>
36074         * backends/quartz/: Minor code fettle.
36076 Mon Dec 09 03:32:11 GMT 2002  Olly Betts <olly@survex.com>
36078         * backends/quartz/quartz_postlist.cc: Gratuitous layout fettling.
36080 Mon Dec 09 03:30:27 GMT 2002  Olly Betts <olly@survex.com>
36082         * docs/quartzdesign.html: Improved wording and punctuation in 3
36083           places.
36085 Mon Dec 09 03:25:09 GMT 2002  Olly Betts <olly@survex.com>
36087         * common/,docs/todo.xml,include/om/omenquire.h,matcher/,
36088           net/socketclient.cc,net/socketserver.cc,netprogs/omprogsrv.cc,
36089           netprogs/omtcpsrv.cc: Fixed the remote backend to handle non-default
36090           weighting schemes.  You can now even implement your own weighting
36091           scheme and use it with the remote backend provided you register it
36092           with SocketServer at runtime.
36094 Sat Dec 07 21:18:39 GMT 2002  Olly Betts <olly@survex.com>
36096         * PLATFORMS: Updated.
36098 Sat Dec 07 21:09:52 GMT 2002  Olly Betts <olly@survex.com>
36100         * NEWS,PLATFORMS,configure.in: Version 0.6.2.
36102 Sat Dec 07 20:24:46 GMT 2002  Olly Betts <olly@survex.com>
36104         * NEWS: Updated.
36106 Sat Dec 07 20:21:41 GMT 2002  Olly Betts <olly@survex.com>
36108         * docs/quickstart.html: Fixed parameters passed to OmQuartz__open().
36110 Sat Dec 07 20:17:42 GMT 2002  Olly Betts <olly@survex.com>
36112         * backends/quartz/quartztest.cc: Fixed parameters passed to
36113           OmQuartz__open().
36115 Sat Dec 07 16:41:25 GMT 2002  Olly Betts <olly@survex.com>
36117         * docs/tests.html,testsuite/testsuite.cc: The testsuite won't install
36118           its signal handler if XAPIAN_SIG_DFL is set.
36120 Sat Dec 07 16:39:01 GMT 2002  Olly Betts <olly@survex.com>
36122         * HACKING: OM_DEBUG_XXX -> XAPIAN_DEBUG_YYY.
36124 Sat Dec 07 04:48:37 GMT 2002  Olly Betts <olly@survex.com>
36126         * backends/quartz/btree.cc: max_item_size wasn't being set due to
36127           some over-zealous code pruning.  It was defaulting to 0, and
36128           was causing the code to write off the end of allocated memory
36129           blocks.
36131 Sat Dec 07 03:22:05 GMT 2002  Olly Betts <olly@survex.com>
36133         * backends/inmemory/,matcher/multimatch.cc: Minor code tidying.
36134         * backends/quartz/btree.cc: Added Assert in Btree::add() to detect
36135           running off end of buffer.
36137 Sat Dec 07 03:20:52 GMT 2002  Olly Betts <olly@survex.com>
36139         * matcher/localmatch.cc: fixed handling of wtscheme() - we were
36140           trying to use it for the extra weights, and then double
36141           deleting it!
36143 Fri Dec 06 23:05:22 GMT 2002  Olly Betts <olly@survex.com>
36145         * api/omstem.cc,backends/quartz/,common/omdebug.cc,common/utils.h,
36146           matcher/tradweight.cc,net/socketcommon.cc,net/tcpclient.cc,
36147           tests/api_db.cc: Fixed to build with configure --enable-debug=full.
36149 Fri Dec 06 23:01:08 GMT 2002  Olly Betts <olly@survex.com>
36151         * common/omdebug.cc,common/omdebug.h: Fixed permissions on newly
36152           created log file (was getting 000!); Simplified class internals;
36153           Renamed env vars: OM_DEBUG_FILE is now XAPIAN_DEBUG_LOG,
36154           OM_DEBUG_TYPES is now XAPIAN_DEBUG_FLAGS (old versions still work
36155           for now).
36157 Fri Dec 06 22:58:57 GMT 2002  Olly Betts <olly@survex.com>
36159         * testsuite/testsuite.cc: Fixed so running "gdb .libs/apitest"
36160           finds srcdir (for an in-tree build at least).
36162 Fri Dec 06 03:51:35 GMT 2002  Olly Betts <olly@survex.com>
36164         * common/,include/om/omenquire.h,matcher/localmatch.h,matcher/rset.cc,
36165           matcher/stats.cc: Fixed to compile with GCC 3.0.
36167 Thu Dec 05 23:28:29 GMT 2002  Olly Betts <olly@survex.com>
36169         * include/om/omdatabase.h: Added missing "std::".
36171 Thu Dec 05 23:27:57 GMT 2002  Olly Betts <olly@survex.com>
36173         * docs/remote.html: Updated from OmSettings to factory functions.
36175 Thu Dec 05 23:26:42 GMT 2002  Olly Betts <olly@survex.com>
36177         * PLATFORMS: ixion is actually Linux 2.2.
36179 Thu Dec 05 04:32:40 GMT 2002  Olly Betts <olly@survex.com>
36181         * testsuite/backendmanager.cc: Fixed BackendManager::do_getdb_quartz()
36182           and do_getwritedb_quartz() to work correctly and so resolved some
36183           test failures.
36185 Wed Dec 04 03:35:12 GMT 2002  Olly Betts <olly@survex.com>
36187         * api/omdatabaseinternal.cc,backends/quartz/,docs/todo.xml,
36188           include/om/omdatabase.h: Replace create and allow_overwrite
36189           boolean flags with OM_DB_XXX constants.  And we now support
36190           OM_DB_CREATE_OR_OPEN which is a common action to want to
36191           perform, but was fiddly to achieve before.
36193 Tue Dec 03 23:59:30 GMT 2002  Olly Betts <olly@survex.com>
36195         * docs/todo.xml: Updated.
36197 Tue Dec 03 23:26:27 GMT 2002  Olly Betts <olly@survex.com>
36199         * api/omenquire.cc,backends/quartz/quartz_postlist.h,common/,
36200           docs/omsettings,docs/todo.xml,include/om/omenquire.h,matcher/,
36201           net/socketcommon.cc,net/socketserver.cc,tests/api_db.cc,
36202           tests/api_posdb.cc: Weighting schemes are now specified by passing
36203           in a weighting object, rather than via OmSetttings.  The weight
36204           class can be sub-classed by the library user to allow them to
36205           specify their own weighting scheme).  Everything works apart
36206           from the remote backend where the weighting scheme type and
36207           parameters aren't passed across the link.
36209 Mon Dec 02 20:12:31 GMT 2002  Olly Betts <olly@survex.com>
36211         * NEWS: Updated with changes since 0.6.1.
36213 Mon Dec 02 19:44:37 GMT 2002  Olly Betts <olly@survex.com>
36215         * api/ompostlistiterator.cc,backends/multi/multi_postlist.h,
36216           common/irweight.h,common/leafpostlist.h,matcher/: IRWeight
36217           renamed to OmWeight in preparation for making it externally
36218           visible.
36220 Mon Dec 02 18:10:55 GMT 2002  Olly Betts <olly@survex.com>
36222         * matcher/bm25weight.cc,matcher/irweight.cc,matcher/tradweight.cc,
36223           matcher/tradweight.h: Started to rework weighting scheme code.
36225 Mon Dec 02 17:36:21 GMT 2002  Olly Betts <olly@survex.com>
36227         * api/omdatabaseinternal.cc,backends/quartz/quartz_table_manager.cc:
36228           Tidying up after the recent backend reworking.
36230 Mon Dec 02 03:59:39 GMT 2002  Olly Betts <olly@survex.com>
36232         * matcher/: Changed BoolWeight ctor not to take an OmSettings
36233           parameter which is simply ignored.
36235 Mon Dec 02 01:35:41 GMT 2002  Olly Betts <olly@survex.com>
36237         * include/om/omdatabase.h: Added documentation comments for all of
36238           the database factory functions.
36240 Sun Dec 01 21:45:49 GMT 2002  Olly Betts <olly@survex.com>
36242         * include/om: Added \file documentation comments so doxygen
36243           extracts documentation for functions too.
36244         * docs/: Made a start on updating for the new database factory
36245           functions.
36247 Sun Dec 01 15:38:10 GMT 2002  Olly Betts <olly@survex.com>
36249         * api/,backends/,common/,docs/omsettings,docs/todo.xml,
36250           include/om/omdatabase.h,netprogs/,tests/,testsuite/backendmanager.cc,
36251           testsuite/backendmanager.h: No longer use OmSettings to specify
36252           parameters for constructing databases.  Instead there's a factory
36253           function for each database type - temporary naming scheme is
36254           OmXxx__open(), mostly because it's easy to grep for later.  At
36255           present stub databases and the machinery in InMemory to allow
36256           the multierrhandler1 test aren't working.  Everything else should
36257           be.
36259 Thu Nov 28 20:15:47 GMT 2002  Olly Betts <olly@survex.com>
36261         * api/omenquire.cc,common/omenquireinternal.h,docs/omsettings,
36262           docs/overview.html,include/om/omenquire.h,tests/api_db.cc:
36263           No longer use OmSettings in OmEnquire::get_eset(); fixed
36264           reversed sense of use_query_terms (and fixed reversed sense
36265           test in apitest which meant this wasn't spotted).
36267 Thu Nov 28 20:14:54 GMT 2002  Olly Betts <olly@survex.com>
36269         * docs/index.html: Link to annotated class lists in doxygen generated
36270           documentation rather than rather empty index page.
36272 Thu Nov 28 02:23:33 GMT 2002  Olly Betts <olly@survex.com>
36274         * configure.in,NEWS: Version 0.6.1.
36276 Thu Nov 28 01:38:05 GMT 2002  Olly Betts <olly@survex.com>
36278         * PLATFORMS: Updated.
36280 Thu Nov 28 01:33:25 GMT 2002  Olly Betts <olly@survex.com>
36282         * backends/quartz/: Fixed to compile with GCC 3.0.
36284 Thu Nov 28 01:32:31 GMT 2002  Olly Betts <olly@survex.com>
36286         * PLATFORMS: Updated with test results from 0.5.4 release.
36288 Wed Nov 27 22:11:38 GMT 2002  Olly Betts <olly@survex.com>
36290         * backends/quartz/btree.h: fixed "public:" bodge added during
36291           factoring-out of BtreeCheck.
36293 Wed Nov 27 05:01:14 GMT 2002  Olly Betts <olly@survex.com>
36295         * NEWS,PLATFORMS,configure.in: Updated for 0.6.0 release.
36297 Wed Nov 27 05:00:39 GMT 2002  Olly Betts <olly@survex.com>
36299         * AUTHORS,HACKING: Removed or replaced sourceforge.net URLs.
36301 Wed Nov 27 04:58:29 GMT 2002  Olly Betts <olly@survex.com>
36303         * docs/quartzdesign.html: Reworded "under development" warning;
36304           Updated Btree::check(), which is now BtreeCheck::check().
36306 Wed Nov 27 01:36:26 GMT 2002  Olly Betts <olly@survex.com>
36308         * backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h,
36309           backends/quartz/btreetest.cc: Tidied up BtreeCheck - btreetest now
36310           sends check output to tout so it's only displayed if the check fails
36311           (or btreetest is run with -v).
36313 Tue Nov 26 19:47:24 GMT 2002  Olly Betts <olly@survex.com>
36315         * backends/quartz/: Split the btree checking code out into a separate
36316           file, so it's not linked in when we don't need it.
36318 Tue Nov 26 05:47:32 GMT 2002  Olly Betts <olly@survex.com>
36320         * backends/quartz/btree.cc: Suppress all output from a successful
36321           Btree::Check() is no options are specified, so that btreetest
36322           generates clean output when all tests pass.
36324 Tue Nov 19 02:08:30 GMT 2002  Olly Betts <olly@survex.com>
36326         * NEWS: Updated.
36328 Tue Nov 19 01:46:35 GMT 2002  Olly Betts <olly@survex.com>
36330         * backends/quartz/btree.cc,backends/quartz/btree.h,
36331           backends/quartz/btreetest.cc,backends/quartz/quartztest.cc,
36332           docs/quartzdesign.html: Quartz B-tree minimum blocksize is
36333           now 2048 bytes (as was in fact documented already).  This
36334           means the max term length is now always 252 bytes.
36336 Mon Nov 18 22:16:57 GMT 2002  Olly Betts <olly@survex.com>
36338         * api/omenquire.cc,matcher/expand.cc,matcher/expandweight.cc:
36339           Bit of an expand tidy up.
36341 Mon Nov 18 19:49:09 GMT 2002  Olly Betts <olly@survex.com>
36343         * backends/quartz/quartz_termlist.cc: I'd put the new termlist stuff
36344           in the disabled branch of a "#ifdef" so it wasn't being used!  Fixed
36345           this and made it actually compile as an encore.
36347 Mon Nov 18 02:51:55 GMT 2002  Olly Betts <olly@survex.com>
36349         * docs/todo.xml: Retargetted 0.6 tasks for 0.7 or 0.8; updated a few
36350           entries.
36352 Mon Nov 18 02:28:55 GMT 2002  Olly Betts <olly@survex.com>
36354         * docs/quartzdesign.html,backends/quartz/: We can just store the term
36355           name raw in position list key, since we know its length from the key
36356           length; tweaked storing of deltas to store (delta - 1) as 0 is
36357           invalid.
36359 Mon Nov 18 00:47:54 GMT 2002  Olly Betts <olly@survex.com>
36361         * backends/quartz/quartz_termlist.cc: First cut of compressed term
36362           lists.
36364 Sun Nov 17 20:19:23 GMT 2002  Olly Betts <olly@survex.com>
36366         * backends/quartz/quartz_lexicon.cc,backends/quartz/quartz_values.cc:
36367           Use new pack_uint_last() and unpack_uint_last() where appropriate.
36369 Sun Nov 17 20:03:24 GMT 2002  Olly Betts <olly@survex.com>
36371         * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h:
36372           Added a more compact integer packing for the last integer in
36373           a key or tag.
36375 Sun Nov 17 18:54:05 GMT 2002  Olly Betts <olly@survex.com>
36377         * backends/quartz/btree.cc,backends/quartz/btree.h: more
36378           int -> bool changes.
36379         * backends/quartz/btree_base.cc: Clarified comments.
36381 Sun Nov 17 14:19:30 GMT 2002  Olly Betts <olly@survex.com>
36383         * docs/quartzdesign.html: Updated to reflect removal of Btree_item.
36385 Sun Nov 17 14:12:12 GMT 2002  Olly Betts <olly@survex.com>
36387         * backends/quartz/: Eliminate Btree_item - wherever it's used we
36388           only actually want the tag or key, so it's cleaner and clearer
36389           to just pass a pointer to a string.
36391 Sun Nov 17 13:34:08 GMT 2002  Olly Betts <olly@survex.com>
36393         * backends/quartz/,docs/quartzdesign.html: Quartz mini-overhaul:
36394           Removed Btree::Bcursor_create() and just made Bcursor's ctor
36395           public - now you can just create a Bcursor on the stack rather
36396           than being forced to use AutoPtr; removed valid_handle - the
36397           code is clearer without it; sys_close now inlined from header;
36398           changed int/char to bool where appropriate; changed some methods
36399           which now always throw on error to return void not bool; moved
36400           quartztest's test_btree1 to btreetest as test_simple1; changed
36401           a few remaining uses of "struct Btree" to just plain "Btree";
36402           brought the btree docs in quartzdesign.html up-to-date, apart
36403           from the error handling section.
36405 Sat Nov 16 01:45:28 GMT 2002  Olly Betts <olly@survex.com>
36407         * backends/inmemory/inmemory_database.cc,
36408           backends/inmemory/inmemory_database.h,
36409           backends/quartz/quartz_table.cc: Tidying up odds and ends.
36411 Fri Nov 15 17:46:38 GMT 2002  Olly Betts <olly@survex.com>
36413         * NEWS: Updated ready for 0.6.0 with changes made so far.
36415 Fri Nov 15 17:06:58 GMT 2002  Olly Betts <olly@survex.com>
36417         * testsuite/testsuite.cc: Avoid double debug output if we get a
36418           signal inside the testsuite code itself.
36420 Fri Nov 15 17:00:15 GMT 2002  Olly Betts <olly@survex.com>
36422         * backends/quartz/btree_api.txt,docs/Makefile.am,docs/index.html,
36423           docs/quartzdesign.html,docs/remote_protocol.html,
36424           net/README_progprotocol.txt: Converted Btree API documentation
36425           to HTML and add it to the quartz design document; converted the
36426           (seriously out of date) remote protocol document to HTML, moved it
36427           into docs/, and linked it in.
36429 Fri Nov 15 13:05:06 GMT 2002  Olly Betts <olly@survex.com>
36431         * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h,
36432           docs/quartzdesign.html: Changed encoding of keys for quartz record
36433           and termlist tables.
36435 Fri Nov 15 12:54:39 GMT 2002  Olly Betts <olly@survex.com>
36437         * backends/quartz/quartz_table_entries.cc: Fixed
36438           QuartzTableEntries::empty() which would never return true before.
36440 Fri Nov 15 03:08:49 GMT 2002  Olly Betts <olly@survex.com>
36442         * backends/quartz/btree_api.txt: Fixed typos.
36444 Fri Nov 15 03:06:41 GMT 2002  Olly Betts <olly@survex.com>
36446         * backends/quartz/quartztest.cc,backends/quartz/btreetest.cc:
36447           added another test (btreetest: emptykey1) and added extra
36448           checks to existing tests.
36450 Thu Nov 14 01:59:06 GMT 2002  Olly Betts <olly@survex.com>
36452         * matcher/multimatch.cc,tests/api_db.cc,docs/todo.xml:
36453           match_sort_bands code fettled, and added regression test for the
36454           >100% problem (test_sortbands1).
36456 Tue Nov 12 00:00:44 GMT 2002  Olly Betts <olly@survex.com>
36458         * backends/inmemory/inmemory_database.h,backends/quartz/,
36459           include/om/omtypes.h: Pushed average length calc down into
36460           QuartzRecordManager; removed unnecessary types om_totlength
36461           and om_termid.
36463 Mon Nov 11 18:10:23 GMT 2002  Olly Betts <olly@survex.com>
36465         * docs/index.html: Fixed broken link.
36467 Mon Nov 11 18:07:41 GMT 2002  Olly Betts <olly@survex.com>
36469         * backends/quartz/,docs/quartzdesign.html: Store next free docid
36470           and total doc length in the same tag in QuartzRecord.
36472 Wed Nov 06 22:38:40 GMT 2002  Olly Betts <olly@survex.com>
36474         * backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h:
36475           Eliminated QuartzDatabase::get_doccount_internal() and
36476           QuartzDatabase::get_avlength_internal() - now the thread
36477           locking code has gone, the indirection serves no purpose.
36479 Wed Nov 06 17:50:12 GMT 2002  Olly Betts <olly@survex.com>
36481         * backends/quartz/: Removed QuartzBufferedTable::write() (unused and
36482           unimplemented), and merged QuartzBufferedTable::write_internal()
36483           into QuartzBufferedTable::write_internal().
36485 Wed Nov 06 01:56:41 GMT 2002  Olly Betts <olly@survex.com>
36487         * backends/quartz/: disable quartz lexicon table unless USE_LEXICON
36488           is defined.
36490 Wed Nov 06 01:54:30 GMT 2002  Olly Betts <olly@survex.com>
36492         * docs/overview.html: Corrected link to API docs on website.
36494 Mon Nov 04 02:35:22 GMT 2002  Olly Betts <olly@survex.com>
36496         * include/om/omerror.h,net/omerr_string.cc,netprogs/omprogsrv.cc,
36497           netprogs/omtcpsrv.cc,testsuite/testsuite.cc: don't use typeid().
36499 Mon Nov 04 01:31:47 GMT 2002  Olly Betts <olly@survex.com>
36501         * testsuite/testsuite.cc: Catch by const reference.
36503 Mon Nov 04 01:18:53 GMT 2002  Olly Betts <olly@survex.com>
36505         * HACKING: Added note about use of various C++ features.  Also
36506           tidied up various odds and ends.
36508 Sun Nov 03 22:59:34 GMT 2002  Olly Betts <olly@survex.com>
36510         * api/omdatabaseinternal.cc: Eliminated entirely superfluous use of
36511           dynamic_cast.
36513 Sun Nov 03 22:46:34 GMT 2002  Olly Betts <olly@survex.com>
36515         * matcher/multimatch.cc,common/database.h,common/net_database.h:
36516           Replace Database::is_network() with Database::as_networkdatabase()
36517           which returns a pointer or NULL.  This eliminates the need to use
36518           dynamic_cast in MultiMatch.
36520 Wed Oct 23 05:24:14 BST 2002  Olly Betts <olly@survex.com>
36522         * docs/todo.xml: Resolved TODO entry by consulting Stroustrup
36523           (it is safe to throw and catch an exception in a destructor,
36524           even when that destructor is being called during a stack unwind
36525           caused by an exception being thrown).
36527 Wed Oct 16 20:05:39 BST 2002  Olly Betts <olly@survex.com>
36529         * backends/quartz/btreetest.cc: Suppress (most) output from
36530           Btree::check unless verbose (-v) is enabled.
36532 Mon Oct 14 15:13:18 BST 2002  Olly Betts <olly@survex.com>
36534         * testsuite/testsuite.cc: Fixed compilation problem with std:: on
36535           GCC 3.2.
36537 Mon Oct 14 15:07:03 BST 2002  Olly Betts <olly@survex.com>
36539         * api/omstem.cc: French and Finnish stemmers were switched!
36541 Mon Oct 14 02:49:12 BST 2002  Olly Betts <olly@survex.com>
36543         * backends/quartz/quartz_utils.h: change sort preserving packing for
36544           strings.  This one does better provided the strings being packed
36545           don't contain many zero bytes (which is true of the termnames which
36546           we pack with this).
36548 Mon Oct 14 02:45:20 BST 2002  Olly Betts <olly@survex.com>
36550         * tests/stemtest.cc: Updated to reflect new naming of stemming test
36551           data.
36553 Sun Oct 13 17:06:26 BST 2002  Olly Betts <olly@survex.com>
36555         * docs/todo.xml: Updated.
36557 Sun Oct 13 16:40:24 BST 2002  Olly Betts <olly@survex.com>
36559         * api/omstem.cc,backends/quartz/,common/,extra/omparsequery.h,matcher/,
36560           net/socketclient.cc: Added private copy ctors and assignment
36561           operators to classes with pointer members (which shouldn't be
36562           copied).
36564 Sun Oct 13 15:12:40 BST 2002  Olly Betts <olly@survex.com>
36566         * docs/todo.xml: Updated.
36568 Sun Oct 13 02:33:57 BST 2002  Olly Betts <olly@survex.com>
36570         * .cvsignore: Added install-sh.
36572 Sun Oct 13 02:16:31 BST 2002  Olly Betts <olly@survex.com>
36574         * backends/quartz/{quartz_lexicon.cc,quartz_lexicon.h}: key to lexicon
36575           is now simply the termname - no need to encode the length there too
36576           since the Btree knows how long the key is.
36577         * backends/quartz/{quartz_table_manager.cc,quartz_values.cc}: finished
36578           the terminology change from "attribute" to "value" (including
36579           renaming the btree files, which is why it wasn't done before).
36581 Sun Oct 13 02:09:00 BST 2002  Olly Betts <olly@survex.com>
36583         * tests/api_db.cc: Snowball stems "this" to "this" rather than "thi",
36584           so update apitest source to reflect this.
36586 Sun Oct 13 01:03:04 BST 2002  Olly Betts <olly@survex.com>
36588         * configure.in: Removed references to languages/*/Makefile.
36590 Sun Oct 13 00:50:01 BST 2002  Olly Betts <olly@survex.com>
36592         * docs/indexerquickstart.html,docs/quartzdesign.html: Updated.
36594 Sat Oct 12 23:34:52 BST 2002  Olly Betts <olly@survex.com>
36596         * languages/{api.c,api.h,header.h,utilities.c}: 4 new files.
36598 Sat Oct 12 23:29:50 BST 2002  Olly Betts <olly@survex.com>
36600         * languages/: removed all the old .cvsignore files.
36602 Sat Oct 12 22:34:01 BST 2002  Olly Betts <olly@survex.com>
36604         * api/omstem.cc,docs/stemming.html,docs/todo.xml,languages/: Replaced
36605           our stemmers with those from Snowball.  Note that these give better
36606           results, but this also means that existing databases won't work
36607           quite correctly if they contain stemmed terms.
36609 Sat Oct 12 17:17:26 BST 2002  Olly Betts <olly@survex.com>
36611         * configure.in,NEWS: Version 0.5.3.
36613 Sat Oct 12 16:49:50 BST 2002  Olly Betts <olly@survex.com>
36615         * PLATFORMS,api/omvalueiteratorinternal.h,extra/parsequery.yy,
36616           include/om/omdocument.h: Fixed std:: namespace issues to
36617           allow compilation with GCC 3 once again.
36619 Sat Oct 12 15:43:22 BST 2002  Olly Betts <olly@survex.com>
36621         * docs/todo.xml: Updated.
36623 Fri Oct 11 02:14:47 BST 2002  Olly Betts <olly@survex.com>
36625         * backends/quartz/Makefile.am: Include test data for btreetest
36626           in distribution tarball.
36628 Fri Oct 11 01:43:03 BST 2002  Olly Betts <olly@survex.com>
36630         * backends/quartz/{z_note,z_sequence,z_Cversion/,z_make/,z_test/}:
36631           Removed all the unused old C btree stuff.
36633 Thu Oct 10 17:32:10 BST 2002  Olly Betts <olly@survex.com>
36635         * backends/quartz/{btree.cc,btree.h}: More Btree tidying.
36637 Thu Oct 10 17:14:28 BST 2002  Olly Betts <olly@survex.com>
36639         * backends/quartz/{bcursor.cc,btree.cc,btree.h}: Btree::prev* and
36640           Btree::next* are no longer static methods.
36641         * backends/quartz/btree.h: Tweaked comments so doxygen will
36642           understand them.
36644 Thu Oct 10 16:12:29 BST 2002  Olly Betts <olly@survex.com>
36646         * backends/quartz/quartz_postlist.cc: return docids rather
36647           than passing in a pointer to fill in.
36649 Thu Oct 10 16:08:22 BST 2002  Olly Betts <olly@survex.com>
36651         * backends/quartz/quartzcheck.cc: Fixed #include-d files;
36652           Example in usage message now uses the directory where
36653           omega looks for its database by default.
36655 Thu Oct 10 15:25:10 BST 2002  Olly Betts <olly@survex.com>
36657         * backends/quartz/btree.cc,backends/quartz/btree.h: More comment
36658           improvements; Removed superfluous Cursor parameter from
36659           Btree::add_kt() - it always gets passed the C member of Btree
36660           which we have available anyway.
36662 Thu Oct 10 14:49:11 BST 2002  Olly Betts <olly@survex.com>
36664         * backends/quartz/btree.cc: Removed "struct" from in front of
36665           Btree and Cursor; Updated and reformatted many comments.
36667 Thu Oct 10 03:45:56 BST 2002  Olly Betts <olly@survex.com>
36669         * testsuite/backendmanager.cc: Reworded comment to make it clearer.
36671 Thu Oct 10 03:29:52 BST 2002  Olly Betts <olly@survex.com>
36673         * docs/todo.xml: Updated.
36675 Wed Oct 09 14:05:07 BST 2002  Olly Betts <olly@survex.com>
36677         * backends/quartz/{quartz_alltermslist.cc,quartz_alltermslist.h,
36678           quartz_database.cc}: Implemented
36679           QuartzAllTermsList::get_approx_size().
36681 Wed Oct 09 10:46:42 BST 2002  Olly Betts <olly@survex.com>
36683         * extra/omparsequery.h,include/om/omvalueiterator.h: Don't use
36684           "using std::foo;" in externally visible headers.
36686 Wed Oct 09 10:26:05 BST 2002  Olly Betts <olly@survex.com>
36688         * extra/omparsequery.h: fixed unused parameter warning.
36690 Tue Oct 08 20:32:46 BST 2002  Olly Betts <olly@survex.com>
36692         * tests/stemtest.cc: Added missing space to output.
36694 Tue Oct 08 20:10:35 BST 2002  Olly Betts <olly@survex.com>
36696         * With GCC, add warning flags "-Wall -W" rather than "-Wall -Wunused"
36697           (-Wall implies -Wunused anyway).  Fixed all the warnings this throws
36698           up, except in languages/ (that code is to be replaced with Snowball
36699           soon).
36701 Tue Oct 08 19:57:03 BST 2002  Olly Betts <olly@survex.com>
36703         * testsuite/: Disable colour test output if stdout isn't a terminal;
36704           reworked check for broken exception handling as the previous
36705           version never seemed to fire; added "using" for all the things
36706           we want from std::; improved how signal handlers are set and
36707           unset; report exception class for exceptions derived from OmError
36708           rather than a blanket "OMEXCEPT"; added private copy ctor and
36709           assignment to test_driver to prevent copying.
36711 Tue Oct 08 19:53:02 BST 2002  Olly Betts <olly@survex.com>
36713         * include/om/Makefile.am: remove include/om/om.h on "make distclean",
36714           not "make clean".  Otherwise "./configure ; make clean ; make"
36715           fails which is wrong.
36717 Sun Oct 06 18:37:39 BST 2002  Olly Betts <olly@survex.com>
36719         * PLATFORMS: Updated.
36720         * docs/: Removed Martin's paper - background information for stemmers
36721           is best left to the Snowball documentation.
36723 Sat Oct 05 20:31:55 BST 2002  Olly Betts <olly@survex.com>
36725         * NEWS,configure.in: 0.5.2 release.
36727 Sat Oct 05 03:01:49 BST 2002  Olly Betts <olly@survex.com>
36729         * PLATFORMS: Updated.
36731 Sat Oct 05 02:09:35 BST 2002  Olly Betts <olly@survex.com>
36733         * docs/todo.xml: Updated.
36735 Fri Oct 04 22:34:12 BST 2002  Olly Betts <olly@survex.com>
36737         * PLATFORMS,testsuite/testutils.h: Code to spot mishandled exceptions
36738           doesn't always work - noted this in PLATFORMS, and tweaked the code
36739           a little.
36741 Fri Oct 04 19:08:08 BST 2002  Olly Betts <olly@survex.com>
36743         * backends/quartz/.cvsignore: Added quartzcheck.
36745 Fri Oct 04 18:24:55 BST 2002  Olly Betts <olly@survex.com>
36747         * docs/: converted all text docs to HTML (except omsettings which will
36748           has odd markup (LaTeX?) and will probably soon be obsolete anyway).
36749         * docs/todo.xml: updated.
36751 Fri Oct 04 17:18:33 BST 2002  Olly Betts <olly@survex.com>
36753         * net/socketcommon.cc: Fixed handling of timeouts in the past.
36755 Fri Oct 04 13:51:39 BST 2002  Olly Betts <olly@survex.com>
36757         * PLATFORMS,testsuite/testutils.h: Use typeid() to spot when GCC 2.95
36758           mishandles an exception, and don't count this as a test failure.
36760 Fri Oct 04 03:59:29 BST 2002  Olly Betts <olly@survex.com>
36762         * api/omdatabaseinternal.cc,backends/multi/multi_termlist.h,
36763           matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h:
36764           pulled uses of dynamic_cast<> to higher up in the code.
36766 Fri Oct 04 03:53:44 BST 2002  Olly Betts <olly@survex.com>
36768         * PLATFORMS,backends/quartz/{btree.cc,quartz_metafile.cc}: Fixed quartz
36769           problems on platforms where sizeof(long) != 4.
36770         * PLATFORMS: Updated in the light of investigations into test failures
36771           on x86 Redhat Linux - only multierrhandler1 with the remote backend
36772           is actually a problem.
36774 Wed Oct 02 16:32:48 BST 2002  Olly Betts <olly@survex.com>
36776         * NEWS: Updated for 0.5.1 release.
36778 Wed Oct 02 16:01:50 BST 2002  Olly Betts <olly@survex.com>
36780         * PLATFORMS,configure.in: 0.5.1 release.
36782 Tue Oct 01 13:34:24 BST 2002  Olly Betts <olly@survex.com>
36784         * docs/: tweaked navigation links in index.html; converted bm25
36785           text document to HTML and linked it in; added todo entry to
36786           locate the "illusion of control" paper.
36788 Tue Oct 01 12:48:41 BST 2002  Olly Betts <olly@survex.com>
36790         * docs/: renamed intro.html to install.html, and userman.html to
36791           overview.html; changed navbar on index.html.
36793 Tue Oct 01 12:37:20 BST 2002  Olly Betts <olly@survex.com>
36795         * bootstrap: fixed adding of directory with xapian.m4 in to
36796           ACLOCAL_FLAGS; added trap to tell user if bootstrapping failed.
36798 Tue Oct 01 12:33:38 BST 2002  Olly Betts <olly@survex.com>
36800         * HACKING,Makefile.am,bootstrap,buildall,xapian.spec.in,
36801           autoconf/dir_contents,docs/todo.xml: Added bootstrap script as a
36802           replacement for buildall (buildall left in place for now until
36803           bootstrap receives wider testing).
36805 Tue Oct 01 12:19:32 BST 2002  Olly Betts <olly@survex.com>
36807         * HACKING,Makefile.am,configure.in,PLATFORMS: require automake 1.6.3
36808           (and hence autoconf 2.54) to fix problem building tests/internaltest
36809           with Solaris make.
36811 Mon Sep 30 20:30:42 BST 2002  Olly Betts <olly@survex.com>
36813         * PLATFORMS: Improved wording about bogus OMEXCEPT failures);
36814           Added results for OpenBSD 3.0 and Solaris 8 on x86 (both work).
36816 Mon Sep 30 20:25:03 BST 2002  Olly Betts <olly@survex.com>
36818         * docs/: Pruned .cvsignore; removed cvs.html (link to CVS info
36819           on website directly); removed using_stemmers.html - those
36820           wishing to use the C API to the stemmers ought to look at
36821           Snowball instead; include HTML versions of quickstart*.cc
36822           in tarballs; improved wording in various places.
36824 Mon Sep 23 19:33:31 BST 2002  Olly Betts <olly@survex.com>
36826         * net/Makefile.am: Fixed building of readquery.cc from readquery.ll.
36828 Sun Sep 22 03:57:20 BST 2002  Olly Betts <olly@survex.com>
36830         * PLATFORMS: Updated.
36832 Fri Sep 20 15:09:25 BST 2002  Olly Betts <olly@survex.com>
36834         * PLATFORMS: Added note about bogus OMEXCEPT test failures with
36835           GCC 2.95.
36837 Fri Sep 20 01:36:35 BST 2002  Olly Betts <olly@survex.com>
36839         * NEWS,PLATFORMS,configure.in: 0.5.0 release!
36841 Fri Sep 20 01:01:52 BST 2002  Olly Betts <olly@survex.com>
36843         * Makefile.am: Perl module we need to process todo.xml is XML::Parser
36844           not XML, so corrected error message.
36845         * configure.in: Commented out MSG_WARN() when Perl modules XML::Parser
36846           or Text::Format aren't found.  In a release tarball, this only
36847           matters if you modify docs/todo.xml, and the warning message(s) may
36848           alarm those building the software.
36850 Thu Sep 19 00:57:23 BST 2002  Olly Betts <olly@survex.com>
36852         * .cvsignore: Added depcomp, missing, mkinstalldirs.
36854 Thu Sep 19 00:49:01 BST 2002  Olly Betts <olly@survex.com>
36856         * HACKING: Added note about safe way to generate files in make rules.
36858 Thu Sep 19 00:45:51 BST 2002  Olly Betts <olly@survex.com>
36860         * PLATFORMS: Tested on Solaris 7 with GCC 2.95.3 (works) and Solaris 8
36861           Sun Workshop C++ compiler (fails to compile).
36863 Thu Sep 19 00:41:53 BST 2002  Olly Betts <olly@survex.com>
36865         * ar-wrapper-solaris,ltconfig,Makefile.am: libtool 1.4 doesn't use
36866           ltconfig, and that's the only thing that uses ar-wrapper-solaris,
36867           so removed both.  Fairly sure the problem they address was fixed
36868           in libtool so time ago.  Xapian doesn't build with Sun's C++
36869           compiler at the moment anyway, so it's moot for the release.
36871 Thu Sep 19 00:26:37 BST 2002  Olly Betts <olly@survex.com>
36873         * docs/todo2html.pl: Handle release "*" specially - it indicates
36874           tasks to be done for each release.
36876 Thu Sep 19 00:05:40 BST 2002  Olly Betts <olly@survex.com>
36878         * configure.in,include/om/om.h.in: Tweaked how generation of om.h
36879           works to avoid problems with Sun's C++ compiler.
36881 Wed Sep 18 19:21:47 BST 2002  Olly Betts <olly@survex.com>
36883         * net/Makefile.am,net/readquery.ll: #include <config.h>
36884           must be included before any other headers, but that seems to be
36885           impossible to arrange in lex/flex so we use echo and cat in the
36886           Makefile to arrange this.
36888 Wed Sep 18 17:35:00 BST 2002  Olly Betts <olly@survex.com>
36890         * include/om/Makefile.am: We want to install om/om.h, but not
36891           distribute it or people with a different compiler to whoever
36892           ran "make dist" will get the "ABI mismatch" error.
36894 Wed Sep 18 13:16:14 BST 2002  Richard Boulton <richard@tartarus.org>
36896         * docs/.cvsignore: Add docs/doxygen_full_warnings.
36897         * include/om/.cvsignore: Add include/om/om.h.
36899 Wed Sep 18 11:06:12 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
36901         * include/om/Makefile.am: We really should install om/om.h, or
36902           applications can't build against us.
36904 Wed Sep 18 05:10:24 BST 2002  Richard Boulton <richard@tartarus.org>
36906         * docs/doxygen_{api,full}_header.html_tmpl: Remove meta robots tag -
36907           why shouldn't this be indexed?  Now the omega I set up pointing
36908           at copies of this should actually index something.
36910 Wed Sep 18 04:52:20 BST 2002  Olly Betts <olly@survex.com>
36912         * configure.in: Merged two sed invocations into one - we don't want
36913           configure to run any slower than it has to.
36915 Wed Sep 18 04:17:58 BST 2002  Richard Boulton <richard@tartarus.org>
36917         * configure.in: Don't put confdefs.h into SOURCEDOC_H_SRC - this
36918           file only exists during the configure run.  Fixes failure of
36919           "make doxygen_docs" in docs/
36921 Tue Sep 17 13:07:39 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
36923         * Updated PLATFORMS file.
36925 Mon Sep 16 19:40:02 BST 2002  Olly Betts <olly@survex.com>
36927         * docs/todo.xml: Updated.
36929 Mon Sep 16 18:09:29 BST 2002  Olly Betts <olly@survex.com>
36931         * tests/api_db.cc: don't run consistency1 test on the remote backend
36932           - it's particularly slow with that, and testing it there doesn't
36933           actually improve the test coverage really.
36935 Mon Sep 16 17:15:46 BST 2002  Olly Betts <olly@survex.com>
36937         * configure.in,docs/Makefile.am: Added workaround for pattern length
36938           limits in Solaris sed.
36940 Mon Sep 16 17:13:20 BST 2002  Olly Betts <olly@survex.com>
36942         * include/om/om.h.in: Added explanatory comments for developers.
36944 Mon Sep 16 14:22:48 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
36946         * om/om.h needs to be in CLEANFILES or make distcheck fails
36948 Mon Sep 16 13:37:04 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
36950         * Now om/om.h is built from om/om.h.in, it may be in the build
36951           directly. Consequently, we need to add that to the include path
36952           for VPATH builds. Plus (also for VPATH), om/om.h needs to be
36953           output after AC_OUTPUT, because otherwise the destination
36954           directory may not exist.
36956 Mon Sep 16 04:19:54 BST 2002  Olly Betts <olly@survex.com>
36958         * configure.in,docs/todo.xml,include/om/Makefile.am,include/om/om.h,
36959           include/om/om.h.in: When building the library with GCC, generate
36960           include/om/om.h with preprocessor code to check that any version
36961           of GCC used to build applications has a matching C++ ABI.
36963           This means that users get a nice explanatory error message rather
36964           than a confusing link failure (or worse a program which builds
36965           but crashes).  Another benefit is that the check happens near the
36966           start of compilation of the first source file which uses Xapian
36967           in the user's application, rather than during the first attempt
36968           to link with Xapian.
36970 Sun Sep 15 01:42:19 BST 2002  Olly Betts <olly@survex.com>
36972         * net/tcpserver.cc: Solved std mystery - "using namespace std;" was
36973           inside a #ifdef which wasn't enabled!
36975 Sun Sep 15 01:21:34 BST 2002  Richard Boulton <richard@tartarus.org>
36977         * tests/tcpserver.cc: Hacky fix to compile with gcc-3.2 snapshot in
36978           Debian unstable - add a FIXME to work out why this is needed.
36979         * todo: add entry about checking ABI versions using
36980           __GXX_ABI_VERSION macro.
36982 Sat Sep 14 22:39:11 BST 2002  Olly Betts <olly@survex.com>
36984         * configure.in,tests/Makefile.am,tests/internaltest.cc: It turns out
36985           that internaltest *does* need -fno-access-control, so put it back.
36986           Not quite sure how I missed this.  Changed to skip refcnt tests
36987           when -fno-access-control isn't available (rather than omitting them
36988           entirely).
36990         * tests/api_db.cc: Fixed compile problem.
36992 Sat Sep 14 21:44:34 BST 2002  Olly Betts <olly@survex.com>
36994         * internaltest: doesn't actually need -fno-access-control these
36995           days, so removed it and the configure tests for it.
36997         * stemtest: recoded to be all in C++ and removed use of intermediate
36998           files for random data tests - now runs ~15% faster; no longer need
36999           HAVE_PERL so removed from configure.
37001         * apitest: use C++ streams rather than stdio; stubdb1 now cleans up
37002           the temporary file it creates.
37004 Sat Sep 14 12:54:52 BST 2002  Olly Betts <olly@survex.com>
37006         * docs/Makefile.am: fix "mv apidoc/latex/refman.ps avidoc.ps" which
37007           fails after recent change.
37009 Sat Sep 14 11:15:33 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37011         * Renamed simple* programs in quickstart docs to quickstart* to
37012           avoid confusion with the simple* programs in xapian-examples.
37013           (Thanks to Alex Bowley for pointing out the confusion.)
37015 Sat Sep 14 10:00:35 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37017         * configure.in: returned AC_CONDITIONAL for HAVE_PERL
37019 Sat Sep 14 09:29:08 BST 2002  Richard Boulton <richard@tartarus.org>
37021         * buildall: change to srcdir before testing for necessary tools
37022           so that scripts which guess which autotools version to use have more
37023           information available to guess with: for example, the Debian
37024           autoconf version guessing script looks for "configure.ac" as a sign
37025           that autoconf 2.50+ is required.
37027 Sat Sep 14 02:50:23 BST 2002  Olly Betts <olly@survex.com>
37029         * docs/distributed.txt,docs/quartzdesign.html,docs/todo.xml: assorted
37030           documentation updates.
37032 Sat Sep 14 02:10:12 BST 2002  Olly Betts <olly@survex.com>
37034         * PLATFORMS: removed note about VPATH problems.
37036 Sat Sep 14 02:02:58 BST 2002  Olly Betts <olly@survex.com>
37038         * btree.cc,btree.h: rearranged Btree::del() so control flow is clearer.
37040 Sat Sep 14 01:56:44 BST 2002  Olly Betts <olly@survex.com>
37042         * HACKING,docs/Makefile.am: added evil hack to allow VPATH builds to
37043           work with BSD make.
37045 Wed Sep 11 11:29:07 BST 2002  Olly Betts <olly@survex.com>
37047         * backends/database_builder.cc: Quartz is fairly mature - change
37048           comment which suggests that the btree names will change.
37050 Wed Sep 11 11:13:43 BST 2002  Olly Betts <olly@survex.com>
37052         * configure.in: Don't double quote `$MISSING foo' as autoconf adds them
37053         * docs/Makefile.am: Use `test a = b' rather than `test a == b'
37055 Tue Sep 10 14:50:16 BST 2002  Olly Betts <olly@survex.com>
37057         * configure.in: tweaked test for perl modules - stderr is now
37058           fully suppressed on sh (which behaves slightly differently to bash).
37060 Tue Sep 10 14:27:15 BST 2002  Richard Boulton <richard@tartarus.org>
37062         * backend_manager.cc: Fix stub database code so that it doesn't use
37063           the gnu extension "getline()".
37065 Tue Sep 10 13:51:20 BST 2002  Olly Betts <olly@survex.com>
37067         * quartz_table.cc: don't form tag when we just want to check if a
37068           key is present before calling Btree::del().  Working out why
37069           we can't call Btree::del() would still be worthwhile though.
37071 Tue Sep 10 13:02:04 BST 2002  Olly Betts <olly@survex.com>
37073         * quartztest.cc: removed unused #include-s; describe valid options
37074           in usage message.
37076 Tue Sep 10 02:07:29 BST 2002  Olly Betts <olly@survex.com>
37078         * remote backend: implemented term_exists() and get_termfreq();
37079           added test to check they work.
37081 Mon Sep  9 12:59:15 BST 2002  Richard Boulton <richard@tartarus.org>
37083         * Add stub databases: if backend type is auto, and auto_dir points
37084           to a file, read in settings from the file (overwriting the
37085           existing ones), and then use them to open the database.
37086           This allows, for example, omega to open a remote database by
37087           putting in a stub database file in the omega directory.
37088           Updated documentation for opening databases in userman.html.
37089         * apitest: Added test for stub databases.
37091 Mon Sep 09 02:26:36 BST 2002  Olly Betts <olly@survex.com>
37093         * Documentation updates: move suggested books into intro_ir.html
37094           and added URL for citeseer reference Richard posted to mailing
37095           list recently; clarified wording in a couple of places.
37097 Sat Sep  7 12:52:12 2002  James Aylett  <tartarus@users.sourceforge.net>
37099         * docs: fixed references to OmDocumentContents (now OmDocument)
37100           which had clearly been broken for a while. Also fixed get_data()
37101           and set_data() example usage so it reflects reality (I hope).
37103 Wed Sep 04 22:46:17 BST 2002  Olly Betts <olly@survex.com>
37105         * Corrected min_item.wt to min_wt in two assertions.
37107 Thu Aug 15 11:42:20 BST 2002  Richard Boulton <richard@tartarus.org>
37109         * buildall: Only add the directory derived from xapian-config
37110           to ACLOCAL_FLAGS if it actually exists.
37112 Mon Aug 12 01:13:55 BST 2002  Richard Boulton <richard@tartarus.org>
37114         * quartz_table.cc: Check that a key exists before calling
37115           Btree::del() - there seems to be a bug in the btree code
37116           causing a failure when deleting keys if they don't exist.
37117           This work around appears to make things work correctly, but
37118           won't be terribly efficient.
37120 Mon Aug 12 00:09:21 BST 2002  Richard Boulton <richard@tartarus.org>
37122         * quartz_table_manager.cc: When unable to apply modifications,
37123           call cancel on the buffered table after reopening disk table
37124           at old revision - otherwise, the entry count gets messed up.
37125         * quartz_table.cc, quartz_database.cc: Improve debugging and
37126           error reporting: I'm trying to work out why the failure Olly
37127           reported is occurring.
37129 Sat Aug 10 15:12:42 2002  James Aylett  <tartarus@users.sourceforge.net>
37131         * Fixed missing include in quartzcheck.cc
37133 Sat Aug 10 14:57:17 2002  James Aylett  <tartarus@users.sourceforge.net>
37135         * Fixed typo in quartzcheck.cc
37137 Tue Jul 23 22:12:34 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37139         * Added a note to the effect that the indexgraph stuff isn't
37140           really considered useful to the HTML document introducing it.
37142 Tue Jul 23 22:09:39 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37144         * Added some comments in quartztest test_create1(), in case anyone
37145           else who didn't write it needs to understand it.
37147         * Added Olly as an active participant to the AUTHORS file :)
37149 Tue Jul 23 21:59:50 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37151         * Reworded quickstart document so it does not refer to the example
37152           code (it was never actually in sync).
37154 Mon Jul 22 14:07:18 BST 2002  Sam Liddicott <sam@ananova.com>
37156         * Forgot to actually add the quartzcheck.cc file last time
37158 Mon Jul 22 13:28:09 BST 2002  Sam Liddicott <sam@ananova.com>
37160         * Add buildprereq to package
37161           Add quartzcheck which runs btree::check to backends
37163 Tue Jul 16 09:44:56 BST 2002  Sam Liddicott <sam@ananova.com>
37165         * Fix banding problem; bands are now based on the percentage
37166           not the weight, and using integer maths to avoid problems
37167           with ceil() rounding up supposed integers which are really
37168           slightly larger due to precision errors
37170 Thu Jul 11 00:16:22 BST 2002  Olly Betts <olly@survex.com>
37172         * configure.in, docs/Makefile.am: configure fixes for Solaris - clear
37173           cached result for fdatasync since it may be wrong if we decide we
37174           need to link librt; split SOURCEDOC_SRC into two to avoid hitting
37175           4096 char line length in Solaris sed.
37177 Tue Jul 09 17:47:31 BST 2002  Olly Betts <olly@survex.com>
37179         * PLATFORMS, tests/Makefile.am: improved internaltest.cc automake rules
37180           - they should now work in VPATH builds with Solaris make.
37182 Tue Jul 09 03:30:41 BST 2002  Olly Betts <olly@survex.com>
37184         * configure.in, docs/Makefile.am: Fixed up apidoc and sourcedoc
37185           dependencies so that they work correctly in VPATH builds.  Also
37186           only use portable find arguments to generate SOURCEDOC_SRC.
37188 Sat Jul 06 13:53:27 BST 2002  Olly Betts <olly@survex.com>
37190         * xapian.spec.in: Updated in preparation for release.
37192 Sat Jul 06 13:04:45 BST 2002  Olly Betts <olly@survex.com>
37194         * docs/Makefile.am: Run latex twice to get forward references resolved.
37196 Fri Jul 05 18:23:08 BST 2002  Olly Betts <olly@survex.com>
37198         * matcher/multimatch.cc: better (perhaps even completely correct) fix
37199           for sorting into bands.
37201         * matcer/localmatch.cc: removed entirely bogus comment from over-eager
37202           cut-and-paste.
37204         * tests/api_db.cc: added otherwise pointless statement to deldoc3
37205           which seems to fix occasional miscompilation by GCC 2.95.
37207 Fri Jul 05 16:37:12 BST 2002  Olly Betts <olly@survex.com>
37209         * docs/Makefile.am: "make dist" now fails if dot (part of graphviz)
37210           isn't installed.
37212 Fri Jul 05 08:54:33 BST 2002  Sam Liddicott <sam@ananova.com>
37214         * bindings/: removed some typemap hacks as swig has better typemaps now
37216 Fri Jul 05 08:46:06 BST 2002  Sam Liddicott <sam@ananova.com>
37218         * matcher/multimatch.cc: Quick hack to stop 100% being in a band all on
37219           its own.  The real problem is that bands need to include the integer
37220           at the upper end of the range, rather than the lower end.
37222 Thu Jul 04 16:23:52 BST 2002  Olly Betts <olly@survex.com>
37224         * docs/mkdoc.pl: Fixed to work in VPATH builds.
37226 Thu Jul 04 12:42:06 BST 2002  Olly Betts <olly@survex.com>
37228         * configure.in, docs/Makefile.am: use "missing" to give more helpful
37229           errors when we don't find tools we need.
37231 Wed Jul 03 12:39:15 BST 2002  Olly Betts <olly@survex.com>
37233         * NEWS: incorporated recent changes into provisional version.
37235         * docs/: sorted out make rules for running doxygen; don't tell doxygen
37236           to build man pages which we aren't using.
37238 Tue Jul 02 16:36:54 BST 2002  Olly Betts <olly@survex.com>
37240         * docs/: run through ispell; fixed OM_MOP to OmQuery::OP; other
37241           corrections.
37243 Fri Jun 28 02:59:49 BST 2002  Olly Betts <olly@survex.com>
37245         * Backend "auto" now works when creating an OmWritableDatabase which
37246           doesn't already exist - it'll pick a backend which supports writing
37247           and is compiled in (currently this means quartz).
37249 Thu Jun 27 20:31:13 BST 2002  Richard Boulton <richard@tartarus.org>
37251         * backends/quartz/btreetest.cc (sequent1): Add regression test for
37252           recently fixed bug with sequential addition.
37253         * backends/quartz/z_data/ordnum[+-]: Data files for new test.
37255 Thu Jun 27 13:13:37 BST 2002  Olly Betts <olly@survex.com>
37257         * Documentation fettling: removed docs/Notes and
37258           docs/coding_policy.txt moving relevant content into HACKING,
37259           common/postlist.h, docs/todo.xml, and include/om/omtypes.h; install
37260           docs as PostScript rather than DVI; include text docs in tarball and
37261           install them; "make dist" will now fail if a tool needed to build
37262           docs is missing; removed last vestiges of Doc++ support;
37263           doc/Makefile no longer uses include (include isn't portable);
37264           improved doc/tests.txt.
37266 Thu Jun 27 12:10:37 BST 2002  Olly Betts <olly@survex.com>
37268         * apitest: doesn't directly use anything from utils.h, so don't
37269           #include it.
37271 Thu Jun 27 12:05:53 BST 2002  Olly Betts <olly@survex.com>
37273         * Removed includetest - it was useful early in development, but isn't
37274           really now.
37276 Wed Jun 26 22:09:57 BST 2002  Olly Betts <olly@survex.com>
37278         * apitest: deldoc2 and deldoc3 now pass when the library is compiled
37279           with --enable-debug.
37281 Wed Jun 26 19:35:56 BST 2002  Olly Betts <olly@survex.com>
37283         * Removed code which causes quartztest to fail with an --enable-debug
37284           build.
37286 Wed Jun 26 13:55:11 BST 2002  Olly Betts <olly@survex.com>
37288         * todo.xml: added note to fix 100% being in its own sort band.
37290 Wed Jun 26 13:46:02 BST 2002  Richard Boulton <richard@tartarus.org>
37292         * btree.cc: Fix splitting of blocks in sequential mode to ensure
37293           that split happens no earlier than the midpoint.
37295 Wed Jun 26 12:32:47 BST 2002  Richard Boulton <richard@tartarus.org>
37297         * btree.cc: Asserts to check that add_item in sequential mode
37298           when splitting a block is not trying to add to the wrong block,
37299           or to add to a new block which is not empty (or containing more
37300           than one item).
37302 Tue Jun 25 17:53:19 BST 2002  Olly Betts <olly@survex.com>
37304         * Assert that the value of c is sane in GETINT1, etc.
37306 Tue Jun 25 16:30:09 BST 2002  Olly Betts <olly@survex.com>
37308         * btreetest.cc: use C++ IO rather than C stdio; removed commented out
37309           LFSinsertdelete1 test (it was never written and a test suite which
37310           creates 2G files is probably a bit too resource hungry).
37312 Tue Jun 25 13:56:01 BST 2002  Olly Betts <olly@survex.com>
37314         * btree/quartz: More use of const pointers; more use of C++ strings.
37316 Wed Jun 19 08:56:00 BST 2002  Sam Liddicott <sam@ananova.com>
37318         * Fixed spec file to build for prefix=/usr not just install there
37320 Fri Jun 14 16:35:04 BST 2002  Olly Betts <olly@survex.com>
37322         * docs/todo.xml: added 4 new tasks.
37324 Fri Jun 14 16:33:08 BST 2002  Olly Betts <olly@survex.com>
37326         * backends/quartz/quartz_database.cc: Cosmetic changes.
37328 Wed Jun 12 16:31:11 BST 2002  Olly Betts <olly@survex.com>
37330         * QuartzDbKey, QuartzDbTag: just use a string instead of a string
37331           wrapped in a structure.  We've stopped inflicting this on external
37332           developers (OmData, OmKey/OmValue) so why inflict it on ourselves?
37334 Wed Jun 12 12:26:04 BST 2002  Olly Betts <olly@survex.com>
37336         * Btree_item: use C++ strings rather than trying to reimplement them.
37338         * Fix a few warnings about unused parameters.
37340 Wed Jun 12 02:53:16 BST 2002  Olly Betts <olly@survex.com>
37342         * Btree_full_compaction, Btree_close: removed - they just wrap methods
37343           of Btree.
37345 Wed Jun 12 02:28:30 BST 2002  Olly Betts <olly@survex.com>
37347         * Btree_item_create and Btree_item_lose subsumed into Btree_item
37348           and ~Btree_item.
37350         * Pass C++ strings rather than const char * into various Btree open
37351           methods.
37353         * Removed pointless wrapper functions for Btree open methods.
37355         * Btree_quit removed (just use delete directly).
37357         * Btree_create removed (just use Btree::create directly).
37359 Wed Jun 12 00:48:52 BST 2002  Olly Betts <olly@survex.com>
37361         * form_key is now a method of Btree; more passing of strings rather
37362           than pointer/length pairs); buffer overrun check added to btreetest.
37364 Tue Jun 11 18:04:08 BST 2002  Olly Betts <olly@survex.com>
37366         * More C++ like interfaces (e.g. bool returns, strings rather than
37367           pointer/length pairs).
37369 Tue Jun 11 16:40:08 BST 2002  Richard Boulton <richard@tartarus.org>
37371         * quartz/btree.cc: Fix so that it compiles when BTREE_FULL_DEBUG is on,
37372           and added a couple of Assert()s.
37374 Tue Jun 11 13:09:39 BST 2002  Olly Betts <olly@survex.com>
37376         * Removed a number of btree functions which were simply wrappers for
37377           calling methods on their first parameter, and most of which weren't
37378           even used!
37380         * btree_api.txt: updated to better reflect the object-ized API.
37382 Tue Jun 11 02:01:53 BST 2002  Olly Betts <olly@survex.com>
37384         * Btree::make_index_item(): Added check for buffer overflow.
37386 Tue Jun 11 01:49:51 BST 2002  Olly Betts <olly@survex.com>
37388         * Still more...
37390 Tue Jun 11 01:08:03 BST 2002  Olly Betts <olly@survex.com>
37392         * More btree and quartz tidying.
37394 Mon Jun 10 20:33:24 BST 2002  Olly Betts <olly@survex.com>
37396         * btree.cc,btree.h: cleaned up further.
37398 Mon Jun 10 15:54:49 BST 2002  Olly Betts <olly@survex.com>
37400         * Further btree and quartz cleanups.
37402 Mon Jun 10 14:46:00 BST 2002  Olly Betts <olly@survex.com>
37404         * Fixed typo in recent quartzdump change.
37406 Mon Jun 10 13:20:20 BST 2002  Olly Betts <olly@survex.com>
37408         * Quartz clean-ups - especially QuartzTermList.
37410 Mon Jun 10 12:18:40 BST 2002  Olly Betts <olly@survex.com>
37412         * Bcursor_create made a method of class Btree as suggested by a FIXME.
37414 Mon Jun 10 01:57:53 BST 2002  Olly Betts <olly@survex.com>
37416         * More btree fixes and tidying.  Fixed bug introduced by typo in
37417           previous change which causes tests to fail.
37419 Sun Jun 09 17:50:28 BST 2002  Olly Betts <olly@survex.com>
37421         * btree_util.h: use inlines rather than macros.
37423         * Fix CompileTimeAssert() to avoid potential clashes.
37425 Sun Jun 09 12:46:25 BST 2002  Olly Betts <olly@survex.com>
37427         * btree.cc,btree.h: fixed bug caused by local variable masking member
37428           variable with same name.  Tidied up a lot.
37430 Wed Jun  5 12:22:57 BST 2002  Sam Liddicott <sam@ananova.com>
37432         * Fix OmQuery::op enum handling.
37434 Mon May 27 14:28:06 BST 2002  Sam Liddicott <sam@ananova.com>
37436         * Add crash-protected next() to OmMSetIterator
37438         * Add ->valid() method to iterator which returns FALSE if
37439           the iterator has reached the end
37441         * Added namespace fixes for latest cvs swig to be released next month
37443 Fri May 24 15:28:18 BST 2002  Sam Liddicott <sam@ananova.com>
37445         * Took out the string typemaps as swig now has them in stl.i
37447         * Added om_percent to omtypes.i - I wonder if we might just
37448           read omtypes.h instead, as swig can
37450         * Added OmMSetIterator and made changes to OmMSet
37452 Fri May 24 11:46:50 BST 2002  Sam Liddicott <sam@ananova.com>
37454         * Now support get_matching_terms via swig
37455           I'm not sure how to generally map iterators to php but in
37456           cases where we know only a small number of items exist
37457           to be iterated over it makes sense to return them as a
37458           php array
37460 Tue May 21 15:28:40 BST 2002  Richard Boulton <richard@tartarus.org>
37462         * multi_postlist.cc (get_doclength):  Get the document length from
37463           the appropriate sub-postlist, rather than from the database.
37464           This causes a huge speedup in some cases, since it avoids having
37465           to go to the termlist database for every document considered for
37466           an mset to get the document length.
37467           Added an AssertParanoid to check that the value from the postlist
37468           is the same as that from the database.
37469           This problem was noticed because "delve -v" was running several
37470           orders of magnitude slower than without -v - it is now of
37471           comparable speed.
37473 Tue May 21 15:27:37 BST 2002  Richard Boulton <richard@tartarus.org>
37475         * quartz_values.cc: Small fixes to enable it to compile with debug
37476           turned on.
37478 Fri May 17 14:52:45 BST 2002  Olly Betts <olly@survex.com>
37480         * OmQueryParser::set_database() method added.
37482         * Added disabled code to search for a keyword used in the query.
37484         * Added ' and * to the list of "phrase making characters".
37486         * To make a phrase, a phrase-maker must be followed by an alphanumeric
37487           rather than just a non-space.
37489 Fri May 17 14:49:54 BST 2002  Olly Betts <olly@survex.com>
37491         * INSTALL: GCC 3.1 release version works, so noted this.
37493         * HACKING: Added note about warning-free compilation being desirable
37494           and suggesting using "./configure CFLAGS=-Werror" to promote this.
37496         * NEWS: Minor updates.
37498 Thu May 16 16:57:42 BST 2002  Olly Betts <olly@survex.com>
37500         * Minor tweaks to get a warning-less compile with GCC 3.1.
37502 Thu May 16 13:36:19 BST 2002  Sam Liddicott <sam@ananova.com>
37504         * Clean up the spec file
37506 Thu May 16 12:20:09 BST 2002  Olly Betts <olly@survex.com>
37508         * Documented match_sort_key.
37510 Thu May 16 10:42:47 BST 2002  Sam Liddicott <sam@ananova.com>
37512         * A few quick tips from Olly, now the tarfile name and version no.
37513           stuff comes from autoconf so the spec file won't need tweaking
37514           each time the version number changes
37516 Wed May 15 15:48:42 BST 2002  Sam Liddicott <sam@ananova.com>
37518         * This can build RPM packages.
37519           Get the make-dist tarball and do:
37520           rpm -ta xapian-core-0.4.1-cvs.tar.gz
37521           and it will make source and binary rpms
37522           It doesn't build bindings packages yet but this will come when I
37523           build them
37525 Wed May 15 13:27:21 BST 2002  Richard Boulton <richard@tartarus.org>
37527         * buildall: Allow use of automake 1.6.1 and later, and CVS
37528           automake (versions 1.6[a-z])
37530 Wed May 15 11:40:58 BST 2002  Sam Liddicott <sam@ananova.com>
37532         * SWIG cvs (php4) now writes all output files to the same directory as
37533           the main output file, so need for hacks to move these, also no more
37534           clobbering our source files when building in the checkout dir
37536 Tue May 14 21:54:02 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37538         * Updated PLATFORMS file.
37540 Tue May 14 16:48:07 BST 2002  Olly Betts <olly@survex.com>
37542         * Removed multiple-include protection from config.h - if it's
37543           included more than once it's now a bug and we want to know!
37545 Tue May 14 15:25:05 BST 2002  Olly Betts <olly@survex.com>
37547         * OmQueryParser: parse acronyms as a single term (so "E.T." -> "ET"
37548           and "N.A.T.O" -> "NATO").
37550 Tue May 14 15:23:20 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37552         * Fixed config.h includes: source definition (ie not header) files
37553           #include <config.h> as their first action.
37555 Tue May 14 14:47:00 BST 2002  Olly Betts <olly@survex.com>
37557         * Updated todo.
37559         * extra/parsequery.yy: Fettled indentation.
37561 Tue May 14 13:14:51 BST 2002  Olly Betts <olly@survex.com>
37563         * Added test case for new "embedded &" rule, and fix problem bug it
37564           revealed.
37566 Tue May 14 13:10:33 BST 2002  Olly Betts <olly@survex.com>
37568         * OmQueryParser: Parse <word>&<word> as a single term (e.g. AT&T,
37569           M&S, A&P).
37571 Tue May 14 11:50:03 BST 2002  Olly Betts <olly@survex.com>
37573         * When including config.h, always specify it as <config.h>, not
37574           "config.h", and always do it first.  Both are recommended by
37575           the autoconf documentation.
37577 Mon May 13 17:17:13 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37579         * missing fallback rule all-local in docs/Makefile.am was failing
37580           the build on Solaris
37582 Mon May 13 15:50:31 BST 2002  Sam Liddicott <sam@ananova.com>
37584         * Use new %extends notation for swig.
37586         * Update for new omValue usage
37588         * Add omqueryparser support
37590 Mon May 13 15:12:30 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37592         * shipped getopt will now build in absence of system getopt
37594 Mon May 13 15:09:17 BST 2002  Olly Betts <olly@survex.com>
37596         * configure.in: Moved AH_TOP/AH_BOTTOM to more logical place.
37598         * docs/todo.xml: Updated.
37600 Mon May 13 14:13:27 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37602         * added getopt to DIST_SUBDIRS so distributions work
37604 Fri May 10 14:54:06 BST 2002  Olly Betts <olly@survex.com>
37606         * getopt/: Checked in files I missed last time.
37608 Fri May 10 14:35:52 BST 2002  Olly Betts <olly@survex.com>
37610         * Make sure GNU getopt is linked to everything which might need it so
37611           we build in non-glibc environments.
37613 Fri May 10 13:42:59 BST 2002  Olly Betts <olly@survex.com>
37615         * Replaced second match_sort_key optimisation with one which is
37616           faster and not flawed.
37618 Thu May 09 18:27:30 BST 2002  Olly Betts <olly@survex.com>
37620         * match_sort_key now runs at a sensible speed (approx. 20x speed
37621           up on my test case).
37623 Thu May 09 16:58:11 BST 2002  Olly Betts <olly@survex.com>
37625         * Added another optimisation for match_sort_key - my test case
37626           is now 25% faster (still slow though).
37628 Thu May 09 11:57:59 BST 2002  Olly Betts <olly@survex.com>
37630         * NEWS, PLATFORMS, README: Updated to something approximating what we
37631           want for a release.
37633         * docs/todo.xml: Updated.
37635 Thu May 09 10:57:59 BST 2002  Olly Betts <olly@survex.com>
37637         * Removed references to match_max_or_terms (which was replaced
37638           by OmQuery::OP_ELITE_SET long, long ago).
37640 Wed May 08 17:38:50 BST 2002  Olly Betts <olly@survex.com>
37642         * Improved api documentation comments.
37644 Wed May 08 17:09:14 BST 2002  Olly Betts <olly@survex.com>
37646         * Include findheaders.pl in tarball.
37648 Wed May 08 16:09:14 BST 2002  Olly Betts <olly@survex.com>
37650         * Killed off acconfig.h.
37652 Wed May 08 15:53:11 BST 2002  Olly Betts <olly@survex.com>
37654         * Added autom4te-*.cache to .cvsignore.
37656 Wed May 08 15:50:56 BST 2002  Olly Betts <olly@survex.com>
37658         * Rebuild docs on "make", not just "make dist" or "make install".
37660 Wed May 08 15:07:01 BST 2002  Olly Betts <olly@survex.com>
37662         * Added workaround for problems with <fcntl.h> on Solaris when LFS
37663           is enabled.
37665 Wed May 08 13:44:10 BST 2002  Olly Betts <olly@survex.com>
37667         * Matcher can now sort on a key.  Can be rather slow at present...
37669 Wed May 08 13:15:21 BST 2002  Olly Betts <olly@survex.com>
37671         * Updated todo.
37673 Wed May 08 12:22:53 BST 2002  Olly Betts <olly@survex.com>
37675         * Removed ltmain.sh-s from CVS.
37677 Wed May 08 12:21:32 BST 2002  Olly Betts <olly@survex.com>
37679         * buildall: run libtoolize; stripped out unnecessary stuff.
37681 Wed May 08 09:44:45 BST 2002  Olly Betts <olly@survex.com>
37683         * matcher/msetpostlist.cc: Removed bogus comment cut and pasted from
37684           matcher/mergepostlist.cc.
37686 Tue May 07 17:51:57 BST 2002  Olly Betts <olly@survex.com>
37688         * It's "m4_include", not "m4include".
37690 Tue May 07 17:52:36 BST 2002  Olly Betts <olly@survex.com>
37692         * Added autoconf/type_socklen_t macro.
37694 Tue May 07 16:50:20 BST 2002  Olly Betts <olly@survex.com>
37696         * Now require autoconf 2.50, which allows us to clean up some of the
37697           more unpleasant parts of the build system.
37699 Tue May 07 14:55:37 BST 2002  Olly Betts <olly@survex.com>
37701         * Added "match_sort_bands" option to sort results within relevance
37702           bands.  Currently the sort within each band is by document id, which
37703           isn't really very useful.  The plan is to allow sorting by a key.
37705 Tue May 07 14:54:12 BST 2002  Olly Betts <olly@survex.com>
37707         * Sorted out tests/findheaders.pl wrt last change.
37709 Tue May 07 13:12:23 BST 2002  Olly Betts <olly@survex.com>
37711         * Run perl scripts from Makefiles explicitly with $(PERL) rather than
37712           having them as generated files in AC_OUTPUT.
37714 Mon May  6 16:04:37 2002  James Aylett  <tartarus@users.sourceforge.net>
37716         * Distribution fixes: make clean should now clear up all
37717           required files.
37719 Mon May  6 14:42:46 2002  James Aylett  <tartarus@users.sourceforge.net>
37721         * Don't include dlfcn.h since we don't use it (and doesn't exist
37722           on some target platforms).
37724 Mon May  6 14:07:24 2002  James Aylett  <tartarus@users.sourceforge.net>
37726         * Minor documentation corrections.
37728 Fri May 03 18:14:14 BST 2002  Olly Betts <olly@survex.com>
37730         * Changed autoconf/automake project name to xapian-core, and updated
37731           the documentation to reflect this.
37733         * Disabled the bindings from being included in distribution tarballs.
37735 Fri May 03 18:13:43 BST 2002  Olly Betts <olly@survex.com>
37737         * Updated todo list.
37739 Fri May  3 18:02:06 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37741         * Overloading ambiguity resolutions for linux/alpha build on CF
37743 Fri May 03 17:13:36 BST 2002  Olly Betts <olly@survex.com>
37745         * buildall: Don't run configure or make; removed --no-make and --quiet.
37747 Fri May  3 16:52:01 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37749         * tests/testdata/etext.txt needs to be included in the distribution
37751 Fri May 03 16:18:38 BST 2002  Olly Betts <olly@survex.com>
37753         * Removed OmValue in favour of simply using a string (analogous to
37754           recent OmData change).
37756 Fri May 03 14:52:04 BST 2002  Olly Betts <olly@survex.com>
37758         * Removed unused om_docname typedef.
37760 Fri May 03 14:42:31 BST 2002  Olly Betts <olly@survex.com>
37762         * Terminology change - a "key" (in the OmKey sense) is now a "value".
37764 Fri May  3 14:31:57 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37766         * Fixed up todo list and HTML generation script to cope with
37767           items without an assigned priority.
37769 Fri May 03 14:29:58 BST 2002  Olly Betts <olly@survex.com>
37771         * It's HACKING (not INSTALL) that has details of developer tools.
37773 Thu May 02 15:57:48 BST 2002  Olly Betts <olly@survex.com>
37775         * Removed OmData - just return and take a string instead.
37777 Thu May 02 14:40:21 BST 2002  Olly Betts <olly@survex.com>
37779         * docs/.cvsignore: updated.
37781 Thu May 02 14:38:36 BST 2002  Olly Betts <olly@survex.com>
37783         * Removed assorted references to pthread locking; updated HACKING.
37785 Thu May 02 14:15:47 BST 2002  Olly Betts <olly@survex.com>
37787         * Stripped out OmBatchEnquire stuff, as it's unlikely to get sorted
37788           out any time soon, and it can be extracted from CVS when someone
37789           wants it.
37791 Thu May 02 13:50:04 BST 2002  Olly Betts <olly@survex.com>
37793         * Check for bison >= 1.35 in buildall.
37795 Wed May 01 17:39:57 BST 2002  Olly Betts <olly@survex.com>
37797         * Removed lingering references to Omsee and OpenMuscat.
37799 Wed May 01 16:34:13 BST 2002  Olly Betts <olly@survex.com>
37801         * Removed unused methods from NetClient (read_data and write_data).
37803 Wed May 01 14:01:12 BST 2002  Olly Betts <olly@survex.com>
37805         * Added test consistency1 to check matcher optimisations don't
37806           result in inconsistent results (i.e. that same matches and
37807           weights are returned regardless of size of mset asked for).
37809 Wed May 01 11:48:10 BST 2002  Olly Betts <olly@survex.com>
37811         * Fixed mismatched tags in todo.xml.
37813 Wed May 01 11:46:42 BST 2002  Olly Betts <olly@survex.com>
37815         * Updated todo.
37817 Wed May 01 11:40:47 BST 2002  Olly Betts <olly@survex.com>
37819         * Corrected configure warning message - it's XML::Parser not XML.
37821 Wed May 01 11:34:49 BST 2002  Olly Betts <olly@survex.com>
37823         * Tweaks to get queryparser building cleanly.
37825 Tue Apr 30 17:44:48 BST 2002  Olly Betts <olly@survex.com>
37827         * Updated query parser in extra from the updated one in omega,
37828           and fettled it to cope better with multiple instantiations
37829           (though it's a long way from being reentrant at the moment).
37831 Tue Apr 30 11:03:44 BST 2002  Olly Betts <olly@survex.com>
37833         * Updated todo.
37835 Mon Apr 29 19:28:04 BST 2002  Olly Betts <olly@survex.com>
37837         * More string.c_str() tidying.
37839 Mon Apr 29 17:41:33 BST 2002  Olly Betts <olly@survex.com>
37841         * Tidied up some uses of string.c_str().
37843         * Cleaned up todo list.
37845 Mon Apr 29 16:08:21 BST 2002  Olly Betts <olly@survex.com>
37847         * Updated buildall to check various tools have the required version
37848           numbers.
37850 Mon Apr 29 15:58:57 BST 2002  Olly Betts <olly@survex.com>
37852         * Tweaked use of HAVE_STREAMBUF
37854 Fri Apr 26 14:41:09 BST 2002  Sam Liddicott <sam@ananova.com>
37856         * Swig is now modified so it can build config.m4 and Makefile.in
37857           for php modules so I removed these from bindings/php4
37859 Tue Apr 23 18:21:03 BST 2002  Olly Betts <olly@survex.com>
37861         * Tried compiling with GCC 3.1 prerelease snapshot and fixed various
37862           STL-related warnings (mostly uses of istrstream).
37864         * Fixed usage of AM_CFLAGS and AM_CXXFLAGS.
37866 Tue Apr 23 15:48:36 BST 2002  Olly Betts <olly@survex.com>
37868         * Updated buildall (and had to tweak it again, sigh).
37870 Tue Apr 23 14:21:01 BST 2002  Sam Liddicott <sam@ananova.com>
37872         * Added typemap conversion to generate OmSettings from php hash
37873         * Changed order of classes in interface file
37875 Tue Apr 23 14:20:05 BST 2002  Olly Betts <olly@survex.com>
37877         * Revamped xapian-config and xapian.m4.  Important change - it's now
37878           "xapian-config --cxxflags" and XAPIAN_CXXFLAGS, not --cflags and
37879           _CFLAGS.
37881 Mon Apr 22 17:58:56 BST 2002  Olly Betts <olly@survex.com>
37883         * Removed leak checker.
37885 Mon Apr 22 13:40:01 BST 2002  Olly Betts <olly@survex.com>
37887         * Tiny code tweak.
37889 Mon Apr 22 13:11:32 BST 2002  Olly Betts <olly@survex.com>
37891         * Write debug log using unbuffered IO and O_APPEND which should prevent
37892           the log file becoming garbled when used from applications which use
37893           Xapian objects in multiple threads.
37895 Mon Apr 22 12:19:18 BST 2002  Olly Betts <olly@survex.com>
37897         * Updated copyright notices for last change.
37899 Mon Apr 22 11:20:28 BST 2002  Olly Betts <olly@survex.com>
37901         * Removed thread locks.
37903 Fri Apr 19 17:38:23 BST 2002  Olly Betts <olly@survex.com>
37905         * Removed completed tasks from todo list.
37907 Fri Apr 19 17:26:23 BST 2002  Olly Betts <olly@survex.com>
37909         * Removed placeholder code for OmQuery::OP_PERCENT_CUTOFF - it's
37910           actually impossible to implement since we started rescaling
37911           percentages so that 100% is attainable.
37913 Fri Apr 19 16:42:42 BST 2002  Olly Betts <olly@survex.com>
37915         * Tracked down and fixed the bug in the quartz backend which was making
37916           test poslist2 fail.
37918 Fri Apr 19 16:06:39 BST 2002  Olly Betts <olly@survex.com>
37920         * Fixed some compilation problems which I somehow failed to notice
37921           before the last check-in.
37923 Fri Apr 19 15:04:13 BST 2002  Olly Betts <olly@survex.com>
37925         * Added more RETURN(...) wrappers.
37927 Fri Apr 19 14:46:19 BST 2002  Olly Betts <olly@survex.com>
37929         * Added more DEBUGCALL tracing to quartz.
37931 Fri Apr 19 13:29:57 BST 2002  Olly Betts <olly@survex.com>
37933         * Minor tweaks to quartz_database.cc.
37935 Fri Apr 19 13:07:50 BST 2002  Olly Betts <olly@survex.com>
37937         * Moved test poslist1 into correct place and renamed it to poslist2
37938           since there's already a poslist1...
37940 Fri Apr 19 11:19:15 BST 2002  Olly Betts <olly@survex.com>
37942         * poslist1 (when actually run!) reveals that Quartz fails to throw
37943           errors in this case.  Disabled test for now, as I can't see why it
37944           fails to throw...
37946 Thu Apr 18 17:44:56 BST 2002  Olly Betts <olly@survex.com>
37948         * Added poslist1 test as suggested by a TODO entry.
37950 Thu Apr 18 14:17:24 BST 2002  Olly Betts <olly@survex.com>
37952         * buildall: Removed search for GNU make (as of automake
37953           1.5 it's not needed for automake and we aim to have portable
37954           makefiles).  Made buildall more portable.
37956 Thu Apr 18 14:16:18 BST 2002  Olly Betts <olly@survex.com>
37958         * xapian-config.nodep is a generated file, so don't look for it in
37959           srcdir.
37961 Thu Apr 18 12:45:04 BST 2002  Olly Betts <olly@survex.com>
37963         * Added bindings/php4/xapian/.cvsignore.
37965 Thu Apr 18 12:36:53 BST 2002  Olly Betts <olly@survex.com>
37967         * Minor tweaks to "Makefile" section in HACKING.
37969 Thu Apr 18 12:26:21 BST 2002  Olly Betts <olly@survex.com>
37971         * Yet more Makefile portability fixes; added section to HACKING
37972           summarising my recent experiences.
37974 Thu Apr 18 11:26:37 BST 2002  Olly Betts <olly@survex.com>
37976         * Corrected the sense of the test in the previous check-in.
37978 Thu Apr 18 11:08:04 BST 2002  Olly Betts <olly@survex.com>
37980         * Use case instead of echo/sed to replace dirname.
37982 Thu Apr 18 10:19:01 BST 2002  Olly Betts <olly@survex.com>
37984         * Another Makefile portability tweak.
37986 Wed Apr 17 16:07:02 BST 2002  Olly Betts <olly@survex.com>
37988         * bindings/php4/Makefile.am: Fixed a couple of problems with
37989           recent changes.
37991 Wed Apr 17 15:32:44 BST 2002  Olly Betts <olly@survex.com>
37993         * Makefile portability improvements.
37995 Wed Apr 17 14:29:21 BST 2002  Olly Betts <olly@survex.com>
37997         * Replaced uses of GNU make specific features with more portable
37998           ones.
38000 Wed Apr 17 12:43:07 BST 2002  Olly Betts <olly@survex.com>
38002         * Update todo list.
38004 Wed Apr 17 12:41:03 BST 2002  Olly Betts <olly@survex.com>
38006         * Removed BrightStation's logo from the documentation.
38008 Wed Apr 17 12:27:07 BST 2002  Olly Betts <olly@survex.com>
38010         * xapian-config: Removed --uninst support - it's very hard to make it
38011           work reliably and we're better off directing our efforts towards
38012           improving the library than trying to get it working and keep it
38013           working.
38015 Wed Apr 17 10:39:02 BST 2002  Olly Betts <olly@survex.com>
38017         * Fixed btreetest code to use new names "ord+" and "ord-" for
38018           datafiles; disabled LFSinsertdelete1 test as it's exactly the
38019           same as insertdelete1 (despite the comment above which suggests
38020           it tests files >2G).
38022 Mon Apr 15 17:14:22 BST 2002  Olly Betts <olly@survex.com>
38024         * Fix a few OmDatabase::InternalInterface uses I'd somehow missed.
38026 Mon Apr 15 16:08:20 BST 2002  Olly Betts <olly@survex.com>
38028         * Mark internal classes as @internal for doxygen; removed all uses
38029           of OmDatabase::InternalInterface as it's no longer needed.
38031 Mon Apr 15 15:42:47 BST 2002  Olly Betts <olly@survex.com>
38033         * Updated TODO list.
38035 Mon Apr 15 2002  Sam Liddicott <sam@ananova.com>
38037         * Hacked around bindings and bindings/php to remove some SWIG
38038           workarounds.  SWIG cvs + some new non-committed patches is need still.
38040 Mon Apr 15 12:12:05 BST 2002  Olly Betts <olly@survex.com>
38042         * stemtest: getopt fix.
38044         * stemtest.pl.in: output now: less verbose by default and coloured.
38046 Mon Apr 15 11:18:58 BST 2002  Olly Betts <olly@survex.com>
38048         * Updated HACKING to say that automake 1.5 is required, and note that
38049           automake 1.6.1 is better than 1.6.
38051 Sat Apr 13 20:35:51 2002  James Aylett  <tartarus@users.sourceforge.net>
38053         * Fixed stemtest getopt usage so it works again.
38055 Sat Apr 13 20:20:52 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
38057         * Fixed omtcpsrv getopt usage so it works again.
38059 Fri Apr 12 16:24:06 BST 2002  Olly Betts <olly@survex.com>
38061         * Require automake 1.5.
38063 Fri Apr 12 12:11:57 BST 2002  Olly Betts <olly@survex.com>
38065         * omtcpsrv: Namespace fixes.
38067 Fri Apr 12 12:25:42 BST 2002  Olly Betts <olly@survex.com>
38069         * Fixed everything to use getopt rather than icky handparsing of
38070           options.
38072 Fri Apr 12 11:26:57 BST 2002  Olly Betts <olly@survex.com>
38074         * Removed delve - it's going to be an example program.
38076 Thu Apr 11 18:09:35 BST 2002  Olly Betts <olly@survex.com>
38078         * Command line argument improvements - added FIXMEs where getopt
38079           should be used.
38081 Thu Apr 11 17:01:44 BST 2002  Richard Boulton <richard@tartarus.org>
38083         * Fixes to work with automake 1.6.1.
38084           I recommend using 1.6.1 rather than 1.6, since this fixes many
38085           bugs in 1.6.  I havn't tested with 1.6 recently, but it is likely
38086           to report problems.
38088 Thu Apr 11 17:25:37 BST 2002  Olly Betts <olly@survex.com>
38090         * Use GNU getopt.
38092 Thu Apr 11 15:06:15 BST 2002  Olly Betts <olly@survex.com>
38094         * Updated to recommend automake 1.5, noting problem with automake 1.4
38095           and that we'll probably soon insist on 1.5, and later autoconf 2.50.
38096           Also added notes on recommended and usable GCC versions.
38098 Thu Apr 11 14:23:44 BST 2002  Olly Betts <olly@survex.com>
38100         * Cleaning up build system.
38102 Thu Apr 11 13:18:23 BST 2002  Olly Betts <olly@survex.com>
38104         * Use AndPostList with boolean weights on the RHS instead of
38105           FilterPostList - this appears to fix a bug, but I suspect it's
38106           actually just moving it around.  Will investigate later.
38108 Thu Apr 11 10:11:11 BST 2002  Olly Betts <olly@survex.com>
38110         * Sorted out automake for php4 bindings.
38112 Wed Apr 10 14:44:50 BST 2002  Olly Betts <olly@survex.com>
38114         * Removed a superfluous DEBUGLINE.
38116 Tue Apr  9 19:02:09 BST 2002  Richard Boulton <richard@tartarus.org>
38118         * Fix some DEBUGLINE() macros in the matcher which had
38119           the first parameter missing.
38121 Tue Apr 09 17:50:44 BST 2002  Olly Betts <olly@survex.com>
38123         * Removed stray bit of debug code.
38125 Tue Apr 09 17:05:09 BST 2002  Olly Betts <olly@survex.com>
38127         * More debug tracing added.
38129 Tue Apr 09 10:48:42 BST 2002  Olly Betts <olly@survex.com>
38131         * Disabled pthread support by default.
38133 Sat Apr  6 20:45:21 2002  James Aylett  <tartarus@users.sourceforge.net>
38135         * Reordered some output generation in configure so it won't
38136           complain about directories not existing. (I don't understand
38137           what the problem is, but this does fix it.)
38139 Sat Apr 06 20:27:57 BST 2002  Olly Betts <olly@survex.com>
38141         * Moved a few lingering traces of XML indexer stuff to indexer
38142           subdirectory.
38144 Sat Apr 06 17:37:02 BST 2002  Olly Betts <olly@survex.com>
38146         * Removed -pedantic (read the gcc docs - it's doesn't turn on
38147           useful warnings) and fixed all the remaining compilation
38148           warnings in a non-debug build.
38150 Fri Apr 05 10:21:28 BST 2002  Olly Betts <olly@survex.com>
38152         * Removed --enable-profiling, --enable-purify, and --enable-insure.
38153           They don't do anything which can't be achieved by passing
38154           environment variables and switches to configure (now documented
38155           in HACKING).  Adding a separate switch for every profiling and
38156           code-quality tool out there isn't a sensible approach.
38158 Thu Apr 04 20:37:12 BST 2002  Olly Betts <olly@survex.com>
38160         * Updated .cvsignore files.
38162 Thu Apr 04 20:25:41 BST 2002  Olly Betts <olly@survex.com>
38164         * PTHREAD_CFLAGS was only being used for compiling C, not C++, which
38165           was causing builds to fail unless threading was disabled.  This
38166           problem has been there a long time, but until recently was hidden
38167           by the check for fdatasync erroneously linking in -lrt which pulls
38168           in pthreads anyway (at least this is the situation on Linux).
38170 Thu Apr 04 20:06:00 BST 2002  Olly Betts <olly@survex.com>
38172         * Removed XML indexer stuff from the main xapian library.  All the
38173           removed bits are now in the indexer subdirectory, ready to be
38174           reassembled into a supplementary library.
38176 Thu Apr 04 15:43:43 BST 2002  Olly Betts <olly@survex.com>
38178         * More debug tracing in the matcher.
38180 Thu Apr 04 14:17:10 BST 2002  Olly Betts <olly@survex.com>
38182         * Added debug tracing to most of the matcher.
38184 Thu Mar 28 17:21:16 GMT 2002  Olly Betts <olly@survex.com>
38186         * Give up trying to make internals private or protected in the
38187           header files in include - the consequences are just too ugly, and
38188           it's clear enough that they shouldn't be messed with except by the
38189           library itself.
38191 Wed Mar 27 10:24:26 GMT 2002  Olly Betts <olly@survex.com>
38193         * Don't add "-lrt" to the link line unless it's actually needed for
38194           fdatasync().
38196 Wed Mar 27 10:11:09 GMT 2002  Olly Betts <olly@survex.com>
38198         * Fixed two problems in the matcher which were respectively causing
38199           problems with boolean filters, and with situations where OR or
38200           ANDMAYBE decayed to AND.
38202 Fri Jan 11 18:00:44 GMT 2002  James Aylett  <tartarus@users.sourceforge.net>
38204         * Various build fixes for libxml2: define CHAR as needed,
38205           --enable-validation (off by default), check for and discard
38206           'blank' text/cdata nodes as we encounter them
38208 Fri Jan 11 15:40:50 GMT 2002  Sam Liddicott <sam@ananova.com>
38210         * Added Large File Support in the same way it was added to GNU tar.
38211           (If it's good enough for them...)
38212           This is by means of autoconf/ac_sys_largefile which I'm told is
38213           built in to later versions of autoconf, and may possibly give us
38214           trouble redefining it for those versions...  But we'll see about
38215           that when/if it happens.
38217           It seems to work fine here on some DB's which I had to stop growing
38218           cos they got too big; I'm now past the 2G boundary with no problems
38220           I guess we should still add overflow detection for 2^31 blocks.
38221           Ideas?
38223           I need some help on the btreetest.cc as I haven't yet worked out
38224           what it does; so while I've added a test, it doesn't yet test
38225           what it says it does.  I have changed btreetest.cc so you can
38226           tell it where to dump the test DB
38228 Fri Dec 21 17:48:09 GMT 2001  Olly Betts <olly@survex.com>
38230         * Fixed halflife calculation in OmBiasFunctor.
38232 Fri Dec 21 15:24:58 GMT 2001  Olly Betts <olly@survex.com>
38234         * Added a temporary API to allow use of OmBiasFunctor.
38236 Fri Dec 21 12:58:23 GMT 2001  Olly Betts <olly@survex.com>
38238         * Disable conversion of OR to AND/ANDMAYBE in matcher tree - there's
38239           a bug which sometimes manifests when there's a date filter and a
38240           threshold cutoff in omega, and results in just one match when there
38241           should be more.  I don't believe the bug is actually in OrPostList
38242           but I've been tracking it for 4 days without success and turning off
38243           this optimisation seems to stop it occurring so will have to do for
38244           now.
38246 Thu Dec 20 17:41:04 GMT 2001  Olly Betts <olly@survex.com>
38248         * matcher/multimatch.cc: added more percent_cutoff assertions.
38250 Thu Dec 20 13:41:41 GMT 2001  Olly Betts <olly@survex.com>
38252         * Fixed incorrectly classified debug message; fixed compiler warning;
38253           more comments about matches_* with a percent_cutoff.
38255 Thu Dec 20 13:09:51 GMT 2001  Olly Betts <olly@survex.com>
38257         * Better OmPostListIterator::get_description() (call get_description
38258           on internal->postlist).
38260 Thu Dec 20 12:42:55 GMT 2001  Olly Betts <olly@survex.com>
38262         * Fixed assorted problems with omtcpsrv and co from recent change.
38264 Thu Dec 20 10:41:57 GMT 2001  Richard Boulton <richard@tartarus.org>
38266         * In ./configure --help, correctly report muscat36 backend as
38267           defaulting to off.
38269 Thu Dec 20 10:36:18 GMT 2001  Olly Betts <olly@survex.com>
38271         * Don't delete internal in ~OmWritableDatabase - ~OmDatabase
38272           does that for us (internal was zeroed after delete, so this
38273           was probably harmless)
38275         * Tweaked OmEnquire::get_description() and
38276           OmPostListIterator::get_description() to do less - there's a
38277           debug related bug somewhere and get_description() should be a
38278           non-intrusive method...
38280 Thu Dec 20 10:32:56 GMT 2001  Richard Boulton <richard@tartarus.org>
38282         * Fix a couple of misquoted messages in configure.in.
38284 Tue Dec 18 23:22:00 2001  James Aylett  <tartarus@users.sourceforge.net>
38286         * Use xapian.org where appropriate in documentation references
38288 Tue Dec 18 14:32:32 2001  James Aylett  <tartarus@users.sourceforge.net>
38290         * Use xapian.org not sourceforge for schemas
38292 Mon Dec 17 18:47:08 GMT 2001  Olly Betts <olly@survex.com>
38294         * Cured problems with string('x') caused by overzealous search
38295           and replace on my part.
38297 Mon Dec 17 16:44:31 GMT 2001  Olly Betts <olly@survex.com>
38299         * Improved matches_estimated when a percent_cutoff is in effect.
38301 Sun Dec 16 18:09:28 GMT 2001  Olly Betts <olly@survex.com>
38303         * You can now register a match decider functor by name with an
38304           OmEnquire object.  It's not yet used for anything though.
38306 Sun Dec 16 17:31:08 GMT 2001  Olly Betts <olly@survex.com>
38308         * omtcpsrv: simplified arguments - just list database directories and
38309           they'll be opened with the auto backend.  Removed --im as it didn't
38310           work as advertised and nobody's noticed (as actually implemented it
38311           was useless).
38313 Sat Dec 15 14:10:32 GMT 2001  Olly Betts <olly@survex.com>
38315         * Minor update to todo.xml.
38317 Sat Dec 15 13:43:47 GMT 2001  Olly Betts <olly@survex.com>
38319         * More fettling of OmBiasFunctor stuff - still not ready for use yet...
38321 Tue Dec 11 13:06:08 GMT 2001  Olly Betts <olly@survex.com>
38323         * Don't work out probabilistic weights for boolean bits of the query
38324           (rhs of FILTER and AND_NOT) which fixes incorrect percentage weights
38325           in filtered queries.
38327 Tue Dec 11 12:26:44 GMT 2001  Olly Betts <olly@survex.com>
38329         * Added test singlesubq1 to keep an eye on can_replace_by_single_subq.
38331 Mon Dec 10 16:58:21 GMT 2001  Olly Betts <olly@survex.com>
38333         * can_replace_by_single_subq shouldn't return true for OP_ELITE_SET
38334           since you can't call set_elite_set_size() on an arbitrary subquery.
38336 Thu Dec  6 15:02:05 GMT 2001  Richard Boulton <richard@tartarus.org>
38338         * (omqueryinternal.cc, omtermlistiteratorinternal.h)
38339           Fix some compiler warnings (when compiling with no debug) due
38340           to methods which should return a value but simply contain
38341           "Assert(false);".  Throw an exception in such methods instead
38342           (after the Assert).
38344 Mon Dec 03 11:20:42 GMT 2001  Olly Betts <olly@survex.com>
38346         * New BiasPostList - not yet enabled as it needs more work.
38348 Mon Dec 03 11:16:44 GMT 2001  Olly Betts <olly@survex.com>
38350         * quartzdump: give syntax error if no tables specified.
38352 Thu Nov 29 14:10:43 GMT 2001  Olly Betts <olly@survex.com>
38354         * ExtraWeightPostlist wasn't handling prune correctly.
38356 Thu Nov 22 13:46:59 GMT 2001  Olly Betts <olly@survex.com>
38358         * Fixed segfault when percentage_cutoff emptied the proto-mset.
38360 Thu Nov 22 12:27:49 GMT 2001  Olly Betts <olly@survex.com>
38362         * Enhanced test emptyquery1.
38364 Fri Nov 16 15:32:09 GMT 2001  Olly Betts <olly@survex.com>
38366         * Added OmQuery::is_empty() method.
38368 Thu Nov 15 15:36:07 GMT 2001  Olly Betts <olly@survex.com>
38370         * Updated todo list.
38372 Thu Nov 15 13:03:05 GMT 2001  Olly Betts <olly@survex.com>
38374         * Fixed percent_cutoff problems.
38376 Wed Nov 14 12:05:44 GMT 2001  Olly Betts <olly@survex.com>
38378         * Empty OmQuery() now matches no documents (rather than causing an
38379           exception).
38381 Thu Nov 08 18:23:21 GMT 2001  Olly Betts <olly@survex.com>
38383         * SIGSTKFLT isn't portable, so added #ifdef checks for it.
38385 Wed Nov 07 15:34:29 GMT 2001  Olly Betts <olly@survex.com>
38387         * Fixed 2 GCC 3.0 warnings in muscat36 backend.
38389 Wed Nov 07 14:21:47 GMT 2001  Olly Betts <olly@survex.com>
38391         * Made doc counts returned from percentage cutoff matches more
38392           accurate.
38394 Wed Nov 07 12:30:32 GMT 2001  Olly Betts <olly@survex.com>
38396         * GCC 3.0 fixes.
38398 Tue Nov 06 11:16:42 GMT 2001  Olly Betts <olly@survex.com>
38400         * Matcher now calculates percentages like Omega does (or did as I'm
38401           about to remove that code from Omega), rather than as a percentage
38402           of the theoretical maximum possible weight.  The old way generally
38403           gives disappointingly low values, and by pushing the percentage
38404           code down into the matcher, it can be used to optimise the query.
38406 Tue Nov 06 11:13:06 GMT 2001  Olly Betts <olly@survex.com>
38408         * Quick fix for problems with null OmQuery-s.
38410 Mon Nov 05 15:52:55 GMT 2001  Olly Betts <olly@survex.com>
38412         * Added signal handling to testsuite - if a testcase generates a
38413           signal it is caught and reported, then the testsuite continues
38414           with further testcases.
38416 Wed Oct 31 14:26:59 GMT 2001  Olly Betts <olly@survex.com>
38418         * Removed needless complications in matcher when a weight threshold
38419           has been set.
38421 Tue Oct 30 16:50:46 GMT 2001  Olly Betts <olly@survex.com>
38423         * Removed superfluous lines from configure.in; fixed warning from
38424           automake 1.5.
38426 Mon Oct 29 11:54:36 GMT 2001  Olly Betts <olly@survex.com>
38428         * Changed matcher to form proto-mset using a min-heap (as described
38429           in "Managing Gigabytes", 2nd ed., pp 211-213).  Compared to the
38430           previous "nth-element" approach, this uses about half the memory,
38431           allows the min-weight based matcher optimisations to work sooner,
38432           and should be inherently faster (not yet benchmarked though).  The
38433           code's slightly simpler too.
38435 Mon Oct 29 11:53:38 GMT 2001  Olly Betts <olly@survex.com>
38437         * Fixed remote backend to pass match_cutoff setting across.
38439 Fri Oct 26 13:43:08 BST 2001  Olly Betts <olly@survex.com>
38441         * Reserve size needed for mset vector.
38443 Thu Oct 25 18:00:54 BST 2001  Olly Betts <olly@survex.com>
38445         * Fixed a couple of stray references to the old sleepycat backend.
38447 Tue Oct 23 18:19:32 BST 2001  Olly Betts <olly@survex.com>
38449         * More cleaning up of MultiMatch.
38451 Tue Oct 23 16:14:27 BST 2001  Olly Betts <olly@survex.com>
38453         * Removed RemotePostList - it was an experimental idea which proved
38454           to be too slow even on a fast network.  Cleaned up code where hooks
38455           were bodged in for it.
38457 Tue Oct 23 13:27:12 2001  James Aylett  <tartarus@users.sourceforge.net>
38459         * Added documentation of the test system (albeit brief). Also
38460           mentioned the autotools book in HACKING.
38462 Tue Oct 23 12:07:59 BST 2001  Olly Betts <olly@survex.com>
38464         * Updated .cvsignore files.
38466 Tue Oct 23 11:29:47 BST 2001  Olly Betts <olly@survex.com>
38468         * Code tidying while investigating sporadic fails from quartztest.
38470 Mon Oct 22 17:42:30 BST 2001  Olly Betts <olly@survex.com>
38472         * Minor fettles to quartztest: fixed warnings, whitespace tidying,
38473           use mkdir(...) rather than system("mkdir ...")
38475 Mon Oct 22 16:41:12 2001  James Aylett  <tartarus@users.sourceforge.net>
38477         * Renamed project to Xapian.
38479 Mon Oct 22 14:22:00 BST 2001  Olly Betts <olly@survex.com>
38481         * Fixed non-ISO C++ code so Xapian will compile under GCC 3.0
38482           (and also RedHat's "GCC 2.96").
38484 Mon Oct 22 11:21:45 2001  James Aylett  <tartarus@users.sourceforge.net>
38486         * Altered omseek-config and the AC m4 macro to make uninst
38487           executables link to the right version of the library
38489 Mon Oct 22 10:38:20 2001  James Aylett  <tartarus@users.sourceforge.net>
38491         * Minor fixes to enable build (and test) under Solaris.
38493 Fri Jun 22 13:24:59 2001  Sam Liddicott <sam@ananova.com>
38495         * Added some explicit type casts in xmlindexer and quartz backend
38496           to help gcc2.96 compile.
38498 Thu Jun 21 11:05:31 2001  James Aylett  <tartarus@users.sourceforge.net>
38500         * HACKING updated to (a) remove inaccurate statements about
38501           copyright assignment, and (b) talk about developer write
38502           access to CVS.
38504 Mon Jun 11 13:24:43 2001  James Aylett  <tartarus@users.sourceforge.net>
38506         * pthread support detected using an automake macro. Should
38507           be more portable as a result.
38509         * We need GNU make: buildall now tries to find it.
38511 Mon Jun 11 12:07:00 2001  Hein Ragas <hragas@users.sourceforge.net>
38513         * Modified QuartzWritableDatabase::do_add_document and
38514           QuartzWritableDatabase::do_replace_document to leave the PositionList
38515           empty for a term with no positions associated with it.
38517 Mon May 29 12:17:00 2001  Hein Ragas <hragas@users.sourceforge.net>
38519         * Modified QuartzPostList::add_entry to allow for adding of entries
38520           in the middle of the postlist, not only at the end.
38522 Mon May 28 12:00:00 2001  Hein Ragas <hragas@users.sourceforge.net>
38524         * Fixed a bug in replace_document for Quartz, added a test to
38525           ensure proper working of the fix.
38527 Fri Apr 27 15:16:10 2001  James Aylett  <tartarus@users.sourceforge.net>
38529         * Project name change to Omseek.
38531 Wed Apr 11 09:06:37 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38533         * Implemented deleting of items from postlists, and added some
38534           tests to check that it works properly.
38536         * Fixed a potential memory leak in QuartzPostList if an exception
38537           was thrown from the constructor.
38539         * BackendManager now sets the quartz_logfile setting, to make
38540           the logs available from the testsuite.
38542         * Added mention of quartz_logfile to docs/omsettings
38544         * Removed a bad assert from InMemoryDatabase::get_doclength()
38546 Mon Apr  9 21:48:18 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38548         * Added #include <cmath> to testutils.cc
38550 Fri Mar 30 17:37:24 BST 2001 Olly Betts
38552         * Added extra/.cvsignore
38554 Fri Mar 30 17:22:13 BST 2001 Olly Betts
38556         * Disabled allocation checking of new[] and delete[] since some STL
38557           implementations use them which leads to leaks being reported where
38558           none exist.  This is addressable longer term...
38560 Thu Mar 29 19:05:46 BST 2001  Richard Boulton <richard.boulton@omsee.com>
38562         * Add "extra" directory to om source tree, to hold extra libraries
38563           for use with omsee, which aren't part of the core.
38565         * Put a query parser into "extra".  This is roughly the parser
38566           from omega.  Needs some work: in particular, it needs to be
38567           made reentrant.
38569         * Added extra/ directory to top level Makefile.am and configure.in.
38570           Added AC_PROG_YACC to Makefile.am
38572         * Add includes of required header files to omquery.h.
38574 Wed Mar 28 17:15:22 BST 2001  Richard Boulton <richard.boulton@omsee.com>
38576         * Modifications to OmQuery.  Remove the isbool flag: there is
38577           no longer any need for the concept of a "pure boolean query".
38578           The same effect as was obtained by setting isbool can be
38579           obtained by setting the match_weighting_scheme parameter to
38580           bool.
38582         * Also, undefined queries may no longer be used when
38583           building up composite queries; the correct behaviour for this
38584           is hard to define and implement and harder to document, and
38585           removing this removes lots of special case code.
38587         * Updated network query passing code.
38589         * Remove special cases for bool weighting in localmatch and irweight.
38591         * Updated omsettings docs.  Updated comments in omsetting.h.
38593         * Updated todo.xml
38595         * Incremented network protocol version.
38597         * Added test_emptyop1, which checks what happens when an attempt is
38598           made to use an empty list of subqueries to build up a query, and
38599           then use the query.
38601         * Remove test_boolsubq1: no such thing as a boolean query now, so
38602           no need to test what happens when one is used.
38604         * Updated testsuite to use "match_weighting_scheme" setting, rather
38605           than calling OmQuery::set_bool().
38607 Wed Mar 28 15:05:46 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38609         * Fixes to InMemoryDatabase:
38610           + do_open_post_list returns an EmptyPostList rather than an
38611             assertion error if the term doesn't exist
38612           + Fixed doccount(), which wasn't decrementing on delete_doc()
38613           + Remove terms from the database when they have no more postings.
38614           + Implement collection frequencies, and run collfreq tests for
38615             inmemory.
38617 Wed Mar 28 14:24:38 BST 2001  Richard Boulton <richard.boulton@omsee.com>
38619         * Set elite set size to max(10, sqrt(number of subqueries)) by
38620           default.  This is rather more useful than the old default of 0.
38622 Wed Mar 28 10:25:35 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38624         * QuartzDatabase now implements replace_document(), and
38625           delete_document() now removes keys/attributes as well.
38626           However, postlist entries are not yet correctly removed,
38627           so this will cause problems.
38629         * Added a test for deleting/replacing documents, which passes.
38631 Tue Mar 27 17:31:58 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38633         * QuartzAttributes now has a method to delete a document's
38634           attributes, and QuartzRecordManager has a replace_ method.
38635           (But the code which uses these isn't in this commit).
38637 Thu Mar 22 15:58:08 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38639         * Change definition of OmQuery::is_defined(), so that elite set
38640           queries are undefined until a size is specified for the set.
38642 Wed Mar 21 14:29:04 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38644         * Implemented delete_document and replace_document in inmemory
38645           database.
38647 Wed Mar 21 12:39:13 GMT 2001 Olly Betts
38649         * Tweak to docs/quickstart.html.
38651 Wed Mar 21 02:50:19 GMT 2001 Olly Betts
38653         * Entirely removed sleepcat backend and all references to it.
38655         * Disable muscat36 backend by default.
38657 Tue Mar 20 18:47:12 GMT 2001 Olly Betts
38659         * open_document() now takes a lazy flag - if not set we need to check
38660           that the docid given actually exists.
38662         * heavy_duty flag now a bool instead of an int.
38664 Mon Mar 19 19:16:34 GMT 2001 Olly Betts
38666         * Added test getdoc1 to check exceptions are thrown for out-of-range
38667           docids (currently they aren't for quartz and muscat36 backends).
38669 Mon Mar 19 17:17:31 GMT 2001 Olly Betts
38671         * New simpler implementation of leak detection in testsuite.
38672           Currently doesn't support malloc/calloc/realloc/free.
38674 Mon Mar 19 16:46:16 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38676         * Further small modification to omsee-config: will now look in
38677           .libs subdirectories, too.
38679 Mon Mar 19 15:57:18 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38681         * Update omsee-config to work when a prefix is specified that
38682           points directly to the directory with the library, rather than
38683           expecting the library to be in a subdir "libs/".  (libs/ is
38684           still used if it exists).
38686         * Update omsee.m4, to use omsee-config even when using an
38687           uninstalled version of omsee.  This in turn fixes problems using
38688           uninstalled versions of omsee with STLport.
38690 Fri Mar 16 18:14:52 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38692         * Updated licenses, to include year 2001.
38694 Fri Mar 16 15:40:49 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38696         * Fix up small bug in quartztest causing it to fail for lack of an
38697           expected exception.  Initialise values in quartz_positionlist.cc
38698           when position list is not present.
38700 Thu Mar 15 17:40:38 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38702         * Make timeout absolute, rather than cumulative, when fetching
38703           multiple documents from database: if two nodes fail, the total
38704           timeout should still be that specified, not twice it.
38706         * Make the timeout set by SocketClient::set_query() get reset
38707           correctly if an exception happens (which used to prevent
38708           SocketClient::get_mset() ever getting called).
38710 Thu Mar 15 17:06:51 GMT 2001 Olly Betts
38712         * Oops, checked in too much - backing out the wrong stuff.
38714 Thu Mar 15 16:30:14 GMT 2001 Olly Betts
38716         * Include autoconf/definedir.m4 in tarball.
38718 Thu Mar 15 16:06:02 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38720         * Updated network protocol number to reflect change adding
38721           OP_ELITE_SET.
38723 Thu Mar 15 15:31:35 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38725         * QuartzPositionList should no longer complain if positional
38726           information isn't available for a particular term / document
38727           combination.
38729         * Updated todo.
38731 Thu Mar 15 13:55:53 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38733         * Removed OmDocument::set_wdf() and OmDocument::add_term().
38734           Replaced with OmDocument::add_term_nopos(), which adds a term
38735           without specifying positional information, taking an optional
38736           wdfinc parameter.  Updated testsuite correspondingly.
38738 Thu Mar 15 13:14:10 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38740         * Update TODO
38742 Wed Mar 14 17:51:40 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38744         * Added new operator OP_ELITE_SET, which replaces match_max_or_terms
38745           option.  Can now specify exactly which terms to apply max_or_terms
38746           to.  max_or_terms is obsolete: an error will be thrown if an
38747           attempt is made to use it.
38749 Wed Mar 14 15:56:20 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38751         * Added test for and implementation of multiple XOR queries.
38753         * Fix small bugs with get_termfreq_est() for xor and andnot
38754           postlists.
38756 Mon Mar  5 16:08:01 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38758         * Catch exceptions within the loop in SocketServer - exceptions
38759           should normally not kill the server.  This means that that a
38760           client still works after eg an OmDocNotFoundError, which was
38761           causing problems before.
38763 Fri Mar  2 18:15:47 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38765         * Add a new query operator, OP_WEIGHT_CUTOFF, which returns only
38766           those documents from a query which have a weight greater than a
38767           specified cutoff value.  Also added OP_PERCENT_CUTOFF, but this
38768           is not yet implemented.
38770         * Added test of new cutoff function, cutoff2.
38772         * Updated network protocol to pass new queries.  Increased protocol
38773           version number (to 10).
38775         * Added set_cutoff() function to OmQuery, to set cutoff parameter.
38777         * Updated TODO.
38779         * Remove unused member "PostList * postlist" of LocalSubMatch.
38781 Thu Mar  1 12:04:53 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38783         * Updates to HACKING.
38785 Wed Feb 28 18:42:47 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38787         * Fixes to neaten up configure output, and to test for the Perl
38788           Text::Format module, thanks to James Aylett (patch slightly
38789           modified, so if it doesn't work it's probably my fault).
38791         * configure.in checks for presence of ftime() and gettimeofday()
38793         * Added OmTime, a class to deal with times to an accuracy of
38794           microseconds, or whatever the best accuracy the system supports
38795           is.
38797         * Use OmTime in network code instead of time(NULL).
38799 Wed Feb 28 14:23:11 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38801         * Merge common code from OmSocketLineBuf::wait_for_data() and
38802           OmSocketLineBuf::do_readline() into
38803           OmSocketLineBuf::attempt_to_read(), and thus fix bug in
38804           wait_for_data() when 0 bytes returned from read().
38806 Tue Feb 27 18:40:33 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38808         * Fixes to remote matcher code to cope better with failure of
38809           submatchers:
38810           - Timeout for all submatches now correctly start at same time.
38812         * Added more extensive testing of above code, involving adding
38813           new parameters to inmemory to cause abort()s at various stages of
38814           the match.
38816         * Remove obsolete (and unused) method
38817           SocketServer::read_global_stats()
38819         * Errors are now generated from strings by using omerrortypes.h with
38820           suitable #defines before including it.  Updated todo accordingly.
38822         * Extend scope of try{} clause in socketserver, so that
38823           SocketServerFinished exception never escapes.
38825         * Default timeout in progserver increased to 30000.
38827         * Default timeout in tcpserver increased to 15000.
38829 Mon Feb 26 23:51:23 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38831         * Split query generation into stages: make new query, add subqueries,
38832           then finalise.  Add private methods to OmQuery reflecting this, and
38833           convert constructors into template methods, allowing any iterator
38834           to be used for constructing queries.  Removed reference to
38835           <vector> from omquery.h
38837         * Add omqueryinternal.cc, containing implementation of query
38838           internals. (surprise!)
38840         * OmQuery::Internal now has some helper functions to determine the
38841           properties of each particular query.  These should be converted
38842           into a lookup table, and the remaining hard-coded properties (for
38843           AND_MAYBE, AND_NOT and FILTER) factored out.
38845         * window property removed from constructor.  This can now be set by a
38846           separate call, to "OmQuery::set_window()"
38848         * Added a deleter_vector class, to store subquery pointers in a more
38849           exception-safe way.
38851         * Represent undefined queries by the new OP_UNDEF operation, rather
38852           than a dedicated flag - cleaned up some logic.
38854         * Some modifications to XOR handling: should now behave like OR and
38855           AND - doesn't need to be binary.  (*untested*)
38857         * Fixes to serialisation code in socketcommon.cc to work with new
38858           OmQuery::Internals - this should really be done in
38859           OmQuery::Internal.
38861         * One tiny fix in tcpclient.cc - an &fdset was missed for exception
38862           conditions in a select() call.
38864         * Testsuite modified and expanded to check changes to OmQuery.
38866 Mon Feb 26 18:20:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38868         * Fixed some compiler warnings reported by James Aylett.
38870 Mon Feb 26 14:27:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38872         * Avoid waiting for a timeout when closing a SocketClient.
38874 Fri Feb 23 14:38:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38876         * Updated todo.xml
38878 Thu Feb 22 18:14:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38880         * OmRegexFilterNode has an output for non-matching strings as
38881           well as matching.  "out" output renamed to "matching".
38883 Thu Feb 22 16:56:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38885         * Fixed a bug in the fetch() bits: requesting documents at the
38886           same time from different OmMSet instances could cause a
38887           document to disappear from the cache at the wrong moment.
38889 Thu Feb 22 15:39:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38891         * Updated todo.
38893 Thu Feb 22 12:14:12 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38895         * Some small changes in quartz to improve exception safety and
38896           error checking.
38898         * Remove unwanted OmExpandWeight::get_expand_k() method.
38900 Wed Feb 21 19:02:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38902         * Overhauled the OmMSet::fetch() etc. methods.  Documents are
38903           requested when fetch() is called, but are only fetched (all
38904           at once) when the first get_document() is called.
38906 Wed Feb 21 19:30:20 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38908         * Add an errorhandler member to MultiMatch, and remove it from
38909           various calls which used to pass it about.
38911         * Add an EmptyMatch object, which always returns an emptypostlist.
38913         * Implement errorhandlers at start of query for initially down
38914           nodes.  Improve test for errorhandlers to cover many more cases.
38916         * Add many debug messages to error handling code.
38918 Wed Feb 21 14:33:50 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38920         * Use a deque<> directly instead of a queue, due to conflict
38921           with Solaris headers.
38923         * Split the collect_doc loop into a separate function
38925         * SocketClient should be more robust against request_doc() being
38926           used without collect_doc().
38928 Tue Feb 20 18:01:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38930         * SocketClient implements a queue/cache system which means that
38931           collect_doc() doesn't need to be called in the same order as
38932           request_doc().
38934 Mon Feb 19 15:43:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38936         * Converted btree code to use new/delete instead of [mc]alloc/free.
38938 Mon Feb 19 13:52:23 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38940         * Added new test collapsekey2 designed to work with muscat36
38941           databases, which have different key handling.  Added two new
38942           categories of tests to cope with this.
38944         * Adjusted BackendManager's key generation, and updated
38945           test_specialterms1() accordingly.
38947 Fri Feb 16 17:26:59 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38949         * Implemented a test for keep-alives
38951         * Added "-tNNNN" option to omprogsrv to pass a timeout value in.
38953         * Added get_network_database() in apitest to set the timeout.
38955 Fri Feb 16 16:13:47 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38957         * Incremented the remote protocol version, since a new message
38958           type has been added.
38960 Fri Feb 16 15:55:31 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38962         * Added an OmDatabase keep_alive() method to gently prod any
38963           remote databases.  Applications can use it to avoid the remote
38964           servers timing out between queries.  Not properly tested yet...
38966 Thu Feb 15 19:05:24 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38968         * The remote server now supports a separate timeout used while
38969           idle, rather than actually servicing a request from the client.
38970           Options --idle-timeout and --active-timeout added to omtcpsrv,
38971           and --timeout sets both timeouts.
38973         * Added a documentation comment or two.
38975 Wed Feb 14 18:43:00 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38977         * In Muscat3.6 backends, don't read the key from the keyfile unless
38978           keyno is 0.
38980 Tue Feb 13 13:57:34 GMT 2001 Andy MacFarlane <andym@omsee.com>
38982         * Added parameter expand_k in omsettings in order to change
38983           value of weighting in expand process.
38985 Tue Feb 13 13:25:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38987         * Network timeouts now apply to write() operations as well
38988           as read().
38990         * SocketLineBuf::do_writeline() now correctly deals with EAGAIN.
38992         * SocketServer has new method writeline() which handles write
38993           access to the OmLineBuf.
38995 Mon Feb 12 12:35:41 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38997         * Make OmPositionListIterators and any other appropriate iterators
38998           (postlist, termlist) have a default constructor allowing them to
38999           be declared uninitialised.
39001 Mon Feb 12 10:51:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39003         * Updated todo.xml
39005 Thu Feb  8 17:59:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39007         * Moved omnodepad.h from include/om to indexer/indexgraph/
39009         * Updated todo.xml
39011 Thu Feb  8 17:35:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39013         * Updated todo.xml
39015 Thu Feb  8 17:00:02 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39017         * Quartz now has a metafile which for now has a magic string
39018           and a version number.
39020         * sys_open_to_read() and delete_file() exported from btree.cc.
39021           The latter was renamed to sys_unlink_if_exists().
39023         * Include btree_types.h from btree_util.h
39025 Wed Feb  7 17:33:00 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39027         * Fix to InMemory databases: terms can be added even if they
39028           don't have any positions.  (Was causing adddoc2 to fail).
39030 Tue Feb  6 18:06:13 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39032         * Rename OmMSet::fetch_items() to fetch().  Add an overloaded
39033           fetch() method taking a single iterator, to fetch a single item.
39035         * Fix some documentation comments.
39037 Mon Feb  5 19:16:45 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39039         * Update TODO
39041 Mon Feb  5 19:12:39 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39043         * Test behaviour of OmDocument methods add_term(), set_wdf(),
39044           remove_posting() and remove_term().  Fails for inmemory databases.
39046 Mon Feb  5 17:46:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39048         * Modified the behaviour of timeouts during a match.  Internally,
39049           an absolute timeout time is set from start_match().  Now remote
39050           nodes should timeout at NOW + remote_timeout, rather than
39051           waiting remote_timeout milliseconds for each read().  Needs
39052           some more testing.
39054 Mon Feb  5 17:21:52 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39056         * Fix a missing #include in socketcommon.h
39058 Mon Feb  5 17:15:46 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39060         * Sort generated todo lists.
39062 Fri Feb  2 17:44:54 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39064         * Add an OmDocument::add_term() method.
39066         * Remove an unwanted check that wdf's are greater than 0: wdf of 0
39067           _is_ allowed.
39069 Fri Feb  2 15:04:08 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39071         * Hopefully, a fix for segfaults/assertions when network errors
39072           happen halfway through a match, when handled by OmErrorHandler
39073           objects: give the place-holder EmptyTermLists weighting objects.
39075 Thu Feb  1 19:03:10 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39077         * Fixes to OmDocument interface: add parameters specifying the
39078           changes to be made to the wdf to add_posting and remove_posting,
39079           properly implement remove_posting and remove_term, including
39080           throwing of exceptions, and add a set_wdf() method to set the wdf
39081           to an absolute value.  Corresponding modifications to
39082           OmDocumentTerm.
39084         * Fix commented out errorhandler code in multimatch.cc, so it still
39085           compiles.
39087         * Add a check to avoid division by zero in bm25weight.cc
39089 Thu Feb  1 15:59:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39091         * Add a missed #include to omqueryinternal.h
39093 Thu Feb  1 14:44:04 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39095         * Add some error handler code, with a "#if 0"ed out comment,
39096           to multimatch.cc
39098 Wed Jan 31 15:45:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39100         * Remote servers should close down more gracefully when the
39101           client closes down in the middle of a request.
39103 Tue Jan 30 16:52:05 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39105         * Removed unneeded #includes of STL headers from API headers.
39107         * All #includes of files which are not installed use "" rather than
39108           <>.  This means all #includes of OM files except for those which
39109           are in example programs (and hence might be compiled against the
39110           installed library).  "" search paths are a superset of <> search
39111           paths: hence this should ensure that the om headers work however
39112           they are used.
39114         * Moved supplied OmExpandDecider subclasses into
39115           include/om/omexpanddecider.h
39117         * Remove om_termname_list from API: not used except by code which
39118           displays it, and in testsuite.
39120 Tue Jan 30 12:45:22 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39122         * Removed #include <vector> from omstem.h
39124 Tue Jan 30 11:09:29 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39126         * OmStem::get_available_languages() now returns a string
39127           rather than a vector.  Languages are space-separated.
39128           Updated apitest.
39130         * Added definition of RTLD_DEFAULT to internaltest.cc
39132 Mon Jan 29 16:11:15 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39134         * OmIndexerMessage's copy-on-write slightly more careful.
39136         * Improved debugging in OmIndexerNode
39138         * Fixed a bug in the termlistadd node - it tried to append to a
39139           non-vector.
39141 Fri Jan 26 16:21:09 GMT 2001 Olly Betts
39143         * indexerxml.cc: Removed some dead code.
39145 Fri Jan 26 16:11:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39147         * Added omindexerdescinternal.h to the Makefile
39149 Fri Jan 26 15:50:32 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39151         * Move OmQuery definition into a separate header file.
39153 Fri Jan 26 15:46:42 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39155         * Move OmQuery::OP_LEAF out of public visibility, by taking it out
39156           of the enum, making it a static const member of OmQuery::Internal,
39157           and introducing an OmQuery::Internal::op_t to store query
39158           operators in internally.  We lose the ability for the compiler to
39159           warn us if we forget to check for a particular operator in a
39160           switch statement, but this can't really be avoided.
39162 Fri Jan 26 13:49:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39164         * Added get_output_{node,pad} to OmIndexerDesc
39166         * Implemented and testes OmNodeInstanceIterator
39168         * Implemented OmIndexerBuilder::build_from_desc, which somehow
39169           hadn't been.  indextest now uses it.
39171 Thu Jan 25 18:47:08 GMT 2001 Olly Betts
39173         * Fixed various .cvsignore files (omus -> omsee, and
39174           bindings/java/.cvsignore which seemed to have been copied from
39175           the top level one at some point).
39177         * Fixed bug in OrPostList when used in a pure boolean context
39178           (uninitialised variables).
39180         * tests/internaltest.cc: removed unused reference to getopt.h.
39182         * tests/stemtest.pl.in: removed lots of bogus semicolons after
39183           closing braces.
39185 Thu Jan 25 17:53:08 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39187         * Turn debugging messages (OM_DEBUG_TYPES) off by default.
39189         * Add todo items for release to pages generated for website.
39191 Thu Jan 25 15:11:14 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39193         * Add a couple of documentation comments: we need many more of
39194           these.  No method, and certainly no class, in the API should be
39195           without an explanatory comment (not least so that they're
39196           accessible from the doxygen browser).
39198 Thu Jan 25 14:51:55 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39200         * Hide the internals of OmIndexerDesc, and adding member functions
39201           to do all the necessary operations (not all yet implemented).
39203         * Indexer internals mostly deal with OmIndexerDesc::Internal
39205         * Removed '#include <vector>' from omindexerdesc.h
39207 Thu Jan 25 13:45:49 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39209         * When setting up an RSet, allow documents to be referenced by
39210           OmMSetIterator, for convenience.
39212         * Allow OmMSetIterators and OmESetIterators to be created without
39213           initialising, also for convenience.
39215         * Include CFLAGS for STLPORT in the flags produced by omsee-config.
39217         * Change several more missed "omus"s to omsee.
39219 Thu Jan 25 13:50:06 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39221         * Changed a mention of libomus in netprogs/Makefile.am to libomsee
39223 Thu Jan 25 12:33:46 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39225         * Build only the API docs when making dist / install.  Full source
39226           docs only get built if explicitly asked for.
39228 Thu Jan 25 11:36:39 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39230         * Project name changed to Omsee.
39232           Ramifications from a technical viewpoint are:
39234           - library name changed from libomus.* to libomsee.*
39235           - libomus-config renamed to omsee-config
39236           - Autoconf macro file libomus.m4 renamed to omsee.m4,
39237             macro name OM_PATH_LIBOMUS changed to OM_PATH_OMSEE
39238             and macro now defines OMSEE_CFLAGS and OMSEE_LIBS rather
39239             than LIBOMUS_CFLAGS and LIBOMUS_LIBS.  configure arguments
39240             changed name, also.
39242 Wed Jan 24 15:57:10 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39244         * Improve test of OmMSetIterators equality comparisons.
39246         * Update TODO
39248 Wed Jan 24 15:11:11 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39250         * Renamed OmNodeConnection to OmNodePad.  The old name was
39251           confusing.
39253         * Added OmPadIterator, and OmNodeDescriptor::{in,out}puts_{begin,end}.
39254           Also implemented OmNodeDescriptor::get_type()
39256         * Added output function for OmPadIterator
39258         * Added test for OmPadIterators
39260 Tue Jan 23 19:01:29 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39262         * Remove OmBatchEnquire from system: it may return at a later date,
39263           but for now it is simply out of date and a maintenance liability,
39264           and gives no significant advantage.  Code now exists in
39265           ombatchenquire.h in CVS, but is not part of build process.
39267         * Make OmEnquire and OmMSet have reference counted internals: this
39268           introduces a further layer of indirection, but tidies up things
39269           greatly.
39271         * Remove get_docs() and get_doc() methods from OmEnquire.
39272           get_doc(docid) is catered for by OmDatabase::get_document(docid).
39273           Added OmMSetIterator::get_document() to replace get_doc on a
39274           MSetIterator.  Added OmMSet::fetch_items() to replace get_docs():
39275           it prefetches the documents (or just those specified by some
39276           MSetIterators into a cache in the Mset).
39278         * OmMSet internals now have a reference to the creating OmEnquire
39279           object: this is set up after the mset returns from the matcher.
39280           If the reference is null, the Mset was created standalone, and
39281           get_doc methods will fail.
39283         * OmMSetIterators now have a reference to the MSet, instead of a
39284           percent_factor stored.  This allows the percent_factor to be
39285           lazily calculated, and also allows get_doc to work.
39287         * Add get_rank() method to OmMSetIterators.
39289         * Improve introspection on OmDocument, and fix a bug with assignment
39290           of OmDocument (wasn't assigning most of the internals).
39292         * Add a missing std:: on a string in omstopwordnode.
39294         * Fixed several documentation comments.
39296         * Add some more debugging to quartz.
39298         * Update TODO.
39300         * Add test_fetchdocs1 to apitest.  Disable test_batchquery1.
39302         * Remove sign comparison error in VectorTermList.
39304 Tue Jan 23 16:24:04 GMT 2001 Olly Betts
39306         * No longer compile with -ansi under gcc - it causes problems by
39307           preventing Linux system headers defining various functions we need.
39309         * testsuite/testsuite.cc: when reporting exceptions, display
39310           exception's errno value if set.
39312 Tue Jan 23 15:13:58 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39314         * Killed OmIndexerBuilder::NodeType.  Now use OmNodeDescriptor
39315           in its place, getting rid of another vector usage in the API.
39317         * OmNodeDescriptor adjusted for its new role: internals are
39318           refcounted, and some query as well as setting functions.
39320         * Cast the fourth argument to getsockopt() to void *.  On Solaris
39321           that argument is char *.
39323 Tue Jan 23 11:24:13 GMT 2001 Olly Betts
39325         * Tiny tweak to da_document.cc.
39327 Fri Jan 19 18:36:15 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39329         * Removed get/set vector methods from OmSettings
39331         * Remote/prog arguments now passed in a string separated be spaces,
39332           not a vector.
39334         * split_words() moved from netutils.h to utils.{h,cc}
39336         * Some unnecessary #include <vector> lines removed from API headers
39338         * Removed get_config_vector() from OmIndexerNode
39340         * OmConstantNode no longer handles vector values, and
39341           OmStopWordNode and OmSelectItemsNode use space-separated
39342           values instead.
39344 Thu Jan 18 17:31:55 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39346         * Removed mentions of std::vector from OmIndexerMessage, and
39347           updated the relevant bits.
39349         * Fixed a bug with the copy-on-write parts of OmIndexerMessage.
39351 Thu Jan 18 17:09:43 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39353         * Fix to btreetest.cc: shouldn't fail if test data files are not
39354           available.
39356         * Fix to multimatch.cc: clamp hits values to number of documents
39357           matched after collapsing and match functors, rather than before.
39359 Thu Jan 18 14:13:21 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39361         * Fix error messages thrown by quartz when a database doesn't exist /
39362           already exists and isn't to be overwritten.
39364         * Make quartz clean up an old database directory, if
39365           database_allow_overwrite is specified, so that old base files don't
39366           confuse things.
39368 Wed Jan 17 18:18:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39370         * Added all used toplevel directories to DIST_SUBDIRS
39372 Wed Jan 17 18:13:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39374         * Martin committed changes to btree.cc which should fix some random
39375           problems experienced with quartz.
39377         * Added in a test framework for the btree code, which exhibited the
39378           bug fixed by martin until updating to his fixed version.
39380 Wed Jan 17 16:10:02 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39382         * Moved the socklen_t definition so that tcpclient.cc could see
39383           it.
39385 Tue Jan 16 20:35:18 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39387         * Fix creation of quartz databases in backendmanager: all tests should
39388           now pass.
39390 Tue Jan 16 20:28:46 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39392         * Fix quartztest so that the tables / databases get created.
39393           Implement new test "create1" to check that creation of databases
39394           works as specified.
39396         * Fix test for whether we are allowed to overwrite a database.
39398         * Implement much better logging from quartz when making new databases.
39400         * Clean up an error message from btree.cc
39402 Tue Jan 16 19:24:49 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39404         * Don't display messages about allocation failures in the first
39405           iteration: if the failures go away when repeating, we're not
39406           interested.
39408 Tue Jan 16 18:28:03 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39410         * Add two new OmSettings, for use when opening databases:
39411           database_create and database_allow_overwrite.  The idea is that
39412           databases will only be created if database_create is specified,
39413           and that when they are being created an exception will be thrown
39414           if there's an existing database unless database_allow_overwrite
39415           is specified.
39417         * Implemented database_create and database_allow_overwrite for
39418           Quartz, which is the only relevant type for now.  Note that this
39419           breaks the testsuite, quite badly.
39421         * Add OmDatabaseCreateError, which is thrown when creating a database
39422           fails.
39424 Tue Jan 16 17:08:47 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39426         * Fixed a typo in -ldl detection
39428 Tue Jan 16 15:15:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39430         * Remove OmNeedRecoveryError, and quartz's quartz_perform_recovery
39431           parameter.  Quartz now always performs recovery if needed: there
39432           is no need for this added complication.
39434         * Update TODO
39436 Tue Jan 16 14:25:03 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39438         * Changed references to SIGCLD to SIGCHLD as it's more portable.
39440 Tue Jan 16 14:02:34 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39442         * Added check for whether -ldl is necessary.
39444 Tue Jan 16 11:51:25 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39446         * Added compatibility bits for early libxml1 versions.
39448 Mon Jan 15 18:18:01 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39450         * Removed use of hstrerror, which isn't portable.
39452 Mon Jan 15 18:02:42 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39454         * Fix assertion which was the wrong way round in multimatch.cc
39456 Mon Jan 15 17:46:13 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39458         * Fix initialisation of Btree_base::sequential when creating database.
39460 Mon Jan 15 15:43:46 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39462         * Renamed some uses of XML node structure for libxml2 compatibility.
39464 Mon Jan 15 15:35:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39466         * Add some fixes to sequential access to btrees from Martin.
39468 Mon Jan 15 12:23:02 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39470         * Set matches_* to the known value of the number of hits if we have
39471           been unable to return as many hits as were requested, and therefore
39472           know the exact number.
39474         * Update test_matches1() to check this works correctly.  Passes.
39476 Fri Jan 12 17:45:27 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39478         * Implement get_doclength() for QuartzDatabase
39480         * Remove unused parameter from QuartzRecordManager::add_record()
39482 Fri Jan 12 17:14:16 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39484         * Fixed MultiAllTermsList, which had stopped working.
39486 Fri Jan 12 15:32:34 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39488         * Add test to apitest (postlist6) that doclengths got from postlists
39489           are the same as those from databases.  Fails for Quartz for the
39490           moment.
39492         * Add test to quartztest (disktable3) to try and bring out a bug in
39493           adding to tables.
39495 Fri Jan 12 15:20:09 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39497         * Fix STLport macro so that it will accept an STLport installation
39498           with foo/include/stlport and foo/lib instead of foo/stlport and
39499           foo/lib.
39501 Fri Jan 12 14:04:37 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39503         * Fixed buglet in configure.in which produced a bogus warning
39504           about regex libraries.
39506         * Added an AC_MSG_RESULT corresponding to an AC_MSG_CHECKING
39507           for the libxml flags
39509 Fri Jan 12 13:18:07 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39511         * Fixed skip_to() in QuartzAllTermsList
39513 Fri Jan 12 12:52:57 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39515         * Turn debugging off in btree.cc: accidentally committed a version
39516           with lots of verbose debugging on.
39518 Fri Jan 12 11:16:17 GMT 2001 Olly Betts
39520         * glibc 2.2 needs `#define _GNU_SOURCE' to give us RTLD_NEXT.
39522         * C++ comments changed to C comments in malloccheck.c.
39524 Thu Jan 11 16:42:07 GMT 2001 Olly Betts
39526         * Removed unnecessary `#include "alltermslist.h"' from
39527           d[ab]_database.h.
39529 Wed Jan 10 14:28:10 GMT 2001 Olly Betts
39531         * Updated various .cvsignore files.
39533 Tue Jan 09 19:03:12 GMT 2001 Olly Betts
39535         * Tidied up dead code from OmAllTermIterator.
39537 Tue Jan 09 18:41:21 GMT 2001 Olly Betts
39539         * OmAllTermsIterator merged into OmTermIterator.
39541         * When iterating over all terms, skip_to() doesn't set at_end()
39542           when it skips off the end.  Fixed except for quartz and added
39543           regression test (allterms3).
39545 Tue Jan  9 18:14:04 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39547         * Add some extra debugging code into btree code in quartz.
39549 Tue Jan  9 17:22:12 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39551         * Make skip_to() work (ie, do nothing) on OmTermIterators, when the
39552           term iterator is at_end() already.
39554 Tue Jan  9 13:32:08 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39556         * Updates to make the quartzdump utility more useful.
39558         * Added new test to test cursor behaviour in quartz.
39560 Tue Jan  9 11:31:26 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39562         * Remove an item from TODO
39564 Tue Jan  9 10:27:35 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39566         * Add a missing \ in tests/Makefile.am
39568 Mon Jan  8 19:03:42 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39570         * Increment format number in quartz/btree_base.cc.  This isn't
39571           actually due to a change in the btree format, but to ensure that
39572           some databases which were causing problems are rebuilt.
39574           We need to add quartz format numbers, separate from the btree format
39575           numbers, to check this kind of thing.
39577 Mon Jan  8 15:13:04 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39579         * Add some debugging, and fix a test data file.
39581 Mon Jan  8 13:49:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39583         * Fix failure to initialise OmMSet::Internal::have_percent_factor.
39585 Thu Jan  4 17:21:24 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39587         * Add new test for a postlist with many documents, designed to fail
39588           and exhibit the bug andy has found.  So far doesn't fail.
39590 Wed Jan  3 19:30:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39592         * Add get_percent method to OmMSetIterator.  Untested.
39594         * Add om_percent type to om_types.
39596         * Add test of sort order of terms in get_matching_terms.
39598 Tue Jan  2 15:05:53 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39600         * Move documentation of parameters for OmSettings out of omsettings.h
39601           and into docs/.  Not in distribution at the moment: it is awaiting
39602           placement into a permanent home (I think the user manual is the
39603           correct place).
39605         * Add a bm25weight_min_normlen parameter: this specifies a cutoff
39606           on the minimum value that can be used for a normalised document
39607           length: smaller values will be forced up to this cutoff.  This
39608           prevents very small documents getting a huge bonus weight.
39610 Wed Dec 20 16:54:41 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39612         * Fix warning in QuartzTable
39614 Wed Dec 20 15:13:05 GMT 2000 Olly Betts
39616         * OmTermListIterator merged into OmTermIterator.
39618         * Added OmRSet::contains() - checks if an RSet contains a given
39619           docid.
39621         * Methods returning `const om_termname' now just return
39622           `om_termname'.
39624 Tue Dec 19 16:55:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39626         * Implemented AllTermsIterator for DA and Multi databases.
39627           Added a test which actually uses a multidatabase, but
39628           disabled it as it currently fails for both Quartz and DA.
39630 Tue Dec 19 12:14:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39632         * Adjusted TODO
39634 Tue Dec 19 20:06:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39636         * Escaping for termnames in remote database communication modified
39637           to use only characters in range 33 to 126.  Should now work on all
39638           architectures.
39640         * Increased OM_SOCKET_PROTOCOL_VERSION to 8.
39642 Mon Dec 18 17:23:48 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39644         * Added "match_cutoff" option to get_mset OmSettings.
39646         * Added test for "match_cutoff" to apitest.
39648         * Updated todo.xml
39650 Mon Dec 18 17:19:40 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39652         * Implemented opening positionlists from inmemory databases.  Added
39653           a testcase as well, which is run for quartz and inmemory.
39655 Mon Dec 18 15:48:16 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39657         * Implemented AllTermsIterator for quartz.  Interaction with
39658           QuartzPostList needs to be cleaned up.
39660         * Added new functions [un]pack_string_preserving_sort(), which
39661           pack a string in a way which preserves sort order.  Added a
39662           testcase to quartztest.
39664         * Now use [un]pack_string_preserving_order() on postlist keys, so
39665           that we can get at terms in sorted order.  (And get_tname_from_key()
39666           added to separate out the term-unpacking as well as the packing)
39668         * Enabled test_allterms1 in apitest, but put it in a group of
39669           tests only run for inmemory and quartz.  This should be extended
39670           to other backends.
39672 Mon Dec 18 14:33:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39674         * Implemented tests of msetiterator and esetiterator copying and
39675           assignment.
39677         * Fix segfault when assigning to [me]setiterator to end.
39679         * Updated todo.xml
39681 Mon Dec 18 13:52:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39683         * Move creation of first key in a quartz postlist into a named
39684           function (was scattered through the code).
39686 Mon Dec 18 11:19:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39688         * Update todo.xml
39690 Mon Dec 18 10:47:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39692         * Remove const from reverse_iterators in api_db.cc, so get around
39693           brokenness of egcs 1.1.2
39695 Mon Dec 18 09:41:54 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39697         * Added apitest_space.txt to the Makefile.am
39699 Sun Dec 17 16:15:03 GMT 2000 Olly Betts
39701         * Replaced all API uses of om_termname_list with OmTermIterator.
39703 Fri Dec 15 18:54:10 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39705         * Implemented OmAllTermsIterator interface in API.  It works for
39706           inmemory - the rest haven't been implemented yet.  The test
39707           is commented out.
39709 Fri Dec 15 15:47:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39711         * Updated TODO.
39713         * database returns positionlists as AutoPtrs; this neatens some of
39714           the code from the previous changelog entry, and makes explicit the
39715           ownership of the pointer.  postlists and termlists should be
39716           AutoPtrs, likewise.
39718 Fri Dec 15 14:59:41 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39720         * Make OmPositionListIterators retrieved from OmPostListIterators
39721           valid indefinitely (were only valid until OmPostListIterator was
39722           moved).  This makes them consistent with OmPositionListIterators
39723           retrieved from OmDatabases.
39725         * Renamed PostList::get_position_list() to read_position_list.
39726           Added PostList::open_position_list() which opens a new positionlist
39727           and returns it as an AutoPtr.
39729 Fri Dec 15 13:09:51 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39731         * Make TODO.release file, containing TODO items for next release.
39733 Fri Dec 15 12:06:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39735         * QuartzDatabases now autoflush after 1000 changes.
39737 Fri Dec 15 11:40:37 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39739         * Fix segfault in quartz_table
39741 Fri Dec 15 11:23:15 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39743         * Removed begin/end_session() from quartztest
39745 Thu Dec 14 19:19:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39747         * Done todo item: For writable databases, make the behaviour currently
39748           obtained by calling begin_session() and later end_session() the
39749           default behaviour.  If users want the changes to be applied
39750           immediately following a change, they should call flush().
39752 Thu Dec 14 17:48:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39754         * Fix problem with recalc_maxweight() not being called before a
39755           get_maxweight() in multimatch.cc if a node prunes at the top level,
39756           since recalculate_w_max wasn't being checked at this point.
39757           Introduced helper function getorrecalc_maxweight() to tidy this up.
39759         * Tidy up Asserts in common/netutils.h.
39761 Thu Dec 14 17:11:17 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39763         * Adjusted todo.xml
39765 Thu Dec 14 16:21:27 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39767         * Removed handling of OmDatabaseModifiedError in the API - it's
39768           up to the users to know what to do.  Disabled quartzoverwrite2
39769           as it's now inappropriate.
39771         * Added OmDatabase::reopen() to help them do so.
39773         * Adjusted todo.xml
39775 Thu Dec 14 14:38:39 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39777         * Added another quoting regression test.
39779 Thu Dec 14 14:36:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39781         * Fixed the quoting _again_, since it broke with backslashes.
39783 Thu Dec 14 12:49:58 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39785         * Fix problems with recalculation of maxweight in postlists, causing
39786           AssertParanoid at multimatch.cc:393.  When a prune was happening,
39787           recalc_maxweight flag was not always being set, because some
39788           {next,skip_to}_handling_prune() methods weren't being passed the
39789           matcher, and a default argument of 0 was being used.  I've now
39790           removed the default argument and pass the matcher always.
39792           Sometimes the recalc could perhaps be avoided, but this is
39793           certainly safer for now.
39795 Thu Dec 14 12:30:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39797         * Sleepcat is now disabled by default.
39799         * Fixed a problem with tabs not being quoted in the remote case.  All
39800           control characters are now quoted.  Incremented the protocol ver
39801           number.
39803 Thu Dec 14 11:54:17 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39805         * Added regression test to check that all characters can be
39806           are safe to exist in document keys.
39808         * Fixed OmDebug so that it can display messages containing zero bytes
39809           (use fwrite instead for fprintf)
39811 Wed Dec 13 18:43:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39813         * Add regression tests to apitest to check that OmMSet and OmESet
39814           begin() and end() iterators compare equal if the mset is empty.
39815           Fix matchfunctor used in test_matchfunctor1 so that it works for
39816           Muscat3.6 databases.
39818 Wed Dec 13 18:35:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39820         * Fixed bugs in OmMSet and OmESet iterators: begin() when the set
39821           was empty produced an invalid iterator, and the assignment
39822           operators would have failed when end iterators were involved.
39824         * Added a check in test_matchfunctor1() that the mset returned is
39825           not empty.
39827 Wed Dec 13 18:18:09 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39829         * Turn off tests involving terms with newlines or zero bytes in terms
39830           with Muscat3.6 backends; these can't be expected to work.
39832 Wed Dec 13 18:06:29 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39834         * Uncommented the code in pctcutoff1 - test now passes.
39836 Wed Dec 13 17:53:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39838         * Fix: m36_key_file parameter wasn't being set with DA flimsy
39839           databases (thanks to Mark Hagger).
39841         * indextest.cc changed to use "\n" instead of endl - compiles
39842           with STLport again.
39844 Wed Dec 13 17:27:17 GMT 2000 Olly Betts
39846         * OmMSet is now an STL compatible container.
39848         * Om*Iterator::difference_type was unsigned - now signed.
39850         * net/readquery.ll: fixed compiler warning.
39852         * Remote backend was defaulting to collapse on key 0.
39854 Wed Dec 13 16:48:49 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39856         * Add handling of DatabaseModified to OmEnquire::get_mset()
39858 Wed Dec 13 16:28:47 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39860         * Escape zero bytes in the network protocol, since these were
39861           breaking things when being passed across as part of keys.
39863         * Add test of having zero bytes in the collapse keys.
39865         * In testsuite, only display the context of errors if there is one
39866           present.
39868 Wed Dec 13 14:44:46 GMT 2000 Olly Betts
39870         * Implemented OmMSet::operator[]().
39872 Wed Dec 13 14:30:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39874         * Added support for handling overwritten database conditions.
39875           Currently works for OmDocument::get_{data,key}().
39877 Wed Dec 13 13:20:45 GMT 2000 Olly Betts
39879         * Elaborated API hitlist in todo.xml.
39881 Wed Dec 13 12:28:18 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39883         * Fix to BackendManager to stop it removing tables prematurely.
39885 Wed Dec 13 11:49:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39887         * Apply the stemmer to query terms used in spaceterms1.  (Not doing
39888           so caused the test to fail spuriously on local databases, since the
39889           terms are stemmed at index time).  The test still fails with da and
39890           db databases.
39892         * Fixed a problem when stats were unpacked from the network stream,
39893           where term names were not correctly unquoted.  This led to double
39894           quoting of global statistics.
39896 Wed Dec 13 02:49:05 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39898         * Implement copy and assignment methods for OmPositionListIterator.
39900 Wed Dec 13 02:37:14 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39902         * ESet and MSet iterators now cope with being copied / assigned when
39903           the internals are null.
39905         * Added copy method to OmPositionListIterator interface.  No
39906           implementation for this yet though, or for the already existing
39907           assignment method.
39909         * Added a couple of easy items to the todo list to check regarding
39910           iterators.
39912 Wed Dec 13 02:19:50 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39914         * Fix small bug in mset_range_is_same{,_weights}()
39916 Wed Dec 13 02:07:59 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39918         * And add copy and assignment for OmESet, similarly.
39920 Wed Dec 13 01:58:38 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39922         * Add copy and assignment operators to OmMSet so that the internals
39923           get copied (rather than just the pointer to them).  Really want a
39924           small internals class, holding a refcount to the real internals, or
39925           else to use refcntptrs for the members of OmMSet::Internal which are
39926           potentially large (eg, items)
39928 Wed Dec 13 01:05:44 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39930         * Add Asserts to api/omdatabaseinternal.cc to ensure that there is at
39931           least one database present when opening termlists, etc.  This should
39932           really be done by throwing errors.
39934         * Add destructor to OmMSet, deleting internals.
39936         * Implement getting positionlists from QuartzDatabases.
39938         * Fix bug in copy constructor of OmDocument::Internal - some fields
39939           were not being copied.
39941         * Fix api_db.cc so it compiles: code referring to mset by subscripting
39942           temporarily commented out.
39944 Tue Dec 12 20:05:10 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39946         * Fix bug with truncation of intermediate keys in btrees.
39948 Tue Dec 12 18:33:12 GMT 2000 Olly Betts
39950         * OmMSet::get_docs() now takes sane parameters.
39952         * Various test programs updated to nearly work with new OmMSet
39953           interface.
39955 Tue Dec 12 17:18:33 GMT 2000 Olly Betts
39957         * Finished cleaning up OmMSet; updated TODO to reflect this.
39959 Tue Dec 12 17:16:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39961         * Fix bug with sorting keys in btrees.
39963         * Various fixes to quartzdump.
39965 Tue Dec 12 15:40:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39967         * Nettest compiles with new OmMSet interface.
39969 Tue Dec 12 15:09:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39971         * Fixed an endless loop in QuartzWritableDatabase::do_delete_document.
39973 Tue Dec 12 15:07:39 GMT 2000 Olly Betts
39975         * OmMSetItem replaced by OmMSetIterator.
39977         * Added OmESet::empty().
39979         * Fixed == on OmESetIterator.
39981 Tue Dec 12 14:16:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39983         * Renamed arguments to compare_keys()
39985 Tue Dec 12 12:05:24 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39987         * Added quartzdump utility to dump the contents of a quartz table.
39989 Tue Dec 12 10:54:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39991         * Added constructors and destructor to OmRSet.
39993 Mon Dec 11 16:32:07 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39995         * Remove caching of average length in OmDatabaseInternal, was breaking
39996           asking for the average length of a database which was being
39997           modified.
39999 Mon Dec 11 16:03:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40001         * If no documents in database, don't divide by zero in
40002           omdatabaseinternal.cc
40004         * If a document object doesn't come from the database, when iterating
40005           through its termlist don't open postlists from the nonexistent
40006           database; open them from the DocumentTerm objects in the document
40007           instead.
40009         * Remove old unused and undefined method
40010           OmDocument::Internal::add_posting()
40012 Mon Dec 11 13:53:18 GMT 2000 Olly Betts
40014         * omenquire.h: Removed superfluous declaration of OmMSetCmp.
40016 Mon Dec 11 13:38:12 GMT 2000 Olly Betts
40018         * Updated TODO list.
40020 Mon Dec 11 13:24:45 GMT 2000 Olly Betts
40022         * OmRSet internals encapsulated.
40024 Mon Dec 11 12:42:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40026         * OmIndexerMessage::get_element and ...::operator[] now have
40027           non-const versions.  Fixes const-warning in omstemmernode.cc.
40029 Mon Dec 11 12:17:32 GMT 2000 Olly Betts
40031         * Better typedef-s for Om*Iterator::difference_type.
40033 Sun Dec 10 17:51:41 GMT 2000 Olly Betts
40035         * Corrected various typedef-s for Om*Iterator.
40037 Sun Dec 10 17:28:59 GMT 2000 Olly Betts
40039         * Updated TODO to reflect OmESet being cleaned up.
40041         * Term position argument to OmDocument::add_posting() is now
40042           optional (as it was for OmDocumentContents).
40044 Sun Dec 10 16:55:17 GMT 2000 Olly Betts
40046         * OmESetItem is dead - long live OmESetIterator!
40048         * net/socketclient.cc: fixed compiler warning.
40050         * net/socketserver.cc: fixed compiler warning.
40052 Sun Dec 10 13:29:15 GMT 2000 Olly Betts
40054         * Started to encapsulate OmESet/OmESetItem interface.  Interface is
40055           close, but currently implementation is exposed in omenquire.h.
40057         * apitest wasn't running puncterms1 or spaceterms1 - fixed.
40059 Sun Dec 10 11:34:39 GMT 2000 Olly Betts
40061         * om/autoptr.h -> autoptr.h in lots of places.
40063 Fri Dec  8 17:20:04 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40065         * Updated indextest to not use AutoPtr<OmIndexer>
40067 Fri Dec  8 17:14:09 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40069         * Oops - removed one too many #include "autoptr.h"
40071 Fri Dec 08 16:50:42 GMT 2000 Olly Betts
40073         * Updated TODO.
40075 Fri Dec  8 16:44:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40077         * IndexerBuilder now returns OmIndexer objects instead of
40078           AutoPtr<OmIndexer>.  OmIndexer's internals are reference
40079           counted.
40081         * Moved autoptr.h from include/om to common/, since it's no
40082           longer used in the API.
40084 Fri Dec  8 16:22:48 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40086         * Fixed omstemmer node bug and made debug slightly more verbose
40087           in indextest.cc.
40089 Fri Dec  8 16:13:36 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40091         * Added a test for OmIndexerMessage to indextest
40093         * Added output operator for OmIndexerMessage
40095         * Fixed a bug introduced into omvectorsplit node
40097         * Changed couts in indextest.cc to touts.
40099 Fri Dec 08 14:53:24 GMT 2000 Olly Betts
40101         * quartztest: removed OmDocumentTerm reference so that it'll
40102           compile (tests fail though).
40104 Fri Dec  8 14:42:46 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40106         * OmIndexerMessage is now a class by itself, replacing OmIndexerData
40107           and the typedef to AutoPtr<OmindexerData>.  It's now a copy-on-write
40108           object.
40110         * The indexer stuff all changed.
40112 Fri Dec 08 14:24:02 GMT 2000 Olly Betts
40114         * omindexdoc.{cc,h}: no longer used so removed.
40116         * Pushed OmDocumentTerm from API level into the internals of the
40117           library.
40119         * Updated TODO.
40121 Fri Dec 08 12:08:49 GMT 2000 Olly Betts
40123         * delve: if just given a database (or list of databases), report the
40124           number of documents and average document length.
40126 Thu Dec  7 20:39:24 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40128         * Fix bug: Om*Iterators which were created over empty lists didn't
40129           have null internals, causing them not to compare equal to end
40130           iterators.
40132         * Added many asserts to iterator code.
40134 Thu Dec  7 20:02:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40136         * Removed OmTermListIteratorMap - OmTermListIterator can now be
40137           across either a map or an actual termlist.
40139         * Om*Iterator classes all now delete internals when reaching end,
40140           freeing resources sooner and making the comparison operators much
40141           simpler.
40143 Thu Dec  7 18:33:03 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40145         * Updates to TODO
40147 Thu Dec  7 18:32:39 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40149         * Implementation of write locks for Quartz
40151 Thu Dec  7 18:28:55 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40153         * Fix to backendmanager which doesn't return writable databases
40154           unnecessarily (which breaks things when there are write locks)
40156 Thu Dec  7 18:25:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40158         * Added test for Quartz write locks
40160 Thu Dec  7 17:56:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40162         * Add OmDocument::set_data() method which takes a string, instead of
40163           an OmData object.  This allows, implicitly, use of const char *'s
40164           as well.
40166         * Further fixes to quartztest.  It now compiles (though I've not
40167           tried linking it yet...)  :)
40169 Thu Dec  7 17:49:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40171         * Fixed omkeylistiterator return types.
40173 Thu Dec  7 17:27:57 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40175         * Moved get_document() from OmWritableDatabase to OmDatabase.
40177         * Added -> operator to OmKeyListIterator.  Fixed return values
40178           and constness of Om*Iterator::operator *() methods.
40180         * Some fixes to quartztest.cc, but not enough to get it compiling.
40182 Thu Dec 07 16:21:28 GMT 2000 Olly Betts
40184         * Some work on getting quartztest working.
40186 Thu Dec 07 16:10:00 GMT 2000 Olly Betts
40188         * The library now builds, but "make check" still fails.
40190 Thu Dec  7 15:39:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40192         * Fixes to testsuite/index_utils.cc to not segfault.
40194 Thu Dec  7 14:31:56 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40196         * Fixes to api_db.cc so that it compiles.
40198 Wed Dec  6 18:50:48 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40200         * Add test for terms with spaces, newlines, zero bytes, or
40201           backslashes.
40203         * Updates to TODO
40205 Wed Dec 06 18:18:16 GMT 2000 Olly Betts
40207         * Woohoo!  Now builds with just --disable-indexer!
40208           (still doesn't pass any tests).
40210 Wed Dec 06 17:24:19 GMT 2000 Olly Betts
40212         * Minor fix.  Now builds with --disable-indexer
40213           --disable-quartz-backend (but doesn't pass any tests).
40215 Wed Dec 06 16:35:34 GMT 2000 Olly Betts
40217         * Fixed up lots of build errors.
40219 Wed Dec 06 14:56:59 GMT 2000 Olly Betts
40221         * Begin the long job of replacing OmDocumentContents with
40222           OmDocument.  Won't currently build - expect the tree to be broken
40223           for a few days.  As usual, if you want a working build, use the
40224           "snapshot_latest" tag.
40226 Wed Dec  6 12:03:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40228         * Backed out yesterday's overwritten-handling stuff.
40230 Wed Dec  6 11:36:55 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40232         * Increase sleep in tcpclient1 to 3 (did tcpmatch1 last time, duh!)
40234 Tue Dec  5 17:13:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40236         * QuartzDocument now has a QuartzTableManager pointer rather than
40237           two QuartzTable pointers.
40239         * QuartzDatabase::do_get_document_internal() copes with Btree
40240           overwritten conditions.
40242         * QuartzDocument methods cope with Btree overwritten conditions
40244         * New method QuartzTableManager::reopen_tables_because_overwritten()
40245           for helping with the above.
40247         * New test in quartztest for testing overwritten problems from the
40248           API rather than just internally to Quartz.
40250         * Fixed a typo in omsettings.h comment (quartz_dir used to refer to
40251           a sleepycat database)
40253 Tue Dec  5 16:53:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40255         * Update todo.
40257         * Fix undesirable assert in stats.h
40259 Tue Dec  5 15:41:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40261         * Replace OmMSet::docs_considered with
40262           OmMSet::matches_{lower_bound,estimated,upper_bound}, giving more
40263           useful information.
40265         * PostLists now have get_termfreq_{min,est,max}(), instead of
40266           get_termfreq(), so the postlist tree can be used to calculate
40267           the matches_* values for the mset.  Implemented for all the
40268           postlist subclasses.
40270           LeafPostList's still has a virtual get_termfreq() method,
40271           and implements get_termfreq_* in terms of it, so database postlists
40272           don't need to be modified.
40274         * Passing of MSets across network modified to pass the new
40275           information.
40277         * PendingMSet uses the values from the mset to return the values
40278           of get_termfreq_*().  This assumes that recalc_maxweight has been
40279           called first, which is has been.
40281         * Muscat36 databases get_termfreq() methods fixed to use a
40282           LeafPostList rather than a PostList.
40284         * Renamed test docs_considered1 to matches1, and add several
40285           more cases to it.
40287 Tue Dec 05 15:38:27 GMT 2000 Olly Betts
40289         * Added tests/testdata/apitest_punc.txt to distribution.
40291 Tue Dec 05 15:07:26 GMT 2000 Olly Betts
40293         * Oops, failed to add new file `tests/testdata/apitest_punc.txt'
40294           with last check-in.
40296 Tue Dec 05 14:34:04 GMT 2000 Olly Betts
40298         * OmTermListIterator implemented for an OmDocument with terms stored
40299           in a map rather than coming from a Document.
40301         * Fixes to remote protocol so solve problems with terms with
40302           punctuation in (regression test punc_terms1).
40304 Mon Dec  4 15:02:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40306         * Makefile tweak in docs/
40308 Mon Dec 04 14:13:05 GMT 2000 Olly Betts
40310         * More OmDocument work.
40312 Mon Dec  4 11:43:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40314         * Renamed OmMSet::mbound to docs_considered.
40316 Mon Dec  4 10:11:11 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40318         * Added some more std:: prefixes for STLport.
40320 Fri Dec  1 17:45:01 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40322         * Increase the sleep after the server is started by tcpclient1 to 3
40323           seconds so that the server is more likely to have started when
40324           then test ran.  This seems to be what was causing the test to
40325           randomly fail.  Really, we want a better solution to this (such as
40326           the server picking a port and writing it out on stdout once it is
40327           listening.)
40329 Fri Dec  1 17:27:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40331         * Swapped the ports used by tcpclient1 and tcpmatch1 to see if the
40332           random failures follow suit.
40334 Fri Dec  1 17:21:07 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40336         * Another minor fix to work with STLport.
40338 Fri Dec  1 17:01:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40340         * Add std::'s and similar to fix compilation with STLport.
40342         * Fix bug in expander due to nth_element being called on the wrong
40343           element.  This is the counterpoint of the bug fixed on Nov 24th
40344           with the matcher.
40346 Fri Dec  1 16:30:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40348         * Minor tweaks in error strings.
40350 Fri Dec 01 12:57:59 GMT 2000 Olly Betts
40352         * Corrected erroneous documentation comment.
40354 Thu Nov 30 18:50:16 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40356         * OmSettings no longer throws exceptions internally (at the cost of
40357           slightly more code duplication).
40359 Thu Nov 30 18:05:39 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40361         * Add a few std::'s to strings which had been missed.
40363 Thu Nov 30 16:41:11 GMT 2000 Olly Betts
40365         * OmDocument::Internal now knows its OmDatabase.
40367 Thu Nov 30 16:40:33 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40369         * Add context to network errors thrown from OmSocketLineBuf.
40371 Thu Nov 30 16:21:47 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40373         * Added a quartz test for largish bitmaps.
40375         * Fixed the code so that the above test would pass.
40377 Thu Nov 30 16:10:37 GMT 2000 Olly Betts
40379         * OmDocument::add_posting() pretty much done.
40381 Thu Nov 30 15:51:46 GMT 2000 Olly Betts
40383         * More work on OmDocument::add_posting().
40385         * Added OmTermListIterator::positionlist_begin() and
40386           OmTermListIterator::positionlist_end().
40388 Thu Nov 30 14:16:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40390         * Fixed a prototype bug introduced with the last commit.
40392 Thu Nov 30 13:23:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40394         * Bcursor::find_key now more const-correct.
40396         * Bcursor_create now returns an AutoPtr.  The resultant changes
40397           fixed a memory leak.
40399         * New exception: OmDatabaseModifiedError.  Thrown when an open
40400           revision of a table is no longer valid due to multiple updates.
40402         * quartzoverwrite1 test re-enabled, and passes.
40404 Thu Nov 30 13:23:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40406         * nettest now uses quartz backend: should always run all tests now
40407           (apart from tcpdead1, which doesn't work).
40409 Wed Nov 29 19:46:22 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40411         * In testsuite, report the context of Om exceptions as well as their
40412           type and message.
40414 Wed Nov 29 18:30:10 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40416         * Add "remote_connect_timeout" parameter to be supplied when opening
40417           a remote database, to specify a separate timeout for the connect
40418           operation to that used once the connection has been opened.
40420         * Add setting of the context of errors thrown by tcpclient or
40421           progclient, so that the node which failed can be determined.
40423 Wed Nov 29 17:50:03 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40425         * Reworked Btree_base::read() a bit so that it's hopefully more
40426           readable.
40428         * Hopefully fixed a bug when the bitmap approaches 1k.
40430         * Fix to catch problems re-opening databases after an apply in
40431           Quartz.
40433 Wed Nov 29 17:30:26 GMT 2000 Olly Betts
40435         * Added OmDocument::termlist_begin() and OmDocument::termlist_end()
40437 Wed Nov 29 16:53:13 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40439         * Comment out quartzoverwrite1 test so that it doesn't cause problems
40440           for other developers.
40442 Wed Nov 29 16:27:19 GMT 2000 Olly Betts
40444         * docid now in Document class rather than subclasses.
40446 Wed Nov 29 14:54:13 GMT 2000 Olly Betts
40448         * leafdocument.cc renamed to document.cc
40450         * Document class now has a pointer to the associated Database class
40451           so we can open termlists, etc.
40453 Wed Nov 29 14:03:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40455         * Add quartztest to test for case when a database block gets
40456           overwritten.  Currently, this fails because an exception doesn't
40457           get thrown when it should.
40459 Wed Nov 29 13:18:24 GMT 2000 Olly Betts
40461         * LeafDocument class renamed to Document.
40463 Wed Nov 29 12:35:49 GMT 2000 Olly Betts
40465         * Added OmDocument::remove_posting(), OmDocument::remove_term(),
40466           and OmDocument::clear_terms()
40468 Wed Nov 29 12:31:22 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40470         * Added another revision number in the middle of the base file,
40471           before the bitmap.  Also now check that there isn't any extra
40472           data at the end after we finish reading it.  Incremented the
40473           database format.
40475 Wed Nov 29 11:55:03 GMT 2000 Olly Betts
40477         * Added OmDocument::remove_key() and OmDocument::clear_keys()
40479 Tue Nov 28 18:34:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40481         * Btree bitmap now merged with base - one object, one file.
40483 Tue Nov 28 17:13:56 GMT 2000 Olly Betts
40485         * Added OmDocument::set_data()
40487 Tue Nov 28 16:47:06 GMT 2000 Olly Betts
40489         * Started to alter OmDocument to be a general purpose document class
40490           which includes the functionality currently in OmDocumentContents.
40492 Tue Nov 28 15:08:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40494         * Added OmSplitOnCharsNode, which does a subset of OmRegexSplitNode
40495           but less slowly.
40497         * Modified RegexSplit node and regexcommon so that less copying
40498           of strings is needed.
40500 Tue Nov 28 13:42:41 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40502         * Moved the Btree's bitmap into a separate object.
40504 Tue Nov 28 13:06:36 GMT 2000 Olly Betts
40506         * Eliminated OmDocumentParams.
40508         * Removed unnecessary mutex from OmDocument::Internal.
40510 Mon Nov 27 18:45:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40512         * Implement get_position_list() on databases.  Untested.  Also needs
40513           some work to make consistent with open_position_list() on posting
40514           lists: see todo list.
40516 Mon Nov 27 18:29:00 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40518         * Change #define LEVEL ... to #define GET_LEVEL ... in btree_util.h:
40519           fixes problem reported by includetest
40521 Mon Nov 27 18:20:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40523         * Added a set of modifications to the todo.xml.  Also, add a
40524           "release" field, recording the release that the work must be
40525           performed by.
40527 Mon Nov 27 18:08:35 GMT 2000 Olly Betts
40529         * A RefCntPtr now copes with being assigned to itself (used to
40530           delete the underlying object if the reference count was 1).  Added
40531           regression test (refcnt2).
40533         * Now overwrite pointer inside RefCntPtr before deleting the pointed
40534           to object so there's no window where another thread can access the
40535           pointer and get the just-deleted object.
40537 Mon Nov 27 14:36:59 GMT 2000 Olly Betts
40539         * OmError class now optionally stores an errno value.
40541 Mon Nov 27 13:04:18 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40543         * Quartztest builds its test databases in a subdirectory, which
40544           is now in .cvsignore, so we shouldn't get cvs complaining about
40545           so many unknown files any more.
40547 Mon Nov 27 12:53:16 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40549         * Another TODO item.
40551 Mon Nov 27 12:15:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40553         * Added a couple of new items to the todo list.
40555 Fri Nov 24 19:23:56 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40557         * Quartztests now deletes all old tables, so that database formats
40558           don't cause problems.
40560 Fri Nov 24 19:03:59 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40562         * Added std:: prefix to lots of strings which didn't have it.
40563           I've probably added some where they shouldn't be: there were rather
40564           a lot of cases of this.
40566 Fri Nov 24 18:27:06 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40568         * Major bug fix!  When removing elements, matcher was performing
40569           nth_element() on the first element to be thrown away, rather than
40570           the lowest element to keep.  This meant that, after throwing away
40571           low scoring items, items.back() was a random item rather than the
40572           lowest scoring item.  This caused the min weight for getting into
40573           the mset to go up faster than it should have done, and generally
40574           broke everything.
40576           It will be interesting to compare evaluation measures before and
40577           after this fix.
40579 Fri Nov 24 15:34:17 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40581         * Declare this to be version 0.4.1